From 75e83a331fa656ac1aa70f0a91a021425d32eb72 Mon Sep 17 00:00:00 2001 From: deyou Date: Wed, 22 May 2019 19:49:35 +0800 Subject: [PATCH] =?UTF-8?q?corejava=E7=AC=AC9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EnglishGrammarBook-master/.gitignore | 43 + corejava第9版/EnglishGrammarBook-master/CNAME | 1 + .../EnglishGrammarBook-master/LICENSE | 21 + .../EnglishGrammarBook-master/README.md | 19 + .../EnglishGrammarBook-master/SUMMARY.md | 39 + .../app/bower_components/marked/.bower.json | 15 + .../app/bower_components/marked/.gitignore | 1 + .../app/bower_components/marked/.npmignore | 2 + .../app/bower_components/marked/.travis.yml | 5 + .../app/bower_components/marked/LICENSE | 19 + .../app/bower_components/marked/Makefile | 12 + .../app/bower_components/marked/README.md | 386 + .../app/bower_components/marked/bin/marked | 187 + .../bower_components/marked/component.json | 10 + .../app/bower_components/marked/doc/broken.md | 426 + .../app/bower_components/marked/doc/todo.md | 2 + .../app/bower_components/marked/index.js | 1 + .../app/bower_components/marked/lib/marked.js | 1266 + .../app/bower_components/marked/man/marked.1 | 88 + .../app/bower_components/marked/package.json | 22 + .../app/bower_components/marked/test/README | 10 + .../marked/test/browser/index.html | 5 + .../marked/test/browser/index.js | 41 + .../marked/test/browser/test.js | 62 + .../app/bower_components/marked/test/index.js | 543 + .../marked/test/new/autolink_lines.html | 3 + .../marked/test/new/autolink_lines.text | 2 + .../marked/test/new/blockquote_list_item.html | 3 + .../marked/test/new/blockquote_list_item.text | 4 + .../test/new/case_insensitive_refs.html | 1 + .../test/new/case_insensitive_refs.text | 3 + .../marked/test/new/def_blocks.html | 28 + .../marked/test/new/def_blocks.text | 21 + .../marked/test/new/double_link.html | 5 + .../marked/test/new/double_link.text | 5 + .../marked/test/new/escaped_angles.html | 1 + .../marked/test/new/escaped_angles.text | 1 + .../marked/test/new/gfm_break.breaks.html | 1 + .../marked/test/new/gfm_break.breaks.text | 3 + .../marked/test/new/gfm_code.html | 5 + .../marked/test/new/gfm_code.text | 16 + .../marked/test/new/gfm_code_hr_list.html | 52 + .../marked/test/new/gfm_code_hr_list.text | 53 + .../marked/test/new/gfm_del.html | 1 + .../marked/test/new/gfm_del.text | 1 + .../marked/test/new/gfm_em.html | 1 + .../marked/test/new/gfm_em.text | 1 + .../marked/test/new/gfm_links.html | 2 + .../marked/test/new/gfm_links.text | 1 + .../marked/test/new/gfm_tables.html | 37 + .../marked/test/new/gfm_tables.text | 21 + .../marked/test/new/hr_list_break.html | 10 + .../marked/test/new/hr_list_break.text | 6 + .../marked/test/new/lazy_blockquotes.html | 4 + .../marked/test/new/lazy_blockquotes.text | 2 + .../marked/test/new/list_item_text.html | 1 + .../marked/test/new/list_item_text.text | 5 + .../marked/test/new/loose_lists.html | 62 + .../marked/test/new/loose_lists.text | 59 + .../marked/test/new/main.html | 4 + .../marked/test/new/main.text | 55 + .../marked/test/new/nested_code.html | 1 + .../marked/test/new/nested_code.text | 1 + .../marked/test/new/nested_em.html | 3 + .../marked/test/new/nested_em.text | 3 + .../marked/test/new/nested_square_link.html | 1 + .../marked/test/new/nested_square_link.text | 1 + .../marked/test/new/not_a_link.html | 1 + .../marked/test/new/not_a_link.text | 1 + .../marked/test/new/ref_paren.html | 1 + .../marked/test/new/ref_paren.text | 3 + .../marked/test/new/same_bullet.html | 5 + .../marked/test/new/same_bullet.text | 3 + .../marked/test/new/text.smartypants.html | 6 + .../marked/test/new/text.smartypants.text | 6 + .../test/new/toplevel_paragraphs.gfm.html | 34 + .../test/new/toplevel_paragraphs.gfm.text | 37 + .../marked/test/new/tricky_list.html | 23 + .../marked/test/new/tricky_list.text | 15 + .../original/amps_and_angles_encoding.html | 17 + .../original/amps_and_angles_encoding.text | 21 + .../marked/test/original/auto_links.html | 18 + .../marked/test/original/auto_links.text | 13 + .../test/original/backslash_escapes.html | 118 + .../test/original/backslash_escapes.text | 120 + .../blockquotes_with_code_blocks.html | 15 + .../blockquotes_with_code_blocks.text | 11 + .../marked/test/original/code_blocks.html | 18 + .../marked/test/original/code_blocks.text | 14 + .../marked/test/original/code_spans.html | 6 + .../marked/test/original/code_spans.text | 6 + ...apped_paragraphs_with_list_like_lines.html | 8 + ...apped_paragraphs_with_list_like_lines.text | 8 + .../test/original/horizontal_rules.html | 71 + .../test/original/horizontal_rules.text | 67 + .../test/original/inline_html_advanced.html | 15 + .../test/original/inline_html_advanced.text | 15 + .../test/original/inline_html_comments.html | 13 + .../test/original/inline_html_comments.text | 13 + .../test/original/inline_html_simple.html | 72 + .../test/original/inline_html_simple.text | 69 + .../test/original/links_inline_style.html | 15 + .../test/original/links_inline_style.text | 15 + .../test/original/links_reference_style.html | 52 + .../test/original/links_reference_style.text | 71 + .../original/links_shortcut_references.html | 9 + .../original/links_shortcut_references.text | 20 + .../original/literal_quotes_in_titles.html | 3 + .../original/literal_quotes_in_titles.text | 7 + .../markdown_documentation_basics.html | 314 + .../markdown_documentation_basics.text | 306 + .../markdown_documentation_syntax.html | 942 + .../markdown_documentation_syntax.text | 888 + .../test/original/nested_blockquotes.html | 9 + .../test/original/nested_blockquotes.text | 5 + .../original/ordered_and_unordered_lists.html | 148 + .../original/ordered_and_unordered_lists.text | 131 + .../test/original/strong_and_em_together.html | 7 + .../test/original/strong_and_em_together.text | 7 + .../marked/test/original/tabs.html | 25 + .../marked/test/original/tabs.text | 21 + .../marked/test/original/tidyness.html | 8 + .../marked/test/original/tidyness.text | 5 + .../test/tests/amps_and_angles_encoding.html | 17 + .../test/tests/amps_and_angles_encoding.text | 21 + .../marked/test/tests/auto_links.html | 18 + .../marked/test/tests/auto_links.text | 13 + .../marked/test/tests/autolink_lines.html | 3 + .../marked/test/tests/autolink_lines.text | 2 + .../marked/test/tests/backslash_escapes.html | 118 + .../marked/test/tests/backslash_escapes.text | 120 + .../test/tests/blockquote_list_item.html | 3 + .../test/tests/blockquote_list_item.text | 4 + .../tests/blockquotes_with_code_blocks.html | 15 + .../tests/blockquotes_with_code_blocks.text | 11 + .../test/tests/case_insensitive_refs.html | 1 + .../test/tests/case_insensitive_refs.text | 3 + .../marked/test/tests/code_blocks.html | 18 + .../marked/test/tests/code_blocks.text | 14 + .../marked/test/tests/code_spans.html | 6 + .../marked/test/tests/code_spans.text | 6 + .../marked/test/tests/def_blocks.html | 28 + .../marked/test/tests/def_blocks.text | 21 + .../marked/test/tests/double_link.html | 5 + .../marked/test/tests/double_link.text | 5 + .../marked/test/tests/escaped_angles.html | 1 + .../marked/test/tests/escaped_angles.text | 1 + .../marked/test/tests/gfm_break.breaks.html | 1 + .../marked/test/tests/gfm_break.breaks.text | 3 + .../marked/test/tests/gfm_code.html | 5 + .../marked/test/tests/gfm_code.text | 16 + .../marked/test/tests/gfm_code_hr_list.html | 52 + .../marked/test/tests/gfm_code_hr_list.text | 53 + .../marked/test/tests/gfm_del.html | 1 + .../marked/test/tests/gfm_del.text | 1 + .../marked/test/tests/gfm_em.html | 1 + .../marked/test/tests/gfm_em.text | 1 + .../marked/test/tests/gfm_links.html | 2 + .../marked/test/tests/gfm_links.text | 1 + .../marked/test/tests/gfm_tables.html | 37 + .../marked/test/tests/gfm_tables.text | 21 + ...paragraphs_with_list_like_lines.nogfm.html | 8 + ...paragraphs_with_list_like_lines.nogfm.text | 8 + .../marked/test/tests/horizontal_rules.html | 71 + .../marked/test/tests/horizontal_rules.text | 67 + .../marked/test/tests/hr_list_break.html | 10 + .../marked/test/tests/hr_list_break.text | 6 + .../test/tests/inline_html_advanced.html | 15 + .../test/tests/inline_html_advanced.text | 15 + .../test/tests/inline_html_comments.html | 13 + .../test/tests/inline_html_comments.text | 13 + .../marked/test/tests/inline_html_simple.html | 72 + .../marked/test/tests/inline_html_simple.text | 69 + .../marked/test/tests/lazy_blockquotes.html | 4 + .../marked/test/tests/lazy_blockquotes.text | 2 + .../marked/test/tests/links_inline_style.html | 15 + .../marked/test/tests/links_inline_style.text | 15 + .../test/tests/links_reference_style.html | 52 + .../test/tests/links_reference_style.text | 71 + .../test/tests/links_shortcut_references.html | 9 + .../test/tests/links_shortcut_references.text | 20 + .../marked/test/tests/list_item_text.html | 1 + .../marked/test/tests/list_item_text.text | 5 + .../test/tests/literal_quotes_in_titles.html | 3 + .../test/tests/literal_quotes_in_titles.text | 7 + .../marked/test/tests/loose_lists.html | 62 + .../marked/test/tests/loose_lists.text | 59 + .../marked/test/tests/main.html | 4 + .../marked/test/tests/main.text | 55 + .../tests/markdown_documentation_basics.html | 314 + .../tests/markdown_documentation_basics.text | 306 + .../tests/markdown_documentation_syntax.html | 942 + .../tests/markdown_documentation_syntax.text | 888 + .../marked/test/tests/nested_blockquotes.html | 9 + .../marked/test/tests/nested_blockquotes.text | 5 + .../marked/test/tests/nested_code.html | 1 + .../marked/test/tests/nested_code.text | 1 + .../marked/test/tests/nested_em.html | 3 + .../marked/test/tests/nested_em.text | 3 + .../marked/test/tests/nested_square_link.html | 1 + .../marked/test/tests/nested_square_link.text | 1 + .../marked/test/tests/not_a_link.html | 1 + .../marked/test/tests/not_a_link.text | 1 + .../tests/ordered_and_unordered_lists.html | 148 + .../tests/ordered_and_unordered_lists.text | 131 + .../marked/test/tests/ref_paren.html | 1 + .../marked/test/tests/ref_paren.text | 3 + .../marked/test/tests/same_bullet.html | 5 + .../marked/test/tests/same_bullet.text | 3 + .../test/tests/strong_and_em_together.html | 7 + .../test/tests/strong_and_em_together.text | 7 + .../marked/test/tests/tabs.html | 25 + .../marked/test/tests/tabs.text | 21 + .../marked/test/tests/text.smartypants.html | 6 + .../marked/test/tests/text.smartypants.text | 6 + .../marked/test/tests/tidyness.html | 8 + .../marked/test/tests/tidyness.text | 5 + .../test/tests/toplevel_paragraphs.gfm.html | 34 + .../test/tests/toplevel_paragraphs.gfm.text | 37 + .../marked/test/tests/tricky_list.html | 23 + .../marked/test/tests/tricky_list.text | 15 + .../normalize-css/.bower.json | 24 + .../bower_components/normalize-css/LICENSE.md | 19 + .../bower_components/normalize-css/README.md | 57 + .../bower_components/normalize-css/bower.json | 13 + .../normalize-css/normalize.css | 425 + .../EnglishGrammarBook-master/config.js | 26 + .../EnglishGrammarBook-master/cover.jpg | Bin 0 -> 12874 bytes .../EnglishGrammarBook-master/css/app.css | 529 + .../css/normalize.css | 1 + .../docs/Adjective.md | 324 + .../EnglishGrammarBook-master/docs/Adverb.md | 465 + .../docs/AdverbClauses.md | 450 + .../docs/AdverbClausesReduced.md | 808 + .../docs/Auxiliaries.md | 371 + .../docs/ComparativePattern.md | 422 + .../docs/CompoundSentences.md | 134 + .../docs/Conjunction.md | 164 + .../EnglishGrammarBook-master/docs/Gerund.md | 157 + .../docs/Infinitive.md | 369 + .../docs/Inversion.md | 296 + .../EnglishGrammarBook-master/docs/Moods.md | 287 + .../docs/NounClauses.md | 399 + .../docs/NounClausesReduced.md | 533 + .../docs/NounPhrases.md | 682 + .../docs/Participles.md | 187 + .../docs/Prepositions.md | 529 + .../docs/Pronouns.md | 88 + .../docs/ReducedClauses.md | 97 + .../docs/RelativeClauses.md | 1107 + .../docs/RelativeClausesReduced.md | 459 + .../docs/SimpleSentences.md | 288 + .../docs/SubjectVerbAgreement.md | 487 + .../docs/VerbTenses.md | 512 + .../EnglishGrammarBook-master/docs/Voice.md | 171 + .../EnglishGrammarBook-master/docs/guide.md | 149 + .../EnglishGrammarBook-master/docs/preface.md | 29 + .../docs/terminology.md | 43 + .../images/chapter_9/2_1.jpg | Bin 0 -> 4536 bytes .../images/chapter_9/2_10.jpg | Bin 0 -> 3693 bytes .../images/chapter_9/2_11.jpg | Bin 0 -> 3272 bytes .../images/chapter_9/2_12.jpg | Bin 0 -> 5059 bytes .../images/chapter_9/2_13.jpg | Bin 0 -> 5470 bytes .../images/chapter_9/2_14.jpg | Bin 0 -> 4532 bytes .../images/chapter_9/2_15.jpg | Bin 0 -> 5265 bytes .../images/chapter_9/2_16.jpg | Bin 0 -> 5245 bytes .../images/chapter_9/2_17.jpg | Bin 0 -> 4687 bytes .../images/chapter_9/2_18.jpg | Bin 0 -> 4899 bytes .../images/chapter_9/2_19.jpg | Bin 0 -> 6114 bytes .../images/chapter_9/2_2.jpg | Bin 0 -> 3313 bytes .../images/chapter_9/2_20.jpg | Bin 0 -> 4261 bytes .../images/chapter_9/2_21.jpg | Bin 0 -> 4125 bytes .../images/chapter_9/2_22.jpg | Bin 0 -> 5378 bytes .../images/chapter_9/2_23.jpg | Bin 0 -> 6132 bytes .../images/chapter_9/2_24.jpg | Bin 0 -> 5168 bytes .../images/chapter_9/2_25.jpg | Bin 0 -> 7696 bytes .../images/chapter_9/2_26.jpg | Bin 0 -> 7187 bytes .../images/chapter_9/2_27.jpg | Bin 0 -> 7048 bytes .../images/chapter_9/2_28.jpg | Bin 0 -> 4952 bytes .../images/chapter_9/2_29.jpg | Bin 0 -> 5047 bytes .../images/chapter_9/2_3.jpg | Bin 0 -> 4248 bytes .../images/chapter_9/2_4.jpg | Bin 0 -> 5208 bytes .../images/chapter_9/2_5.jpg | Bin 0 -> 4550 bytes .../images/chapter_9/2_6.jpg | Bin 0 -> 3472 bytes .../images/chapter_9/2_7.jpg | Bin 0 -> 3751 bytes .../images/chapter_9/2_8.jpg | Bin 0 -> 3219 bytes .../images/chapter_9/2_9.jpg | Bin 0 -> 3204 bytes .../images/chapter_9/3_1.jpg | Bin 0 -> 7019 bytes .../images/chapter_9/3_2.jpg | Bin 0 -> 7243 bytes .../images/chapter_9/3_3.jpg | Bin 0 -> 5218 bytes .../images/magnifier.jpg | Bin 0 -> 607 bytes .../EnglishGrammarBook-master/index.html | 40 + .../EnglishGrammarBook-master/js/ditto.js | 403 + .../js/highlight.pack.js | 2 + .../js/jquery-1.11.0.min.js | 4 + .../js/jquery-ui.min.js | 7 + .../EnglishGrammarBook-master/js/marked.js | 1 + .../EnglishGrammarBook-master/js/prism.js | 7 + .../EnglishGrammarBook-master/js/store.js | 2 + .../EnglishGrammarBook-master/sidebar.md | 41 + corejava第9版/gutenberg/alice30.txt | 3852 + corejava第9版/gutenberg/crsto10.txt | 62040 ++++++++++++++++ corejava第9版/v1ch02/ImageViewer/Cay.gif | Bin 0 -> 45724 bytes .../v1ch02/ImageViewer/ImageViewer.java | 85 + corejava第9版/v1ch02/ImageViewer/Tower.gif | Bin 0 -> 20132 bytes corejava第9版/v1ch02/ImageViewer/mug.png | Bin 0 -> 21997 bytes corejava第9版/v1ch02/Welcome/Welcome.java | 18 + .../v1ch02/WelcomeApplet/WelcomeApplet.html | 18 + .../v1ch02/WelcomeApplet/WelcomeApplet.java | 57 + .../v1ch02/WelcomeApplet/java.policy.applet | 7 + .../v1ch03/BigIntegerTest/BigIntegerTest.java | 33 + .../CompoundInterest/CompoundInterest.java | 57 + .../v1ch03/FirstSample/FirstSample.java | 12 + corejava第9版/v1ch03/InputTest/InputTest.java | 25 + .../v1ch03/LotteryArray/LotteryArray.java | 39 + .../v1ch03/LotteryDrawing/LotteryDrawing.java | 46 + .../v1ch03/LotteryOdds/LotteryOdds.java | 30 + .../v1ch03/Retirement/Retirement.java | 39 + .../v1ch03/Retirement2/Retirement2.java | 44 + .../v1ch04/CalendarTest/CalendarTest.java | 74 + .../ConstructorTest/ConstructorTest.java | 83 + .../v1ch04/EmployeeTest/EmployeeTest.java | 65 + .../v1ch04/PackageTest/PackageTest.java | 23 + .../com/horstmann/corejava/Employee.java | 48 + corejava第9版/v1ch04/ParamTest/ParamTest.java | 89 + .../v1ch04/StaticTest/StaticTest.java | 76 + .../.settings/org.eclipse.jdt.core.prefs | 281 + .../v1ch05/.settings/org.eclipse.jdt.ui.prefs | 3 + .../v1ch05/abstractClasses/Employee.java | 39 + .../v1ch05/abstractClasses/Person.java | 17 + .../v1ch05/abstractClasses/PersonTest.java | 22 + .../v1ch05/abstractClasses/Student.java | 22 + .../v1ch05/arrayList/ArrayListTest.java | 30 + corejava第9版/v1ch05/arrayList/Employee.java | 40 + corejava第9版/v1ch05/arrays/CopyOfTest.java | 58 + .../bin/.settings/org.eclipse.jdt.core.prefs | 281 + .../bin/.settings/org.eclipse.jdt.ui.prefs | 3 + corejava第9版/v1ch05/enums/EnumTest.java | 33 + corejava第9版/v1ch05/equals/Employee.java | 70 + corejava第9版/v1ch05/equals/EqualsTest.java | 37 + corejava第9版/v1ch05/equals/Manager.java | 42 + .../v1ch05/inheritance/Employee.java | 40 + corejava第9版/v1ch05/inheritance/Manager.java | 31 + .../v1ch05/inheritance/ManagerTest.java | 29 + .../v1ch05/methods/MethodTableTest.java | 61 + .../v1ch05/objectAnalyzer/ObjectAnalyzer.java | 73 + .../objectAnalyzer/ObjectAnalyzerTest.java | 19 + .../v1ch05/reflection/ReflectionTest.java | 126 + .../AnonymousInnerClassTest.java | 51 + corejava第9版/v1ch06/clone/CloneTest.java | 27 + corejava第9版/v1ch06/clone/Employee.java | 54 + .../v1ch06/innerClass/InnerClassTest.java | 65 + corejava第9版/v1ch06/interfaces/Employee.java | 40 + .../v1ch06/interfaces/EmployeeSortTest.java | 26 + .../localInnerClass/LocalInnerClassTest.java | 52 + corejava第9版/v1ch06/proxy/ProxyTest.java | 74 + .../StaticInnerClassTest.java | 78 + corejava第9版/v1ch06/timer/TimerTest.java | 39 + corejava第9版/v1ch07/blue-ball.gif | Bin 0 -> 925 bytes corejava第9版/v1ch07/draw/DrawTest.java | 84 + corejava第9版/v1ch07/fill/FillTest.java | 74 + corejava第9版/v1ch07/font/FontTest.java | 90 + corejava第9版/v1ch07/icon.gif | Bin 0 -> 1438 bytes corejava第9版/v1ch07/image/ImageTest.java | 73 + corejava第9版/v1ch07/listFonts/ListFonts.java | 19 + .../v1ch07/notHelloWorld/NotHelloWorld.java | 56 + .../v1ch07/simpleFrame/SimpleFrameTest.java | 35 + .../v1ch07/sizedFrame/SizedFrameTest.java | 48 + corejava第9版/v1ch08/action/ActionFrame.java | 71 + corejava第9版/v1ch08/action/ActionTest.java | 25 + corejava第9版/v1ch08/blue-ball.gif | Bin 0 -> 925 bytes corejava第9版/v1ch08/button/ButtonFrame.java | 63 + corejava第9版/v1ch08/button/ButtonTest.java | 25 + .../v1ch08/mouse/MouseComponent.java | 123 + corejava第9版/v1ch08/mouse/MouseFrame.java | 15 + corejava第9版/v1ch08/mouse/MouseTest.java | 25 + corejava第9版/v1ch08/plaf/PlafFrame.java | 56 + corejava第9版/v1ch08/plaf/PlafTest.java | 25 + corejava第9版/v1ch08/red-ball.gif | Bin 0 -> 527 bytes corejava第9版/v1ch08/yellow-ball.gif | Bin 0 -> 925 bytes corejava第9版/v1ch09/ace.gif | Bin 0 -> 208 bytes corejava第9版/v1ch09/blue-ball.gif | Bin 0 -> 925 bytes corejava第9版/v1ch09/border/BorderFrame.java | 53 + corejava第9版/v1ch09/border/BorderTest.java | 25 + .../v1ch09/calculator/Calculator.java | 25 + .../v1ch09/calculator/CalculatorFrame.java | 15 + .../v1ch09/calculator/CalculatorPanel.java | 132 + .../v1ch09/checkBox/CheckBoxFrame.java | 55 + .../v1ch09/checkBox/CheckBoxTest.java | 26 + .../v1ch09/circleLayout/CircleLayout.java | 115 + .../circleLayout/CircleLayoutFrame.java | 22 + .../v1ch09/circleLayout/CircleLayoutTest.java | 25 + .../colorChooser/ColorChooserFrame.java | 22 + .../colorChooser/ColorChooserPanel.java | 103 + .../v1ch09/colorChooser/ColorChooserTest.java | 28 + .../v1ch09/comboBox/ComboBoxFrame.java | 51 + .../v1ch09/comboBox/ComboBoxTest.java | 25 + corejava第9版/v1ch09/copy.gif | Bin 0 -> 145 bytes corejava第9版/v1ch09/cut.gif | Bin 0 -> 130 bytes .../dataExchange/DataExchangeFrame.java | 74 + .../v1ch09/dataExchange/DataExchangeTest.java | 26 + .../v1ch09/dataExchange/PasswordChooser.java | 110 + corejava第9版/v1ch09/dataExchange/User.java | 37 + corejava第9版/v1ch09/dialog/AboutDialog.java | 42 + corejava第9版/v1ch09/dialog/DialogFrame.java | 54 + corejava第9版/v1ch09/dialog/DialogTest.java | 25 + corejava第9版/v1ch09/exit.gif | Bin 0 -> 865 bytes .../v1ch09/fileChooser/FileChooserTest.java | 26 + .../v1ch09/fileChooser/FileIconView.java | 32 + .../v1ch09/fileChooser/ImagePreviewer.java | 49 + .../v1ch09/fileChooser/ImageViewerFrame.java | 82 + corejava第9版/v1ch09/gridbag/FontFrame.java | 79 + corejava第9版/v1ch09/gridbag/GBC.java | 112 + .../v1ch09/gridbag/GridBagLayoutTest.java | 25 + .../v1ch09/groupLayout/FontFrame.java | 110 + .../v1ch09/groupLayout/GroupLayoutTest.java | 25 + corejava第9版/v1ch09/jack.gif | Bin 0 -> 388 bytes corejava第9版/v1ch09/king.gif | Bin 0 -> 393 bytes corejava第9版/v1ch09/menu/MenuFrame.java | 149 + corejava第9版/v1ch09/menu/MenuTest.java | 25 + corejava第9版/v1ch09/nine.gif | Bin 0 -> 262 bytes .../v1ch09/optionDialog/ButtonPanel.java | 43 + .../optionDialog/OptionDialogFrame.java | 155 + .../v1ch09/optionDialog/OptionDialogTest.java | 26 + corejava第9版/v1ch09/palette.gif | Bin 0 -> 152 bytes corejava第9版/v1ch09/paste.gif | Bin 0 -> 159 bytes corejava第9版/v1ch09/queen.gif | Bin 0 -> 393 bytes .../v1ch09/radioButton/RadioButtonFrame.java | 65 + .../v1ch09/radioButton/RadioButtonTest.java | 25 + corejava第9版/v1ch09/red-ball.gif | Bin 0 -> 527 bytes corejava第9版/v1ch09/slider/SliderFrame.java | 149 + corejava第9版/v1ch09/slider/SliderTest.java | 25 + corejava第9版/v1ch09/ten.gif | Bin 0 -> 262 bytes .../v1ch09/text/TextComponentFrame.java | 52 + .../v1ch09/text/TextComponentTest.java | 26 + .../v1ch09/toolBar/ToolBarFrame.java | 82 + corejava第9版/v1ch09/toolBar/ToolBarTest.java | 25 + corejava第9版/v1ch09/yellow-ball.gif | Bin 0 -> 925 bytes corejava第9版/v1ch10/NotHelloWorldApplet.html | 3 + .../v1ch10/applet/NotHelloWorld.java | 23 + corejava第9版/v1ch10/chart/Chart.html | 22 + corejava第9版/v1ch10/chart/Chart.java | 132 + corejava第9版/v1ch10/java.policy.applet | 7 + .../v1ch10/preferences/PreferencesTest.java | 142 + .../v1ch10/properties/PropertiesTest.java | 105 + .../v1ch10/resource/ResourceTest.jar | Bin 0 -> 2847 bytes .../v1ch10/resource/ResourceTest.java | 52 + corejava第9版/v1ch10/resource/ResourceTest.mf | 1 + corejava第9版/v1ch10/resource/about.gif | Bin 0 -> 1044 bytes corejava第9版/v1ch10/resource/about.txt | 5 + .../v1ch10/systemInfo/SystemInfo.java | 25 + corejava第9版/v1ch10/webstart/Calculator.jar | Bin 0 -> 7895 bytes corejava第9版/v1ch10/webstart/Calculator.java | 25 + corejava第9版/v1ch10/webstart/Calculator.jnlp | 20 + .../v1ch10/webstart/CalculatorFrame.java | 145 + .../v1ch10/webstart/CalculatorPanel.java | 168 + corejava第9版/v1ch10/webstart/calc_icon32.png | Bin 0 -> 1825 bytes corejava第9版/v1ch10/webstart/calc_icon64.png | Bin 0 -> 4980 bytes .../v1ch11/debugger/BuggyButtonTest.java | 73 + .../v1ch11/eventTracer/EventTracer.java | 78 + .../v1ch11/eventTracer/EventTracerTest.java | 41 + corejava第9版/v1ch11/except/ExceptTest.java | 176 + corejava第9版/v1ch11/except/manifest.mf | 3 + .../v1ch11/exceptional/ExceptionalTest.java | 43 + .../v1ch11/logging/LoggingImageViewer.java | 173 + corejava第9版/v1ch11/robot/ButtonFrame.java | 63 + corejava第9版/v1ch11/robot/RobotTest.java | 103 + .../v1ch11/stackTrace/StackTraceTest.java | 38 + .../GenericReflectionTest.java | 121 + corejava第9版/v1ch12/pair1/Pair.java | 20 + corejava第9版/v1ch12/pair1/PairTest1.java | 37 + corejava第9版/v1ch12/pair2/Pair.java | 20 + corejava第9版/v1ch12/pair2/PairTest2.java | 46 + corejava第9版/v1ch12/pair3/Employee.java | 40 + corejava第9版/v1ch12/pair3/Manager.java | 35 + corejava第9版/v1ch12/pair3/Pair.java | 20 + corejava第9版/v1ch12/pair3/PairTest3.java | 74 + .../CircularArrayQueueTest.java | 124 + .../v1ch13/linkedList/LinkedListTest.java | 59 + corejava第9版/v1ch13/map/Employee.java | 25 + corejava第9版/v1ch13/map/MapTest.java | 46 + .../priorityQueue/PriorityQueueTest.java | 27 + corejava第9版/v1ch13/set/SetTest.java | 33 + corejava第9版/v1ch13/shuffle/ShuffleTest.java | 22 + corejava第9版/v1ch13/sieve/Sieve.java | 45 + corejava第9版/v1ch13/sieve/sieve.cpp | 50 + corejava第9版/v1ch13/treeSet/Item.java | 61 + corejava第9版/v1ch13/treeSet/TreeSetTest.java | 38 + .../blockingQueue/BlockingQueueTest.java | 142 + corejava第9版/v1ch14/bounce/Ball.java | 55 + .../v1ch14/bounce/BallComponent.java | 39 + corejava第9版/v1ch14/bounce/Bounce.java | 101 + corejava第9版/v1ch14/bounceThread/Ball.java | 57 + .../v1ch14/bounceThread/BallComponent.java | 38 + .../v1ch14/bounceThread/BounceThread.java | 127 + .../v1ch14/forkJoin/ForkJoinTest.java | 69 + corejava第9版/v1ch14/future/FutureTest.java | 122 + .../v1ch14/swing/SwingThreadTest.java | 144 + .../v1ch14/swingWorker/SwingWorkerTest.java | 182 + corejava第9版/v1ch14/synch/Bank.java | 86 + corejava第9版/v1ch14/synch/SynchBankTest.java | 24 + .../v1ch14/synch/TransferRunnable.java | 44 + corejava第9版/v1ch14/synch2/Bank.java | 64 + .../v1ch14/synch2/SynchBankTest2.java | 25 + .../v1ch14/synch2/TransferRunnable.java | 44 + .../v1ch14/threadPool/ThreadPoolTest.java | 128 + corejava第9版/v1ch14/unsynch/Bank.java | 62 + .../v1ch14/unsynch/TransferRunnable.java | 44 + .../v1ch14/unsynch/UnsynchBankTest.java | 24 + corejava第9版/v2ch01/employee.dat | 4 + corejava第9版/v2ch01/employee2.dat | Bin 0 -> 300 bytes corejava第9版/v2ch01/employee3.dat | 0 .../findDirectories/FindDirectories.java | 30 + corejava第9版/v2ch01/match/HrefMatch.java | 56 + .../v2ch01/memoryMap/MemoryMapTest.java | 108 + .../v2ch01/objectStream/Employee.java | 50 + .../v2ch01/objectStream/Manager.java | 34 + .../v2ch01/objectStream/ObjectStreamTest.java | 45 + .../v2ch01/objectStream/employee.dat | Bin 0 -> 340 bytes corejava第9版/v2ch01/randomAccess/DataIO.java | 34 + .../v2ch01/randomAccess/Employee.java | 57 + .../v2ch01/randomAccess/RandomAccessTest.java | 81 + .../v2ch01/randomAccess2/Employee.java | 57 + .../randomAccess2/RandomAccessTest.java | 100 + corejava第9版/v2ch01/regex/RegexTest.java | 58 + .../v2ch01/serialClone/SerialCloneTest.java | 105 + corejava第9版/v2ch01/textFile/Employee.java | 49 + .../v2ch01/textFile/TextFileTest.java | 98 + corejava第9版/v2ch01/textFile/employee.dat | 4 + corejava第9版/v2ch01/zip/ZipTest.java | 58 + corejava第9版/v2ch02/dom/TreeViewer.java | 266 + corejava第9版/v2ch02/dom/server.xml | 315 + corejava第9版/v2ch02/fontdialog-schema.xml | 85 + corejava第9版/v2ch02/fontdialog.xml | 93 + corejava第9版/v2ch02/gridbag.dtd | 25 + corejava第9版/v2ch02/gridbag.xsd | 81 + corejava第9版/v2ch02/read/GridBagPane.java | 202 + corejava第9版/v2ch02/read/GridBagTest.java | 93 + corejava第9版/v2ch02/sax/SAXTest.java | 51 + corejava第9版/v2ch02/stax/StAXTest.java | 43 + .../v2ch02/transform/TransformTest.java | 153 + corejava第9版/v2ch02/transform/employee.dat | 3 + corejava第9版/v2ch02/transform/makehtml.xsl | 31 + corejava第9版/v2ch02/transform/makeprop.xsl | 20 + .../v2ch02/write/RectangleComponent.java | 148 + corejava第9版/v2ch02/write/XMLWriteFrame.java | 99 + corejava第9版/v2ch02/write/XMLWriteTest.java | 27 + corejava第9版/v2ch02/xpath/XPathTester.java | 190 + corejava第9版/v2ch02/xpath/fontdialog.xml | 85 + corejava第9版/v2ch02/xpath/gridbag.dtd | 25 + .../v2ch03/inetAddress/InetAddressTest.java | 29 + .../InterruptibleSocketTest.java | 265 + corejava第9版/v2ch03/mail/MailTest.java | 59 + corejava第9版/v2ch03/mail/mail.properties | 4 + corejava第9版/v2ch03/mail/message.txt | 12 + corejava第9版/v2ch03/post/PostTest.java | 70 + corejava第9版/v2ch03/post/post.properties | 7 + corejava第9版/v2ch03/server/EchoServer.java | 44 + corejava第9版/v2ch03/socket/SocketTest.java | 30 + .../v2ch03/threaded/ThreadedEchoServer.java | 89 + .../urlConnection/URLConnectionTest.java | 168 + corejava第9版/v2ch04/Authors.sql | 40 + corejava第9版/v2ch04/Books.sql | 22 + corejava第9版/v2ch04/BooksAuthors.sql | 42 + corejava第9版/v2ch04/COREJAVA/db.lck | Bin 0 -> 38 bytes corejava第9版/v2ch04/COREJAVA/dbex.lck | Bin 0 -> 4 bytes corejava第9版/v2ch04/COREJAVA/log/log.ctrl | Bin 0 -> 48 bytes corejava第9版/v2ch04/COREJAVA/log/log1.dat | Bin 0 -> 1048576 bytes .../v2ch04/COREJAVA/log/logmirror.ctrl | Bin 0 -> 48 bytes corejava第9版/v2ch04/COREJAVA/seg0/c10.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c101.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c111.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c121.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c130.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c141.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c150.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c161.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c171.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c180.dat | Bin 0 -> 32768 bytes corejava第9版/v2ch04/COREJAVA/seg0/c191.dat | Bin 0 -> 16384 bytes corejava第9版/v2ch04/COREJAVA/seg0/c1a1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c1b1.dat | Bin 0 -> 16384 bytes corejava第9版/v2ch04/COREJAVA/seg0/c1c0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c1d1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c1e0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c1f1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c20.dat | Bin 0 -> 28672 bytes corejava第9版/v2ch04/COREJAVA/seg0/c200.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c211.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c221.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c230.dat | Bin 0 -> 212992 bytes corejava第9版/v2ch04/COREJAVA/seg0/c241.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c251.dat | Bin 0 -> 20480 bytes corejava第9版/v2ch04/COREJAVA/seg0/c260.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c271.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c281.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c290.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c2a1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c2b1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c2c1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c2d0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c2e1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c2f0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c300.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c31.dat | Bin 0 -> 16384 bytes corejava第9版/v2ch04/COREJAVA/seg0/c311.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c321.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c331.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c340.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c351.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c361.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c371.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c380.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c391.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c3a1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c3b1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c3c0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c3d1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c3e1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c3f1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c400.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c41.dat | Bin 0 -> 16384 bytes corejava第9版/v2ch04/COREJAVA/seg0/c411.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c421.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c430.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c441.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c451.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c461.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c480.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c490.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c4a0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c4b0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c51.dat | Bin 0 -> 16384 bytes corejava第9版/v2ch04/COREJAVA/seg0/c60.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c71.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c81.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/c90.dat | Bin 0 -> 28672 bytes corejava第9版/v2ch04/COREJAVA/seg0/ca1.dat | Bin 0 -> 28672 bytes corejava第9版/v2ch04/COREJAVA/seg0/cb1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/cc0.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/cd1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/ce1.dat | Bin 0 -> 8192 bytes corejava第9版/v2ch04/COREJAVA/seg0/cf0.dat | Bin 0 -> 8192 bytes .../v2ch04/COREJAVA/service.properties | 22 + corejava第9版/v2ch04/Publishers.sql | 10 + corejava第9版/v2ch04/database.properties | 4 + corejava第9版/v2ch04/derby.log | 11 + corejava第9版/v2ch04/exec/ExecSQL.java | 117 + corejava第9版/v2ch04/query/QueryTest.java | 173 + corejava第9版/v2ch04/test/TestDB.java | 70 + corejava第9版/v2ch04/view/ViewDB.java | 330 + .../v2ch05/collation/CollationTest.java | 139 + corejava第9版/v2ch05/collation/EnumCombo.java | 50 + corejava第9版/v2ch05/collation/GBC.java | 131 + .../v2ch05/dateFormat/DateFormatTest.java | 161 + .../v2ch05/dateFormat/EnumCombo.java | 50 + corejava第9版/v2ch05/dateFormat/GBC.java | 131 + corejava第9版/v2ch05/java.policy.applet | 7 + corejava第9版/v2ch05/numberFormat/GBC.java | 131 + .../v2ch05/numberFormat/NumberFormatTest.java | 145 + .../v2ch05/retire.Retire1339094435852.html | 6 + corejava第9版/v2ch05/retire/GBC.java | 131 + corejava第9版/v2ch05/retire/LocaleCombo.java | 111 + corejava第9版/v2ch05/retire/Retire.java | 527 + .../v2ch05/retire/RetireResources.java | 22 + .../v2ch05/retire/RetireResources_de.java | 22 + .../v2ch05/retire/RetireResources_zh.java | 22 + .../v2ch05/retire/RetireStrings.properties | 11 + .../v2ch05/retire/RetireStrings_de.properties | 11 + .../v2ch05/retire/RetireStrings_zh.properties | 11 + .../v2ch06/editorPane/EditorPaneFrame.java | 124 + .../v2ch06/editorPane/EditorPaneTest.java | 26 + .../v2ch06/internalFrame/DesktopFrame.java | 278 + corejava第9版/v2ch06/internalFrame/Earth.gif | Bin 0 -> 3421 bytes .../internalFrame/InternalFrameTest.java | 26 + .../v2ch06/internalFrame/Jupiter.gif | Bin 0 -> 3578 bytes corejava第9版/v2ch06/internalFrame/Mars.gif | Bin 0 -> 1891 bytes .../v2ch06/internalFrame/Mercury.gif | Bin 0 -> 700 bytes .../v2ch06/internalFrame/Neptune.gif | Bin 0 -> 2228 bytes corejava第9版/v2ch06/internalFrame/Pluto.gif | Bin 0 -> 402 bytes corejava第9版/v2ch06/internalFrame/Saturn.gif | Bin 0 -> 4878 bytes corejava第9版/v2ch06/internalFrame/Uranus.gif | Bin 0 -> 2059 bytes corejava第9版/v2ch06/internalFrame/Venus.gif | Bin 0 -> 2954 bytes .../v2ch06/internalFrame/document.gif | Bin 0 -> 925 bytes corejava第9版/v2ch06/layer/ColorFrame.java | 89 + corejava第9版/v2ch06/layer/LayerTest.java | 26 + corejava第9版/v2ch06/list/ListFrame.java | 86 + corejava第9版/v2ch06/list/ListTest.java | 26 + .../listRendering/FontCellRenderer.java | 42 + .../listRendering/ListRenderingFrame.java | 56 + .../listRendering/ListRenderingTest.java | 26 + .../v2ch06/longList/LongListFrame.java | 54 + .../v2ch06/longList/LongListTest.java | 28 + .../v2ch06/longList/WordListModel.java | 40 + .../v2ch06/progressBar/ProgressBarFrame.java | 112 + .../v2ch06/progressBar/ProgressBarTest.java | 26 + .../progressMonitor/ProgressMonitorFrame.java | 114 + .../progressMonitor/ProgressMonitorTest.java | 26 + .../ProgressMonitorInputStreamTest.java | 26 + .../progressMonitorInputStream/TextFrame.java | 101 + .../spinner/PermutationSpinnerModel.java | 99 + .../v2ch06/spinner/SpinnerFrame.java | 86 + corejava第9版/v2ch06/spinner/SpinnerTest.java | 27 + corejava第9版/v2ch06/splitPane/Earth.gif | Bin 0 -> 3421 bytes corejava第9版/v2ch06/splitPane/Jupiter.gif | Bin 0 -> 3578 bytes corejava第9版/v2ch06/splitPane/Mars.gif | Bin 0 -> 1891 bytes corejava第9版/v2ch06/splitPane/Mercury.gif | Bin 0 -> 700 bytes corejava第9版/v2ch06/splitPane/Neptune.gif | Bin 0 -> 2228 bytes corejava第9版/v2ch06/splitPane/Planet.java | 51 + corejava第9版/v2ch06/splitPane/Pluto.gif | Bin 0 -> 402 bytes corejava第9版/v2ch06/splitPane/Saturn.gif | Bin 0 -> 4878 bytes .../v2ch06/splitPane/SplitPaneFrame.java | 56 + .../v2ch06/splitPane/SplitPaneTest.java | 26 + corejava第9版/v2ch06/splitPane/Uranus.gif | Bin 0 -> 2059 bytes corejava第9版/v2ch06/splitPane/Venus.gif | Bin 0 -> 2954 bytes corejava第9版/v2ch06/tabbedPane/Earth.gif | Bin 0 -> 3421 bytes corejava第9版/v2ch06/tabbedPane/Jupiter.gif | Bin 0 -> 3578 bytes corejava第9版/v2ch06/tabbedPane/Mars.gif | Bin 0 -> 1891 bytes corejava第9版/v2ch06/tabbedPane/Mercury.gif | Bin 0 -> 700 bytes corejava第9版/v2ch06/tabbedPane/Neptune.gif | Bin 0 -> 2228 bytes corejava第9版/v2ch06/tabbedPane/Pluto.gif | Bin 0 -> 402 bytes corejava第9版/v2ch06/tabbedPane/Saturn.gif | Bin 0 -> 4878 bytes .../v2ch06/tabbedPane/TabbedPaneFrame.java | 113 + .../v2ch06/tabbedPane/TabbedPaneTest.java | 28 + corejava第9版/v2ch06/tabbedPane/Uranus.gif | Bin 0 -> 2059 bytes corejava第9版/v2ch06/tabbedPane/Venus.gif | Bin 0 -> 2954 bytes corejava第9版/v2ch06/tabbedPane/red-ball.gif | Bin 0 -> 527 bytes .../v2ch06/tabbedPane/yellow-ball.gif | Bin 0 -> 925 bytes corejava第9版/v2ch06/table/TableTest.java | 55 + .../tableCellRender/ColorTableCellEditor.java | 69 + .../ColorTableCellRenderer.java | 20 + .../v2ch06/tableCellRender/Earth.gif | Bin 0 -> 3421 bytes .../v2ch06/tableCellRender/Jupiter.gif | Bin 0 -> 3578 bytes corejava第9版/v2ch06/tableCellRender/Mars.gif | Bin 0 -> 1891 bytes .../v2ch06/tableCellRender/Mercury.gif | Bin 0 -> 700 bytes .../v2ch06/tableCellRender/Moons.gif | Bin 0 -> 2254 bytes .../v2ch06/tableCellRender/Neptune.gif | Bin 0 -> 2228 bytes .../tableCellRender/PlanetTableModel.java | 74 + .../v2ch06/tableCellRender/Pluto.gif | Bin 0 -> 402 bytes .../v2ch06/tableCellRender/Saturn.gif | Bin 0 -> 4878 bytes .../tableCellRender/TableCellRenderFrame.java | 44 + .../tableCellRender/TableCellRenderTest.java | 27 + .../v2ch06/tableCellRender/Uranus.gif | Bin 0 -> 2059 bytes .../v2ch06/tableCellRender/Venus.gif | Bin 0 -> 2954 bytes .../v2ch06/tableModel/InvestmentTable.java | 92 + corejava第9版/v2ch06/tableRowColumn/Earth.gif | Bin 0 -> 3421 bytes .../v2ch06/tableRowColumn/Jupiter.gif | Bin 0 -> 3578 bytes corejava第9版/v2ch06/tableRowColumn/Mars.gif | Bin 0 -> 1891 bytes .../v2ch06/tableRowColumn/Mercury.gif | Bin 0 -> 700 bytes .../v2ch06/tableRowColumn/Neptune.gif | Bin 0 -> 2228 bytes .../tableRowColumn/PlanetTableFrame.java | 227 + corejava第9版/v2ch06/tableRowColumn/Pluto.gif | Bin 0 -> 402 bytes .../v2ch06/tableRowColumn/Saturn.gif | Bin 0 -> 4878 bytes .../tableRowColumn/TableRowColumnTest.java | 26 + .../v2ch06/tableRowColumn/Uranus.gif | Bin 0 -> 2059 bytes corejava第9版/v2ch06/tableRowColumn/Venus.gif | Bin 0 -> 2954 bytes .../tableSelection/TableSelectionFrame.java | 171 + .../tableSelection/TableSelectionTest.java | 28 + .../v2ch06/textChange/ChangeTrackingTest.java | 25 + .../v2ch06/textChange/ColorFrame.java | 64 + .../v2ch06/textFormat/FormatTest.java | 27 + .../v2ch06/textFormat/FormatTestFrame.java | 154 + .../v2ch06/textFormat/IPAddressFormatter.java | 50 + .../v2ch06/textFormat/IntFilter.java | 53 + corejava第9版/v2ch06/tree/SimpleTree.java | 26 + .../v2ch06/tree/SimpleTreeFrame.java | 45 + .../v2ch06/treeEdit/TreeEditFrame.java | 133 + .../v2ch06/treeEdit/TreeEditTest.java | 26 + .../treeModel/ObjectInspectorFrame.java | 30 + .../v2ch06/treeModel/ObjectInspectorTest.java | 29 + .../v2ch06/treeModel/ObjectTreeModel.java | 94 + corejava第9版/v2ch06/treeModel/Variable.java | 72 + .../treeRender/ClassNameTreeCellRenderer.java | 37 + .../v2ch06/treeRender/ClassTree.java | 27 + .../v2ch06/treeRender/ClassTreeFrame.java | 188 + corejava第9版/v2ch06/treeRender/blue-ball.gif | Bin 0 -> 925 bytes corejava第9版/v2ch06/treeRender/red-ball.gif | Bin 0 -> 527 bytes .../v2ch06/treeRender/yellow-ball.gif | Bin 0 -> 925 bytes corejava第9版/v2ch07/book/Banner.java | 120 + corejava第9版/v2ch07/book/BookTest.java | 28 + corejava第9版/v2ch07/book/BookTestFrame.java | 94 + .../v2ch07/book/PrintPreviewCanvas.java | 86 + .../v2ch07/book/PrintPreviewDialog.java | 85 + corejava第9版/v2ch07/cj2.gif | Bin 0 -> 13055 bytes corejava第9版/v2ch07/cj8v2.png | Bin 0 -> 30338 bytes .../v2ch07/composite/CompositeComponent.java | 58 + .../v2ch07/composite/CompositeTest.java | 27 + .../v2ch07/composite/CompositeTestFrame.java | 68 + corejava第9版/v2ch07/composite/Rule.java | 66 + .../v2ch07/desktopApp/DesktopAppFrame.java | 170 + .../v2ch07/desktopApp/DesktopAppTest.java | 25 + corejava第9版/v2ch07/desktopApp/GBC.java | 131 + .../v2ch07/dnd/SampleComponents.java | 59 + corejava第9版/v2ch07/dnd/SwingDnDFrame.java | 52 + corejava第9版/v2ch07/dnd/SwingDnDTest.java | 26 + .../v2ch07/dndImage/ImageListDnDFrame.java | 156 + .../v2ch07/dndImage/ImageListDnDTest.java | 26 + .../v2ch07/dndImage/ImageTransferable.java | 43 + .../v2ch07/dndImage/images1/Jupiter.gif | Bin 0 -> 3578 bytes .../v2ch07/dndImage/images1/Mars.gif | Bin 0 -> 1891 bytes .../v2ch07/dndImage/images1/Mercury.gif | Bin 0 -> 700 bytes .../v2ch07/dndImage/images1/Neptune.gif | Bin 0 -> 2228 bytes .../v2ch07/dndImage/images1/Pluto.gif | Bin 0 -> 402 bytes .../v2ch07/dndImage/images1/Uranus.gif | Bin 0 -> 2059 bytes .../v2ch07/dndImage/images1/Venus.gif | Bin 0 -> 2954 bytes .../v2ch07/dndImage/images2/Earth.gif | Bin 0 -> 3421 bytes .../v2ch07/dndImage/images2/Saturn.gif | Bin 0 -> 4878 bytes .../v2ch07/imageIO/ImageIOFrame.java | 166 + corejava第9版/v2ch07/imageIO/ImageIOTest.java | 27 + corejava第9版/v2ch07/imageIO/e-mail.gif | Bin 0 -> 9639 bytes .../imageProcessing/ImageProcessingFrame.java | 191 + .../imageProcessing/ImageProcessingTest.java | 25 + .../imageTransfer/ImageTransferFrame.java | 92 + .../imageTransfer/ImageTransferTest.java | 28 + .../imageTransfer/ImageTransferable.java | 43 + .../v2ch07/print/PrintComponent.java | 69 + corejava第9版/v2ch07/print/PrintTest.java | 26 + .../v2ch07/print/PrintTestFrame.java | 59 + .../v2ch07/printService/PrintServiceTest.java | 46 + .../v2ch07/rasterImage/RasterImageFrame.java | 68 + .../v2ch07/rasterImage/RasterImageTest.java | 26 + corejava第9版/v2ch07/renderQuality/GBC.java | 131 + .../renderQuality/RenderQualityTest.java | 26 + .../renderQuality/RenderQualityTestFrame.java | 133 + corejava第9版/v2ch07/renderQuality/face.gif | Bin 0 -> 614 bytes .../serialTransfer/SerialTransferFrame.java | 137 + .../serialTransfer/SerialTransferTest.java | 26 + corejava第9版/v2ch07/shape/ShapeTest.java | 356 + .../v2ch07/splashScreen/SplashScreenTest.java | 138 + corejava第9版/v2ch07/splashScreen/splash.png | Bin 0 -> 21484 bytes corejava第9版/v2ch07/stroke/StrokeTest.java | 243 + .../v2ch07/systemTray/SystemTrayTest.java | 115 + corejava第9版/v2ch07/systemTray/cookie.png | Bin 0 -> 3158 bytes corejava第9版/v2ch07/systemTray/fortunes | 916 + .../transferText/TextTransferFrame.java | 84 + .../v2ch07/transferText/TextTransferTest.java | 27 + corejava第9版/v2ch08/ChartBean.jar | Bin 0 -> 18261 bytes corejava第9版/v2ch08/ChartBean.mf | 4 + corejava第9版/v2ch08/ChartBean2.mf | 4 + corejava第9版/v2ch08/FilePickerBean.mf | 4 + corejava第9版/v2ch08/ImageViewerBean.mf | 4 + corejava第9版/v2ch08/bin/ChartBean.jar | Bin 0 -> 18261 bytes corejava第9版/v2ch08/bin/ChartBean.mf | 4 + corejava第9版/v2ch08/bin/ChartBean2.mf | 4 + corejava第9版/v2ch08/bin/FilePickerBean.mf | 4 + corejava第9版/v2ch08/bin/ImageViewerBean.mf | 4 + .../bin/chart/ChartBean_COLOR_16x16.gif | Bin 0 -> 132 bytes .../bin/chart/ChartBean_COLOR_32x32.gif | Bin 0 -> 207 bytes .../bin/chart/ChartBean_INVERSE_16x16.gif | Bin 0 -> 71 bytes .../v2ch08/bin/chart/ChartBean_MONO_16x16.gif | Bin 0 -> 877 bytes .../v2ch08/bin/chart/ChartBean_MONO_32x32.gif | Bin 0 -> 166 bytes .../bin/chart2/ChartBean_COLOR_16x16.gif | Bin 0 -> 132 bytes .../bin/chart2/ChartBean_COLOR_32x32.gif | Bin 0 -> 207 bytes .../bin/chart2/ChartBean_INVERSE_16x16.gif | Bin 0 -> 71 bytes .../bin/chart2/ChartBean_MONO_16x16.gif | Bin 0 -> 877 bytes .../bin/chart2/ChartBean_MONO_32x32.gif | Bin 0 -> 166 bytes corejava第9版/v2ch08/bin/clouds.gif | Bin 0 -> 30769 bytes .../v2ch08/bin/damageReporter/foo.xml | 31 + .../bin/imageViewer/ImageViewerBean.jar | Bin 0 -> 1313 bytes .../v2ch08/bin/persistentFrame/test.xml | 68 + corejava第9版/v2ch08/chart/ChartBean.java | 215 + .../v2ch08/chart/ChartBeanBeanInfo.java | 59 + .../v2ch08/chart/ChartBean_COLOR_16x16.gif | Bin 0 -> 132 bytes .../v2ch08/chart/ChartBean_COLOR_32x32.gif | Bin 0 -> 207 bytes .../v2ch08/chart/ChartBean_INVERSE_16x16.gif | Bin 0 -> 71 bytes .../v2ch08/chart/ChartBean_MONO_16x16.gif | Bin 0 -> 877 bytes .../v2ch08/chart/ChartBean_MONO_32x32.gif | Bin 0 -> 166 bytes .../v2ch08/chart/DoubleArrayEditor.java | 81 + .../v2ch08/chart/DoubleArrayEditorPanel.java | 148 + corejava第9版/v2ch08/chart/GBC.java | 131 + corejava第9版/v2ch08/chart/InverseEditor.java | 52 + .../v2ch08/chart/InverseEditorPanel.java | 51 + .../v2ch08/chart/TitlePositionEditor.java | 37 + corejava第9版/v2ch08/chart2/ChartBean.java | 205 + .../v2ch08/chart2/ChartBeanBeanInfo.java | 37 + .../v2ch08/chart2/ChartBeanCustomizer.java | 239 + .../v2ch08/chart2/ChartBean_COLOR_16x16.gif | Bin 0 -> 132 bytes .../v2ch08/chart2/ChartBean_COLOR_32x32.gif | Bin 0 -> 207 bytes .../v2ch08/chart2/ChartBean_INVERSE_16x16.gif | Bin 0 -> 71 bytes .../v2ch08/chart2/ChartBean_MONO_16x16.gif | Bin 0 -> 877 bytes .../v2ch08/chart2/ChartBean_MONO_32x32.gif | Bin 0 -> 166 bytes corejava第9版/v2ch08/clouds.gif | Bin 0 -> 30769 bytes .../v2ch08/damageReporter/DamageReport.java | 126 + .../v2ch08/damageReporter/DamageReporter.java | 21 + .../damageReporter/DamageReporterFrame.java | 256 + corejava第9版/v2ch08/damageReporter/foo.xml | 31 + .../v2ch08/filePicker/FilePickerBean.java | 125 + .../v2ch08/imageViewer/ImageViewerBean.jar | Bin 0 -> 1313 bytes .../v2ch08/imageViewer/ImageViewerBean.java | 57 + .../v2ch08/persistenceDelegate/Employee.java | 47 + .../PersistenceDelegateTest.java | 98 + .../persistentFrame/PersistentFrameTest.java | 85 + corejava第9版/v2ch08/persistentFrame/test.xml | 68 + corejava第9版/v2ch09/Calculator.caesar | 6 + corejava第9版/v2ch09/CalculatorFrame.caesar | 5 + corejava第9版/v2ch09/CalculatorPanel$1.caesar | 5 + .../CalculatorPanel$CommandAction.caesar | 13 + .../CalculatorPanel$InsertAction.caesar | 12 + corejava第9版/v2ch09/CalculatorPanel.caesar | 20 + corejava第9版/v2ch09/FileReadApplet.html | 3 + corejava第9版/v2ch09/aes/AESTest.java | 49 + corejava第9版/v2ch09/aes/Util.java | 41 + corejava第9版/v2ch09/applet.policy | 7 + corejava第9版/v2ch09/auth/AuthTest.java | 35 + corejava第9版/v2ch09/auth/AuthTest.policy | 10 + corejava第9版/v2ch09/auth/SysPropAction.java | 24 + corejava第9版/v2ch09/auth/action.jar | Bin 0 -> 830 bytes corejava第9版/v2ch09/auth/jaas.config | 4 + corejava第9版/v2ch09/auth/login.jar | Bin 0 -> 1227 bytes corejava第9版/v2ch09/classLoader/Caesar.java | 32 + .../v2ch09/classLoader/ClassLoaderTest.java | 129 + corejava第9版/v2ch09/classLoader/GBC.java | 131 + corejava第9版/v2ch09/hash/Digest.java | 32 + corejava第9版/v2ch09/hash/input.txt | 1 + corejava第9版/v2ch09/jaas/JAASFrame.java | 67 + corejava第9版/v2ch09/jaas/JAASTest.java | 28 + corejava第9版/v2ch09/jaas/JAASTest.policy | 14 + .../v2ch09/jaas/SimpleCallbackHandler.java | 38 + .../v2ch09/jaas/SimpleLoginModule.java | 106 + .../v2ch09/jaas/SimplePrincipal.java | 47 + corejava第9版/v2ch09/jaas/SysPropAction.java | 25 + corejava第9版/v2ch09/jaas/jaas.config | 4 + corejava第9版/v2ch09/jaas/password.txt | 2 + .../v2ch09/permissions/PermissionTest.java | 96 + .../v2ch09/permissions/PermissionTest.policy | 4 + .../permissions/WordCheckPermission.java | 77 + corejava第9版/v2ch09/rsa/RSATest.java | 85 + corejava第9版/v2ch09/rsa/Util.java | 41 + .../v2ch09/signed/FileReadApplet.java | 72 + .../v2ch09/verifier/VerifierTest.html | 2 + .../v2ch09/verifier/VerifierTest.java | 38 + .../v2ch10/bin/buttons1/groovy.properties | 3 + corejava第9版/v2ch10/bin/buttons1/init.sisc | 6 + .../v2ch10/bin/buttons1/js.properties | 3 + .../v2ch10/bin/buttons1/sisc.properties | 4 + .../v2ch10/bin/buttons2/action.properties | 3 + .../bytecodeAnnotations/EntryLoggingAgent.jar | Bin 0 -> 4142 bytes .../bytecodeAnnotations/EntryLoggingAgent.mf | 1 + .../bytecodeAnnotations/bcel-6.0-SNAPSHOT.jar | Bin 0 -> 601259 bytes .../v2ch10/buttons1/ButtonFrame.java | 34 + .../v2ch10/buttons1/groovy.properties | 3 + corejava第9版/v2ch10/buttons1/init.sisc | 6 + corejava第9版/v2ch10/buttons1/js.properties | 3 + corejava第9版/v2ch10/buttons1/sisc.properties | 4 + .../v2ch10/buttons2/ButtonFrame.java | 37 + .../v2ch10/buttons2/action.properties | 3 + .../v2ch10/buttons3/ButtonFrame.java | 57 + corejava第9版/v2ch10/buttons3/ButtonTest.java | 26 + .../bytecodeAnnotations/EntryLogger.java | 110 + .../bytecodeAnnotations/EntryLoggingAgent.jar | Bin 0 -> 4142 bytes .../EntryLoggingAgent.java | 41 + .../bytecodeAnnotations/EntryLoggingAgent.mf | 1 + .../v2ch10/bytecodeAnnotations/LogEntry.java | 14 + .../bytecodeAnnotations/bcel-6.0-SNAPSHOT.jar | Bin 0 -> 601259 bytes corejava第9版/v2ch10/chart/ChartBean.java | 212 + .../v2ch10/chart/ChartBeanBeanInfo.java | 36 + .../v2ch10/chart/DoubleArrayEditor.java | 81 + .../v2ch10/chart/DoubleArrayEditorPanel.java | 148 + corejava第9版/v2ch10/chart/GBC.java | 131 + corejava第9版/v2ch10/chart/InverseEditor.java | 52 + .../v2ch10/chart/InverseEditorPanel.java | 51 + .../v2ch10/chart/TitlePositionEditor.java | 37 + .../v2ch10/compiler/ByteArrayJavaClass.java | 35 + .../v2ch10/compiler/CompilerTest.java | 105 + .../v2ch10/compiler/MapClassLoader.java | 28 + .../compiler/StringBuilderJavaSource.java | 36 + .../runtimeAnnotations/ActionListenerFor.java | 15 + .../ActionListenerInstaller.java | 60 + corejava第9版/v2ch10/script/ScriptTest.java | 125 + corejava第9版/v2ch10/set/Item.java | 56 + corejava第9版/v2ch10/set/SetTest.java | 25 + .../BeanInfoAnnotationProcessor.java | 130 + .../v2ch10/sourceAnnotations/Property.java | 10 + .../v2ch11/activation/Warehouse.java | 11 + .../v2ch11/activation/WarehouseActivator.java | 44 + .../v2ch11/activation/WarehouseClient.java | 28 + .../v2ch11/activation/WarehouseImpl.java | 28 + corejava第9版/v2ch11/activation/client.policy | 7 + corejava第9版/v2ch11/activation/rmid.policy | 7 + corejava第9版/v2ch11/activation/server.policy | 4 + .../v2ch11/bin/activation/client.policy | 7 + .../v2ch11/bin/activation/rmid.policy | 7 + .../v2ch11/bin/activation/server.policy | 4 + .../v2ch11/bin/warehouse1/client.policy | 5 + .../v2ch11/bin/warehouse2/client.policy | 5 + .../v2ch11/bin/warehouse2/server.policy | 5 + corejava第9版/v2ch11/bin/webService2/aws.jar | Bin 0 -> 189978 bytes .../v2ch11/warehouse1/Warehouse.java | 11 + .../v2ch11/warehouse1/WarehouseClient.java | 28 + .../v2ch11/warehouse1/WarehouseImpl.java | 26 + .../v2ch11/warehouse1/WarehouseServer.java | 23 + corejava第9版/v2ch11/warehouse1/client.policy | 5 + corejava第9版/v2ch11/warehouse2/Book.java | 20 + corejava第9版/v2ch11/warehouse2/Product.java | 34 + .../v2ch11/warehouse2/Warehouse.java | 13 + .../v2ch11/warehouse2/WarehouseClient.java | 33 + .../v2ch11/warehouse2/WarehouseImpl.java | 52 + .../v2ch11/warehouse2/WarehouseServer.java | 30 + corejava第9版/v2ch11/warehouse2/client.policy | 5 + corejava第9版/v2ch11/warehouse2/server.policy | 5 + corejava第9版/v2ch11/webService2/aws.jar | Bin 0 -> 189978 bytes corejava第9版/v2ch12/employee/Employee.c | 26 + corejava第9版/v2ch12/employee/Employee.java | 28 + .../v2ch12/employee/EmployeeTest.java | 21 + .../v2ch12/helloNative/HelloNative.c | 12 + .../v2ch12/helloNative/HelloNative.h | 21 + .../v2ch12/helloNative/HelloNative.java | 8 + .../v2ch12/helloNative/HelloNativeTest.java | 16 + .../v2ch12/invocation/InvocationTest.c | 150 + corejava第9版/v2ch12/invocation/Welcome.java | 17 + corejava第9版/v2ch12/printf1/Printf1.c | 19 + corejava第9版/v2ch12/printf1/Printf1.java | 13 + corejava第9版/v2ch12/printf1/Printf1Test.java | 16 + corejava第9版/v2ch12/printf2/Printf2.c | 65 + corejava第9版/v2ch12/printf2/Printf2.java | 13 + corejava第9版/v2ch12/printf2/Printf2Test.java | 16 + corejava第9版/v2ch12/printf3/Printf3.c | 78 + corejava第9版/v2ch12/printf3/Printf3.java | 15 + corejava第9版/v2ch12/printf3/Printf3Test.java | 18 + corejava第9版/v2ch12/printf4/Printf4.c | 107 + corejava第9版/v2ch12/printf4/Printf4.java | 15 + corejava第9版/v2ch12/printf4/Printf4Test.java | 19 + corejava第9版/v2ch12/win32reg/Win32RegKey.c | 363 + .../v2ch12/win32reg/Win32RegKey.java | 89 + .../v2ch12/win32reg/Win32RegKeyTest.java | 35 + 1025 files changed, 121606 insertions(+) create mode 100644 corejava第9版/EnglishGrammarBook-master/.gitignore create mode 100644 corejava第9版/EnglishGrammarBook-master/CNAME create mode 100644 corejava第9版/EnglishGrammarBook-master/LICENSE create mode 100644 corejava第9版/EnglishGrammarBook-master/README.md create mode 100644 corejava第9版/EnglishGrammarBook-master/SUMMARY.md create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.bower.json create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.gitignore create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.npmignore create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.travis.yml create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/LICENSE create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/Makefile create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/README.md create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/bin/marked create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/component.json create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/broken.md create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/todo.md create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/index.js create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/lib/marked.js create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/man/marked.1 create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/package.json create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/README create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.js create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/test.js create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/index.js create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.html create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.text create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/.bower.json create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/LICENSE.md create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/README.md create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/bower.json create mode 100644 corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/normalize.css create mode 100644 corejava第9版/EnglishGrammarBook-master/config.js create mode 100644 corejava第9版/EnglishGrammarBook-master/cover.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/css/app.css create mode 100644 corejava第9版/EnglishGrammarBook-master/css/normalize.css create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Adjective.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Adverb.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/AdverbClauses.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/AdverbClausesReduced.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Auxiliaries.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/ComparativePattern.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/CompoundSentences.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Conjunction.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Gerund.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Infinitive.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Inversion.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Moods.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/NounClauses.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/NounClausesReduced.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/NounPhrases.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Participles.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Prepositions.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Pronouns.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/ReducedClauses.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/RelativeClauses.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/RelativeClausesReduced.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/SimpleSentences.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/SubjectVerbAgreement.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/VerbTenses.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/Voice.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/guide.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/preface.md create mode 100644 corejava第9版/EnglishGrammarBook-master/docs/terminology.md create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_1.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_10.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_11.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_12.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_13.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_14.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_15.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_16.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_17.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_18.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_19.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_2.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_20.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_21.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_22.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_23.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_24.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_25.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_26.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_27.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_28.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_29.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_3.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_4.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_5.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_6.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_7.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_8.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_9.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/3_1.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/3_2.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/chapter_9/3_3.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/images/magnifier.jpg create mode 100644 corejava第9版/EnglishGrammarBook-master/index.html create mode 100644 corejava第9版/EnglishGrammarBook-master/js/ditto.js create mode 100644 corejava第9版/EnglishGrammarBook-master/js/highlight.pack.js create mode 100644 corejava第9版/EnglishGrammarBook-master/js/jquery-1.11.0.min.js create mode 100644 corejava第9版/EnglishGrammarBook-master/js/jquery-ui.min.js create mode 100644 corejava第9版/EnglishGrammarBook-master/js/marked.js create mode 100644 corejava第9版/EnglishGrammarBook-master/js/prism.js create mode 100644 corejava第9版/EnglishGrammarBook-master/js/store.js create mode 100644 corejava第9版/EnglishGrammarBook-master/sidebar.md create mode 100644 corejava第9版/gutenberg/alice30.txt create mode 100644 corejava第9版/gutenberg/crsto10.txt create mode 100644 corejava第9版/v1ch02/ImageViewer/Cay.gif create mode 100644 corejava第9版/v1ch02/ImageViewer/ImageViewer.java create mode 100644 corejava第9版/v1ch02/ImageViewer/Tower.gif create mode 100644 corejava第9版/v1ch02/ImageViewer/mug.png create mode 100644 corejava第9版/v1ch02/Welcome/Welcome.java create mode 100644 corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.html create mode 100644 corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.java create mode 100644 corejava第9版/v1ch02/WelcomeApplet/java.policy.applet create mode 100644 corejava第9版/v1ch03/BigIntegerTest/BigIntegerTest.java create mode 100644 corejava第9版/v1ch03/CompoundInterest/CompoundInterest.java create mode 100644 corejava第9版/v1ch03/FirstSample/FirstSample.java create mode 100644 corejava第9版/v1ch03/InputTest/InputTest.java create mode 100644 corejava第9版/v1ch03/LotteryArray/LotteryArray.java create mode 100644 corejava第9版/v1ch03/LotteryDrawing/LotteryDrawing.java create mode 100644 corejava第9版/v1ch03/LotteryOdds/LotteryOdds.java create mode 100644 corejava第9版/v1ch03/Retirement/Retirement.java create mode 100644 corejava第9版/v1ch03/Retirement2/Retirement2.java create mode 100644 corejava第9版/v1ch04/CalendarTest/CalendarTest.java create mode 100644 corejava第9版/v1ch04/ConstructorTest/ConstructorTest.java create mode 100644 corejava第9版/v1ch04/EmployeeTest/EmployeeTest.java create mode 100644 corejava第9版/v1ch04/PackageTest/PackageTest.java create mode 100644 corejava第9版/v1ch04/PackageTest/com/horstmann/corejava/Employee.java create mode 100644 corejava第9版/v1ch04/ParamTest/ParamTest.java create mode 100644 corejava第9版/v1ch04/StaticTest/StaticTest.java create mode 100644 corejava第9版/v1ch05/.settings/org.eclipse.jdt.core.prefs create mode 100644 corejava第9版/v1ch05/.settings/org.eclipse.jdt.ui.prefs create mode 100644 corejava第9版/v1ch05/abstractClasses/Employee.java create mode 100644 corejava第9版/v1ch05/abstractClasses/Person.java create mode 100644 corejava第9版/v1ch05/abstractClasses/PersonTest.java create mode 100644 corejava第9版/v1ch05/abstractClasses/Student.java create mode 100644 corejava第9版/v1ch05/arrayList/ArrayListTest.java create mode 100644 corejava第9版/v1ch05/arrayList/Employee.java create mode 100644 corejava第9版/v1ch05/arrays/CopyOfTest.java create mode 100644 corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.core.prefs create mode 100644 corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.ui.prefs create mode 100644 corejava第9版/v1ch05/enums/EnumTest.java create mode 100644 corejava第9版/v1ch05/equals/Employee.java create mode 100644 corejava第9版/v1ch05/equals/EqualsTest.java create mode 100644 corejava第9版/v1ch05/equals/Manager.java create mode 100644 corejava第9版/v1ch05/inheritance/Employee.java create mode 100644 corejava第9版/v1ch05/inheritance/Manager.java create mode 100644 corejava第9版/v1ch05/inheritance/ManagerTest.java create mode 100644 corejava第9版/v1ch05/methods/MethodTableTest.java create mode 100644 corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzer.java create mode 100644 corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzerTest.java create mode 100644 corejava第9版/v1ch05/reflection/ReflectionTest.java create mode 100644 corejava第9版/v1ch06/anonymousInnerClass/AnonymousInnerClassTest.java create mode 100644 corejava第9版/v1ch06/clone/CloneTest.java create mode 100644 corejava第9版/v1ch06/clone/Employee.java create mode 100644 corejava第9版/v1ch06/innerClass/InnerClassTest.java create mode 100644 corejava第9版/v1ch06/interfaces/Employee.java create mode 100644 corejava第9版/v1ch06/interfaces/EmployeeSortTest.java create mode 100644 corejava第9版/v1ch06/localInnerClass/LocalInnerClassTest.java create mode 100644 corejava第9版/v1ch06/proxy/ProxyTest.java create mode 100644 corejava第9版/v1ch06/staticInnerClass/StaticInnerClassTest.java create mode 100644 corejava第9版/v1ch06/timer/TimerTest.java create mode 100644 corejava第9版/v1ch07/blue-ball.gif create mode 100644 corejava第9版/v1ch07/draw/DrawTest.java create mode 100644 corejava第9版/v1ch07/fill/FillTest.java create mode 100644 corejava第9版/v1ch07/font/FontTest.java create mode 100644 corejava第9版/v1ch07/icon.gif create mode 100644 corejava第9版/v1ch07/image/ImageTest.java create mode 100644 corejava第9版/v1ch07/listFonts/ListFonts.java create mode 100644 corejava第9版/v1ch07/notHelloWorld/NotHelloWorld.java create mode 100644 corejava第9版/v1ch07/simpleFrame/SimpleFrameTest.java create mode 100644 corejava第9版/v1ch07/sizedFrame/SizedFrameTest.java create mode 100644 corejava第9版/v1ch08/action/ActionFrame.java create mode 100644 corejava第9版/v1ch08/action/ActionTest.java create mode 100644 corejava第9版/v1ch08/blue-ball.gif create mode 100644 corejava第9版/v1ch08/button/ButtonFrame.java create mode 100644 corejava第9版/v1ch08/button/ButtonTest.java create mode 100644 corejava第9版/v1ch08/mouse/MouseComponent.java create mode 100644 corejava第9版/v1ch08/mouse/MouseFrame.java create mode 100644 corejava第9版/v1ch08/mouse/MouseTest.java create mode 100644 corejava第9版/v1ch08/plaf/PlafFrame.java create mode 100644 corejava第9版/v1ch08/plaf/PlafTest.java create mode 100644 corejava第9版/v1ch08/red-ball.gif create mode 100644 corejava第9版/v1ch08/yellow-ball.gif create mode 100644 corejava第9版/v1ch09/ace.gif create mode 100644 corejava第9版/v1ch09/blue-ball.gif create mode 100644 corejava第9版/v1ch09/border/BorderFrame.java create mode 100644 corejava第9版/v1ch09/border/BorderTest.java create mode 100644 corejava第9版/v1ch09/calculator/Calculator.java create mode 100644 corejava第9版/v1ch09/calculator/CalculatorFrame.java create mode 100644 corejava第9版/v1ch09/calculator/CalculatorPanel.java create mode 100644 corejava第9版/v1ch09/checkBox/CheckBoxFrame.java create mode 100644 corejava第9版/v1ch09/checkBox/CheckBoxTest.java create mode 100644 corejava第9版/v1ch09/circleLayout/CircleLayout.java create mode 100644 corejava第9版/v1ch09/circleLayout/CircleLayoutFrame.java create mode 100644 corejava第9版/v1ch09/circleLayout/CircleLayoutTest.java create mode 100644 corejava第9版/v1ch09/colorChooser/ColorChooserFrame.java create mode 100644 corejava第9版/v1ch09/colorChooser/ColorChooserPanel.java create mode 100644 corejava第9版/v1ch09/colorChooser/ColorChooserTest.java create mode 100644 corejava第9版/v1ch09/comboBox/ComboBoxFrame.java create mode 100644 corejava第9版/v1ch09/comboBox/ComboBoxTest.java create mode 100644 corejava第9版/v1ch09/copy.gif create mode 100644 corejava第9版/v1ch09/cut.gif create mode 100644 corejava第9版/v1ch09/dataExchange/DataExchangeFrame.java create mode 100644 corejava第9版/v1ch09/dataExchange/DataExchangeTest.java create mode 100644 corejava第9版/v1ch09/dataExchange/PasswordChooser.java create mode 100644 corejava第9版/v1ch09/dataExchange/User.java create mode 100644 corejava第9版/v1ch09/dialog/AboutDialog.java create mode 100644 corejava第9版/v1ch09/dialog/DialogFrame.java create mode 100644 corejava第9版/v1ch09/dialog/DialogTest.java create mode 100644 corejava第9版/v1ch09/exit.gif create mode 100644 corejava第9版/v1ch09/fileChooser/FileChooserTest.java create mode 100644 corejava第9版/v1ch09/fileChooser/FileIconView.java create mode 100644 corejava第9版/v1ch09/fileChooser/ImagePreviewer.java create mode 100644 corejava第9版/v1ch09/fileChooser/ImageViewerFrame.java create mode 100644 corejava第9版/v1ch09/gridbag/FontFrame.java create mode 100644 corejava第9版/v1ch09/gridbag/GBC.java create mode 100644 corejava第9版/v1ch09/gridbag/GridBagLayoutTest.java create mode 100644 corejava第9版/v1ch09/groupLayout/FontFrame.java create mode 100644 corejava第9版/v1ch09/groupLayout/GroupLayoutTest.java create mode 100644 corejava第9版/v1ch09/jack.gif create mode 100644 corejava第9版/v1ch09/king.gif create mode 100644 corejava第9版/v1ch09/menu/MenuFrame.java create mode 100644 corejava第9版/v1ch09/menu/MenuTest.java create mode 100644 corejava第9版/v1ch09/nine.gif create mode 100644 corejava第9版/v1ch09/optionDialog/ButtonPanel.java create mode 100644 corejava第9版/v1ch09/optionDialog/OptionDialogFrame.java create mode 100644 corejava第9版/v1ch09/optionDialog/OptionDialogTest.java create mode 100644 corejava第9版/v1ch09/palette.gif create mode 100644 corejava第9版/v1ch09/paste.gif create mode 100644 corejava第9版/v1ch09/queen.gif create mode 100644 corejava第9版/v1ch09/radioButton/RadioButtonFrame.java create mode 100644 corejava第9版/v1ch09/radioButton/RadioButtonTest.java create mode 100644 corejava第9版/v1ch09/red-ball.gif create mode 100644 corejava第9版/v1ch09/slider/SliderFrame.java create mode 100644 corejava第9版/v1ch09/slider/SliderTest.java create mode 100644 corejava第9版/v1ch09/ten.gif create mode 100644 corejava第9版/v1ch09/text/TextComponentFrame.java create mode 100644 corejava第9版/v1ch09/text/TextComponentTest.java create mode 100644 corejava第9版/v1ch09/toolBar/ToolBarFrame.java create mode 100644 corejava第9版/v1ch09/toolBar/ToolBarTest.java create mode 100644 corejava第9版/v1ch09/yellow-ball.gif create mode 100644 corejava第9版/v1ch10/NotHelloWorldApplet.html create mode 100644 corejava第9版/v1ch10/applet/NotHelloWorld.java create mode 100644 corejava第9版/v1ch10/chart/Chart.html create mode 100644 corejava第9版/v1ch10/chart/Chart.java create mode 100644 corejava第9版/v1ch10/java.policy.applet create mode 100644 corejava第9版/v1ch10/preferences/PreferencesTest.java create mode 100644 corejava第9版/v1ch10/properties/PropertiesTest.java create mode 100644 corejava第9版/v1ch10/resource/ResourceTest.jar create mode 100644 corejava第9版/v1ch10/resource/ResourceTest.java create mode 100644 corejava第9版/v1ch10/resource/ResourceTest.mf create mode 100644 corejava第9版/v1ch10/resource/about.gif create mode 100644 corejava第9版/v1ch10/resource/about.txt create mode 100644 corejava第9版/v1ch10/systemInfo/SystemInfo.java create mode 100644 corejava第9版/v1ch10/webstart/Calculator.jar create mode 100644 corejava第9版/v1ch10/webstart/Calculator.java create mode 100644 corejava第9版/v1ch10/webstart/Calculator.jnlp create mode 100644 corejava第9版/v1ch10/webstart/CalculatorFrame.java create mode 100644 corejava第9版/v1ch10/webstart/CalculatorPanel.java create mode 100644 corejava第9版/v1ch10/webstart/calc_icon32.png create mode 100644 corejava第9版/v1ch10/webstart/calc_icon64.png create mode 100644 corejava第9版/v1ch11/debugger/BuggyButtonTest.java create mode 100644 corejava第9版/v1ch11/eventTracer/EventTracer.java create mode 100644 corejava第9版/v1ch11/eventTracer/EventTracerTest.java create mode 100644 corejava第9版/v1ch11/except/ExceptTest.java create mode 100644 corejava第9版/v1ch11/except/manifest.mf create mode 100644 corejava第9版/v1ch11/exceptional/ExceptionalTest.java create mode 100644 corejava第9版/v1ch11/logging/LoggingImageViewer.java create mode 100644 corejava第9版/v1ch11/robot/ButtonFrame.java create mode 100644 corejava第9版/v1ch11/robot/RobotTest.java create mode 100644 corejava第9版/v1ch11/stackTrace/StackTraceTest.java create mode 100644 corejava第9版/v1ch12/genericReflection/GenericReflectionTest.java create mode 100644 corejava第9版/v1ch12/pair1/Pair.java create mode 100644 corejava第9版/v1ch12/pair1/PairTest1.java create mode 100644 corejava第9版/v1ch12/pair2/Pair.java create mode 100644 corejava第9版/v1ch12/pair2/PairTest2.java create mode 100644 corejava第9版/v1ch12/pair3/Employee.java create mode 100644 corejava第9版/v1ch12/pair3/Manager.java create mode 100644 corejava第9版/v1ch12/pair3/Pair.java create mode 100644 corejava第9版/v1ch12/pair3/PairTest3.java create mode 100644 corejava第9版/v1ch13/circularArrayQueue/CircularArrayQueueTest.java create mode 100644 corejava第9版/v1ch13/linkedList/LinkedListTest.java create mode 100644 corejava第9版/v1ch13/map/Employee.java create mode 100644 corejava第9版/v1ch13/map/MapTest.java create mode 100644 corejava第9版/v1ch13/priorityQueue/PriorityQueueTest.java create mode 100644 corejava第9版/v1ch13/set/SetTest.java create mode 100644 corejava第9版/v1ch13/shuffle/ShuffleTest.java create mode 100644 corejava第9版/v1ch13/sieve/Sieve.java create mode 100644 corejava第9版/v1ch13/sieve/sieve.cpp create mode 100644 corejava第9版/v1ch13/treeSet/Item.java create mode 100644 corejava第9版/v1ch13/treeSet/TreeSetTest.java create mode 100644 corejava第9版/v1ch14/blockingQueue/BlockingQueueTest.java create mode 100644 corejava第9版/v1ch14/bounce/Ball.java create mode 100644 corejava第9版/v1ch14/bounce/BallComponent.java create mode 100644 corejava第9版/v1ch14/bounce/Bounce.java create mode 100644 corejava第9版/v1ch14/bounceThread/Ball.java create mode 100644 corejava第9版/v1ch14/bounceThread/BallComponent.java create mode 100644 corejava第9版/v1ch14/bounceThread/BounceThread.java create mode 100644 corejava第9版/v1ch14/forkJoin/ForkJoinTest.java create mode 100644 corejava第9版/v1ch14/future/FutureTest.java create mode 100644 corejava第9版/v1ch14/swing/SwingThreadTest.java create mode 100644 corejava第9版/v1ch14/swingWorker/SwingWorkerTest.java create mode 100644 corejava第9版/v1ch14/synch/Bank.java create mode 100644 corejava第9版/v1ch14/synch/SynchBankTest.java create mode 100644 corejava第9版/v1ch14/synch/TransferRunnable.java create mode 100644 corejava第9版/v1ch14/synch2/Bank.java create mode 100644 corejava第9版/v1ch14/synch2/SynchBankTest2.java create mode 100644 corejava第9版/v1ch14/synch2/TransferRunnable.java create mode 100644 corejava第9版/v1ch14/threadPool/ThreadPoolTest.java create mode 100644 corejava第9版/v1ch14/unsynch/Bank.java create mode 100644 corejava第9版/v1ch14/unsynch/TransferRunnable.java create mode 100644 corejava第9版/v1ch14/unsynch/UnsynchBankTest.java create mode 100644 corejava第9版/v2ch01/employee.dat create mode 100644 corejava第9版/v2ch01/employee2.dat create mode 100644 corejava第9版/v2ch01/employee3.dat create mode 100644 corejava第9版/v2ch01/findDirectories/FindDirectories.java create mode 100644 corejava第9版/v2ch01/match/HrefMatch.java create mode 100644 corejava第9版/v2ch01/memoryMap/MemoryMapTest.java create mode 100644 corejava第9版/v2ch01/objectStream/Employee.java create mode 100644 corejava第9版/v2ch01/objectStream/Manager.java create mode 100644 corejava第9版/v2ch01/objectStream/ObjectStreamTest.java create mode 100644 corejava第9版/v2ch01/objectStream/employee.dat create mode 100644 corejava第9版/v2ch01/randomAccess/DataIO.java create mode 100644 corejava第9版/v2ch01/randomAccess/Employee.java create mode 100644 corejava第9版/v2ch01/randomAccess/RandomAccessTest.java create mode 100644 corejava第9版/v2ch01/randomAccess2/Employee.java create mode 100644 corejava第9版/v2ch01/randomAccess2/RandomAccessTest.java create mode 100644 corejava第9版/v2ch01/regex/RegexTest.java create mode 100644 corejava第9版/v2ch01/serialClone/SerialCloneTest.java create mode 100644 corejava第9版/v2ch01/textFile/Employee.java create mode 100644 corejava第9版/v2ch01/textFile/TextFileTest.java create mode 100644 corejava第9版/v2ch01/textFile/employee.dat create mode 100644 corejava第9版/v2ch01/zip/ZipTest.java create mode 100644 corejava第9版/v2ch02/dom/TreeViewer.java create mode 100644 corejava第9版/v2ch02/dom/server.xml create mode 100644 corejava第9版/v2ch02/fontdialog-schema.xml create mode 100644 corejava第9版/v2ch02/fontdialog.xml create mode 100644 corejava第9版/v2ch02/gridbag.dtd create mode 100644 corejava第9版/v2ch02/gridbag.xsd create mode 100644 corejava第9版/v2ch02/read/GridBagPane.java create mode 100644 corejava第9版/v2ch02/read/GridBagTest.java create mode 100644 corejava第9版/v2ch02/sax/SAXTest.java create mode 100644 corejava第9版/v2ch02/stax/StAXTest.java create mode 100644 corejava第9版/v2ch02/transform/TransformTest.java create mode 100644 corejava第9版/v2ch02/transform/employee.dat create mode 100644 corejava第9版/v2ch02/transform/makehtml.xsl create mode 100644 corejava第9版/v2ch02/transform/makeprop.xsl create mode 100644 corejava第9版/v2ch02/write/RectangleComponent.java create mode 100644 corejava第9版/v2ch02/write/XMLWriteFrame.java create mode 100644 corejava第9版/v2ch02/write/XMLWriteTest.java create mode 100644 corejava第9版/v2ch02/xpath/XPathTester.java create mode 100644 corejava第9版/v2ch02/xpath/fontdialog.xml create mode 100644 corejava第9版/v2ch02/xpath/gridbag.dtd create mode 100644 corejava第9版/v2ch03/inetAddress/InetAddressTest.java create mode 100644 corejava第9版/v2ch03/interruptible/InterruptibleSocketTest.java create mode 100644 corejava第9版/v2ch03/mail/MailTest.java create mode 100644 corejava第9版/v2ch03/mail/mail.properties create mode 100644 corejava第9版/v2ch03/mail/message.txt create mode 100644 corejava第9版/v2ch03/post/PostTest.java create mode 100644 corejava第9版/v2ch03/post/post.properties create mode 100644 corejava第9版/v2ch03/server/EchoServer.java create mode 100644 corejava第9版/v2ch03/socket/SocketTest.java create mode 100644 corejava第9版/v2ch03/threaded/ThreadedEchoServer.java create mode 100644 corejava第9版/v2ch03/urlConnection/URLConnectionTest.java create mode 100644 corejava第9版/v2ch04/Authors.sql create mode 100644 corejava第9版/v2ch04/Books.sql create mode 100644 corejava第9版/v2ch04/BooksAuthors.sql create mode 100644 corejava第9版/v2ch04/COREJAVA/db.lck create mode 100644 corejava第9版/v2ch04/COREJAVA/dbex.lck create mode 100644 corejava第9版/v2ch04/COREJAVA/log/log.ctrl create mode 100644 corejava第9版/v2ch04/COREJAVA/log/log1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/log/logmirror.ctrl create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c10.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c101.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c111.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c121.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c130.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c141.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c150.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c161.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c171.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c180.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c191.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c1a1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c1b1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c1c0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c1d1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c1e0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c1f1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c20.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c200.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c211.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c221.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c230.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c241.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c251.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c260.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c271.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c281.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c290.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c2a1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c2b1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c2c1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c2d0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c2e1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c2f0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c300.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c31.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c311.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c321.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c331.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c340.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c351.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c361.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c371.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c380.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c391.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c3a1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c3b1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c3c0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c3d1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c3e1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c3f1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c400.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c41.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c411.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c421.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c430.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c441.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c451.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c461.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c480.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c490.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c4a0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c4b0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c51.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c60.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c71.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c81.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/c90.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/ca1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/cb1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/cc0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/cd1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/ce1.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/seg0/cf0.dat create mode 100644 corejava第9版/v2ch04/COREJAVA/service.properties create mode 100644 corejava第9版/v2ch04/Publishers.sql create mode 100644 corejava第9版/v2ch04/database.properties create mode 100644 corejava第9版/v2ch04/derby.log create mode 100644 corejava第9版/v2ch04/exec/ExecSQL.java create mode 100644 corejava第9版/v2ch04/query/QueryTest.java create mode 100644 corejava第9版/v2ch04/test/TestDB.java create mode 100644 corejava第9版/v2ch04/view/ViewDB.java create mode 100644 corejava第9版/v2ch05/collation/CollationTest.java create mode 100644 corejava第9版/v2ch05/collation/EnumCombo.java create mode 100644 corejava第9版/v2ch05/collation/GBC.java create mode 100644 corejava第9版/v2ch05/dateFormat/DateFormatTest.java create mode 100644 corejava第9版/v2ch05/dateFormat/EnumCombo.java create mode 100644 corejava第9版/v2ch05/dateFormat/GBC.java create mode 100644 corejava第9版/v2ch05/java.policy.applet create mode 100644 corejava第9版/v2ch05/numberFormat/GBC.java create mode 100644 corejava第9版/v2ch05/numberFormat/NumberFormatTest.java create mode 100644 corejava第9版/v2ch05/retire.Retire1339094435852.html create mode 100644 corejava第9版/v2ch05/retire/GBC.java create mode 100644 corejava第9版/v2ch05/retire/LocaleCombo.java create mode 100644 corejava第9版/v2ch05/retire/Retire.java create mode 100644 corejava第9版/v2ch05/retire/RetireResources.java create mode 100644 corejava第9版/v2ch05/retire/RetireResources_de.java create mode 100644 corejava第9版/v2ch05/retire/RetireResources_zh.java create mode 100644 corejava第9版/v2ch05/retire/RetireStrings.properties create mode 100644 corejava第9版/v2ch05/retire/RetireStrings_de.properties create mode 100644 corejava第9版/v2ch05/retire/RetireStrings_zh.properties create mode 100644 corejava第9版/v2ch06/editorPane/EditorPaneFrame.java create mode 100644 corejava第9版/v2ch06/editorPane/EditorPaneTest.java create mode 100644 corejava第9版/v2ch06/internalFrame/DesktopFrame.java create mode 100644 corejava第9版/v2ch06/internalFrame/Earth.gif create mode 100644 corejava第9版/v2ch06/internalFrame/InternalFrameTest.java create mode 100644 corejava第9版/v2ch06/internalFrame/Jupiter.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Mars.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Mercury.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Neptune.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Pluto.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Saturn.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Uranus.gif create mode 100644 corejava第9版/v2ch06/internalFrame/Venus.gif create mode 100644 corejava第9版/v2ch06/internalFrame/document.gif create mode 100644 corejava第9版/v2ch06/layer/ColorFrame.java create mode 100644 corejava第9版/v2ch06/layer/LayerTest.java create mode 100644 corejava第9版/v2ch06/list/ListFrame.java create mode 100644 corejava第9版/v2ch06/list/ListTest.java create mode 100644 corejava第9版/v2ch06/listRendering/FontCellRenderer.java create mode 100644 corejava第9版/v2ch06/listRendering/ListRenderingFrame.java create mode 100644 corejava第9版/v2ch06/listRendering/ListRenderingTest.java create mode 100644 corejava第9版/v2ch06/longList/LongListFrame.java create mode 100644 corejava第9版/v2ch06/longList/LongListTest.java create mode 100644 corejava第9版/v2ch06/longList/WordListModel.java create mode 100644 corejava第9版/v2ch06/progressBar/ProgressBarFrame.java create mode 100644 corejava第9版/v2ch06/progressBar/ProgressBarTest.java create mode 100644 corejava第9版/v2ch06/progressMonitor/ProgressMonitorFrame.java create mode 100644 corejava第9版/v2ch06/progressMonitor/ProgressMonitorTest.java create mode 100644 corejava第9版/v2ch06/progressMonitorInputStream/ProgressMonitorInputStreamTest.java create mode 100644 corejava第9版/v2ch06/progressMonitorInputStream/TextFrame.java create mode 100644 corejava第9版/v2ch06/spinner/PermutationSpinnerModel.java create mode 100644 corejava第9版/v2ch06/spinner/SpinnerFrame.java create mode 100644 corejava第9版/v2ch06/spinner/SpinnerTest.java create mode 100644 corejava第9版/v2ch06/splitPane/Earth.gif create mode 100644 corejava第9版/v2ch06/splitPane/Jupiter.gif create mode 100644 corejava第9版/v2ch06/splitPane/Mars.gif create mode 100644 corejava第9版/v2ch06/splitPane/Mercury.gif create mode 100644 corejava第9版/v2ch06/splitPane/Neptune.gif create mode 100644 corejava第9版/v2ch06/splitPane/Planet.java create mode 100644 corejava第9版/v2ch06/splitPane/Pluto.gif create mode 100644 corejava第9版/v2ch06/splitPane/Saturn.gif create mode 100644 corejava第9版/v2ch06/splitPane/SplitPaneFrame.java create mode 100644 corejava第9版/v2ch06/splitPane/SplitPaneTest.java create mode 100644 corejava第9版/v2ch06/splitPane/Uranus.gif create mode 100644 corejava第9版/v2ch06/splitPane/Venus.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Earth.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Jupiter.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Mars.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Mercury.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Neptune.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Pluto.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Saturn.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/TabbedPaneFrame.java create mode 100644 corejava第9版/v2ch06/tabbedPane/TabbedPaneTest.java create mode 100644 corejava第9版/v2ch06/tabbedPane/Uranus.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/Venus.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/red-ball.gif create mode 100644 corejava第9版/v2ch06/tabbedPane/yellow-ball.gif create mode 100644 corejava第9版/v2ch06/table/TableTest.java create mode 100644 corejava第9版/v2ch06/tableCellRender/ColorTableCellEditor.java create mode 100644 corejava第9版/v2ch06/tableCellRender/ColorTableCellRenderer.java create mode 100644 corejava第9版/v2ch06/tableCellRender/Earth.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Jupiter.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Mars.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Mercury.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Moons.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Neptune.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/PlanetTableModel.java create mode 100644 corejava第9版/v2ch06/tableCellRender/Pluto.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Saturn.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/TableCellRenderFrame.java create mode 100644 corejava第9版/v2ch06/tableCellRender/TableCellRenderTest.java create mode 100644 corejava第9版/v2ch06/tableCellRender/Uranus.gif create mode 100644 corejava第9版/v2ch06/tableCellRender/Venus.gif create mode 100644 corejava第9版/v2ch06/tableModel/InvestmentTable.java create mode 100644 corejava第9版/v2ch06/tableRowColumn/Earth.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/Jupiter.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/Mars.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/Mercury.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/Neptune.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/PlanetTableFrame.java create mode 100644 corejava第9版/v2ch06/tableRowColumn/Pluto.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/Saturn.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/TableRowColumnTest.java create mode 100644 corejava第9版/v2ch06/tableRowColumn/Uranus.gif create mode 100644 corejava第9版/v2ch06/tableRowColumn/Venus.gif create mode 100644 corejava第9版/v2ch06/tableSelection/TableSelectionFrame.java create mode 100644 corejava第9版/v2ch06/tableSelection/TableSelectionTest.java create mode 100644 corejava第9版/v2ch06/textChange/ChangeTrackingTest.java create mode 100644 corejava第9版/v2ch06/textChange/ColorFrame.java create mode 100644 corejava第9版/v2ch06/textFormat/FormatTest.java create mode 100644 corejava第9版/v2ch06/textFormat/FormatTestFrame.java create mode 100644 corejava第9版/v2ch06/textFormat/IPAddressFormatter.java create mode 100644 corejava第9版/v2ch06/textFormat/IntFilter.java create mode 100644 corejava第9版/v2ch06/tree/SimpleTree.java create mode 100644 corejava第9版/v2ch06/tree/SimpleTreeFrame.java create mode 100644 corejava第9版/v2ch06/treeEdit/TreeEditFrame.java create mode 100644 corejava第9版/v2ch06/treeEdit/TreeEditTest.java create mode 100644 corejava第9版/v2ch06/treeModel/ObjectInspectorFrame.java create mode 100644 corejava第9版/v2ch06/treeModel/ObjectInspectorTest.java create mode 100644 corejava第9版/v2ch06/treeModel/ObjectTreeModel.java create mode 100644 corejava第9版/v2ch06/treeModel/Variable.java create mode 100644 corejava第9版/v2ch06/treeRender/ClassNameTreeCellRenderer.java create mode 100644 corejava第9版/v2ch06/treeRender/ClassTree.java create mode 100644 corejava第9版/v2ch06/treeRender/ClassTreeFrame.java create mode 100644 corejava第9版/v2ch06/treeRender/blue-ball.gif create mode 100644 corejava第9版/v2ch06/treeRender/red-ball.gif create mode 100644 corejava第9版/v2ch06/treeRender/yellow-ball.gif create mode 100644 corejava第9版/v2ch07/book/Banner.java create mode 100644 corejava第9版/v2ch07/book/BookTest.java create mode 100644 corejava第9版/v2ch07/book/BookTestFrame.java create mode 100644 corejava第9版/v2ch07/book/PrintPreviewCanvas.java create mode 100644 corejava第9版/v2ch07/book/PrintPreviewDialog.java create mode 100644 corejava第9版/v2ch07/cj2.gif create mode 100644 corejava第9版/v2ch07/cj8v2.png create mode 100644 corejava第9版/v2ch07/composite/CompositeComponent.java create mode 100644 corejava第9版/v2ch07/composite/CompositeTest.java create mode 100644 corejava第9版/v2ch07/composite/CompositeTestFrame.java create mode 100644 corejava第9版/v2ch07/composite/Rule.java create mode 100644 corejava第9版/v2ch07/desktopApp/DesktopAppFrame.java create mode 100644 corejava第9版/v2ch07/desktopApp/DesktopAppTest.java create mode 100644 corejava第9版/v2ch07/desktopApp/GBC.java create mode 100644 corejava第9版/v2ch07/dnd/SampleComponents.java create mode 100644 corejava第9版/v2ch07/dnd/SwingDnDFrame.java create mode 100644 corejava第9版/v2ch07/dnd/SwingDnDTest.java create mode 100644 corejava第9版/v2ch07/dndImage/ImageListDnDFrame.java create mode 100644 corejava第9版/v2ch07/dndImage/ImageListDnDTest.java create mode 100644 corejava第9版/v2ch07/dndImage/ImageTransferable.java create mode 100644 corejava第9版/v2ch07/dndImage/images1/Jupiter.gif create mode 100644 corejava第9版/v2ch07/dndImage/images1/Mars.gif create mode 100644 corejava第9版/v2ch07/dndImage/images1/Mercury.gif create mode 100644 corejava第9版/v2ch07/dndImage/images1/Neptune.gif create mode 100644 corejava第9版/v2ch07/dndImage/images1/Pluto.gif create mode 100644 corejava第9版/v2ch07/dndImage/images1/Uranus.gif create mode 100644 corejava第9版/v2ch07/dndImage/images1/Venus.gif create mode 100644 corejava第9版/v2ch07/dndImage/images2/Earth.gif create mode 100644 corejava第9版/v2ch07/dndImage/images2/Saturn.gif create mode 100644 corejava第9版/v2ch07/imageIO/ImageIOFrame.java create mode 100644 corejava第9版/v2ch07/imageIO/ImageIOTest.java create mode 100644 corejava第9版/v2ch07/imageIO/e-mail.gif create mode 100644 corejava第9版/v2ch07/imageProcessing/ImageProcessingFrame.java create mode 100644 corejava第9版/v2ch07/imageProcessing/ImageProcessingTest.java create mode 100644 corejava第9版/v2ch07/imageTransfer/ImageTransferFrame.java create mode 100644 corejava第9版/v2ch07/imageTransfer/ImageTransferTest.java create mode 100644 corejava第9版/v2ch07/imageTransfer/ImageTransferable.java create mode 100644 corejava第9版/v2ch07/print/PrintComponent.java create mode 100644 corejava第9版/v2ch07/print/PrintTest.java create mode 100644 corejava第9版/v2ch07/print/PrintTestFrame.java create mode 100644 corejava第9版/v2ch07/printService/PrintServiceTest.java create mode 100644 corejava第9版/v2ch07/rasterImage/RasterImageFrame.java create mode 100644 corejava第9版/v2ch07/rasterImage/RasterImageTest.java create mode 100644 corejava第9版/v2ch07/renderQuality/GBC.java create mode 100644 corejava第9版/v2ch07/renderQuality/RenderQualityTest.java create mode 100644 corejava第9版/v2ch07/renderQuality/RenderQualityTestFrame.java create mode 100644 corejava第9版/v2ch07/renderQuality/face.gif create mode 100644 corejava第9版/v2ch07/serialTransfer/SerialTransferFrame.java create mode 100644 corejava第9版/v2ch07/serialTransfer/SerialTransferTest.java create mode 100644 corejava第9版/v2ch07/shape/ShapeTest.java create mode 100644 corejava第9版/v2ch07/splashScreen/SplashScreenTest.java create mode 100644 corejava第9版/v2ch07/splashScreen/splash.png create mode 100644 corejava第9版/v2ch07/stroke/StrokeTest.java create mode 100644 corejava第9版/v2ch07/systemTray/SystemTrayTest.java create mode 100644 corejava第9版/v2ch07/systemTray/cookie.png create mode 100644 corejava第9版/v2ch07/systemTray/fortunes create mode 100644 corejava第9版/v2ch07/transferText/TextTransferFrame.java create mode 100644 corejava第9版/v2ch07/transferText/TextTransferTest.java create mode 100644 corejava第9版/v2ch08/ChartBean.jar create mode 100644 corejava第9版/v2ch08/ChartBean.mf create mode 100644 corejava第9版/v2ch08/ChartBean2.mf create mode 100644 corejava第9版/v2ch08/FilePickerBean.mf create mode 100644 corejava第9版/v2ch08/ImageViewerBean.mf create mode 100644 corejava第9版/v2ch08/bin/ChartBean.jar create mode 100644 corejava第9版/v2ch08/bin/ChartBean.mf create mode 100644 corejava第9版/v2ch08/bin/ChartBean2.mf create mode 100644 corejava第9版/v2ch08/bin/FilePickerBean.mf create mode 100644 corejava第9版/v2ch08/bin/ImageViewerBean.mf create mode 100644 corejava第9版/v2ch08/bin/chart/ChartBean_COLOR_16x16.gif create mode 100644 corejava第9版/v2ch08/bin/chart/ChartBean_COLOR_32x32.gif create mode 100644 corejava第9版/v2ch08/bin/chart/ChartBean_INVERSE_16x16.gif create mode 100644 corejava第9版/v2ch08/bin/chart/ChartBean_MONO_16x16.gif create mode 100644 corejava第9版/v2ch08/bin/chart/ChartBean_MONO_32x32.gif create mode 100644 corejava第9版/v2ch08/bin/chart2/ChartBean_COLOR_16x16.gif create mode 100644 corejava第9版/v2ch08/bin/chart2/ChartBean_COLOR_32x32.gif create mode 100644 corejava第9版/v2ch08/bin/chart2/ChartBean_INVERSE_16x16.gif create mode 100644 corejava第9版/v2ch08/bin/chart2/ChartBean_MONO_16x16.gif create mode 100644 corejava第9版/v2ch08/bin/chart2/ChartBean_MONO_32x32.gif create mode 100644 corejava第9版/v2ch08/bin/clouds.gif create mode 100644 corejava第9版/v2ch08/bin/damageReporter/foo.xml create mode 100644 corejava第9版/v2ch08/bin/imageViewer/ImageViewerBean.jar create mode 100644 corejava第9版/v2ch08/bin/persistentFrame/test.xml create mode 100644 corejava第9版/v2ch08/chart/ChartBean.java create mode 100644 corejava第9版/v2ch08/chart/ChartBeanBeanInfo.java create mode 100644 corejava第9版/v2ch08/chart/ChartBean_COLOR_16x16.gif create mode 100644 corejava第9版/v2ch08/chart/ChartBean_COLOR_32x32.gif create mode 100644 corejava第9版/v2ch08/chart/ChartBean_INVERSE_16x16.gif create mode 100644 corejava第9版/v2ch08/chart/ChartBean_MONO_16x16.gif create mode 100644 corejava第9版/v2ch08/chart/ChartBean_MONO_32x32.gif create mode 100644 corejava第9版/v2ch08/chart/DoubleArrayEditor.java create mode 100644 corejava第9版/v2ch08/chart/DoubleArrayEditorPanel.java create mode 100644 corejava第9版/v2ch08/chart/GBC.java create mode 100644 corejava第9版/v2ch08/chart/InverseEditor.java create mode 100644 corejava第9版/v2ch08/chart/InverseEditorPanel.java create mode 100644 corejava第9版/v2ch08/chart/TitlePositionEditor.java create mode 100644 corejava第9版/v2ch08/chart2/ChartBean.java create mode 100644 corejava第9版/v2ch08/chart2/ChartBeanBeanInfo.java create mode 100644 corejava第9版/v2ch08/chart2/ChartBeanCustomizer.java create mode 100644 corejava第9版/v2ch08/chart2/ChartBean_COLOR_16x16.gif create mode 100644 corejava第9版/v2ch08/chart2/ChartBean_COLOR_32x32.gif create mode 100644 corejava第9版/v2ch08/chart2/ChartBean_INVERSE_16x16.gif create mode 100644 corejava第9版/v2ch08/chart2/ChartBean_MONO_16x16.gif create mode 100644 corejava第9版/v2ch08/chart2/ChartBean_MONO_32x32.gif create mode 100644 corejava第9版/v2ch08/clouds.gif create mode 100644 corejava第9版/v2ch08/damageReporter/DamageReport.java create mode 100644 corejava第9版/v2ch08/damageReporter/DamageReporter.java create mode 100644 corejava第9版/v2ch08/damageReporter/DamageReporterFrame.java create mode 100644 corejava第9版/v2ch08/damageReporter/foo.xml create mode 100644 corejava第9版/v2ch08/filePicker/FilePickerBean.java create mode 100644 corejava第9版/v2ch08/imageViewer/ImageViewerBean.jar create mode 100644 corejava第9版/v2ch08/imageViewer/ImageViewerBean.java create mode 100644 corejava第9版/v2ch08/persistenceDelegate/Employee.java create mode 100644 corejava第9版/v2ch08/persistenceDelegate/PersistenceDelegateTest.java create mode 100644 corejava第9版/v2ch08/persistentFrame/PersistentFrameTest.java create mode 100644 corejava第9版/v2ch08/persistentFrame/test.xml create mode 100644 corejava第9版/v2ch09/Calculator.caesar create mode 100644 corejava第9版/v2ch09/CalculatorFrame.caesar create mode 100644 corejava第9版/v2ch09/CalculatorPanel$1.caesar create mode 100644 corejava第9版/v2ch09/CalculatorPanel$CommandAction.caesar create mode 100644 corejava第9版/v2ch09/CalculatorPanel$InsertAction.caesar create mode 100644 corejava第9版/v2ch09/CalculatorPanel.caesar create mode 100644 corejava第9版/v2ch09/FileReadApplet.html create mode 100644 corejava第9版/v2ch09/aes/AESTest.java create mode 100644 corejava第9版/v2ch09/aes/Util.java create mode 100644 corejava第9版/v2ch09/applet.policy create mode 100644 corejava第9版/v2ch09/auth/AuthTest.java create mode 100644 corejava第9版/v2ch09/auth/AuthTest.policy create mode 100644 corejava第9版/v2ch09/auth/SysPropAction.java create mode 100644 corejava第9版/v2ch09/auth/action.jar create mode 100644 corejava第9版/v2ch09/auth/jaas.config create mode 100644 corejava第9版/v2ch09/auth/login.jar create mode 100644 corejava第9版/v2ch09/classLoader/Caesar.java create mode 100644 corejava第9版/v2ch09/classLoader/ClassLoaderTest.java create mode 100644 corejava第9版/v2ch09/classLoader/GBC.java create mode 100644 corejava第9版/v2ch09/hash/Digest.java create mode 100644 corejava第9版/v2ch09/hash/input.txt create mode 100644 corejava第9版/v2ch09/jaas/JAASFrame.java create mode 100644 corejava第9版/v2ch09/jaas/JAASTest.java create mode 100644 corejava第9版/v2ch09/jaas/JAASTest.policy create mode 100644 corejava第9版/v2ch09/jaas/SimpleCallbackHandler.java create mode 100644 corejava第9版/v2ch09/jaas/SimpleLoginModule.java create mode 100644 corejava第9版/v2ch09/jaas/SimplePrincipal.java create mode 100644 corejava第9版/v2ch09/jaas/SysPropAction.java create mode 100644 corejava第9版/v2ch09/jaas/jaas.config create mode 100644 corejava第9版/v2ch09/jaas/password.txt create mode 100644 corejava第9版/v2ch09/permissions/PermissionTest.java create mode 100644 corejava第9版/v2ch09/permissions/PermissionTest.policy create mode 100644 corejava第9版/v2ch09/permissions/WordCheckPermission.java create mode 100644 corejava第9版/v2ch09/rsa/RSATest.java create mode 100644 corejava第9版/v2ch09/rsa/Util.java create mode 100644 corejava第9版/v2ch09/signed/FileReadApplet.java create mode 100644 corejava第9版/v2ch09/verifier/VerifierTest.html create mode 100644 corejava第9版/v2ch09/verifier/VerifierTest.java create mode 100644 corejava第9版/v2ch10/bin/buttons1/groovy.properties create mode 100644 corejava第9版/v2ch10/bin/buttons1/init.sisc create mode 100644 corejava第9版/v2ch10/bin/buttons1/js.properties create mode 100644 corejava第9版/v2ch10/bin/buttons1/sisc.properties create mode 100644 corejava第9版/v2ch10/bin/buttons2/action.properties create mode 100644 corejava第9版/v2ch10/bin/bytecodeAnnotations/EntryLoggingAgent.jar create mode 100644 corejava第9版/v2ch10/bin/bytecodeAnnotations/EntryLoggingAgent.mf create mode 100644 corejava第9版/v2ch10/bin/bytecodeAnnotations/bcel-6.0-SNAPSHOT.jar create mode 100644 corejava第9版/v2ch10/buttons1/ButtonFrame.java create mode 100644 corejava第9版/v2ch10/buttons1/groovy.properties create mode 100644 corejava第9版/v2ch10/buttons1/init.sisc create mode 100644 corejava第9版/v2ch10/buttons1/js.properties create mode 100644 corejava第9版/v2ch10/buttons1/sisc.properties create mode 100644 corejava第9版/v2ch10/buttons2/ButtonFrame.java create mode 100644 corejava第9版/v2ch10/buttons2/action.properties create mode 100644 corejava第9版/v2ch10/buttons3/ButtonFrame.java create mode 100644 corejava第9版/v2ch10/buttons3/ButtonTest.java create mode 100644 corejava第9版/v2ch10/bytecodeAnnotations/EntryLogger.java create mode 100644 corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.jar create mode 100644 corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.java create mode 100644 corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.mf create mode 100644 corejava第9版/v2ch10/bytecodeAnnotations/LogEntry.java create mode 100644 corejava第9版/v2ch10/bytecodeAnnotations/bcel-6.0-SNAPSHOT.jar create mode 100644 corejava第9版/v2ch10/chart/ChartBean.java create mode 100644 corejava第9版/v2ch10/chart/ChartBeanBeanInfo.java create mode 100644 corejava第9版/v2ch10/chart/DoubleArrayEditor.java create mode 100644 corejava第9版/v2ch10/chart/DoubleArrayEditorPanel.java create mode 100644 corejava第9版/v2ch10/chart/GBC.java create mode 100644 corejava第9版/v2ch10/chart/InverseEditor.java create mode 100644 corejava第9版/v2ch10/chart/InverseEditorPanel.java create mode 100644 corejava第9版/v2ch10/chart/TitlePositionEditor.java create mode 100644 corejava第9版/v2ch10/compiler/ByteArrayJavaClass.java create mode 100644 corejava第9版/v2ch10/compiler/CompilerTest.java create mode 100644 corejava第9版/v2ch10/compiler/MapClassLoader.java create mode 100644 corejava第9版/v2ch10/compiler/StringBuilderJavaSource.java create mode 100644 corejava第9版/v2ch10/runtimeAnnotations/ActionListenerFor.java create mode 100644 corejava第9版/v2ch10/runtimeAnnotations/ActionListenerInstaller.java create mode 100644 corejava第9版/v2ch10/script/ScriptTest.java create mode 100644 corejava第9版/v2ch10/set/Item.java create mode 100644 corejava第9版/v2ch10/set/SetTest.java create mode 100644 corejava第9版/v2ch10/sourceAnnotations/BeanInfoAnnotationProcessor.java create mode 100644 corejava第9版/v2ch10/sourceAnnotations/Property.java create mode 100644 corejava第9版/v2ch11/activation/Warehouse.java create mode 100644 corejava第9版/v2ch11/activation/WarehouseActivator.java create mode 100644 corejava第9版/v2ch11/activation/WarehouseClient.java create mode 100644 corejava第9版/v2ch11/activation/WarehouseImpl.java create mode 100644 corejava第9版/v2ch11/activation/client.policy create mode 100644 corejava第9版/v2ch11/activation/rmid.policy create mode 100644 corejava第9版/v2ch11/activation/server.policy create mode 100644 corejava第9版/v2ch11/bin/activation/client.policy create mode 100644 corejava第9版/v2ch11/bin/activation/rmid.policy create mode 100644 corejava第9版/v2ch11/bin/activation/server.policy create mode 100644 corejava第9版/v2ch11/bin/warehouse1/client.policy create mode 100644 corejava第9版/v2ch11/bin/warehouse2/client.policy create mode 100644 corejava第9版/v2ch11/bin/warehouse2/server.policy create mode 100644 corejava第9版/v2ch11/bin/webService2/aws.jar create mode 100644 corejava第9版/v2ch11/warehouse1/Warehouse.java create mode 100644 corejava第9版/v2ch11/warehouse1/WarehouseClient.java create mode 100644 corejava第9版/v2ch11/warehouse1/WarehouseImpl.java create mode 100644 corejava第9版/v2ch11/warehouse1/WarehouseServer.java create mode 100644 corejava第9版/v2ch11/warehouse1/client.policy create mode 100644 corejava第9版/v2ch11/warehouse2/Book.java create mode 100644 corejava第9版/v2ch11/warehouse2/Product.java create mode 100644 corejava第9版/v2ch11/warehouse2/Warehouse.java create mode 100644 corejava第9版/v2ch11/warehouse2/WarehouseClient.java create mode 100644 corejava第9版/v2ch11/warehouse2/WarehouseImpl.java create mode 100644 corejava第9版/v2ch11/warehouse2/WarehouseServer.java create mode 100644 corejava第9版/v2ch11/warehouse2/client.policy create mode 100644 corejava第9版/v2ch11/warehouse2/server.policy create mode 100644 corejava第9版/v2ch11/webService2/aws.jar create mode 100644 corejava第9版/v2ch12/employee/Employee.c create mode 100644 corejava第9版/v2ch12/employee/Employee.java create mode 100644 corejava第9版/v2ch12/employee/EmployeeTest.java create mode 100644 corejava第9版/v2ch12/helloNative/HelloNative.c create mode 100644 corejava第9版/v2ch12/helloNative/HelloNative.h create mode 100644 corejava第9版/v2ch12/helloNative/HelloNative.java create mode 100644 corejava第9版/v2ch12/helloNative/HelloNativeTest.java create mode 100644 corejava第9版/v2ch12/invocation/InvocationTest.c create mode 100644 corejava第9版/v2ch12/invocation/Welcome.java create mode 100644 corejava第9版/v2ch12/printf1/Printf1.c create mode 100644 corejava第9版/v2ch12/printf1/Printf1.java create mode 100644 corejava第9版/v2ch12/printf1/Printf1Test.java create mode 100644 corejava第9版/v2ch12/printf2/Printf2.c create mode 100644 corejava第9版/v2ch12/printf2/Printf2.java create mode 100644 corejava第9版/v2ch12/printf2/Printf2Test.java create mode 100644 corejava第9版/v2ch12/printf3/Printf3.c create mode 100644 corejava第9版/v2ch12/printf3/Printf3.java create mode 100644 corejava第9版/v2ch12/printf3/Printf3Test.java create mode 100644 corejava第9版/v2ch12/printf4/Printf4.c create mode 100644 corejava第9版/v2ch12/printf4/Printf4.java create mode 100644 corejava第9版/v2ch12/printf4/Printf4Test.java create mode 100644 corejava第9版/v2ch12/win32reg/Win32RegKey.c create mode 100644 corejava第9版/v2ch12/win32reg/Win32RegKey.java create mode 100644 corejava第9版/v2ch12/win32reg/Win32RegKeyTest.java diff --git a/corejava第9版/EnglishGrammarBook-master/.gitignore b/corejava第9版/EnglishGrammarBook-master/.gitignore new file mode 100644 index 0000000..0623a0c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/.gitignore @@ -0,0 +1,43 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +#gitbook +_book +*.epub +*.pdf +*.mobi \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/CNAME b/corejava第9版/EnglishGrammarBook-master/CNAME new file mode 100644 index 0000000..639929d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/CNAME @@ -0,0 +1 @@ +grammar.codeyu.com diff --git a/corejava第9版/EnglishGrammarBook-master/LICENSE b/corejava第9版/EnglishGrammarBook-master/LICENSE new file mode 100644 index 0000000..9320c4a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 zhu yu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/corejava第9版/EnglishGrammarBook-master/README.md b/corejava第9版/EnglishGrammarBook-master/README.md new file mode 100644 index 0000000..738a478 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/README.md @@ -0,0 +1,19 @@ +# 旋元佑进阶文法 + +﹝台﹞旋元佑 著 + +英文文法是英文写作必备的基础。写作牵涉到的问题可说千头万绪,小自用字、中间经过句子、大到文章组织,每一个环节都必须处理得当。在「听、说、读、写」的英文学习过程中,写作一向是最后、也最困难的一步。 + +英文文法探讨的对象是「句子」;学习文法的目的在于认识英文句子的构造与所有的变化、看懂最复杂的句子,进一步能够写出从单句到复合句到减化子句、清楚正确而又富有变化的各种英文句子。 + +这本文法书设定的目标就是「征服英文句子写作」。本书将带领读者,逐步打通英文句子写作的所有环节。英文单句中可能出现的一些元素,包括名词片语、动词片语、修饰语(形容词与副词,含介系词片语)等等,这些元素本书都将一一处理。尤其是写作时比较容易出错的地方,我们会不厌其烦地详加解说。处理名词片语这个元素时将一并处理到限定词的用法。处理动词片语时将一并处理到一些依赖动词来表现的变化,包括时态、语气(含助动词与假设法)、以及语态(主动与被动)等等。 + +写文章如果只用单句,这种写作风格因为缺乏句型变化而会显得不够成熟,表达能力也嫌不足。运用连接词结合两个以上的单句,可以构成合句(compound sentences)或者复句(complex sentences)。如果采用对等连接词如and, or, but之类来连接两个对等子句,构成的句子称为合句。合句在写作时最需要注意的是对称性的要求,还有就是合句中有重复的元素如果进行省略,要注意避免出错。这些要求在相关的章节本书都会一一处理。 + +复句则是由主要子句加从属子句而构成,采用从属连接词如t​​hat, because, which之类来连接。从属子句依其词类,可分为名词子句、副词子句,以及形容词子句(又称关系子句)。如果学习单句时基本句型架构建立得够扎实,那么结合单句来建构复句就不会有太大的困难。复句方面容易出的错误在于句型方面,尤其是关系子句,它和名词子句与副词子句之间有诸多的混淆点,本书都将一一厘清。 + +最后是最有挑战性的减化子句(reduced clauses)。所谓减化子句,涵盖了传统文法中所谓的非限定子句、分词构句、独立片语、同位格,以及非限定动词、动状词、动名词片语、不定词片语、现在分词片语、过去分词片语等各式各样的用语。减化子句是以复句为原料来进行减化(reduction),保留一个限定子句,但是压缩掉复句中所有重复与空洞的成分、制造出既简洁又清楚的浓缩句子。 + +减化子句既简洁又清楚,是修辞效果极佳的高级句型,但是减化子句非常容易出错。例如不当地省略从属子句的主词会产生出「悬荡修饰语」(dangling modifiers)的错误。这种错误就连专业的英美作家一不小心也会犯,各出版公司还得聘用专人来校稿、改正这方面的错误。常犯的减化子句错误我们也将在相关章节一一探讨。 + +读者如果依照本书的规划循序渐进,先搞清楚句子中的一些基本元素、再经过单句而建立起扎实的复合句架构,那么接下来采用本书独创的一些观念来建构减化子句将会是水到渠成的工作。在这个过程中,我们将特别加强说明每一个环节容易出现写作错误的地方,提醒读者注意。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/SUMMARY.md b/corejava第9版/EnglishGrammarBook-master/SUMMARY.md new file mode 100644 index 0000000..30dbea6 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/SUMMARY.md @@ -0,0 +1,39 @@ + # 旋元佑进阶文法 + +﹝台﹞旋元佑 著 + +* 目录 + * [前言](README.md) + * [序: 我学英文的经验](docs/preface.md) + * [引:广读学英语](docs/guide.md) + * [第一章 基本句型](docs/SimpleSentences.md) + * [第二章 名词片语](docs/NounPhrases.md) + * [第三章 代名词](docs/Pronouns.md) + * [第四章 形容词](docs/Adjective.md) + * [第五章 副词](docs/Adverb.md) + * [第六章 比较句法](docs/ComparativePattern.md) + * [第七章 介系词](docs/Prepositions.md) + * [第八章 分词](docs/Participles.md) + * [第九章 动词时态](docs/VerbTenses.md) + * [第十章 语态](docs/Voice.md) + * [第十一章 语气助动词](docs/Auxiliaries.md) + * [第十二章 语气](docs/Moods.md) + * [第十三章 动名词](docs/Gerund.md) + * [第十四章 不定词片语](docs/Infinitive.md) + * [第十五章 对等连接词](docs/Conjunction.md) + * [第十六章 合句](docs/CompoundSentences.md) + * [第十七章 名词子句](docs/NounClauses.md) + * [第十八章 副词子句](docs/AdverbClauses.md) + * [第十九章 关系子句](docs/RelativeClauses.md) + * [第二十章 主词动词一致性](docs/SubjectVerbAgreement.md) + * [第二十一章 倒装句](docs/Inversion.md) + * [第二十二章 减化子句](docs/ReducedClauses.md) + * [第二十三章 关系从句减化](docs/RelativeClausesReduced.md) + * [第二十四章 名词子句减化](docs/NounClausesReduced.md) + * [第二十五章 副词子句减化](docs/AdverbClausesReduced.md) + * [附录 台湾大陆术语比较](docs/terminology.md) + +* 其他 + * [源码](https://github.com/codeyu/EnglishGrammarBook) + * [修订历史](https://github.com/codeyu/EnglishGrammarBook/commits/master) + * [反馈意见](https://github.com/codeyu/EnglishGrammarBook/issues) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.bower.json b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.bower.json new file mode 100644 index 0000000..6b94508 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.bower.json @@ -0,0 +1,15 @@ +{ + "name": "marked", + "homepage": "https://github.com/chjj/marked", + "version": "0.3.2", + "_release": "0.3.2", + "_resolution": { + "type": "version", + "tag": "v0.3.2", + "commit": "43db549e31af5ff6e4a3b12e41a23513b9f88c99" + }, + "_source": "git://github.com/chjj/marked.git", + "_target": "~0.3.2", + "_originalSource": "marked", + "_direct": true +} \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.gitignore b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.npmignore b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.npmignore new file mode 100644 index 0000000..3fb773c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.npmignore @@ -0,0 +1,2 @@ +.git* +test/ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.travis.yml b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.travis.yml new file mode 100644 index 0000000..60d00ce --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - "0.10" + - "0.8" + - "0.6" diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/LICENSE b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/LICENSE new file mode 100644 index 0000000..a7b812e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-2014, Christopher Jeffrey (https://github.com/chjj/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/Makefile b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/Makefile new file mode 100644 index 0000000..20ac2d4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/Makefile @@ -0,0 +1,12 @@ +all: + @cp lib/marked.js marked.js + @uglifyjs -o marked.min.js marked.js + +clean: + @rm marked.js + @rm marked.min.js + +bench: + @node test --bench + +.PHONY: clean all diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/README.md b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/README.md new file mode 100644 index 0000000..441c1eb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/README.md @@ -0,0 +1,386 @@ +# marked + +> A full-featured markdown parser and compiler, written in JavaScript. Built +> for speed. + +[![NPM version](https://badge.fury.io/js/marked.png)][badge] + +## Install + +``` bash +npm install marked --save +``` + +## Usage + +Minimal usage: + +```js +var marked = require('marked'); +console.log(marked('I am using __markdown__.')); +// Outputs:

I am using markdown.

+``` + +Example setting options with default values: + +```js +var marked = require('marked'); +marked.setOptions({ + renderer: new marked.Renderer(), + gfm: true, + tables: true, + breaks: false, + pedantic: false, + sanitize: true, + smartLists: true, + smartypants: false +}); + +console.log(marked('I am using __markdown__.')); +``` + +## marked(markdownString [,options] [,callback]) + +### markdownString + +Type: `string` + +String of markdown source to be compiled. + +### options + +Type: `object` + +Hash of options. Can also be set using the `marked.setOptions` method as seen +above. + +### callback + +Type: `function` + +Function called when the `markdownString` has been fully parsed when using +async highlighting. If the `options` argument is omitted, this can be used as +the second argument. + +## Options + +### highlight + +Type: `function` + +A function to highlight code blocks. The first example below uses async highlighting with +[node-pygmentize-bundled][pygmentize], and the second is a synchronous example using +[highlight.js][highlight]: + +```js +var marked = require('marked'); + +var markdownString = '```js\n console.log("hello"); \n```'; + +// Async highlighting with pygmentize-bundled +marked.setOptions({ + highlight: function (code, lang, callback) { + require('pygmentize-bundled')({ lang: lang, format: 'html' }, code, function (err, result) { + callback(err, result.toString()); + }); + } +}); + +// Using async version of marked +marked(markdownString, function (err, content) { + if (err) throw err; + console.log(content); +}); + +// Synchronous highlighting with highlight.js +marked.setOptions({ + highlight: function (code) { + return require('highlight.js').highlightAuto(code).value; + } +}); + +console.log(marked(markdownString)); +``` + +#### highlight arguments + +`code` + +Type: `string` + +The section of code to pass to the highlighter. + +`lang` + +Type: `string` + +The programming language specified in the code block. + +`callback` + +Type: `function` + +The callback function to call when using an async highlighter. + +### renderer + +Type: `object` +Default: `new Renderer()` + +An object containing functions to render tokens to HTML. + +#### Overriding renderer methods + +The renderer option allows you to render tokens in a custom manor. Here is an +example of overriding the default heading token rendering by adding an embedded anchor tag like on GitHub: + +```javascript +var marked = require('marked'); +var renderer = new marked.Renderer(); + +renderer.heading = function (text, level) { + var escapedText = text.toLowerCase().replace(/[^\w]+/g, '-'); + + return '' + + text + ''; +}, + +console.log(marked('# heading+', { renderer: renderer })); +``` +This code will output the following HTML: +```html +

+ + + + heading+ +

+``` + +#### Block level renderer methods + +- code(*string* code, *string* language) +- blockquote(*string* quote) +- html(*string* html) +- heading(*string* text, *number* level) +- hr() +- list(*string* body, *boolean* ordered) +- listitem(*string* text) +- paragraph(*string* text) +- table(*string* header, *string* body) +- tablerow(*string* content) +- tablecell(*string* content, *object* flags) + +`flags` has the following properties: + +```js +{ + header: true || false, + align: 'center' || 'left' || 'right' +} +``` + +#### Inline level renderer methods + +- strong(*string* text) +- em(*string* text) +- codespan(*string* code) +- br() +- del(*string* text) +- link(*string* href, *string* title, *string* text) +- image(*string* href, *string* title, *string* text) + +### gfm + +Type: `boolean` +Default: `true` + +Enable [GitHub flavored markdown][gfm]. + +### tables + +Type: `boolean` +Default: `true` + +Enable GFM [tables][tables]. +This option requires the `gfm` option to be true. + +### breaks + +Type: `boolean` +Default: `false` + +Enable GFM [line breaks][breaks]. +This option requires the `gfm` option to be true. + +### pedantic + +Type: `boolean` +Default: `false` + +Conform to obscure parts of `markdown.pl` as much as possible. Don't fix any of +the original markdown bugs or poor behavior. + +### sanitize + +Type: `boolean` +Default: `false` + +Sanitize the output. Ignore any HTML that has been input. + +### smartLists + +Type: `boolean` +Default: `true` + +Use smarter list behavior than the original markdown. May eventually be +default with the old behavior moved into `pedantic`. + +### smartypants + +Type: `boolean` +Default: `false` + +Use "smart" typograhic punctuation for things like quotes and dashes. + +## Access to lexer and parser + +You also have direct access to the lexer and parser if you so desire. + +``` js +var tokens = marked.lexer(text, options); +console.log(marked.parser(tokens)); +``` + +``` js +var lexer = new marked.Lexer(options); +var tokens = lexer.lex(text); +console.log(tokens); +console.log(lexer.rules); +``` + +## CLI + +``` bash +$ marked -o hello.html +hello world +^D +$ cat hello.html +

hello world

+``` + +## Philosophy behind marked + +The point of marked was to create a markdown compiler where it was possible to +frequently parse huge chunks of markdown without having to worry about +caching the compiled output somehow...or blocking for an unnecesarily long time. + +marked is very concise and still implements all markdown features. It is also +now fully compatible with the client-side. + +marked more or less passes the official markdown test suite in its +entirety. This is important because a surprising number of markdown compilers +cannot pass more than a few tests. It was very difficult to get marked as +compliant as it is. It could have cut corners in several areas for the sake +of performance, but did not in order to be exactly what you expect in terms +of a markdown rendering. In fact, this is why marked could be considered at a +disadvantage in the benchmarks above. + +Along with implementing every markdown feature, marked also implements [GFM +features][gfmf]. + +## Benchmarks + +node v0.8.x + +``` bash +$ node test --bench +marked completed in 3411ms. +marked (gfm) completed in 3727ms. +marked (pedantic) completed in 3201ms. +robotskirt completed in 808ms. +showdown (reuse converter) completed in 11954ms. +showdown (new converter) completed in 17774ms. +markdown-js completed in 17191ms. +``` + +__Marked is now faster than Discount, which is written in C.__ + +For those feeling skeptical: These benchmarks run the entire markdown test suite 1000 times. The test suite tests every feature. It doesn't cater to specific aspects. + +### Pro level + +You also have direct access to the lexer and parser if you so desire. + +``` js +var tokens = marked.lexer(text, options); +console.log(marked.parser(tokens)); +``` + +``` js +var lexer = new marked.Lexer(options); +var tokens = lexer.lex(text); +console.log(tokens); +console.log(lexer.rules); +``` + +``` bash +$ node +> require('marked').lexer('> i am using marked.') +[ { type: 'blockquote_start' }, + { type: 'paragraph', + text: 'i am using marked.' }, + { type: 'blockquote_end' }, + links: {} ] +``` + +## Running Tests & Contributing + +If you want to submit a pull request, make sure your changes pass the test +suite. If you're adding a new feature, be sure to add your own test. + +The marked test suite is set up slightly strangely: `test/new` is for all tests +that are not part of the original markdown.pl test suite (this is where your +test should go if you make one). `test/original` is only for the original +markdown.pl tests. `test/tests` houses both types of tests after they have been +combined and moved/generated by running `node test --fix` or `marked --test +--fix`. + +In other words, if you have a test to add, add it to `test/new/` and then +regenerate the tests with `node test --fix`. Commit the result. If your test +uses a certain feature, for example, maybe it assumes GFM is *not* enabled, you +can add `.nogfm` to the filename. So, `my-test.text` becomes +`my-test.nogfm.text`. You can do this with any marked option. Say you want +line breaks and smartypants enabled, your filename should be: +`my-test.breaks.smartypants.text`. + +To run the tests: + +``` bash +cd marked/ +node test +``` + +### Contribution and License Agreement + +If you contribute code to this project, you are implicitly allowing your code +to be distributed under the MIT license. You are also implicitly verifying that +all code is your original work. `` + +## License + +Copyright (c) 2011-2014, Christopher Jeffrey. (MIT License) + +See LICENSE for more info. + +[gfm]: https://help.github.com/articles/github-flavored-markdown +[gfmf]: http://github.github.com/github-flavored-markdown/ +[pygmentize]: https://github.com/rvagg/node-pygmentize-bundled +[highlight]: https://github.com/isagalaev/highlight.js +[badge]: http://badge.fury.io/js/marked +[tables]: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#wiki-tables +[breaks]: https://help.github.com/articles/github-flavored-markdown#newlines diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/bin/marked b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/bin/marked new file mode 100644 index 0000000..64254fc --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/bin/marked @@ -0,0 +1,187 @@ +#!/usr/bin/env node + +/** + * Marked CLI + * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License) + */ + +var fs = require('fs') + , util = require('util') + , marked = require('../'); + +/** + * Man Page + */ + +function help() { + var spawn = require('child_process').spawn; + + var options = { + cwd: process.cwd(), + env: process.env, + setsid: false, + customFds: [0, 1, 2] + }; + + spawn('man', + [__dirname + '/../man/marked.1'], + options); +} + +/** + * Main + */ + +function main(argv, callback) { + var files = [] + , options = {} + , input + , output + , arg + , tokens + , opt; + + function getarg() { + var arg = argv.shift(); + + if (arg.indexOf('--') === 0) { + // e.g. --opt + arg = arg.split('='); + if (arg.length > 1) { + // e.g. --opt=val + argv.unshift(arg.slice(1).join('=')); + } + arg = arg[0]; + } else if (arg[0] === '-') { + if (arg.length > 2) { + // e.g. -abc + argv = arg.substring(1).split('').map(function(ch) { + return '-' + ch; + }).concat(argv); + arg = argv.shift(); + } else { + // e.g. -a + } + } else { + // e.g. foo + } + + return arg; + } + + while (argv.length) { + arg = getarg(); + switch (arg) { + case '--test': + return require('../test').main(process.argv.slice()); + case '-o': + case '--output': + output = argv.shift(); + break; + case '-i': + case '--input': + input = argv.shift(); + break; + case '-t': + case '--tokens': + tokens = true; + break; + case '-h': + case '--help': + return help(); + default: + if (arg.indexOf('--') === 0) { + opt = camelize(arg.replace(/^--(no-)?/, '')); + if (!marked.defaults.hasOwnProperty(opt)) { + continue; + } + if (arg.indexOf('--no-') === 0) { + options[opt] = typeof marked.defaults[opt] !== 'boolean' + ? null + : false; + } else { + options[opt] = typeof marked.defaults[opt] !== 'boolean' + ? argv.shift() + : true; + } + } else { + files.push(arg); + } + break; + } + } + + function getData(callback) { + if (!input) { + if (files.length <= 2) { + return getStdin(callback); + } + input = files.pop(); + } + return fs.readFile(input, 'utf8', callback); + } + + return getData(function(err, data) { + if (err) return callback(err); + + data = tokens + ? JSON.stringify(marked.lexer(data, options), null, 2) + : marked(data, options); + + if (!output) { + process.stdout.write(data + '\n'); + return callback(); + } + + return fs.writeFile(output, data, callback); + }); +} + +/** + * Helpers + */ + +function getStdin(callback) { + var stdin = process.stdin + , buff = ''; + + stdin.setEncoding('utf8'); + + stdin.on('data', function(data) { + buff += data; + }); + + stdin.on('error', function(err) { + return callback(err); + }); + + stdin.on('end', function() { + return callback(null, buff); + }); + + try { + stdin.resume(); + } catch (e) { + callback(e); + } +} + +function camelize(text) { + return text.replace(/(\w)-(\w)/g, function(_, a, b) { + return a + b.toUpperCase(); + }); +} + +/** + * Expose / Entry Point + */ + +if (!module.parent) { + process.title = 'marked'; + main(process.argv.slice(), function(err, code) { + if (err) throw err; + return process.exit(code || 0); + }); +} else { + module.exports = main; +} diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/component.json b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/component.json new file mode 100644 index 0000000..931cbed --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/component.json @@ -0,0 +1,10 @@ +{ + "name": "marked", + "version": "0.3.2", + "repo": "chjj/marked", + "description": "A markdown parser built for speed", + "keywords": ["markdown", "markup", "html"], + "scripts": ["lib/marked.js"], + "main": "lib/marked.js", + "license": "MIT" +} diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/broken.md b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/broken.md new file mode 100644 index 0000000..7bfa49e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/broken.md @@ -0,0 +1,426 @@ +# Markdown is broken + +I have a lot of scraps of markdown engine oddities that I've collected over the +years. What you see below is slightly messy, but it's what I've managed to +cobble together to illustrate the differences between markdown engines, and +why, if there ever is a markdown specification, it has to be absolutely +thorough. There are a lot more of these little differences I have documented +elsewhere. I know I will find them lingering on my disk one day, but until +then, I'll continue to add whatever strange nonsensical things I find. + +Some of these examples may only mention a particular engine compared to marked. +However, the examples with markdown.pl could easily be swapped out for +discount, upskirt, or markdown.js, and you would very easily see even more +inconsistencies. + +A lot of this was written when I was very unsatisfied with the inconsistencies +between markdown engines. Please excuse the frustration noticeable in my +writing. + +## Examples of markdown's "stupid" list parsing + +``` +$ markdown.pl + + * item1 + + * item2 + + text +^D +

+``` + + +``` +$ marked + * item1 + + * item2 + + text +^D + +``` + +Which looks correct to you? + +- - - + +``` +$ markdown.pl +* hello + > world +^D +

+ +``` + +``` +$ marked +* hello + > world +^D + +``` + +Again, which looks correct to you? + +- - - + +EXAMPLE: + +``` +$ markdown.pl +* hello + * world + * hi + code +^D + +``` + +The code isn't a code block even though it's after the bullet margin. I know, +lets give it two more spaces, effectively making it 8 spaces past the bullet. + +``` +$ markdown.pl +* hello + * world + * hi + code +^D + +``` + +And, it's still not a code block. Did you also notice that the 3rd item isn't +even its own list? Markdown screws that up too because of its indentation +unaware parsing. + +- - - + +Let's look at some more examples of markdown's list parsing: + +``` +$ markdown.pl + + * item1 + + * item2 + + text +^D +

+``` + +Misnested tags. + + +``` +$ marked + * item1 + + * item2 + + text +^D + +``` + +Which looks correct to you? + +- - - + +``` +$ markdown.pl +* hello + > world +^D +

+ +``` + +More misnested tags. + + +``` +$ marked +* hello + > world +^D + +``` + +Again, which looks correct to you? + +- - - + +# Why quality matters - Part 2 + +``` bash +$ markdown.pl +* hello + > world +^D +

+ +``` + +``` bash +$ sundown # upskirt +* hello + > world +^D + +``` + +``` bash +$ marked +* hello + > world +^D + +``` + +Which looks correct to you? + +- - - + +See: https://github.com/evilstreak/markdown-js/issues/23 + +``` bash +$ markdown.pl # upskirt/markdown.js/discount +* hello + var a = 1; +* world +^D + +``` + +``` bash +$ marked +* hello + var a = 1; +* world +^D + +``` + +Which looks more reasonable? Why shouldn't code blocks be able to appear in +list items in a sane way? + +- - - + +``` bash +$ markdown.js +
hello
+ +hello +^D +

<div>hello</div>

+ +

<span>hello</span>

+``` + +``` bash +$ marked +
hello
+ +hello +^D +
hello
+ + +

hello +

+``` + +- - - + +See: https://github.com/evilstreak/markdown-js/issues/27 + +``` bash +$ markdown.js +[![an image](/image)](/link) +^D +

![an image

+``` + +``` bash +$ marked +[![an image](/image)](/link) +^D +

an image +

+``` + +- - - + +See: https://github.com/evilstreak/markdown-js/issues/24 + +``` bash +$ markdown.js +> a + +> b + +> c +^D +

a

bundefined> c

+``` + +``` bash +$ marked +> a + +> b + +> c +^D +

a + +

+

b + +

+

c +

+``` + +- - - + +``` bash +$ markdown.pl +* hello + * world + how + + are + you + + * today +* hi +^D + +``` + +``` bash +$ marked +* hello + * world + how + + are + you + + * today +* hi +^D + +``` diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/todo.md b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/todo.md new file mode 100644 index 0000000..2e60b16 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/doc/todo.md @@ -0,0 +1,2 @@ +# Todo + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/index.js b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/index.js new file mode 100644 index 0000000..a12f905 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/marked'); diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/lib/marked.js b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/lib/marked.js new file mode 100644 index 0000000..e2f08c9 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/lib/marked.js @@ -0,0 +1,1266 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) + * https://github.com/chjj/marked + */ + +;(function() { + +/** + * Block-Level Grammar + */ + +var block = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: noop, + hr: /^( *[-*_]){3,} *(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/, + nptable: noop, + lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/, + blockquote: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/, + list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/, + def: /^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/, + table: noop, + paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/, + text: /^[^\n]+/ +}; + +block.bullet = /(?:[*+-]|\d+\.)/; +block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; +block.item = replace(block.item, 'gm') + (/bull/g, block.bullet) + (); + +block.list = replace(block.list) + (/bull/g, block.bullet) + ('hr', '\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))') + ('def', '\\n+(?=' + block.def.source + ')') + (); + +block.blockquote = replace(block.blockquote) + ('def', block.def) + (); + +block._tag = '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' + + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' + + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b'; + +block.html = replace(block.html) + ('comment', //) + ('closed', /<(tag)[\s\S]+?<\/\1>/) + ('closing', /])*?>/) + (/tag/g, block._tag) + (); + +block.paragraph = replace(block.paragraph) + ('hr', block.hr) + ('heading', block.heading) + ('lheading', block.lheading) + ('blockquote', block.blockquote) + ('tag', '<' + block._tag) + ('def', block.def) + (); + +/** + * Normal Block Grammar + */ + +block.normal = merge({}, block); + +/** + * GFM Block Grammar + */ + +block.gfm = merge({}, block.normal, { + fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/, + paragraph: /^/ +}); + +block.gfm.paragraph = replace(block.paragraph) + ('(?!', '(?!' + + block.gfm.fences.source.replace('\\1', '\\2') + '|' + + block.list.source.replace('\\1', '\\3') + '|') + (); + +/** + * GFM + Tables Block Grammar + */ + +block.tables = merge({}, block.gfm, { + nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, + table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ +}); + +/** + * Block Lexer + */ + +function Lexer(options) { + this.tokens = []; + this.tokens.links = {}; + this.options = options || marked.defaults; + this.rules = block.normal; + + if (this.options.gfm) { + if (this.options.tables) { + this.rules = block.tables; + } else { + this.rules = block.gfm; + } + } +} + +/** + * Expose Block Rules + */ + +Lexer.rules = block; + +/** + * Static Lex Method + */ + +Lexer.lex = function(src, options) { + var lexer = new Lexer(options); + return lexer.lex(src); +}; + +/** + * Preprocessing + */ + +Lexer.prototype.lex = function(src) { + src = src + .replace(/\r\n|\r/g, '\n') + .replace(/\t/g, ' ') + .replace(/\u00a0/g, ' ') + .replace(/\u2424/g, '\n'); + + return this.token(src, true); +}; + +/** + * Lexing + */ + +Lexer.prototype.token = function(src, top, bq) { + var src = src.replace(/^ +$/gm, '') + , next + , loose + , cap + , bull + , b + , item + , space + , i + , l; + + while (src) { + // newline + if (cap = this.rules.newline.exec(src)) { + src = src.substring(cap[0].length); + if (cap[0].length > 1) { + this.tokens.push({ + type: 'space' + }); + } + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + cap = cap[0].replace(/^ {4}/gm, ''); + this.tokens.push({ + type: 'code', + text: !this.options.pedantic + ? cap.replace(/\n+$/, '') + : cap + }); + continue; + } + + // fences (gfm) + if (cap = this.rules.fences.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'code', + lang: cap[2], + text: cap[3] + }); + continue; + } + + // heading + if (cap = this.rules.heading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[1].length, + text: cap[2] + }); + continue; + } + + // table no leading pipe (gfm) + if (top && (cap = this.rules.nptable.exec(src))) { + src = src.substring(cap[0].length); + + item = { + type: 'table', + header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3].replace(/\n$/, '').split('\n') + }; + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = item.cells[i].split(/ *\| */); + } + + this.tokens.push(item); + + continue; + } + + // lheading + if (cap = this.rules.lheading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[2] === '=' ? 1 : 2, + text: cap[1] + }); + continue; + } + + // hr + if (cap = this.rules.hr.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'hr' + }); + continue; + } + + // blockquote + if (cap = this.rules.blockquote.exec(src)) { + src = src.substring(cap[0].length); + + this.tokens.push({ + type: 'blockquote_start' + }); + + cap = cap[0].replace(/^ *> ?/gm, ''); + + // Pass `top` to keep the current + // "toplevel" state. This is exactly + // how markdown.pl works. + this.token(cap, top, true); + + this.tokens.push({ + type: 'blockquote_end' + }); + + continue; + } + + // list + if (cap = this.rules.list.exec(src)) { + src = src.substring(cap[0].length); + bull = cap[2]; + + this.tokens.push({ + type: 'list_start', + ordered: bull.length > 1 + }); + + // Get each top-level item. + cap = cap[0].match(this.rules.item); + + next = false; + l = cap.length; + i = 0; + + for (; i < l; i++) { + item = cap[i]; + + // Remove the list item's bullet + // so it is seen as the next token. + space = item.length; + item = item.replace(/^ *([*+-]|\d+\.) +/, ''); + + // Outdent whatever the + // list item contains. Hacky. + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic + ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') + : item.replace(/^ {1,4}/gm, ''); + } + + // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + if (this.options.smartLists && i !== l - 1) { + b = block.bullet.exec(cap[i + 1])[0]; + if (bull !== b && !(bull.length > 1 && b.length > 1)) { + src = cap.slice(i + 1).join('\n') + src; + i = l - 1; + } + } + + // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + loose = next || /\n\n(?!\s*$)/.test(item); + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) loose = next; + } + + this.tokens.push({ + type: loose + ? 'loose_item_start' + : 'list_item_start' + }); + + // Recurse. + this.token(item, false, bq); + + this.tokens.push({ + type: 'list_item_end' + }); + } + + this.tokens.push({ + type: 'list_end' + }); + + continue; + } + + // html + if (cap = this.rules.html.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: this.options.sanitize + ? 'paragraph' + : 'html', + pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style', + text: cap[0] + }); + continue; + } + + // def + if ((!bq && top) && (cap = this.rules.def.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.links[cap[1].toLowerCase()] = { + href: cap[2], + title: cap[3] + }; + continue; + } + + // table (gfm) + if (top && (cap = this.rules.table.exec(src))) { + src = src.substring(cap[0].length); + + item = { + type: 'table', + header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') + }; + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = item.cells[i] + .replace(/^ *\| *| *\| *$/g, '') + .split(/ *\| */); + } + + this.tokens.push(item); + + continue; + } + + // top-level paragraph + if (top && (cap = this.rules.paragraph.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'paragraph', + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1] + }); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + // Top-level should never reach here. + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'text', + text: cap[0] + }); + continue; + } + + if (src) { + throw new + Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return this.tokens; +}; + +/** + * Inline-Level Grammar + */ + +var inline = { + escape: /^\\([\\`*{}\[\]()#+\-.!_>])/, + autolink: /^<([^ >]+(@|:\/)[^ >]+)>/, + url: noop, + tag: /^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/, + link: /^!?\[(inside)\]\(href\)/, + reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, + nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/, + strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, + em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, + code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/, + br: /^ {2,}\n(?!\s*$)/, + del: noop, + text: /^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/; + +inline.link = replace(inline.link) + ('inside', inline._inside) + ('href', inline._href) + (); + +inline.reflink = replace(inline.reflink) + ('inside', inline._inside) + (); + +/** + * Normal Inline Grammar + */ + +inline.normal = merge({}, inline); + +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge({}, inline.normal, { + strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ +}); + +/** + * GFM Inline Grammar + */ + +inline.gfm = merge({}, inline.normal, { + escape: replace(inline.escape)('])', '~|])')(), + url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/, + del: /^~~(?=\S)([\s\S]*?\S)~~/, + text: replace(inline.text) + (']|', '~]|') + ('|', '|https?://|') + () +}); + +/** + * GFM + Line Breaks Inline Grammar + */ + +inline.breaks = merge({}, inline.gfm, { + br: replace(inline.br)('{2,}', '*')(), + text: replace(inline.gfm.text)('{2,}', '*')() +}); + +/** + * Inline Lexer & Compiler + */ + +function InlineLexer(links, options) { + this.options = options || marked.defaults; + this.links = links; + this.rules = inline.normal; + this.renderer = this.options.renderer || new Renderer; + this.renderer.options = this.options; + + if (!this.links) { + throw new + Error('Tokens array requires a `links` property.'); + } + + if (this.options.gfm) { + if (this.options.breaks) { + this.rules = inline.breaks; + } else { + this.rules = inline.gfm; + } + } else if (this.options.pedantic) { + this.rules = inline.pedantic; + } +} + +/** + * Expose Inline Rules + */ + +InlineLexer.rules = inline; + +/** + * Static Lexing/Compiling Method + */ + +InlineLexer.output = function(src, links, options) { + var inline = new InlineLexer(links, options); + return inline.output(src); +}; + +/** + * Lexing/Compiling + */ + +InlineLexer.prototype.output = function(src) { + var out = '' + , link + , text + , href + , cap; + + while (src) { + // escape + if (cap = this.rules.escape.exec(src)) { + src = src.substring(cap[0].length); + out += cap[1]; + continue; + } + + // autolink + if (cap = this.rules.autolink.exec(src)) { + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = cap[1].charAt(6) === ':' + ? this.mangle(cap[1].substring(7)) + : this.mangle(cap[1]); + href = this.mangle('mailto:') + text; + } else { + text = escape(cap[1]); + href = text; + } + out += this.renderer.link(href, null, text); + continue; + } + + // url (gfm) + if (!this.inLink && (cap = this.rules.url.exec(src))) { + src = src.substring(cap[0].length); + text = escape(cap[1]); + href = text; + out += this.renderer.link(href, null, text); + continue; + } + + // tag + if (cap = this.rules.tag.exec(src)) { + if (!this.inLink && /^/i.test(cap[0])) { + this.inLink = false; + } + src = src.substring(cap[0].length); + out += this.options.sanitize + ? escape(cap[0]) + : cap[0]; + continue; + } + + // link + if (cap = this.rules.link.exec(src)) { + src = src.substring(cap[0].length); + this.inLink = true; + out += this.outputLink(cap, { + href: cap[2], + title: cap[3] + }); + this.inLink = false; + continue; + } + + // reflink, nolink + if ((cap = this.rules.reflink.exec(src)) + || (cap = this.rules.nolink.exec(src))) { + src = src.substring(cap[0].length); + link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = this.links[link.toLowerCase()]; + if (!link || !link.href) { + out += cap[0].charAt(0); + src = cap[0].substring(1) + src; + continue; + } + this.inLink = true; + out += this.outputLink(cap, link); + this.inLink = false; + continue; + } + + // strong + if (cap = this.rules.strong.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.strong(this.output(cap[2] || cap[1])); + continue; + } + + // em + if (cap = this.rules.em.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.em(this.output(cap[2] || cap[1])); + continue; + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.codespan(escape(cap[2], true)); + continue; + } + + // br + if (cap = this.rules.br.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.br(); + continue; + } + + // del (gfm) + if (cap = this.rules.del.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.del(this.output(cap[1])); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + src = src.substring(cap[0].length); + out += escape(this.smartypants(cap[0])); + continue; + } + + if (src) { + throw new + Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return out; +}; + +/** + * Compile Link + */ + +InlineLexer.prototype.outputLink = function(cap, link) { + var href = escape(link.href) + , title = link.title ? escape(link.title) : null; + + return cap[0].charAt(0) !== '!' + ? this.renderer.link(href, title, this.output(cap[1])) + : this.renderer.image(href, title, escape(cap[1])); +}; + +/** + * Smartypants Transformations + */ + +InlineLexer.prototype.smartypants = function(text) { + if (!this.options.smartypants) return text; + return text + // em-dashes + .replace(/--/g, '\u2014') + // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') + // closing singles & apostrophes + .replace(/'/g, '\u2019') + // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') + // closing doubles + .replace(/"/g, '\u201d') + // ellipses + .replace(/\.{3}/g, '\u2026'); +}; + +/** + * Mangle Links + */ + +InlineLexer.prototype.mangle = function(text) { + var out = '' + , l = text.length + , i = 0 + , ch; + + for (; i < l; i++) { + ch = text.charCodeAt(i); + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; +}; + +/** + * Renderer + */ + +function Renderer(options) { + this.options = options || {}; +} + +Renderer.prototype.code = function(code, lang, escaped) { + if (this.options.highlight) { + var out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + if (!lang) { + return '
'
+      + (escaped ? code : escape(code, true))
+      + '\n
'; + } + + return '
'
+    + (escaped ? code : escape(code, true))
+    + '\n
\n'; +}; + +Renderer.prototype.blockquote = function(quote) { + return '
\n' + quote + '
\n'; +}; + +Renderer.prototype.html = function(html) { + return html; +}; + +Renderer.prototype.heading = function(text, level, raw) { + return '' + + text + + '\n'; +}; + +Renderer.prototype.hr = function() { + return this.options.xhtml ? '
\n' : '
\n'; +}; + +Renderer.prototype.list = function(body, ordered) { + var type = ordered ? 'ol' : 'ul'; + return '<' + type + '>\n' + body + '\n'; +}; + +Renderer.prototype.listitem = function(text) { + return '
  • ' + text + '
  • \n'; +}; + +Renderer.prototype.paragraph = function(text) { + return '

    ' + text + '

    \n'; +}; + +Renderer.prototype.table = function(header, body) { + return '\n' + + '\n' + + header + + '\n' + + '\n' + + body + + '\n' + + '
    \n'; +}; + +Renderer.prototype.tablerow = function(content) { + return '\n' + content + '\n'; +}; + +Renderer.prototype.tablecell = function(content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align + ? '<' + type + ' style="text-align:' + flags.align + '">' + : '<' + type + '>'; + return tag + content + '\n'; +}; + +// span level renderer +Renderer.prototype.strong = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.em = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.codespan = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.br = function() { + return this.options.xhtml ? '
    ' : '
    '; +}; + +Renderer.prototype.del = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.link = function(href, title, text) { + if (this.options.sanitize) { + try { + var prot = decodeURIComponent(unescape(href)) + .replace(/[^\w:]/g, '') + .toLowerCase(); + } catch (e) { + return ''; + } + if (prot.indexOf('javascript:') === 0) { + return ''; + } + } + var out = '
    '; + return out; +}; + +Renderer.prototype.image = function(href, title, text) { + var out = '' + text + '' : '>'; + return out; +}; + +/** + * Parsing & Compiling + */ + +function Parser(options) { + this.tokens = []; + this.token = null; + this.options = options || marked.defaults; + this.options.renderer = this.options.renderer || new Renderer; + this.renderer = this.options.renderer; + this.renderer.options = this.options; +} + +/** + * Static Parse Method + */ + +Parser.parse = function(src, options, renderer) { + var parser = new Parser(options, renderer); + return parser.parse(src); +}; + +/** + * Parse Loop + */ + +Parser.prototype.parse = function(src) { + this.inline = new InlineLexer(src.links, this.options, this.renderer); + this.tokens = src.reverse(); + + var out = ''; + while (this.next()) { + out += this.tok(); + } + + return out; +}; + +/** + * Next Token + */ + +Parser.prototype.next = function() { + return this.token = this.tokens.pop(); +}; + +/** + * Preview Next Token + */ + +Parser.prototype.peek = function() { + return this.tokens[this.tokens.length - 1] || 0; +}; + +/** + * Parse Text Tokens + */ + +Parser.prototype.parseText = function() { + var body = this.token.text; + + while (this.peek().type === 'text') { + body += '\n' + this.next().text; + } + + return this.inline.output(body); +}; + +/** + * Parse Current Token + */ + +Parser.prototype.tok = function() { + switch (this.token.type) { + case 'space': { + return ''; + } + case 'hr': { + return this.renderer.hr(); + } + case 'heading': { + return this.renderer.heading( + this.inline.output(this.token.text), + this.token.depth, + this.token.text); + } + case 'code': { + return this.renderer.code(this.token.text, + this.token.lang, + this.token.escaped); + } + case 'table': { + var header = '' + , body = '' + , i + , row + , cell + , flags + , j; + + // header + cell = ''; + for (i = 0; i < this.token.header.length; i++) { + flags = { header: true, align: this.token.align[i] }; + cell += this.renderer.tablecell( + this.inline.output(this.token.header[i]), + { header: true, align: this.token.align[i] } + ); + } + header += this.renderer.tablerow(cell); + + for (i = 0; i < this.token.cells.length; i++) { + row = this.token.cells[i]; + + cell = ''; + for (j = 0; j < row.length; j++) { + cell += this.renderer.tablecell( + this.inline.output(row[j]), + { header: false, align: this.token.align[j] } + ); + } + + body += this.renderer.tablerow(cell); + } + return this.renderer.table(header, body); + } + case 'blockquote_start': { + var body = ''; + + while (this.next().type !== 'blockquote_end') { + body += this.tok(); + } + + return this.renderer.blockquote(body); + } + case 'list_start': { + var body = '' + , ordered = this.token.ordered; + + while (this.next().type !== 'list_end') { + body += this.tok(); + } + + return this.renderer.list(body, ordered); + } + case 'list_item_start': { + var body = ''; + + while (this.next().type !== 'list_item_end') { + body += this.token.type === 'text' + ? this.parseText() + : this.tok(); + } + + return this.renderer.listitem(body); + } + case 'loose_item_start': { + var body = ''; + + while (this.next().type !== 'list_item_end') { + body += this.tok(); + } + + return this.renderer.listitem(body); + } + case 'html': { + var html = !this.token.pre && !this.options.pedantic + ? this.inline.output(this.token.text) + : this.token.text; + return this.renderer.html(html); + } + case 'paragraph': { + return this.renderer.paragraph(this.inline.output(this.token.text)); + } + case 'text': { + return this.renderer.paragraph(this.parseText()); + } + } +}; + +/** + * Helpers + */ + +function escape(html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); +} + +function unescape(html) { + return html.replace(/&([#\w]+);/g, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); +} + +function replace(regex, opt) { + regex = regex.source; + opt = opt || ''; + return function self(name, val) { + if (!name) return new RegExp(regex, opt); + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return self; + }; +} + +function noop() {} +noop.exec = noop; + +function merge(obj) { + var i = 1 + , target + , key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} + + +/** + * Marked + */ + +function marked(src, opt, callback) { + if (callback || typeof opt === 'function') { + if (!callback) { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + + var highlight = opt.highlight + , tokens + , pending + , i = 0; + + try { + tokens = Lexer.lex(src, opt) + } catch (e) { + return callback(e); + } + + pending = tokens.length; + + var done = function() { + var out, err; + + try { + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!pending) return done(); + + for (; i < tokens.length; i++) { + (function(token) { + if (token.type !== 'code') { + return --pending || done(); + } + return highlight(token.text, token.lang, function(err, code) { + if (code == null || code === token.text) { + return --pending || done(); + } + token.text = code; + token.escaped = true; + --pending || done(); + }); + })(tokens[i]); + } + + return; + } + try { + if (opt) opt = merge({}, marked.defaults, opt); + return Parser.parse(Lexer.lex(src, opt), opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/chjj/marked.'; + if ((opt || marked.defaults).silent) { + return '

    An error occured:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +} + +/** + * Options + */ + +marked.options = +marked.setOptions = function(opt) { + merge(marked.defaults, opt); + return marked; +}; + +marked.defaults = { + gfm: true, + tables: true, + breaks: false, + pedantic: false, + sanitize: false, + smartLists: false, + silent: false, + highlight: null, + langPrefix: 'lang-', + smartypants: false, + headerPrefix: '', + renderer: new Renderer, + xhtml: false +}; + +/** + * Expose + */ + +marked.Parser = Parser; +marked.parser = Parser.parse; + +marked.Renderer = Renderer; + +marked.Lexer = Lexer; +marked.lexer = Lexer.lex; + +marked.InlineLexer = InlineLexer; +marked.inlineLexer = InlineLexer.output; + +marked.parse = marked; + +if (typeof exports === 'object') { + module.exports = marked; +} else if (typeof define === 'function' && define.amd) { + define(function() { return marked; }); +} else { + this.marked = marked; +} + +}).call(function() { + return this || (typeof window !== 'undefined' ? window : global); +}()); diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/man/marked.1 b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/man/marked.1 new file mode 100644 index 0000000..f89f1a7 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/man/marked.1 @@ -0,0 +1,88 @@ +.ds q \N'34' +.TH marked 1 "2014-01-31" "v0.3.1" "marked.js" + +.SH NAME +marked \- a javascript markdown parser + +.SH SYNOPSIS +.B marked +[\-o \fI\fP] [\-i \fI\fP] [\-\-help] +[\-\-tokens] [\-\-pedantic] [\-\-gfm] +[\-\-breaks] [\-\-tables] [\-\-sanitize] +[\-\-smart\-lists] [\-\-lang\-prefix \fI\fP] +[\-\-no\-etc...] [\-\-silent] [\fIfilename\fP] + +.SH DESCRIPTION +.B marked +is a full-featured javascript markdown parser, built for speed. It also includes +multiple GFM features. + +.SH EXAMPLES +.TP +cat in.md | marked > out.html +.TP +echo "hello *world*" | marked +.TP +marked \-o out.html in.md \-\-gfm +.TP +marked \-\-output="hello world.html" \-i in.md \-\-no-breaks + +.SH OPTIONS +.TP +.BI \-o,\ \-\-output\ [\fIoutput\fP] +Specify file output. If none is specified, write to stdout. +.TP +.BI \-i,\ \-\-input\ [\fIinput\fP] +Specify file input, otherwise use last argument as input file. If no input file +is specified, read from stdin. +.TP +.BI \-t,\ \-\-tokens +Output a token stream instead of html. +.TP +.BI \-\-pedantic +Conform to obscure parts of markdown.pl as much as possible. Don't fix original +markdown bugs. +.TP +.BI \-\-gfm +Enable github flavored markdown. +.TP +.BI \-\-breaks +Enable GFM line breaks. Only works with the gfm option. +.TP +.BI \-\-tables +Enable GFM tables. Only works with the gfm option. +.TP +.BI \-\-sanitize +Sanitize output. Ignore any HTML input. +.TP +.BI \-\-smart\-lists +Use smarter list behavior than the original markdown. +.TP +.BI \-\-lang\-prefix\ [\fIprefix\fP] +Set the prefix for code block classes. +.TP +.BI \-\-no\-sanitize,\ \-no-etc... +The inverse of any of the marked options above. +.TP +.BI \-\-silent +Silence error output. +.TP +.BI \-h,\ \-\-help +Display help information. + +.SH CONFIGURATION +For configuring and running programmatically. + +.B Example + + require('marked')('*foo*', { gfm: true }); + +.SH BUGS +Please report any bugs to https://github.com/chjj/marked. + +.SH LICENSE +Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). + +.SH "SEE ALSO" +.BR markdown(1), +.BR node.js(1) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/package.json b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/package.json new file mode 100644 index 0000000..4eb60d5 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/package.json @@ -0,0 +1,22 @@ +{ + "name": "marked", + "description": "A markdown parser built for speed", + "author": "Christopher Jeffrey", + "version": "0.3.2", + "main": "./lib/marked.js", + "bin": "./bin/marked", + "man": "./man/marked.1", + "preferGlobal": true, + "repository": "git://github.com/chjj/marked.git", + "homepage": "https://github.com/chjj/marked", + "bugs": { "url": "http://github.com/chjj/marked/issues" }, + "license": "MIT", + "keywords": ["markdown", "markup", "html"], + "tags": ["markdown", "markup", "html"], + "devDependencies": { + "markdown": "*", + "showdown": "*", + "robotskirt": "*" + }, + "scripts": { "test": "node test", "bench": "node test --bench" } +} diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/README b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/README new file mode 100644 index 0000000..51f6560 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/README @@ -0,0 +1,10 @@ +In this directory: + +# +# MarkdownTester -- Run tests for Markdown implementations +# +# Copyright (c) 2004-2005 John Gruber +# +# + +Partially modified for testing purposes. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.html new file mode 100644 index 0000000..fbde129 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.html @@ -0,0 +1,5 @@ + +marked tests +

    testing...

    + + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.js b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.js new file mode 100644 index 0000000..d5d7ee6 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/index.js @@ -0,0 +1,41 @@ +var fs = require('fs'); + +var test = require('../') + , runTests = test.runTests + , load = test.load; + +var express = require('express') + , app = express(); + +app.use(function(req, res, next) { + var setHeader = res.setHeader; + res.setHeader = function(name) { + switch (name) { + case 'Cache-Control': + case 'Last-Modified': + case 'ETag': + return; + } + return setHeader.apply(res, arguments); + }; + next(); +}); + +var dir = __dirname + '/../tests' + , files = {}; + +app.get('/test.js', function(req, res, next) { + var test = fs.readFileSync(__dirname + '/test.js', 'utf8') + , files = load(); + + test = test.replace('__TESTS__', JSON.stringify(files)); + test = test.replace('__MAIN__', runTests + ''); + + res.contentType('.js'); + res.send(test); +}); + +app.use(express.static(__dirname + '/../../lib')); +app.use(express.static(__dirname)); + +app.listen(8080); diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/test.js b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/test.js new file mode 100644 index 0000000..cef9e37 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/browser/test.js @@ -0,0 +1,62 @@ +;(function() { + +var console = {} + , files = __TESTS__; + +console.log = function(text) { + var args = Array.prototype.slice.call(arguments, 1) + , i = 0; + + text = text.replace(/%\w/g, function() { + return args[i++] || ''; + }); + + if (window.console) window.console.log(text); + document.body.innerHTML += '
    ' + escape(text) + '
    '; +}; + +if (!Object.keys) { + Object.keys = function(obj) { + var out = [] + , key; + + for (key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + out.push(key); + } + } + + return out; + }; +} + +if (!Array.prototype.forEach) { + Array.prototype.forEach = function(callback, context) { + for (var i = 0; i < this.length; i++) { + callback.call(context || null, this[i], i, obj); + } + }; +} + +if (!String.prototype.trim) { + String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g, ''); + }; +} + +function load() { + return files; +} + +function escape(html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); +} + +(__MAIN__)(); + +}).call(this); diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/index.js b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/index.js new file mode 100644 index 0000000..35b52e2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/index.js @@ -0,0 +1,543 @@ +#!/usr/bin/env node + +/** + * marked tests + * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed) + * https://github.com/chjj/marked + */ + +/** + * Modules + */ + +var fs = require('fs') + , path = require('path') + , marked = require('../'); + +/** + * Load Tests + */ + +function load() { + var dir = __dirname + '/tests' + , files = {} + , list + , file + , i + , l; + + list = fs + .readdirSync(dir) + .filter(function(file) { + return path.extname(file) !== '.html'; + }) + .sort(function(a, b) { + a = path.basename(a).toLowerCase().charCodeAt(0); + b = path.basename(b).toLowerCase().charCodeAt(0); + return a > b ? 1 : (a < b ? -1 : 0); + }); + + i = 0; + l = list.length; + + for (; i < l; i++) { + file = path.join(dir, list[i]); + files[path.basename(file)] = { + text: fs.readFileSync(file, 'utf8'), + html: fs.readFileSync(file.replace(/[^.]+$/, 'html'), 'utf8') + }; + } + + return files; +} + +/** + * Test Runner + */ + +function runTests(engine, options) { + if (typeof engine !== 'function') { + options = engine; + engine = null; + } + + var engine = engine || marked + , options = options || {} + , files = options.files || load() + , complete = 0 + , failed = 0 + , failures = [] + , keys = Object.keys(files) + , i = 0 + , len = keys.length + , filename + , file + , flags + , text + , html + , j + , l; + + if (options.marked) { + marked.setOptions(options.marked); + } + +main: + for (; i < len; i++) { + filename = keys[i]; + file = files[filename]; + + if (marked._original) { + marked.defaults = marked._original; + delete marked._original; + } + + flags = filename.split('.').slice(1, -1); + if (flags.length) { + marked._original = marked.defaults; + marked.defaults = {}; + Object.keys(marked._original).forEach(function(key) { + marked.defaults[key] = marked._original[key]; + }); + flags.forEach(function(key) { + var val = true; + if (key.indexOf('no') === 0) { + key = key.substring(2); + val = false; + } + if (marked.defaults.hasOwnProperty(key)) { + marked.defaults[key] = val; + } + }); + } + + try { + text = engine(file.text).replace(/\s/g, ''); + html = file.html.replace(/\s/g, ''); + } catch(e) { + console.log('%s failed.', filename); + throw e; + } + + j = 0; + l = html.length; + + for (; j < l; j++) { + if (text[j] !== html[j]) { + failed++; + failures.push(filename); + + text = text.substring( + Math.max(j - 30, 0), + Math.min(j + 30, text.length)); + + html = html.substring( + Math.max(j - 30, 0), + Math.min(j + 30, html.length)); + + console.log( + '\n#%d. %s failed at offset %d. Near: "%s".\n', + i + 1, filename, j, text); + + console.log('\nGot:\n%s\n', text.trim() || text); + console.log('\nExpected:\n%s\n', html.trim() || html); + + if (options.stop) { + break main; + } + + continue main; + } + } + + complete++; + console.log('#%d. %s completed.', i + 1, filename); + } + + console.log('%d/%d tests completed successfully.', complete, len); + if (failed) console.log('%d/%d tests failed.', failed, len); + + // Tests currently failing. + if (~failures.indexOf('def_blocks.text') + && ~failures.indexOf('double_link.text') + && ~failures.indexOf('gfm_code_hr_list.text')) { + failed -= 3; + } + + return !failed; +} + +/** + * Benchmark a function + */ + +function bench(name, func) { + var files = bench.files || load(); + + if (!bench.files) { + bench.files = files; + + // Change certain tests to allow + // comparison to older benchmark times. + fs.readdirSync(__dirname + '/new').forEach(function(name) { + if (path.extname(name) === '.html') return; + if (name === 'main.text') return; + delete files[name]; + }); + + files['backslash_escapes.text'] = { + text: 'hello world \\[how](are you) today' + }; + + files['main.text'].text = files['main.text'].text.replace('* * *\n\n', ''); + } + + var start = Date.now() + , times = 1000 + , keys = Object.keys(files) + , i + , l = keys.length + , filename + , file; + + while (times--) { + for (i = 0; i < l; i++) { + filename = keys[i]; + file = files[filename]; + func(file.text); + } + } + + console.log('%s completed in %dms.', name, Date.now() - start); +} + +/** + * Benchmark all engines + */ + +function runBench(options) { + var options = options || {}; + + // Non-GFM, Non-pedantic + marked.setOptions({ + gfm: false, + tables: false, + breaks: false, + pedantic: false, + sanitize: false, + smartLists: false + }); + if (options.marked) { + marked.setOptions(options.marked); + } + bench('marked', marked); + + // GFM + marked.setOptions({ + gfm: true, + tables: false, + breaks: false, + pedantic: false, + sanitize: false, + smartLists: false + }); + if (options.marked) { + marked.setOptions(options.marked); + } + bench('marked (gfm)', marked); + + // Pedantic + marked.setOptions({ + gfm: false, + tables: false, + breaks: false, + pedantic: true, + sanitize: false, + smartLists: false + }); + if (options.marked) { + marked.setOptions(options.marked); + } + bench('marked (pedantic)', marked); + + // robotskirt + try { + bench('robotskirt', (function() { + var rs = require('robotskirt'); + return function(text) { + var parser = rs.Markdown.std(); + return parser.render(text); + }; + })()); + } catch (e) { + console.log('Could not bench robotskirt.'); + } + + // showdown + try { + bench('showdown (reuse converter)', (function() { + var Showdown = require('showdown'); + var convert = new Showdown.converter(); + return function(text) { + return convert.makeHtml(text); + }; + })()); + bench('showdown (new converter)', (function() { + var Showdown = require('showdown'); + return function(text) { + var convert = new Showdown.converter(); + return convert.makeHtml(text); + }; + })()); + } catch (e) { + console.log('Could not bench showdown.'); + } + + // markdown.js + try { + bench('markdown.js', require('markdown').parse); + } catch (e) { + console.log('Could not bench markdown.js.'); + } +} + +/** + * A simple one-time benchmark + */ + +function time(options) { + var options = options || {}; + if (options.marked) { + marked.setOptions(options.marked); + } + bench('marked', marked); +} + +/** + * Markdown Test Suite Fixer + * This function is responsible for "fixing" + * the markdown test suite. There are + * certain aspects of the suite that + * are strange or might make tests + * fail for reasons unrelated to + * conformance. + */ + +function fix(options) { + ['tests', 'original', 'new'].forEach(function(dir) { + try { + fs.mkdirSync(path.resolve(__dirname, dir), 0755); + } catch (e) { + ; + } + }); + + // rm -rf tests + fs.readdirSync(path.resolve(__dirname, 'tests')).forEach(function(file) { + fs.unlinkSync(path.resolve(__dirname, 'tests', file)); + }); + + // cp -r original tests + fs.readdirSync(path.resolve(__dirname, 'original')).forEach(function(file) { + var nfile = file; + if (file.indexOf('hard_wrapped_paragraphs_with_list_like_lines.') === 0) { + nfile = file.replace(/\.(text|html)$/, '.nogfm.$1'); + } + fs.writeFileSync(path.resolve(__dirname, 'tests', nfile), + fs.readFileSync(path.resolve(__dirname, 'original', file))); + }); + + // node fix.js + var dir = __dirname + '/tests'; + + fs.readdirSync(dir).filter(function(file) { + return path.extname(file) === '.html'; + }).forEach(function(file) { + var file = path.join(dir, file) + , html = fs.readFileSync(file, 'utf8'); + + // fix unencoded quotes + html = html + .replace(/='([^\n']*)'(?=[^<>\n]*>)/g, '=&__APOS__;$1&__APOS__;') + .replace(/="([^\n"]*)"(?=[^<>\n]*>)/g, '=&__QUOT__;$1&__QUOT__;') + .replace(/"/g, '"') + .replace(/'/g, ''') + .replace(/&__QUOT__;/g, '"') + .replace(/&__APOS__;/g, '\''); + + // add heading id's + html = html.replace(/<(h[1-6])>([^<]+)<\/\1>/g, function(s, h, text) { + var id = text + .replace(/'/g, '\'') + .replace(/"/g, '"') + .replace(/>/g, '>') + .replace(/</g, '<') + .replace(/&/g, '&'); + + id = id.toLowerCase().replace(/[^\w]+/g, '-'); + + return '<' + h + ' id="' + id + '">' + text + ''; + }); + + fs.writeFileSync(file, html); + }); + + // turn
    into
    + fs.readdirSync(dir).forEach(function(file) { + var file = path.join(dir, file) + , text = fs.readFileSync(file, 'utf8'); + + text = text.replace(/(<|<)hr\s*\/(>|>)/g, '$1hr$2'); + + fs.writeFileSync(file, text); + }); + + // markdown does some strange things. + // it does not encode naked `>`, marked does. + (function() { + var file = dir + '/amps_and_angles_encoding.html'; + var html = fs.readFileSync(file, 'utf8') + .replace('6 > 5.', '6 > 5.'); + + fs.writeFileSync(file, html); + })(); + + // cp new/* tests/ + fs.readdirSync(path.resolve(__dirname, 'new')).forEach(function(file) { + fs.writeFileSync(path.resolve(__dirname, 'tests', file), + fs.readFileSync(path.resolve(__dirname, 'new', file))); + }); +} + +/** + * Argument Parsing + */ + +function parseArg(argv) { + var argv = process.argv.slice(2) + , options = {} + , orphans = [] + , arg; + + function getarg() { + var arg = argv.shift(); + + if (arg.indexOf('--') === 0) { + // e.g. --opt + arg = arg.split('='); + if (arg.length > 1) { + // e.g. --opt=val + argv.unshift(arg.slice(1).join('=')); + } + arg = arg[0]; + } else if (arg[0] === '-') { + if (arg.length > 2) { + // e.g. -abc + argv = arg.substring(1).split('').map(function(ch) { + return '-' + ch; + }).concat(argv); + arg = argv.shift(); + } else { + // e.g. -a + } + } else { + // e.g. foo + } + + return arg; + } + + while (argv.length) { + arg = getarg(); + switch (arg) { + case '-f': + case '--fix': + case 'fix': + options.fix = true; + break; + case '-b': + case '--bench': + options.bench = true; + break; + case '-s': + case '--stop': + options.stop = true; + break; + case '-t': + case '--time': + options.time = true; + break; + default: + if (arg.indexOf('--') === 0) { + opt = camelize(arg.replace(/^--(no-)?/, '')); + if (!marked.defaults.hasOwnProperty(opt)) { + continue; + } + options.marked = options.marked || {}; + if (arg.indexOf('--no-') === 0) { + options.marked[opt] = typeof marked.defaults[opt] !== 'boolean' + ? null + : false; + } else { + options.marked[opt] = typeof marked.defaults[opt] !== 'boolean' + ? argv.shift() + : true; + } + } else { + orphans.push(arg); + } + break; + } + } + + return options; +} + +/** + * Helpers + */ + +function camelize(text) { + return text.replace(/(\w)-(\w)/g, function(_, a, b) { + return a + b.toUpperCase(); + }); +} + +/** + * Main + */ + +function main(argv) { + var opt = parseArg(); + + if (opt.fix) { + return fix(opt); + } + + if (opt.bench) { + return runBench(opt); + } + + if (opt.time) { + return time(opt); + } + + return runTests(opt); +} + +/** + * Execute + */ + +if (!module.parent) { + process.title = 'marked'; + process.exit(main(process.argv.slice()) ? 0 : 1); +} else { + exports = main; + exports.main = main; + exports.runTests = runTests; + exports.runBench = runBench; + exports.load = load; + exports.bench = bench; + module.exports = exports; +} diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.html new file mode 100644 index 0000000..aa2bed4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.html @@ -0,0 +1,3 @@ +

    hello world +http://example.com +

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.text new file mode 100644 index 0000000..c9b61a2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/autolink_lines.text @@ -0,0 +1,2 @@ +hello world + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.html new file mode 100644 index 0000000..83cf0bd --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.html @@ -0,0 +1,3 @@ +

    This fails in markdown.pl and upskirt:

    + +
    • hello

      world

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.text new file mode 100644 index 0000000..19e9382 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/blockquote_list_item.text @@ -0,0 +1,4 @@ +This fails in markdown.pl and upskirt: + +* hello + > world diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.html new file mode 100644 index 0000000..c54388e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.html @@ -0,0 +1 @@ +

    hi

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.text new file mode 100644 index 0000000..598915a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/case_insensitive_refs.text @@ -0,0 +1,3 @@ +[hi] + +[HI]: /url diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.html new file mode 100644 index 0000000..14edc97 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.html @@ -0,0 +1,28 @@ +
    +

    hello +[1]: hello

    +
    + +
    + +
    +

    hello

    +
    + + +
      +
    • hello
    • +
    • [3]: hello
    • +
    + + +
      +
    • hello
    • +
    + + +
    +

    foo +bar +bar

    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.text new file mode 100644 index 0000000..4d16292 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/def_blocks.text @@ -0,0 +1,21 @@ +> hello +> [1]: hello + +* * * + +> hello +[2]: hello + + +* hello +* [3]: hello + + +* hello +[4]: hello + + +> foo +> bar +[1]: foo +> bar diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.html new file mode 100644 index 0000000..ff68395 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.html @@ -0,0 +1,5 @@ +

    Already linked: http://example.com/.

    + +

    Already linked: http://example.com/.

    + +

    Already linked: http://example.com/.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.text new file mode 100644 index 0000000..5021673 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/double_link.text @@ -0,0 +1,5 @@ +

    Already linked: http://example.com/.

    + +Already linked: [http://example.com/](http://example.com/). + +Already linked: **http://example.com/**. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.html new file mode 100644 index 0000000..7cf47c4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.html @@ -0,0 +1 @@ +

    >

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.text new file mode 100644 index 0000000..db7422f --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/escaped_angles.text @@ -0,0 +1 @@ +\> diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.html new file mode 100644 index 0000000..398ba01 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.html @@ -0,0 +1 @@ +

    Look at the
    pretty line
    breaks.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.text new file mode 100644 index 0000000..71097d2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_break.breaks.text @@ -0,0 +1,3 @@ +Look at the +pretty line +breaks. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.html new file mode 100644 index 0000000..fe3522e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.html @@ -0,0 +1,5 @@ +
    var a = 'hello';
    +console.log(a + ' world');
    +
    echo "hello, ${WORLD}"
    +
    Q: What do you call a tall person who sells stolen goods?
    +
    A longfence!
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.text new file mode 100644 index 0000000..c594387 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code.text @@ -0,0 +1,16 @@ +``` js +var a = 'hello'; +console.log(a + ' world'); +``` + +~~~bash +echo "hello, ${WORLD}" +~~~ + +```````longfence +Q: What do you call a tall person who sells stolen goods? +``````` + +~~~~~~~~~~ ManyTildes +A longfence! +~~~~~~~~~~ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.html new file mode 100644 index 0000000..9fbd0fb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.html @@ -0,0 +1,52 @@ +

    foo

    +
      +
    1. bar:

      +
      +
        +
      • one
          +
        • two
            +
          • three
          • +
          • four
          • +
          • five
          • +
          +
        • +
        +
      • +
      +
      +
    2. +
    3. foo:

      +
       line 1
      + line 2
      +
    4. +
    5. foo:

      +
        +
      1. foo bar bar:

        +
         some code here
        +
        +
      2. +
      3. foo bar bar:

        +
         foo
        + ---
        + bar
        + ---
        + foo
        + bar
        +
      4. +
      5. foo bar bar:

        +
         ---
        + foo
        + foo
        + ---
        + bar
        +
      6. +
      7. foo bar bar:

        +
         foo
        + ---
        + bar
        +
      8. +
      9. foo

        +
      10. +
      +
    6. +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.text new file mode 100644 index 0000000..0eba405 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_code_hr_list.text @@ -0,0 +1,53 @@ +## foo + +1. bar: + + > - one + - two + - three + - four + - five + +1. foo: + + ``` + line 1 + line 2 + ``` + +1. foo: + + 1. foo `bar` bar: + + ``` erb + some code here + ``` + + 2. foo `bar` bar: + + ``` erb + foo + --- + bar + --- + foo + bar + ``` + + 3. foo `bar` bar: + + ``` html + --- + foo + foo + --- + bar + ``` + + 4. foo `bar` bar: + + foo + --- + bar + + 5. foo diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.html new file mode 100644 index 0000000..95e9ec7 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.html @@ -0,0 +1 @@ +

    hello hi world

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.text new file mode 100644 index 0000000..d29ca77 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_del.text @@ -0,0 +1 @@ +hello ~~hi~~ world diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.html new file mode 100644 index 0000000..8fac346 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.html @@ -0,0 +1 @@ +

    These words should_not_be_emphasized.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.text new file mode 100644 index 0000000..6319874 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_em.text @@ -0,0 +1 @@ +These words should_not_be_emphasized. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.html new file mode 100644 index 0000000..4f62ae1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.html @@ -0,0 +1,2 @@ +

    This should be a link: +http://example.com/hello-world.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.text new file mode 100644 index 0000000..c133666 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_links.text @@ -0,0 +1 @@ +This should be a link: http://example.com/hello-world. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.html new file mode 100644 index 0000000..70bec82 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.html @@ -0,0 +1,37 @@ + + + + + + + + +
    Heading 1Heading 2
    Cell 1Cell 2
    Cell 3Cell 4
    + + + + + + + + +
    Header 1Header 2Header 3Header 4
    Cell 1Cell 2Cell 3Cell 4
    Cell 5Cell 6Cell 7Cell 8
    +
    Test code
    + + + + + + + + +
    Header 1Header 2
    Cell 1Cell 2
    Cell 3Cell 4
    + + + + + + + + +
    Header 1Header 2Header 3Header 4
    Cell 1Cell 2Cell 3Cell 4
    Cell 5Cell 6Cell 7Cell 8
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.text new file mode 100644 index 0000000..5fd6321 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/gfm_tables.text @@ -0,0 +1,21 @@ +| Heading 1 | Heading 2 +| --------- | --------- +| Cell 1 | Cell 2 +| Cell 3 | Cell 4 + +| Header 1 | Header 2 | Header 3 | Header 4 | +| :------: | -------: | :------- | -------- | +| Cell 1 | Cell 2 | Cell 3 | Cell 4 | +| Cell 5 | Cell 6 | Cell 7 | Cell 8 | + + Test code + +Header 1 | Header 2 +-------- | -------- +Cell 1 | Cell 2 +Cell 3 | Cell 4 + +Header 1|Header 2|Header 3|Header 4 +:-------|:------:|-------:|-------- +Cell 1 |Cell 2 |Cell 3 |Cell 4 +*Cell 5*|Cell 6 |Cell 7 |Cell 8 diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.html new file mode 100644 index 0000000..bd3ad1f --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.html @@ -0,0 +1,10 @@ +
      +
    • hello +world
    • +
    • how +are
    • +
    + +
    + +

    you today?

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.text new file mode 100644 index 0000000..036fe47 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/hr_list_break.text @@ -0,0 +1,6 @@ +* hello +world +* how +are +* * * +you today? diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.html new file mode 100644 index 0000000..a701d42 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.html @@ -0,0 +1,4 @@ +
    +

    hi there +bud

    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.text new file mode 100644 index 0000000..c0e0b15 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/lazy_blockquotes.text @@ -0,0 +1,2 @@ +> hi there +bud diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.html new file mode 100644 index 0000000..142df36 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.html @@ -0,0 +1 @@ +
    • item1

      • item2

      text

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.text new file mode 100644 index 0000000..a8f81b1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/list_item_text.text @@ -0,0 +1,5 @@ + * item1 + + * item2 + + text diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.html new file mode 100644 index 0000000..c1bd82a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.html @@ -0,0 +1,62 @@ +
      +
    • hello +world

      + +

      how +are

    • +
    • you
    • +
    + + + +

    better behavior:

    + +
    • hello

      • world +how

        are +you

      • today

    • hi
    + + + +
      +
    • hello

    • +
    • world

    • +
    • hi
    • +
    + + + +
      +
    • hello
    • +
    • world

    • +
    • hi

    • +
    + + + +
      +
    • hello
    • +
    • world

      + +

      how

    • +
    • hi
    • +
    + + + +
      +
    • hello
    • +
    • world
    • +
    • how

      + +

      are

    • +
    + + + +
      +
    • hello
    • +
    • world

    • +
    • how

      + +

      are

    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.text new file mode 100644 index 0000000..cb360a1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/loose_lists.text @@ -0,0 +1,59 @@ +* hello + world + + how + are +* you + + + +better behavior: + +* hello + * world + how + + are + you + + * today +* hi + + + +* hello + +* world +* hi + + + +* hello +* world + +* hi + + + +* hello +* world + + how +* hi + + + +* hello +* world +* how + + are + + + +* hello +* world + +* how + + are diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.html new file mode 100644 index 0000000..8f78c4d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.html @@ -0,0 +1,4 @@ +

    A heading

    Just a note, I've found that I can't test my markdown parser vs others. For example, both markdown.js and showdown code blocks in lists wrong. They're also completely inconsistent with regards to paragraphs in list items.

    A link. Not anymore.

    • List Item 1

    • List Item 2

      • New List Item 1 Hi, this is a list item.
      • New List Item 2 Another item
        Code goes here.
        +Lots of it...
      • New List Item 3 The last item
    • List Item 3 The final item.

    • List Item 4 The real final item.

    Paragraph.

    • bq Item 1
    • bq Item 2
      • New bq Item 1
      • New bq Item 2 Text here

    Another blockquote! I really need to get more creative with mockup text.. markdown.js breaks here again

    Another Heading

    Hello world. Here is a link. And an image alt.

    Code goes here.
    +Lots of it...
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.text new file mode 100644 index 0000000..58e17a6 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/main.text @@ -0,0 +1,55 @@ +[test]: http://google.com/ "Google" + +# A heading + +Just a note, I've found that I can't test my markdown parser vs others. +For example, both markdown.js and showdown code blocks in lists wrong. They're +also completely [inconsistent][test] with regards to paragraphs in list items. + +A link. Not anymore. + + + +* List Item 1 + +* List Item 2 + * New List Item 1 + Hi, this is a list item. + * New List Item 2 + Another item + Code goes here. + Lots of it... + * New List Item 3 + The last item + +* List Item 3 +The final item. + +* List Item 4 +The real final item. + +Paragraph. + +> * bq Item 1 +> * bq Item 2 +> * New bq Item 1 +> * New bq Item 2 +> Text here + +* * * + +> Another blockquote! +> I really need to get +> more creative with +> mockup text.. +> markdown.js breaks here again + +Another Heading +------------- + +Hello *world*. Here is a [link](//hello). +And an image ![alt](src). + + Code goes here. + Lots of it... diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.html new file mode 100644 index 0000000..c370592 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.html @@ -0,0 +1 @@ +

    hi ther `` ok ```

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.text new file mode 100644 index 0000000..910e3d4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_code.text @@ -0,0 +1 @@ +````` hi ther `` ok ``` ````` diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.html new file mode 100644 index 0000000..3ab4ec8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.html @@ -0,0 +1,3 @@ +

    test test test

    + +

    test test test

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.text new file mode 100644 index 0000000..550d0eb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_em.text @@ -0,0 +1,3 @@ +*test **test** test* + +_test __test__ test_ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.html new file mode 100644 index 0000000..c8b7940 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.html @@ -0,0 +1 @@ +

    the ] character

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.text new file mode 100644 index 0000000..82226ed --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/nested_square_link.text @@ -0,0 +1 @@ +[the `]` character](/url) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.html new file mode 100644 index 0000000..a01685d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.html @@ -0,0 +1 @@ +

    [test](not a link)

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.text new file mode 100644 index 0000000..26f6043 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/not_a_link.text @@ -0,0 +1 @@ +\[test](not a link) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.html new file mode 100644 index 0000000..cff6977 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.html @@ -0,0 +1 @@ +

    hi

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.text new file mode 100644 index 0000000..aa97c91 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/ref_paren.text @@ -0,0 +1,3 @@ +[hi] + +[hi]: /url (there) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.html new file mode 100644 index 0000000..9220741 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.html @@ -0,0 +1,5 @@ +
      +
    • test
    • +
    • test
    • +
    • test
    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.text new file mode 100644 index 0000000..27a8967 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/same_bullet.text @@ -0,0 +1,3 @@ +* test ++ test +- test diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.html new file mode 100644 index 0000000..22997c4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.html @@ -0,0 +1,6 @@ +

    Hello world ‘how’ “are” you — today…

    + +

    “It’s a more ‘challenging’ smartypants test…”

    + +

    ‘And,’ as a bonus — “one +multiline” test!

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.text new file mode 100644 index 0000000..d91c8dc --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/text.smartypants.text @@ -0,0 +1,6 @@ +Hello world 'how' "are" you -- today... + +"It's a more 'challenging' smartypants test..." + +'And,' as a bonus -- "one +multiline" test! diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.html new file mode 100644 index 0000000..970c6f1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.html @@ -0,0 +1,34 @@ +

    hello world + how are you + how are you

    + +

    hello world

    +
    how are you
    + +

    hello world

    +
    + +

    hello world

    +

    how are you

    + +

    hello world

    +

    how are you

    + +

    hello world

    +

    how are you

    + +

    hello world

    +
    • how are you
    + +

    hello world

    +
    how are you
    + +

    hello world +how are you

    + +

    hello world +

    + +
    hello
    + +

    hello

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.text new file mode 100644 index 0000000..66366c0 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/toplevel_paragraphs.gfm.text @@ -0,0 +1,37 @@ +hello world + how are you + how are you + +hello world +``` +how are you +``` + +hello world +* * * + +hello world +# how are you + +hello world +how are you +=========== + +hello world +> how are you + +hello world +* how are you + +hello world +
    how are you
    + +hello world +how are you + +hello [world][how] +[how]: /are/you + +
    hello
    + +hello diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.html new file mode 100644 index 0000000..764a335 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.html @@ -0,0 +1,23 @@ +

    hello world

    + +
      +
    • hello world
    • +
    + +

    hello world

    + +
      +
    • hello world
    • +
    + +

    hello world

    + +
      +
    • Hello world
    • +
    + +

    hello world

    + +
      +
    • hello world
    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.text new file mode 100644 index 0000000..9aa76ce --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/new/tricky_list.text @@ -0,0 +1,15 @@ +**hello** _world_ + +* hello world + +**hello** _world_ + +* hello world + +**hello** _world_ + +* Hello world + +**hello** _world_ + +* hello world diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.html new file mode 100644 index 0000000..9606860 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.html @@ -0,0 +1,17 @@ +

    AT&T has an ampersand in their name.

    + +

    AT&T is another way to write it.

    + +

    This & that.

    + +

    4 < 5.

    + +

    6 > 5.

    + +

    Here's a link with an ampersand in the URL.

    + +

    Here's a link with an amersand in the link text: AT&T.

    + +

    Here's an inline link.

    + +

    Here's an inline link.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.text new file mode 100644 index 0000000..89ec3ae --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/amps_and_angles_encoding.text @@ -0,0 +1,21 @@ +AT&T has an ampersand in their name. + +AT&T is another way to write it. + +This & that. + +4 < 5. + +6 > 5. + +Here's a [link] [1] with an ampersand in the URL. + +Here's a link with an amersand in the link text: [AT&T] [2]. + +Here's an inline [link](/script?foo=1&bar=2). + +Here's an inline [link](). + + +[1]: http://example.com/?foo=1&bar=2 +[2]: http://att.com/ "AT&T" diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.html new file mode 100644 index 0000000..f8df985 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.html @@ -0,0 +1,18 @@ +

    Link: http://example.com/.

    + +

    With an ampersand: http://example.com/?foo=1&bar=2

    + + + +
    +

    Blockquoted: http://example.com/

    +
    + +

    Auto-links should not occur here: <http://example.com/>

    + +
    or here: <http://example.com/>
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.text new file mode 100644 index 0000000..f85767b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/auto_links.text @@ -0,0 +1,13 @@ +Link: . + +With an ampersand: + +* In a list? +* +* It should. + +> Blockquoted: + +Auto-links should not occur here: `` + + or here: diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.html new file mode 100644 index 0000000..29870da --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.html @@ -0,0 +1,118 @@ +

    These should all get escaped:

    + +

    Backslash: \

    + +

    Backtick: `

    + +

    Asterisk: *

    + +

    Underscore: _

    + +

    Left brace: {

    + +

    Right brace: }

    + +

    Left bracket: [

    + +

    Right bracket: ]

    + +

    Left paren: (

    + +

    Right paren: )

    + +

    Greater-than: >

    + +

    Hash: #

    + +

    Period: .

    + +

    Bang: !

    + +

    Plus: +

    + +

    Minus: -

    + +

    These should not, because they occur within a code block:

    + +
    Backslash: \\
    +
    +Backtick: \`
    +
    +Asterisk: \*
    +
    +Underscore: \_
    +
    +Left brace: \{
    +
    +Right brace: \}
    +
    +Left bracket: \[
    +
    +Right bracket: \]
    +
    +Left paren: \(
    +
    +Right paren: \)
    +
    +Greater-than: \>
    +
    +Hash: \#
    +
    +Period: \.
    +
    +Bang: \!
    +
    +Plus: \+
    +
    +Minus: \-
    +
    + +

    Nor should these, which occur in code spans:

    + +

    Backslash: \\

    + +

    Backtick: \`

    + +

    Asterisk: \*

    + +

    Underscore: \_

    + +

    Left brace: \{

    + +

    Right brace: \}

    + +

    Left bracket: \[

    + +

    Right bracket: \]

    + +

    Left paren: \(

    + +

    Right paren: \)

    + +

    Greater-than: \>

    + +

    Hash: \#

    + +

    Period: \.

    + +

    Bang: \!

    + +

    Plus: \+

    + +

    Minus: \-

    + + +

    These should get escaped, even though they're matching pairs for +other Markdown constructs:

    + +

    *asterisks*

    + +

    _underscores_

    + +

    `backticks`

    + +

    This is a code span with a literal backslash-backtick sequence: \`

    + +

    This is a tag with unescaped backticks bar.

    + +

    This is a tag with backslashes bar.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.text new file mode 100644 index 0000000..5b014cb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/backslash_escapes.text @@ -0,0 +1,120 @@ +These should all get escaped: + +Backslash: \\ + +Backtick: \` + +Asterisk: \* + +Underscore: \_ + +Left brace: \{ + +Right brace: \} + +Left bracket: \[ + +Right bracket: \] + +Left paren: \( + +Right paren: \) + +Greater-than: \> + +Hash: \# + +Period: \. + +Bang: \! + +Plus: \+ + +Minus: \- + + + +These should not, because they occur within a code block: + + Backslash: \\ + + Backtick: \` + + Asterisk: \* + + Underscore: \_ + + Left brace: \{ + + Right brace: \} + + Left bracket: \[ + + Right bracket: \] + + Left paren: \( + + Right paren: \) + + Greater-than: \> + + Hash: \# + + Period: \. + + Bang: \! + + Plus: \+ + + Minus: \- + + +Nor should these, which occur in code spans: + +Backslash: `\\` + +Backtick: `` \` `` + +Asterisk: `\*` + +Underscore: `\_` + +Left brace: `\{` + +Right brace: `\}` + +Left bracket: `\[` + +Right bracket: `\]` + +Left paren: `\(` + +Right paren: `\)` + +Greater-than: `\>` + +Hash: `\#` + +Period: `\.` + +Bang: `\!` + +Plus: `\+` + +Minus: `\-` + + +These should get escaped, even though they're matching pairs for +other Markdown constructs: + +\*asterisks\* + +\_underscores\_ + +\`backticks\` + +This is a code span with a literal backslash-backtick sequence: `` \` `` + +This is a tag with unescaped backticks bar. + +This is a tag with backslashes bar. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.html new file mode 100644 index 0000000..990202a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.html @@ -0,0 +1,15 @@ +
    +

    Example:

    + +
    sub status {
    +    print "working";
    +}
    +
    + +

    Or:

    + +
    sub status {
    +    return "working";
    +}
    +
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.text new file mode 100644 index 0000000..c31d171 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/blockquotes_with_code_blocks.text @@ -0,0 +1,11 @@ +> Example: +> +> sub status { +> print "working"; +> } +> +> Or: +> +> sub status { +> return "working"; +> } diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.html new file mode 100644 index 0000000..32703f5 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.html @@ -0,0 +1,18 @@ +
    code block on the first line
    +
    + +

    Regular text.

    + +
    code block indented by spaces
    +
    + +

    Regular text.

    + +
    the lines in this block  
    +all contain trailing spaces  
    +
    + +

    Regular Text.

    + +
    code block on the last line
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.text new file mode 100644 index 0000000..01f9a73 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_blocks.text @@ -0,0 +1,14 @@ + code block on the first line + +Regular text. + + code block indented by spaces + +Regular text. + + the lines in this block + all contain trailing spaces + +Regular Text. + + code block on the last line diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.html new file mode 100644 index 0000000..4b8afbb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.html @@ -0,0 +1,6 @@ +

    <test a=" content of attribute ">

    + +

    Fix for backticks within HTML tag: like this

    + +

    Here's how you put `backticks` in a code span.

    + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.text new file mode 100644 index 0000000..750a197 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/code_spans.text @@ -0,0 +1,6 @@ +`` + +Fix for backticks within HTML tag: like this + +Here's how you put `` `backticks` `` in a code span. + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.html new file mode 100644 index 0000000..e21ac79 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.html @@ -0,0 +1,8 @@ +

    In Markdown 1.0.0 and earlier. Version +8. This line turns into a list item. +Because a hard-wrapped line in the +middle of a paragraph looked like a +list item.

    + +

    Here's one with a bullet. +* criminey.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.text new file mode 100644 index 0000000..f8a5b27 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.text @@ -0,0 +1,8 @@ +In Markdown 1.0.0 and earlier. Version +8. This line turns into a list item. +Because a hard-wrapped line in the +middle of a paragraph looked like a +list item. + +Here's one with a bullet. +* criminey. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.html new file mode 100644 index 0000000..2dc2ab6 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.html @@ -0,0 +1,71 @@ +

    Dashes:

    + +
    + +
    + +
    + +
    + +
    ---
    +
    + +
    + +
    + +
    + +
    + +
    - - -
    +
    + +

    Asterisks:

    + +
    + +
    + +
    + +
    + +
    ***
    +
    + +
    + +
    + +
    + +
    + +
    * * *
    +
    + +

    Underscores:

    + +
    + +
    + +
    + +
    + +
    ___
    +
    + +
    + +
    + +
    + +
    + +
    _ _ _
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.text new file mode 100644 index 0000000..1594bda --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/horizontal_rules.text @@ -0,0 +1,67 @@ +Dashes: + +--- + + --- + + --- + + --- + + --- + +- - - + + - - - + + - - - + + - - - + + - - - + + +Asterisks: + +*** + + *** + + *** + + *** + + *** + +* * * + + * * * + + * * * + + * * * + + * * * + + +Underscores: + +___ + + ___ + + ___ + + ___ + + ___ + +_ _ _ + + _ _ _ + + _ _ _ + + _ _ _ + + _ _ _ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.html new file mode 100644 index 0000000..3af9caf --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.html @@ -0,0 +1,15 @@ +

    Simple block on one line:

    + +
    foo
    + +

    And nested without indentation:

    + +
    +
    +
    +foo +
    +
    +
    +
    bar
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.text new file mode 100644 index 0000000..86b7206 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_advanced.text @@ -0,0 +1,15 @@ +Simple block on one line: + +
    foo
    + +And nested without indentation: + +
    +
    +
    +foo +
    +
    +
    +
    bar
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.html new file mode 100644 index 0000000..3f167a1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.html @@ -0,0 +1,13 @@ +

    Paragraph one.

    + + + + + +

    Paragraph two.

    + + + +

    The end.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.text new file mode 100644 index 0000000..41d830d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_comments.text @@ -0,0 +1,13 @@ +Paragraph one. + + + + + +Paragraph two. + + + +The end. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.html new file mode 100644 index 0000000..6bf78f8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.html @@ -0,0 +1,72 @@ +

    Here's a simple block:

    + +
    + foo +
    + +

    This should be a code block, though:

    + +
    <div>
    +    foo
    +</div>
    +
    + +

    As should this:

    + +
    <div>foo</div>
    +
    + +

    Now, nested:

    + +
    +
    +
    + foo +
    +
    +
    + +

    This should just be an HTML comment:

    + + + +

    Multiline:

    + + + +

    Code block:

    + +
    <!-- Comment -->
    +
    + +

    Just plain comment, with trailing spaces on the line:

    + + + +

    Code:

    + +
    <hr />
    +
    + +

    Hr's:

    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.text new file mode 100644 index 0000000..14aa2dc --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/inline_html_simple.text @@ -0,0 +1,69 @@ +Here's a simple block: + +
    + foo +
    + +This should be a code block, though: + +
    + foo +
    + +As should this: + +
    foo
    + +Now, nested: + +
    +
    +
    + foo +
    +
    +
    + +This should just be an HTML comment: + + + +Multiline: + + + +Code block: + + + +Just plain comment, with trailing spaces on the line: + + + +Code: + +
    + +Hr's: + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.html new file mode 100644 index 0000000..09df236 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.html @@ -0,0 +1,15 @@ +

    Just a URL.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    Empty.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.text new file mode 100644 index 0000000..8c8eb49 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_inline_style.text @@ -0,0 +1,15 @@ +Just a [URL](/url/). + +[URL and title](/url/ "title"). + +[URL and title](/url/ "title preceded by two spaces"). + +[URL and title](/url/ "title preceded by a tab"). + +[URL and title](/url/ "title has spaces afterward" ). + +[URL and title]( /url/has space ). + +[URL and title]( /url/has space/ "url has space and title"). + +[Empty](). diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.html new file mode 100644 index 0000000..8e70c32 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.html @@ -0,0 +1,52 @@ +

    Foo bar.

    + +

    Foo bar.

    + +

    Foo bar.

    + +

    With embedded [brackets].

    + +

    Indented once.

    + +

    Indented twice.

    + +

    Indented thrice.

    + +

    Indented [four][] times.

    + +
    [four]: /url
    +
    + +
    + +

    this should work

    + +

    So should this.

    + +

    And this.

    + +

    And this.

    + +

    And this.

    + +

    But not [that] [].

    + +

    Nor [that][].

    + +

    Nor [that].

    + +

    [Something in brackets like this should work]

    + +

    [Same with this.]

    + +

    In this case, this points to something else.

    + +

    Backslashing should suppress [this] and [this].

    + +
    + +

    Here's one where the link +breaks across lines.

    + +

    Here's another where the link +breaks across lines, but with a line-ending space.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.text new file mode 100644 index 0000000..341ec88 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_reference_style.text @@ -0,0 +1,71 @@ +Foo [bar] [1]. + +Foo [bar][1]. + +Foo [bar] +[1]. + +[1]: /url/ "Title" + + +With [embedded [brackets]] [b]. + + +Indented [once][]. + +Indented [twice][]. + +Indented [thrice][]. + +Indented [four][] times. + + [once]: /url + + [twice]: /url + + [thrice]: /url + + [four]: /url + + +[b]: /url/ + +* * * + +[this] [this] should work + +So should [this][this]. + +And [this] []. + +And [this][]. + +And [this]. + +But not [that] []. + +Nor [that][]. + +Nor [that]. + +[Something in brackets like [this][] should work] + +[Same with [this].] + +In this case, [this](/somethingelse/) points to something else. + +Backslashing should suppress \[this] and [this\]. + +[this]: foo + + +* * * + +Here's one where the [link +breaks] across lines. + +Here's another where the [link +breaks] across lines, but with a line-ending space. + + +[link breaks]: /url/ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.html new file mode 100644 index 0000000..bf81e93 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.html @@ -0,0 +1,9 @@ +

    This is the simple case.

    + +

    This one has a line +break.

    + +

    This one has a line +break with a line-ending space.

    + +

    this and the other

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.text new file mode 100644 index 0000000..8c44c98 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/links_shortcut_references.text @@ -0,0 +1,20 @@ +This is the [simple case]. + +[simple case]: /simple + + + +This one has a [line +break]. + +This one has a [line +break] with a line-ending space. + +[line break]: /foo + + +[this] [that] and the [other] + +[this]: /this +[that]: /that +[other]: /other diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.html new file mode 100644 index 0000000..611c1ac --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.html @@ -0,0 +1,3 @@ +

    Foo bar.

    + +

    Foo bar.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.text new file mode 100644 index 0000000..29d0e42 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/literal_quotes_in_titles.text @@ -0,0 +1,7 @@ +Foo [bar][]. + +Foo [bar](/url/ "Title with "quotes" inside"). + + + [bar]: /url/ "Title with "quotes" inside" + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.html new file mode 100644 index 0000000..d5bdbb2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.html @@ -0,0 +1,314 @@ +

    Markdown: Basics

    + + + +

    Getting the Gist of Markdown's Formatting Syntax

    + +

    This page offers a brief overview of what it's like to use Markdown. +The syntax page provides complete, detailed documentation for +every feature, but Markdown should be very easy to pick up simply by +looking at a few examples of it in action. The examples on this page +are written in a before/after style, showing example syntax and the +HTML output produced by Markdown.

    + +

    It's also helpful to simply try Markdown out; the Dingus is a +web application that allows you type your own Markdown-formatted text +and translate it to XHTML.

    + +

    Note: This document is itself written using Markdown; you +can see the source for it by adding '.text' to the URL.

    + +

    Paragraphs, Headers, Blockquotes

    + +

    A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs.

    + +

    Markdown offers two styles of headers: Setext and atx. +Setext-style headers for <h1> and <h2> are created by +"underlining" with equal signs (=) and hyphens (-), respectively. +To create an atx-style header, you put 1-6 hash marks (#) at the +beginning of the line -- the number of hashes equals the resulting +HTML header level.

    + +

    Blockquotes are indicated using email-style '>' angle brackets.

    + +

    Markdown:

    + +
    A First Level Header
    +====================
    +
    +A Second Level Header
    +---------------------
    +
    +Now is the time for all good men to come to
    +the aid of their country. This is just a
    +regular paragraph.
    +
    +The quick brown fox jumped over the lazy
    +dog's back.
    +
    +### Header 3
    +
    +> This is a blockquote.
    +> 
    +> This is the second paragraph in the blockquote.
    +>
    +> ## This is an H2 in a blockquote
    +
    + +

    Output:

    + +
    <h1>A First Level Header</h1>
    +
    +<h2>A Second Level Header</h2>
    +
    +<p>Now is the time for all good men to come to
    +the aid of their country. This is just a
    +regular paragraph.</p>
    +
    +<p>The quick brown fox jumped over the lazy
    +dog's back.</p>
    +
    +<h3>Header 3</h3>
    +
    +<blockquote>
    +    <p>This is a blockquote.</p>
    +
    +    <p>This is the second paragraph in the blockquote.</p>
    +
    +    <h2>This is an H2 in a blockquote</h2>
    +</blockquote>
    +
    + +

    Phrase Emphasis

    + +

    Markdown uses asterisks and underscores to indicate spans of emphasis.

    + +

    Markdown:

    + +
    Some of these words *are emphasized*.
    +Some of these words _are emphasized also_.
    +
    +Use two asterisks for **strong emphasis**.
    +Or, if you prefer, __use two underscores instead__.
    +
    + +

    Output:

    + +
    <p>Some of these words <em>are emphasized</em>.
    +Some of these words <em>are emphasized also</em>.</p>
    +
    +<p>Use two asterisks for <strong>strong emphasis</strong>.
    +Or, if you prefer, <strong>use two underscores instead</strong>.</p>
    +
    + +

    Lists

    + +

    Unordered (bulleted) lists use asterisks, pluses, and hyphens (*, ++, and -) as list markers. These three markers are +interchangable; this:

    + +
    *   Candy.
    +*   Gum.
    +*   Booze.
    +
    + +

    this:

    + +
    +   Candy.
    ++   Gum.
    ++   Booze.
    +
    + +

    and this:

    + +
    -   Candy.
    +-   Gum.
    +-   Booze.
    +
    + +

    all produce the same output:

    + +
    <ul>
    +<li>Candy.</li>
    +<li>Gum.</li>
    +<li>Booze.</li>
    +</ul>
    +
    + +

    Ordered (numbered) lists use regular numbers, followed by periods, as +list markers:

    + +
    1.  Red
    +2.  Green
    +3.  Blue
    +
    + +

    Output:

    + +
    <ol>
    +<li>Red</li>
    +<li>Green</li>
    +<li>Blue</li>
    +</ol>
    +
    + +

    If you put blank lines between items, you'll get <p> tags for the +list item text. You can create multi-paragraph list items by indenting +the paragraphs by 4 spaces or 1 tab:

    + +
    *   A list item.
    +
    +    With multiple paragraphs.
    +
    +*   Another item in the list.
    +
    + +

    Output:

    + +
    <ul>
    +<li><p>A list item.</p>
    +<p>With multiple paragraphs.</p></li>
    +<li><p>Another item in the list.</p></li>
    +</ul>
    +
    + +

    Links

    + +

    Markdown supports two styles for creating links: inline and +reference. With both styles, you use square brackets to delimit the +text you want to turn into a link.

    + +

    Inline-style links use parentheses immediately after the link text. +For example:

    + +
    This is an [example link](http://example.com/).
    +
    + +

    Output:

    + +
    <p>This is an <a href="http://example.com/">
    +example link</a>.</p>
    +
    + +

    Optionally, you may include a title attribute in the parentheses:

    + +
    This is an [example link](http://example.com/ "With a Title").
    +
    + +

    Output:

    + +
    <p>This is an <a href="http://example.com/" title="With a Title">
    +example link</a>.</p>
    +
    + +

    Reference-style links allow you to refer to your links by names, which +you define elsewhere in your document:

    + +
    I get 10 times more traffic from [Google][1] than from
    +[Yahoo][2] or [MSN][3].
    +
    +[1]: http://google.com/        "Google"
    +[2]: http://search.yahoo.com/  "Yahoo Search"
    +[3]: http://search.msn.com/    "MSN Search"
    +
    + +

    Output:

    + +
    <p>I get 10 times more traffic from <a href="http://google.com/"
    +title="Google">Google</a> than from <a href="http://search.yahoo.com/"
    +title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
    +title="MSN Search">MSN</a>.</p>
    +
    + +

    The title attribute is optional. Link names may contain letters, +numbers and spaces, but are not case sensitive:

    + +
    I start my morning with a cup of coffee and
    +[The New York Times][NY Times].
    +
    +[ny times]: http://www.nytimes.com/
    +
    + +

    Output:

    + +
    <p>I start my morning with a cup of coffee and
    +<a href="http://www.nytimes.com/">The New York Times</a>.</p>
    +
    + +

    Images

    + +

    Image syntax is very much like link syntax.

    + +

    Inline (titles are optional):

    + +
    ![alt text](/path/to/img.jpg "Title")
    +
    + +

    Reference-style:

    + +
    ![alt text][id]
    +
    +[id]: /path/to/img.jpg "Title"
    +
    + +

    Both of the above examples produce the same output:

    + +
    <img src="/path/to/img.jpg" alt="alt text" title="Title" />
    +
    + +

    Code

    + +

    In a regular paragraph, you can create code span by wrapping text in +backtick quotes. Any ampersands (&) and angle brackets (< or +>) will automatically be translated into HTML entities. This makes +it easy to use Markdown to write about HTML example code:

    + +
    I strongly recommend against using any `<blink>` tags.
    +
    +I wish SmartyPants used named entities like `&mdash;`
    +instead of decimal-encoded entites like `&#8212;`.
    +
    + +

    Output:

    + +
    <p>I strongly recommend against using any
    +<code>&lt;blink&gt;</code> tags.</p>
    +
    +<p>I wish SmartyPants used named entities like
    +<code>&amp;mdash;</code> instead of decimal-encoded
    +entites like <code>&amp;#8212;</code>.</p>
    +
    + +

    To specify an entire block of pre-formatted code, indent every line of +the block by 4 spaces or 1 tab. Just like with code spans, &, <, +and > characters will be escaped automatically.

    + +

    Markdown:

    + +
    If you want your page to validate under XHTML 1.0 Strict,
    +you've got to put paragraph tags in your blockquotes:
    +
    +    <blockquote>
    +        <p>For example.</p>
    +    </blockquote>
    +
    + +

    Output:

    + +
    <p>If you want your page to validate under XHTML 1.0 Strict,
    +you've got to put paragraph tags in your blockquotes:</p>
    +
    +<pre><code>&lt;blockquote&gt;
    +    &lt;p&gt;For example.&lt;/p&gt;
    +&lt;/blockquote&gt;
    +</code></pre>
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.text new file mode 100644 index 0000000..486055c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_basics.text @@ -0,0 +1,306 @@ +Markdown: Basics +================ + + + + +Getting the Gist of Markdown's Formatting Syntax +------------------------------------------------ + +This page offers a brief overview of what it's like to use Markdown. +The [syntax page] [s] provides complete, detailed documentation for +every feature, but Markdown should be very easy to pick up simply by +looking at a few examples of it in action. The examples on this page +are written in a before/after style, showing example syntax and the +HTML output produced by Markdown. + +It's also helpful to simply try Markdown out; the [Dingus] [d] is a +web application that allows you type your own Markdown-formatted text +and translate it to XHTML. + +**Note:** This document is itself written using Markdown; you +can [see the source for it by adding '.text' to the URL] [src]. + + [s]: /projects/markdown/syntax "Markdown Syntax" + [d]: /projects/markdown/dingus "Markdown Dingus" + [src]: /projects/markdown/basics.text + + +## Paragraphs, Headers, Blockquotes ## + +A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs. + +Markdown offers two styles of headers: *Setext* and *atx*. +Setext-style headers for `

    ` and `

    ` are created by +"underlining" with equal signs (`=`) and hyphens (`-`), respectively. +To create an atx-style header, you put 1-6 hash marks (`#`) at the +beginning of the line -- the number of hashes equals the resulting +HTML header level. + +Blockquotes are indicated using email-style '`>`' angle brackets. + +Markdown: + + A First Level Header + ==================== + + A Second Level Header + --------------------- + + Now is the time for all good men to come to + the aid of their country. This is just a + regular paragraph. + + The quick brown fox jumped over the lazy + dog's back. + + ### Header 3 + + > This is a blockquote. + > + > This is the second paragraph in the blockquote. + > + > ## This is an H2 in a blockquote + + +Output: + +

    A First Level Header

    + +

    A Second Level Header

    + +

    Now is the time for all good men to come to + the aid of their country. This is just a + regular paragraph.

    + +

    The quick brown fox jumped over the lazy + dog's back.

    + +

    Header 3

    + +
    +

    This is a blockquote.

    + +

    This is the second paragraph in the blockquote.

    + +

    This is an H2 in a blockquote

    +
    + + + +### Phrase Emphasis ### + +Markdown uses asterisks and underscores to indicate spans of emphasis. + +Markdown: + + Some of these words *are emphasized*. + Some of these words _are emphasized also_. + + Use two asterisks for **strong emphasis**. + Or, if you prefer, __use two underscores instead__. + +Output: + +

    Some of these words are emphasized. + Some of these words are emphasized also.

    + +

    Use two asterisks for strong emphasis. + Or, if you prefer, use two underscores instead.

    + + + +## Lists ## + +Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`, +`+`, and `-`) as list markers. These three markers are +interchangable; this: + + * Candy. + * Gum. + * Booze. + +this: + + + Candy. + + Gum. + + Booze. + +and this: + + - Candy. + - Gum. + - Booze. + +all produce the same output: + +
      +
    • Candy.
    • +
    • Gum.
    • +
    • Booze.
    • +
    + +Ordered (numbered) lists use regular numbers, followed by periods, as +list markers: + + 1. Red + 2. Green + 3. Blue + +Output: + +
      +
    1. Red
    2. +
    3. Green
    4. +
    5. Blue
    6. +
    + +If you put blank lines between items, you'll get `

    ` tags for the +list item text. You can create multi-paragraph list items by indenting +the paragraphs by 4 spaces or 1 tab: + + * A list item. + + With multiple paragraphs. + + * Another item in the list. + +Output: + +

      +
    • A list item.

      +

      With multiple paragraphs.

    • +
    • Another item in the list.

    • +
    + + + +### Links ### + +Markdown supports two styles for creating links: *inline* and +*reference*. With both styles, you use square brackets to delimit the +text you want to turn into a link. + +Inline-style links use parentheses immediately after the link text. +For example: + + This is an [example link](http://example.com/). + +Output: + +

    This is an + example link.

    + +Optionally, you may include a title attribute in the parentheses: + + This is an [example link](http://example.com/ "With a Title"). + +Output: + +

    This is an + example link.

    + +Reference-style links allow you to refer to your links by names, which +you define elsewhere in your document: + + I get 10 times more traffic from [Google][1] than from + [Yahoo][2] or [MSN][3]. + + [1]: http://google.com/ "Google" + [2]: http://search.yahoo.com/ "Yahoo Search" + [3]: http://search.msn.com/ "MSN Search" + +Output: + +

    I get 10 times more traffic from Google than from Yahoo or MSN.

    + +The title attribute is optional. Link names may contain letters, +numbers and spaces, but are *not* case sensitive: + + I start my morning with a cup of coffee and + [The New York Times][NY Times]. + + [ny times]: http://www.nytimes.com/ + +Output: + +

    I start my morning with a cup of coffee and + The New York Times.

    + + +### Images ### + +Image syntax is very much like link syntax. + +Inline (titles are optional): + + ![alt text](/path/to/img.jpg "Title") + +Reference-style: + + ![alt text][id] + + [id]: /path/to/img.jpg "Title" + +Both of the above examples produce the same output: + + alt text + + + +### Code ### + +In a regular paragraph, you can create code span by wrapping text in +backtick quotes. Any ampersands (`&`) and angle brackets (`<` or +`>`) will automatically be translated into HTML entities. This makes +it easy to use Markdown to write about HTML example code: + + I strongly recommend against using any `` tags. + + I wish SmartyPants used named entities like `—` + instead of decimal-encoded entites like `—`. + +Output: + +

    I strongly recommend against using any + <blink> tags.

    + +

    I wish SmartyPants used named entities like + &mdash; instead of decimal-encoded + entites like &#8212;.

    + + +To specify an entire block of pre-formatted code, indent every line of +the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`, +and `>` characters will be escaped automatically. + +Markdown: + + If you want your page to validate under XHTML 1.0 Strict, + you've got to put paragraph tags in your blockquotes: + +
    +

    For example.

    +
    + +Output: + +

    If you want your page to validate under XHTML 1.0 Strict, + you've got to put paragraph tags in your blockquotes:

    + +
    <blockquote>
    +        <p>For example.</p>
    +    </blockquote>
    +    
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.html new file mode 100644 index 0000000..5c01306 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.html @@ -0,0 +1,942 @@ +

    Markdown: Syntax

    + + + + + +

    Note: This document is itself written using Markdown; you +can see the source for it by adding '.text' to the URL.

    + +
    + +

    Overview

    + +

    Philosophy

    + +

    Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

    + +

    Readability, however, is emphasized above all else. A Markdown-formatted +document should be publishable as-is, as plain text, without looking +like it's been marked up with tags or formatting instructions. While +Markdown's syntax has been influenced by several existing text-to-HTML +filters -- including Setext, atx, Textile, reStructuredText, +Grutatext, and EtText -- the single biggest source of +inspiration for Markdown's syntax is the format of plain text email.

    + +

    To this end, Markdown's syntax is comprised entirely of punctuation +characters, which punctuation characters have been carefully chosen so +as to look like what they mean. E.g., asterisks around a word actually +look like *emphasis*. Markdown lists look like, well, lists. Even +blockquotes look like quoted passages of text, assuming you've ever +used email.

    + +

    Inline HTML

    + +

    Markdown's syntax is intended for one purpose: to be used as a +format for writing for the web.

    + +

    Markdown is not a replacement for HTML, or even close to it. Its +syntax is very small, corresponding only to a very small subset of +HTML tags. The idea is not to create a syntax that makes it easier +to insert HTML tags. In my opinion, HTML tags are already easy to +insert. The idea for Markdown is to make it easy to read, write, and +edit prose. HTML is a publishing format; Markdown is a writing +format. Thus, Markdown's formatting syntax only addresses issues that +can be conveyed in plain text.

    + +

    For any markup that is not covered by Markdown's syntax, you simply +use HTML itself. There's no need to preface it or delimit it to +indicate that you're switching from Markdown to HTML; you just use +the tags.

    + +

    The only restrictions are that block-level HTML elements -- e.g. <div>, +<table>, <pre>, <p>, etc. -- must be separated from surrounding +content by blank lines, and the start and end tags of the block should +not be indented with tabs or spaces. Markdown is smart enough not +to add extra (unwanted) <p> tags around HTML block-level tags.

    + +

    For example, to add an HTML table to a Markdown article:

    + +
    This is a regular paragraph.
    +
    +<table>
    +    <tr>
    +        <td>Foo</td>
    +    </tr>
    +</table>
    +
    +This is another regular paragraph.
    +
    + +

    Note that Markdown formatting syntax is not processed within block-level +HTML tags. E.g., you can't use Markdown-style *emphasis* inside an +HTML block.

    + +

    Span-level HTML tags -- e.g. <span>, <cite>, or <del> -- can be +used anywhere in a Markdown paragraph, list item, or header. If you +want, you can even use HTML tags instead of Markdown formatting; e.g. if +you'd prefer to use HTML <a> or <img> tags instead of Markdown's +link or image syntax, go right ahead.

    + +

    Unlike block-level HTML tags, Markdown syntax is processed within +span-level tags.

    + +

    Automatic Escaping for Special Characters

    + +

    In HTML, there are two characters that demand special treatment: < +and &. Left angle brackets are used to start tags; ampersands are +used to denote HTML entities. If you want to use them as literal +characters, you must escape them as entities, e.g. &lt;, and +&amp;.

    + +

    Ampersands in particular are bedeviling for web writers. If you want to +write about 'AT&T', you need to write 'AT&amp;T'. You even need to +escape ampersands within URLs. Thus, if you want to link to:

    + +
    http://images.google.com/images?num=30&q=larry+bird
    +
    + +

    you need to encode the URL as:

    + +
    http://images.google.com/images?num=30&amp;q=larry+bird
    +
    + +

    in your anchor tag href attribute. Needless to say, this is easy to +forget, and is probably the single most common source of HTML validation +errors in otherwise well-marked-up web sites.

    + +

    Markdown allows you to use these characters naturally, taking care of +all the necessary escaping for you. If you use an ampersand as part of +an HTML entity, it remains unchanged; otherwise it will be translated +into &amp;.

    + +

    So, if you want to include a copyright symbol in your article, you can write:

    + +
    &copy;
    +
    + +

    and Markdown will leave it alone. But if you write:

    + +
    AT&T
    +
    + +

    Markdown will translate it to:

    + +
    AT&amp;T
    +
    + +

    Similarly, because Markdown supports inline HTML, if you use +angle brackets as delimiters for HTML tags, Markdown will treat them as +such. But if you write:

    + +
    4 < 5
    +
    + +

    Markdown will translate it to:

    + +
    4 &lt; 5
    +
    + +

    However, inside Markdown code spans and blocks, angle brackets and +ampersands are always encoded automatically. This makes it easy to use +Markdown to write about HTML code. (As opposed to raw HTML, which is a +terrible format for writing about HTML syntax, because every single < +and & in your example code needs to be escaped.)

    + +
    + +

    Block Elements

    + +

    Paragraphs and Line Breaks

    + +

    A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing but spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs.

    + +

    The implication of the "one or more consecutive lines of text" rule is +that Markdown supports "hard-wrapped" text paragraphs. This differs +significantly from most other text-to-HTML formatters (including Movable +Type's "Convert Line Breaks" option) which translate every line break +character in a paragraph into a <br /> tag.

    + +

    When you do want to insert a <br /> break tag using Markdown, you +end a line with two or more spaces, then type return.

    + +

    Yes, this takes a tad more effort to create a <br />, but a simplistic +"every line break is a <br />" rule wouldn't work for Markdown. +Markdown's email-style blockquoting and multi-paragraph list items +work best -- and look better -- when you format them with hard breaks.

    + + + +

    Markdown supports two styles of headers, Setext and atx.

    + +

    Setext-style headers are "underlined" using equal signs (for first-level +headers) and dashes (for second-level headers). For example:

    + +
    This is an H1
    +=============
    +
    +This is an H2
    +-------------
    +
    + +

    Any number of underlining ='s or -'s will work.

    + +

    Atx-style headers use 1-6 hash characters at the start of the line, +corresponding to header levels 1-6. For example:

    + +
    # This is an H1
    +
    +## This is an H2
    +
    +###### This is an H6
    +
    + +

    Optionally, you may "close" atx-style headers. This is purely +cosmetic -- you can use this if you think it looks better. The +closing hashes don't even need to match the number of hashes +used to open the header. (The number of opening hashes +determines the header level.) :

    + +
    # This is an H1 #
    +
    +## This is an H2 ##
    +
    +### This is an H3 ######
    +
    + +

    Blockquotes

    + +

    Markdown uses email-style > characters for blockquoting. If you're +familiar with quoting passages of text in an email message, then you +know how to create a blockquote in Markdown. It looks best if you hard +wrap the text and put a > before every line:

    + +
    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
    +> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
    +> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
    +> 
    +> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
    +> id sem consectetuer libero luctus adipiscing.
    +
    + +

    Markdown allows you to be lazy and only put the > before the first +line of a hard-wrapped paragraph:

    + +
    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
    +consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
    +Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
    +
    +> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
    +id sem consectetuer libero luctus adipiscing.
    +
    + +

    Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by +adding additional levels of >:

    + +
    > This is the first level of quoting.
    +>
    +> > This is nested blockquote.
    +>
    +> Back to the first level.
    +
    + +

    Blockquotes can contain other Markdown elements, including headers, lists, +and code blocks:

    + +
    > ## This is a header.
    +> 
    +> 1.   This is the first list item.
    +> 2.   This is the second list item.
    +> 
    +> Here's some example code:
    +> 
    +>     return shell_exec("echo $input | $markdown_script");
    +
    + +

    Any decent text editor should make email-style quoting easy. For +example, with BBEdit, you can make a selection and choose Increase +Quote Level from the Text menu.

    + +

    Lists

    + +

    Markdown supports ordered (numbered) and unordered (bulleted) lists.

    + +

    Unordered lists use asterisks, pluses, and hyphens -- interchangably +-- as list markers:

    + +
    *   Red
    +*   Green
    +*   Blue
    +
    + +

    is equivalent to:

    + +
    +   Red
    ++   Green
    ++   Blue
    +
    + +

    and:

    + +
    -   Red
    +-   Green
    +-   Blue
    +
    + +

    Ordered lists use numbers followed by periods:

    + +
    1.  Bird
    +2.  McHale
    +3.  Parish
    +
    + +

    It's important to note that the actual numbers you use to mark the +list have no effect on the HTML output Markdown produces. The HTML +Markdown produces from the above list is:

    + +
    <ol>
    +<li>Bird</li>
    +<li>McHale</li>
    +<li>Parish</li>
    +</ol>
    +
    + +

    If you instead wrote the list in Markdown like this:

    + +
    1.  Bird
    +1.  McHale
    +1.  Parish
    +
    + +

    or even:

    + +
    3. Bird
    +1. McHale
    +8. Parish
    +
    + +

    you'd get the exact same HTML output. The point is, if you want to, +you can use ordinal numbers in your ordered Markdown lists, so that +the numbers in your source match the numbers in your published HTML. +But if you want to be lazy, you don't have to.

    + +

    If you do use lazy list numbering, however, you should still start the +list with the number 1. At some point in the future, Markdown may support +starting ordered lists at an arbitrary number.

    + +

    List markers typically start at the left margin, but may be indented by +up to three spaces. List markers must be followed by one or more spaces +or a tab.

    + +

    To make lists look nice, you can wrap items with hanging indents:

    + +
    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    +    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    +    viverra nec, fringilla in, laoreet vitae, risus.
    +*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    +    Suspendisse id sem consectetuer libero luctus adipiscing.
    +
    + +

    But if you want to be lazy, you don't have to:

    + +
    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    +Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    +viverra nec, fringilla in, laoreet vitae, risus.
    +*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    +Suspendisse id sem consectetuer libero luctus adipiscing.
    +
    + +

    If list items are separated by blank lines, Markdown will wrap the +items in <p> tags in the HTML output. For example, this input:

    + +
    *   Bird
    +*   Magic
    +
    + +

    will turn into:

    + +
    <ul>
    +<li>Bird</li>
    +<li>Magic</li>
    +</ul>
    +
    + +

    But this:

    + +
    *   Bird
    +
    +*   Magic
    +
    + +

    will turn into:

    + +
    <ul>
    +<li><p>Bird</p></li>
    +<li><p>Magic</p></li>
    +</ul>
    +
    + +

    List items may consist of multiple paragraphs. Each subsequent +paragraph in a list item must be intended by either 4 spaces +or one tab:

    + +
    1.  This is a list item with two paragraphs. Lorem ipsum dolor
    +    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    +    mi posuere lectus.
    +
    +    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    +    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    +    sit amet velit.
    +
    +2.  Suspendisse id sem consectetuer libero luctus adipiscing.
    +
    + +

    It looks nice if you indent every line of the subsequent +paragraphs, but here again, Markdown will allow you to be +lazy:

    + +
    *   This is a list item with two paragraphs.
    +
    +    This is the second paragraph in the list item. You're
    +only required to indent the first line. Lorem ipsum dolor
    +sit amet, consectetuer adipiscing elit.
    +
    +*   Another item in the same list.
    +
    + +

    To put a blockquote within a list item, the blockquote's > +delimiters need to be indented:

    + +
    *   A list item with a blockquote:
    +
    +    > This is a blockquote
    +    > inside a list item.
    +
    + +

    To put a code block within a list item, the code block needs +to be indented twice -- 8 spaces or two tabs:

    + +
    *   A list item with a code block:
    +
    +        <code goes here>
    +
    + +

    It's worth noting that it's possible to trigger an ordered list by +accident, by writing something like this:

    + +
    1986. What a great season.
    +
    + +

    In other words, a number-period-space sequence at the beginning of a +line. To avoid this, you can backslash-escape the period:

    + +
    1986\. What a great season.
    +
    + +

    Code Blocks

    + +

    Pre-formatted code blocks are used for writing about programming or +markup source code. Rather than forming normal paragraphs, the lines +of a code block are interpreted literally. Markdown wraps a code block +in both <pre> and <code> tags.

    + +

    To produce a code block in Markdown, simply indent every line of the +block by at least 4 spaces or 1 tab. For example, given this input:

    + +
    This is a normal paragraph:
    +
    +    This is a code block.
    +
    + +

    Markdown will generate:

    + +
    <p>This is a normal paragraph:</p>
    +
    +<pre><code>This is a code block.
    +</code></pre>
    +
    + +

    One level of indentation -- 4 spaces or 1 tab -- is removed from each +line of the code block. For example, this:

    + +
    Here is an example of AppleScript:
    +
    +    tell application "Foo"
    +        beep
    +    end tell
    +
    + +

    will turn into:

    + +
    <p>Here is an example of AppleScript:</p>
    +
    +<pre><code>tell application "Foo"
    +    beep
    +end tell
    +</code></pre>
    +
    + +

    A code block continues until it reaches a line that is not indented +(or the end of the article).

    + +

    Within a code block, ampersands (&) and angle brackets (< and >) +are automatically converted into HTML entities. This makes it very +easy to include example HTML source code using Markdown -- just paste +it and indent it, and Markdown will handle the hassle of encoding the +ampersands and angle brackets. For example, this:

    + +
        <div class="footer">
    +        &copy; 2004 Foo Corporation
    +    </div>
    +
    + +

    will turn into:

    + +
    <pre><code>&lt;div class="footer"&gt;
    +    &amp;copy; 2004 Foo Corporation
    +&lt;/div&gt;
    +</code></pre>
    +
    + +

    Regular Markdown syntax is not processed within code blocks. E.g., +asterisks are just literal asterisks within a code block. This means +it's also easy to use Markdown to write about Markdown's own syntax.

    + +

    Horizontal Rules

    + +

    You can produce a horizontal rule tag (<hr />) by placing three or +more hyphens, asterisks, or underscores on a line by themselves. If you +wish, you may use spaces between the hyphens or asterisks. Each of the +following lines will produce a horizontal rule:

    + +
    * * *
    +
    +***
    +
    +*****
    +
    +- - -
    +
    +---------------------------------------
    +
    +_ _ _
    +
    + +
    + +

    Span Elements

    + + + +

    Markdown supports two style of links: inline and reference.

    + +

    In both styles, the link text is delimited by [square brackets].

    + +

    To create an inline link, use a set of regular parentheses immediately +after the link text's closing square bracket. Inside the parentheses, +put the URL where you want the link to point, along with an optional +title for the link, surrounded in quotes. For example:

    + +
    This is [an example](http://example.com/ "Title") inline link.
    +
    +[This link](http://example.net/) has no title attribute.
    +
    + +

    Will produce:

    + +
    <p>This is <a href="http://example.com/" title="Title">
    +an example</a> inline link.</p>
    +
    +<p><a href="http://example.net/">This link</a> has no
    +title attribute.</p>
    +
    + +

    If you're referring to a local resource on the same server, you can +use relative paths:

    + +
    See my [About](/about/) page for details.
    +
    + +

    Reference-style links use a second set of square brackets, inside +which you place a label of your choosing to identify the link:

    + +
    This is [an example][id] reference-style link.
    +
    + +

    You can optionally use a space to separate the sets of brackets:

    + +
    This is [an example] [id] reference-style link.
    +
    + +

    Then, anywhere in the document, you define your link label like this, +on a line by itself:

    + +
    [id]: http://example.com/  "Optional Title Here"
    +
    + +

    That is:

    + +
      +
    • Square brackets containing the link identifier (optionally +indented from the left margin using up to three spaces);
    • +
    • followed by a colon;
    • +
    • followed by one or more spaces (or tabs);
    • +
    • followed by the URL for the link;
    • +
    • optionally followed by a title attribute for the link, enclosed +in double or single quotes.
    • +
    + +

    The link URL may, optionally, be surrounded by angle brackets:

    + +
    [id]: <http://example.com/>  "Optional Title Here"
    +
    + +

    You can put the title attribute on the next line and use extra spaces +or tabs for padding, which tends to look better with longer URLs:

    + +
    [id]: http://example.com/longish/path/to/resource/here
    +    "Optional Title Here"
    +
    + +

    Link definitions are only used for creating links during Markdown +processing, and are stripped from your document in the HTML output.

    + +

    Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are not case sensitive. E.g. these two links:

    + +
    [link text][a]
    +[link text][A]
    +
    + +

    are equivalent.

    + +

    The implicit link name shortcut allows you to omit the name of the +link, in which case the link text itself is used as the name. +Just use an empty set of square brackets -- e.g., to link the word +"Google" to the google.com web site, you could simply write:

    + +
    [Google][]
    +
    + +

    And then define the link:

    + +
    [Google]: http://google.com/
    +
    + +

    Because link names may contain spaces, this shortcut even works for +multiple words in the link text:

    + +
    Visit [Daring Fireball][] for more information.
    +
    + +

    And then define the link:

    + +
    [Daring Fireball]: http://daringfireball.net/
    +
    + +

    Link definitions can be placed anywhere in your Markdown document. I +tend to put them immediately after each paragraph in which they're +used, but if you want, you can put them all at the end of your +document, sort of like footnotes.

    + +

    Here's an example of reference links in action:

    + +
    I get 10 times more traffic from [Google] [1] than from
    +[Yahoo] [2] or [MSN] [3].
    +
    +  [1]: http://google.com/        "Google"
    +  [2]: http://search.yahoo.com/  "Yahoo Search"
    +  [3]: http://search.msn.com/    "MSN Search"
    +
    + +

    Using the implicit link name shortcut, you could instead write:

    + +
    I get 10 times more traffic from [Google][] than from
    +[Yahoo][] or [MSN][].
    +
    +  [google]: http://google.com/        "Google"
    +  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
    +  [msn]:    http://search.msn.com/    "MSN Search"
    +
    + +

    Both of the above examples will produce the following HTML output:

    + +
    <p>I get 10 times more traffic from <a href="http://google.com/"
    +title="Google">Google</a> than from
    +<a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
    +or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
    +
    + +

    For comparison, here is the same paragraph written using +Markdown's inline link style:

    + +
    I get 10 times more traffic from [Google](http://google.com/ "Google")
    +than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
    +[MSN](http://search.msn.com/ "MSN Search").
    +
    + +

    The point of reference-style links is not that they're easier to +write. The point is that with reference-style links, your document +source is vastly more readable. Compare the above examples: using +reference-style links, the paragraph itself is only 81 characters +long; with inline-style links, it's 176 characters; and as raw HTML, +it's 234 characters. In the raw HTML, there's more markup than there +is text.

    + +

    With Markdown's reference-style links, a source document much more +closely resembles the final output, as rendered in a browser. By +allowing you to move the markup-related metadata out of the paragraph, +you can add links without interrupting the narrative flow of your +prose.

    + +

    Emphasis

    + +

    Markdown treats asterisks (*) and underscores (_) as indicators of +emphasis. Text wrapped with one * or _ will be wrapped with an +HTML <em> tag; double *'s or _'s will be wrapped with an HTML +<strong> tag. E.g., this input:

    + +
    *single asterisks*
    +
    +_single underscores_
    +
    +**double asterisks**
    +
    +__double underscores__
    +
    + +

    will produce:

    + +
    <em>single asterisks</em>
    +
    +<em>single underscores</em>
    +
    +<strong>double asterisks</strong>
    +
    +<strong>double underscores</strong>
    +
    + +

    You can use whichever style you prefer; the lone restriction is that +the same character must be used to open and close an emphasis span.

    + +

    Emphasis can be used in the middle of a word:

    + +
    un*fucking*believable
    +
    + +

    But if you surround an * or _ with spaces, it'll be treated as a +literal asterisk or underscore.

    + +

    To produce a literal asterisk or underscore at a position where it +would otherwise be used as an emphasis delimiter, you can backslash +escape it:

    + +
    \*this text is surrounded by literal asterisks\*
    +
    + +

    Code

    + +

    To indicate a span of code, wrap it with backtick quotes (`). +Unlike a pre-formatted code block, a code span indicates code within a +normal paragraph. For example:

    + +
    Use the `printf()` function.
    +
    + +

    will produce:

    + +
    <p>Use the <code>printf()</code> function.</p>
    +
    + +

    To include a literal backtick character within a code span, you can use +multiple backticks as the opening and closing delimiters:

    + +
    ``There is a literal backtick (`) here.``
    +
    + +

    which will produce this:

    + +
    <p><code>There is a literal backtick (`) here.</code></p>
    +
    + +

    The backtick delimiters surrounding a code span may include spaces -- +one after the opening, one before the closing. This allows you to place +literal backtick characters at the beginning or end of a code span:

    + +
    A single backtick in a code span: `` ` ``
    +
    +A backtick-delimited string in a code span: `` `foo` ``
    +
    + +

    will produce:

    + +
    <p>A single backtick in a code span: <code>`</code></p>
    +
    +<p>A backtick-delimited string in a code span: <code>`foo`</code></p>
    +
    + +

    With a code span, ampersands and angle brackets are encoded as HTML +entities automatically, which makes it easy to include example HTML +tags. Markdown will turn this:

    + +
    Please don't use any `<blink>` tags.
    +
    + +

    into:

    + +
    <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>
    +
    + +

    You can write this:

    + +
    `&#8212;` is the decimal-encoded equivalent of `&mdash;`.
    +
    + +

    to produce:

    + +
    <p><code>&amp;#8212;</code> is the decimal-encoded
    +equivalent of <code>&amp;mdash;</code>.</p>
    +
    + +

    Images

    + +

    Admittedly, it's fairly difficult to devise a "natural" syntax for +placing images into a plain text document format.

    + +

    Markdown uses an image syntax that is intended to resemble the syntax +for links, allowing for two styles: inline and reference.

    + +

    Inline image syntax looks like this:

    + +
    ![Alt text](/path/to/img.jpg)
    +
    +![Alt text](/path/to/img.jpg "Optional title")
    +
    + +

    That is:

    + +
      +
    • An exclamation mark: !;
    • +
    • followed by a set of square brackets, containing the alt +attribute text for the image;
    • +
    • followed by a set of parentheses, containing the URL or path to +the image, and an optional title attribute enclosed in double +or single quotes.
    • +
    + +

    Reference-style image syntax looks like this:

    + +
    ![Alt text][id]
    +
    + +

    Where "id" is the name of a defined image reference. Image references +are defined using syntax identical to link references:

    + +
    [id]: url/to/image  "Optional title attribute"
    +
    + +

    As of this writing, Markdown has no syntax for specifying the +dimensions of an image; if this is important to you, you can simply +use regular HTML <img> tags.

    + +
    + +

    Miscellaneous

    + + + +

    Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:

    + +
    <http://example.com/>
    +
    + +

    Markdown will turn this into:

    + +
    <a href="http://example.com/">http://example.com/</a>
    +
    + +

    Automatic links for email addresses work similarly, except that +Markdown will also perform a bit of randomized decimal and hex +entity-encoding to help obscure your address from address-harvesting +spambots. For example, Markdown will turn this:

    + +
    <address@example.com>
    +
    + +

    into something like this:

    + +
    <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
    +&#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
    +&#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
    +&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>
    +
    + +

    which will render in a browser as a clickable link to "address@example.com".

    + +

    (This sort of entity-encoding trick will indeed fool many, if not +most, address-harvesting bots, but it definitely won't fool all of +them. It's better than nothing, but an address published in this way +will probably eventually start receiving spam.)

    + +

    Backslash Escapes

    + +

    Markdown allows you to use backslash escapes to generate literal +characters which would otherwise have special meaning in Markdown's +formatting syntax. For example, if you wanted to surround a word with +literal asterisks (instead of an HTML <em> tag), you can backslashes +before the asterisks, like this:

    + +
    \*literal asterisks\*
    +
    + +

    Markdown provides backslash escapes for the following characters:

    + +
    \   backslash
    +`   backtick
    +*   asterisk
    +_   underscore
    +{}  curly braces
    +[]  square brackets
    +()  parentheses
    +#   hash mark
    ++   plus sign
    +-   minus sign (hyphen)
    +.   dot
    +!   exclamation mark
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.text new file mode 100644 index 0000000..57360a1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/markdown_documentation_syntax.text @@ -0,0 +1,888 @@ +Markdown: Syntax +================ + + + + +* [Overview](#overview) + * [Philosophy](#philosophy) + * [Inline HTML](#html) + * [Automatic Escaping for Special Characters](#autoescape) +* [Block Elements](#block) + * [Paragraphs and Line Breaks](#p) + * [Headers](#header) + * [Blockquotes](#blockquote) + * [Lists](#list) + * [Code Blocks](#precode) + * [Horizontal Rules](#hr) +* [Span Elements](#span) + * [Links](#link) + * [Emphasis](#em) + * [Code](#code) + * [Images](#img) +* [Miscellaneous](#misc) + * [Backslash Escapes](#backslash) + * [Automatic Links](#autolink) + + +**Note:** This document is itself written using Markdown; you +can [see the source for it by adding '.text' to the URL][src]. + + [src]: /projects/markdown/syntax.text + +* * * + +

    Overview

    + +

    Philosophy

    + +Markdown is intended to be as easy-to-read and easy-to-write as is feasible. + +Readability, however, is emphasized above all else. A Markdown-formatted +document should be publishable as-is, as plain text, without looking +like it's been marked up with tags or formatting instructions. While +Markdown's syntax has been influenced by several existing text-to-HTML +filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4], +[Grutatext] [5], and [EtText] [6] -- the single biggest source of +inspiration for Markdown's syntax is the format of plain text email. + + [1]: http://docutils.sourceforge.net/mirror/setext.html + [2]: http://www.aaronsw.com/2002/atx/ + [3]: http://textism.com/tools/textile/ + [4]: http://docutils.sourceforge.net/rst.html + [5]: http://www.triptico.com/software/grutatxt.html + [6]: http://ettext.taint.org/doc/ + +To this end, Markdown's syntax is comprised entirely of punctuation +characters, which punctuation characters have been carefully chosen so +as to look like what they mean. E.g., asterisks around a word actually +look like \*emphasis\*. Markdown lists look like, well, lists. Even +blockquotes look like quoted passages of text, assuming you've ever +used email. + + + +

    Inline HTML

    + +Markdown's syntax is intended for one purpose: to be used as a +format for *writing* for the web. + +Markdown is not a replacement for HTML, or even close to it. Its +syntax is very small, corresponding only to a very small subset of +HTML tags. The idea is *not* to create a syntax that makes it easier +to insert HTML tags. In my opinion, HTML tags are already easy to +insert. The idea for Markdown is to make it easy to read, write, and +edit prose. HTML is a *publishing* format; Markdown is a *writing* +format. Thus, Markdown's formatting syntax only addresses issues that +can be conveyed in plain text. + +For any markup that is not covered by Markdown's syntax, you simply +use HTML itself. There's no need to preface it or delimit it to +indicate that you're switching from Markdown to HTML; you just use +the tags. + +The only restrictions are that block-level HTML elements -- e.g. `
    `, +``, `
    `, `

    `, etc. -- must be separated from surrounding +content by blank lines, and the start and end tags of the block should +not be indented with tabs or spaces. Markdown is smart enough not +to add extra (unwanted) `

    ` tags around HTML block-level tags. + +For example, to add an HTML table to a Markdown article: + + This is a regular paragraph. + +

    + + + +
    Foo
    + + This is another regular paragraph. + +Note that Markdown formatting syntax is not processed within block-level +HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an +HTML block. + +Span-level HTML tags -- e.g. ``, ``, or `` -- can be +used anywhere in a Markdown paragraph, list item, or header. If you +want, you can even use HTML tags instead of Markdown formatting; e.g. if +you'd prefer to use HTML `` or `` tags instead of Markdown's +link or image syntax, go right ahead. + +Unlike block-level HTML tags, Markdown syntax *is* processed within +span-level tags. + + +

    Automatic Escaping for Special Characters

    + +In HTML, there are two characters that demand special treatment: `<` +and `&`. Left angle brackets are used to start tags; ampersands are +used to denote HTML entities. If you want to use them as literal +characters, you must escape them as entities, e.g. `<`, and +`&`. + +Ampersands in particular are bedeviling for web writers. If you want to +write about 'AT&T', you need to write '`AT&T`'. You even need to +escape ampersands within URLs. Thus, if you want to link to: + + http://images.google.com/images?num=30&q=larry+bird + +you need to encode the URL as: + + http://images.google.com/images?num=30&q=larry+bird + +in your anchor tag `href` attribute. Needless to say, this is easy to +forget, and is probably the single most common source of HTML validation +errors in otherwise well-marked-up web sites. + +Markdown allows you to use these characters naturally, taking care of +all the necessary escaping for you. If you use an ampersand as part of +an HTML entity, it remains unchanged; otherwise it will be translated +into `&`. + +So, if you want to include a copyright symbol in your article, you can write: + + © + +and Markdown will leave it alone. But if you write: + + AT&T + +Markdown will translate it to: + + AT&T + +Similarly, because Markdown supports [inline HTML](#html), if you use +angle brackets as delimiters for HTML tags, Markdown will treat them as +such. But if you write: + + 4 < 5 + +Markdown will translate it to: + + 4 < 5 + +However, inside Markdown code spans and blocks, angle brackets and +ampersands are *always* encoded automatically. This makes it easy to use +Markdown to write about HTML code. (As opposed to raw HTML, which is a +terrible format for writing about HTML syntax, because every single `<` +and `&` in your example code needs to be escaped.) + + +* * * + + +

    Block Elements

    + + +

    Paragraphs and Line Breaks

    + +A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing but spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs. + +The implication of the "one or more consecutive lines of text" rule is +that Markdown supports "hard-wrapped" text paragraphs. This differs +significantly from most other text-to-HTML formatters (including Movable +Type's "Convert Line Breaks" option) which translate every line break +character in a paragraph into a `
    ` tag. + +When you *do* want to insert a `
    ` break tag using Markdown, you +end a line with two or more spaces, then type return. + +Yes, this takes a tad more effort to create a `
    `, but a simplistic +"every line break is a `
    `" rule wouldn't work for Markdown. +Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l] +work best -- and look better -- when you format them with hard breaks. + + [bq]: #blockquote + [l]: #list + + + + + +Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. + +Setext-style headers are "underlined" using equal signs (for first-level +headers) and dashes (for second-level headers). For example: + + This is an H1 + ============= + + This is an H2 + ------------- + +Any number of underlining `=`'s or `-`'s will work. + +Atx-style headers use 1-6 hash characters at the start of the line, +corresponding to header levels 1-6. For example: + + # This is an H1 + + ## This is an H2 + + ###### This is an H6 + +Optionally, you may "close" atx-style headers. This is purely +cosmetic -- you can use this if you think it looks better. The +closing hashes don't even need to match the number of hashes +used to open the header. (The number of opening hashes +determines the header level.) : + + # This is an H1 # + + ## This is an H2 ## + + ### This is an H3 ###### + + +

    Blockquotes

    + +Markdown uses email-style `>` characters for blockquoting. If you're +familiar with quoting passages of text in an email message, then you +know how to create a blockquote in Markdown. It looks best if you hard +wrap the text and put a `>` before every line: + + > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, + > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. + > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. + > + > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse + > id sem consectetuer libero luctus adipiscing. + +Markdown allows you to be lazy and only put the `>` before the first +line of a hard-wrapped paragraph: + + > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, + consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. + Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. + + > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse + id sem consectetuer libero luctus adipiscing. + +Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by +adding additional levels of `>`: + + > This is the first level of quoting. + > + > > This is nested blockquote. + > + > Back to the first level. + +Blockquotes can contain other Markdown elements, including headers, lists, +and code blocks: + + > ## This is a header. + > + > 1. This is the first list item. + > 2. This is the second list item. + > + > Here's some example code: + > + > return shell_exec("echo $input | $markdown_script"); + +Any decent text editor should make email-style quoting easy. For +example, with BBEdit, you can make a selection and choose Increase +Quote Level from the Text menu. + + +

    Lists

    + +Markdown supports ordered (numbered) and unordered (bulleted) lists. + +Unordered lists use asterisks, pluses, and hyphens -- interchangably +-- as list markers: + + * Red + * Green + * Blue + +is equivalent to: + + + Red + + Green + + Blue + +and: + + - Red + - Green + - Blue + +Ordered lists use numbers followed by periods: + + 1. Bird + 2. McHale + 3. Parish + +It's important to note that the actual numbers you use to mark the +list have no effect on the HTML output Markdown produces. The HTML +Markdown produces from the above list is: + +
      +
    1. Bird
    2. +
    3. McHale
    4. +
    5. Parish
    6. +
    + +If you instead wrote the list in Markdown like this: + + 1. Bird + 1. McHale + 1. Parish + +or even: + + 3. Bird + 1. McHale + 8. Parish + +you'd get the exact same HTML output. The point is, if you want to, +you can use ordinal numbers in your ordered Markdown lists, so that +the numbers in your source match the numbers in your published HTML. +But if you want to be lazy, you don't have to. + +If you do use lazy list numbering, however, you should still start the +list with the number 1. At some point in the future, Markdown may support +starting ordered lists at an arbitrary number. + +List markers typically start at the left margin, but may be indented by +up to three spaces. List markers must be followed by one or more spaces +or a tab. + +To make lists look nice, you can wrap items with hanging indents: + + * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, + viverra nec, fringilla in, laoreet vitae, risus. + * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. + Suspendisse id sem consectetuer libero luctus adipiscing. + +But if you want to be lazy, you don't have to: + + * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, + viverra nec, fringilla in, laoreet vitae, risus. + * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. + Suspendisse id sem consectetuer libero luctus adipiscing. + +If list items are separated by blank lines, Markdown will wrap the +items in `

    ` tags in the HTML output. For example, this input: + + * Bird + * Magic + +will turn into: + +

      +
    • Bird
    • +
    • Magic
    • +
    + +But this: + + * Bird + + * Magic + +will turn into: + +
      +
    • Bird

    • +
    • Magic

    • +
    + +List items may consist of multiple paragraphs. Each subsequent +paragraph in a list item must be intended by either 4 spaces +or one tab: + + 1. This is a list item with two paragraphs. Lorem ipsum dolor + sit amet, consectetuer adipiscing elit. Aliquam hendrerit + mi posuere lectus. + + Vestibulum enim wisi, viverra nec, fringilla in, laoreet + vitae, risus. Donec sit amet nisl. Aliquam semper ipsum + sit amet velit. + + 2. Suspendisse id sem consectetuer libero luctus adipiscing. + +It looks nice if you indent every line of the subsequent +paragraphs, but here again, Markdown will allow you to be +lazy: + + * This is a list item with two paragraphs. + + This is the second paragraph in the list item. You're + only required to indent the first line. Lorem ipsum dolor + sit amet, consectetuer adipiscing elit. + + * Another item in the same list. + +To put a blockquote within a list item, the blockquote's `>` +delimiters need to be indented: + + * A list item with a blockquote: + + > This is a blockquote + > inside a list item. + +To put a code block within a list item, the code block needs +to be indented *twice* -- 8 spaces or two tabs: + + * A list item with a code block: + + + + +It's worth noting that it's possible to trigger an ordered list by +accident, by writing something like this: + + 1986. What a great season. + +In other words, a *number-period-space* sequence at the beginning of a +line. To avoid this, you can backslash-escape the period: + + 1986\. What a great season. + + + +

    Code Blocks

    + +Pre-formatted code blocks are used for writing about programming or +markup source code. Rather than forming normal paragraphs, the lines +of a code block are interpreted literally. Markdown wraps a code block +in both `
    ` and `` tags.
    +
    +To produce a code block in Markdown, simply indent every line of the
    +block by at least 4 spaces or 1 tab. For example, given this input:
    +
    +    This is a normal paragraph:
    +
    +        This is a code block.
    +
    +Markdown will generate:
    +
    +    

    This is a normal paragraph:

    + +
    This is a code block.
    +    
    + +One level of indentation -- 4 spaces or 1 tab -- is removed from each +line of the code block. For example, this: + + Here is an example of AppleScript: + + tell application "Foo" + beep + end tell + +will turn into: + +

    Here is an example of AppleScript:

    + +
    tell application "Foo"
    +        beep
    +    end tell
    +    
    + +A code block continues until it reaches a line that is not indented +(or the end of the article). + +Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) +are automatically converted into HTML entities. This makes it very +easy to include example HTML source code using Markdown -- just paste +it and indent it, and Markdown will handle the hassle of encoding the +ampersands and angle brackets. For example, this: + + + +will turn into: + +
    <div class="footer">
    +        &copy; 2004 Foo Corporation
    +    </div>
    +    
    + +Regular Markdown syntax is not processed within code blocks. E.g., +asterisks are just literal asterisks within a code block. This means +it's also easy to use Markdown to write about Markdown's own syntax. + + + +

    Horizontal Rules

    + +You can produce a horizontal rule tag (`
    `) by placing three or +more hyphens, asterisks, or underscores on a line by themselves. If you +wish, you may use spaces between the hyphens or asterisks. Each of the +following lines will produce a horizontal rule: + + * * * + + *** + + ***** + + - - - + + --------------------------------------- + + _ _ _ + + +* * * + +

    Span Elements

    + + + +Markdown supports two style of links: *inline* and *reference*. + +In both styles, the link text is delimited by [square brackets]. + +To create an inline link, use a set of regular parentheses immediately +after the link text's closing square bracket. Inside the parentheses, +put the URL where you want the link to point, along with an *optional* +title for the link, surrounded in quotes. For example: + + This is [an example](http://example.com/ "Title") inline link. + + [This link](http://example.net/) has no title attribute. + +Will produce: + +

    This is + an example inline link.

    + +

    This link has no + title attribute.

    + +If you're referring to a local resource on the same server, you can +use relative paths: + + See my [About](/about/) page for details. + +Reference-style links use a second set of square brackets, inside +which you place a label of your choosing to identify the link: + + This is [an example][id] reference-style link. + +You can optionally use a space to separate the sets of brackets: + + This is [an example] [id] reference-style link. + +Then, anywhere in the document, you define your link label like this, +on a line by itself: + + [id]: http://example.com/ "Optional Title Here" + +That is: + +* Square brackets containing the link identifier (optionally + indented from the left margin using up to three spaces); +* followed by a colon; +* followed by one or more spaces (or tabs); +* followed by the URL for the link; +* optionally followed by a title attribute for the link, enclosed + in double or single quotes. + +The link URL may, optionally, be surrounded by angle brackets: + + [id]: "Optional Title Here" + +You can put the title attribute on the next line and use extra spaces +or tabs for padding, which tends to look better with longer URLs: + + [id]: http://example.com/longish/path/to/resource/here + "Optional Title Here" + +Link definitions are only used for creating links during Markdown +processing, and are stripped from your document in the HTML output. + +Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links: + + [link text][a] + [link text][A] + +are equivalent. + +The *implicit link name* shortcut allows you to omit the name of the +link, in which case the link text itself is used as the name. +Just use an empty set of square brackets -- e.g., to link the word +"Google" to the google.com web site, you could simply write: + + [Google][] + +And then define the link: + + [Google]: http://google.com/ + +Because link names may contain spaces, this shortcut even works for +multiple words in the link text: + + Visit [Daring Fireball][] for more information. + +And then define the link: + + [Daring Fireball]: http://daringfireball.net/ + +Link definitions can be placed anywhere in your Markdown document. I +tend to put them immediately after each paragraph in which they're +used, but if you want, you can put them all at the end of your +document, sort of like footnotes. + +Here's an example of reference links in action: + + I get 10 times more traffic from [Google] [1] than from + [Yahoo] [2] or [MSN] [3]. + + [1]: http://google.com/ "Google" + [2]: http://search.yahoo.com/ "Yahoo Search" + [3]: http://search.msn.com/ "MSN Search" + +Using the implicit link name shortcut, you could instead write: + + I get 10 times more traffic from [Google][] than from + [Yahoo][] or [MSN][]. + + [google]: http://google.com/ "Google" + [yahoo]: http://search.yahoo.com/ "Yahoo Search" + [msn]: http://search.msn.com/ "MSN Search" + +Both of the above examples will produce the following HTML output: + +

    I get 10 times more traffic from Google than from + Yahoo + or MSN.

    + +For comparison, here is the same paragraph written using +Markdown's inline link style: + + I get 10 times more traffic from [Google](http://google.com/ "Google") + than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or + [MSN](http://search.msn.com/ "MSN Search"). + +The point of reference-style links is not that they're easier to +write. The point is that with reference-style links, your document +source is vastly more readable. Compare the above examples: using +reference-style links, the paragraph itself is only 81 characters +long; with inline-style links, it's 176 characters; and as raw HTML, +it's 234 characters. In the raw HTML, there's more markup than there +is text. + +With Markdown's reference-style links, a source document much more +closely resembles the final output, as rendered in a browser. By +allowing you to move the markup-related metadata out of the paragraph, +you can add links without interrupting the narrative flow of your +prose. + + +

    Emphasis

    + +Markdown treats asterisks (`*`) and underscores (`_`) as indicators of +emphasis. Text wrapped with one `*` or `_` will be wrapped with an +HTML `` tag; double `*`'s or `_`'s will be wrapped with an HTML +`` tag. E.g., this input: + + *single asterisks* + + _single underscores_ + + **double asterisks** + + __double underscores__ + +will produce: + + single asterisks + + single underscores + + double asterisks + + double underscores + +You can use whichever style you prefer; the lone restriction is that +the same character must be used to open and close an emphasis span. + +Emphasis can be used in the middle of a word: + + un*fucking*believable + +But if you surround an `*` or `_` with spaces, it'll be treated as a +literal asterisk or underscore. + +To produce a literal asterisk or underscore at a position where it +would otherwise be used as an emphasis delimiter, you can backslash +escape it: + + \*this text is surrounded by literal asterisks\* + + + +

    Code

    + +To indicate a span of code, wrap it with backtick quotes (`` ` ``). +Unlike a pre-formatted code block, a code span indicates code within a +normal paragraph. For example: + + Use the `printf()` function. + +will produce: + +

    Use the printf() function.

    + +To include a literal backtick character within a code span, you can use +multiple backticks as the opening and closing delimiters: + + ``There is a literal backtick (`) here.`` + +which will produce this: + +

    There is a literal backtick (`) here.

    + +The backtick delimiters surrounding a code span may include spaces -- +one after the opening, one before the closing. This allows you to place +literal backtick characters at the beginning or end of a code span: + + A single backtick in a code span: `` ` `` + + A backtick-delimited string in a code span: `` `foo` `` + +will produce: + +

    A single backtick in a code span: `

    + +

    A backtick-delimited string in a code span: `foo`

    + +With a code span, ampersands and angle brackets are encoded as HTML +entities automatically, which makes it easy to include example HTML +tags. Markdown will turn this: + + Please don't use any `` tags. + +into: + +

    Please don't use any <blink> tags.

    + +You can write this: + + `—` is the decimal-encoded equivalent of `—`. + +to produce: + +

    &#8212; is the decimal-encoded + equivalent of &mdash;.

    + + + +

    Images

    + +Admittedly, it's fairly difficult to devise a "natural" syntax for +placing images into a plain text document format. + +Markdown uses an image syntax that is intended to resemble the syntax +for links, allowing for two styles: *inline* and *reference*. + +Inline image syntax looks like this: + + ![Alt text](/path/to/img.jpg) + + ![Alt text](/path/to/img.jpg "Optional title") + +That is: + +* An exclamation mark: `!`; +* followed by a set of square brackets, containing the `alt` + attribute text for the image; +* followed by a set of parentheses, containing the URL or path to + the image, and an optional `title` attribute enclosed in double + or single quotes. + +Reference-style image syntax looks like this: + + ![Alt text][id] + +Where "id" is the name of a defined image reference. Image references +are defined using syntax identical to link references: + + [id]: url/to/image "Optional title attribute" + +As of this writing, Markdown has no syntax for specifying the +dimensions of an image; if this is important to you, you can simply +use regular HTML `` tags. + + +* * * + + +

    Miscellaneous

    + + + +Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this: + + + +Markdown will turn this into: + + http://example.com/ + +Automatic links for email addresses work similarly, except that +Markdown will also perform a bit of randomized decimal and hex +entity-encoding to help obscure your address from address-harvesting +spambots. For example, Markdown will turn this: + + + +into something like this: + + address@exa + mple.com + +which will render in a browser as a clickable link to "address@example.com". + +(This sort of entity-encoding trick will indeed fool many, if not +most, address-harvesting bots, but it definitely won't fool all of +them. It's better than nothing, but an address published in this way +will probably eventually start receiving spam.) + + + +

    Backslash Escapes

    + +Markdown allows you to use backslash escapes to generate literal +characters which would otherwise have special meaning in Markdown's +formatting syntax. For example, if you wanted to surround a word with +literal asterisks (instead of an HTML `` tag), you can backslashes +before the asterisks, like this: + + \*literal asterisks\* + +Markdown provides backslash escapes for the following characters: + + \ backslash + ` backtick + * asterisk + _ underscore + {} curly braces + [] square brackets + () parentheses + # hash mark + + plus sign + - minus sign (hyphen) + . dot + ! exclamation mark + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.html new file mode 100644 index 0000000..d8ec7f8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.html @@ -0,0 +1,9 @@ +
    +

    foo

    + +
    +

    bar

    +
    + +

    foo

    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.text new file mode 100644 index 0000000..ed3c624 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/nested_blockquotes.text @@ -0,0 +1,5 @@ +> foo +> +> > bar +> +> foo diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.html new file mode 100644 index 0000000..ba71eab --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.html @@ -0,0 +1,148 @@ +

    Unordered

    + +

    Asterisks tight:

    + +
      +
    • asterisk 1
    • +
    • asterisk 2
    • +
    • asterisk 3
    • +
    + +

    Asterisks loose:

    + +
      +
    • asterisk 1

    • +
    • asterisk 2

    • +
    • asterisk 3

    • +
    + +
    + +

    Pluses tight:

    + +
      +
    • Plus 1
    • +
    • Plus 2
    • +
    • Plus 3
    • +
    + +

    Pluses loose:

    + +
      +
    • Plus 1

    • +
    • Plus 2

    • +
    • Plus 3

    • +
    + +
    + +

    Minuses tight:

    + +
      +
    • Minus 1
    • +
    • Minus 2
    • +
    • Minus 3
    • +
    + +

    Minuses loose:

    + +
      +
    • Minus 1

    • +
    • Minus 2

    • +
    • Minus 3

    • +
    + +

    Ordered

    + +

    Tight:

    + +
      +
    1. First
    2. +
    3. Second
    4. +
    5. Third
    6. +
    + +

    and:

    + +
      +
    1. One
    2. +
    3. Two
    4. +
    5. Three
    6. +
    + +

    Loose using tabs:

    + +
      +
    1. First

    2. +
    3. Second

    4. +
    5. Third

    6. +
    + +

    and using spaces:

    + +
      +
    1. One

    2. +
    3. Two

    4. +
    5. Three

    6. +
    + +

    Multiple paragraphs:

    + +
      +
    1. Item 1, graf one.

      + +

      Item 2. graf two. The quick brown fox jumped over the lazy dog's +back.

    2. +
    3. Item 2.

    4. +
    5. Item 3.

    6. +
    + +

    Nested

    + +
      +
    • Tab +
        +
      • Tab +
          +
        • Tab
        • +
      • +
    • +
    + +

    Here's another:

    + +
      +
    1. First
    2. +
    3. Second: +
        +
      • Fee
      • +
      • Fie
      • +
      • Foe
      • +
    4. +
    5. Third
    6. +
    + +

    Same thing but with paragraphs:

    + +
      +
    1. First

    2. +
    3. Second:

      + +
        +
      • Fee
      • +
      • Fie
      • +
      • Foe
      • +
    4. +
    5. Third

    6. +
    + + +

    This was an error in Markdown 1.0.1:

    + +
      +
    • this

      + +
      • sub
      + +

      that

    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.text new file mode 100644 index 0000000..7f3b497 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/ordered_and_unordered_lists.text @@ -0,0 +1,131 @@ +## Unordered + +Asterisks tight: + +* asterisk 1 +* asterisk 2 +* asterisk 3 + + +Asterisks loose: + +* asterisk 1 + +* asterisk 2 + +* asterisk 3 + +* * * + +Pluses tight: + ++ Plus 1 ++ Plus 2 ++ Plus 3 + + +Pluses loose: + ++ Plus 1 + ++ Plus 2 + ++ Plus 3 + +* * * + + +Minuses tight: + +- Minus 1 +- Minus 2 +- Minus 3 + + +Minuses loose: + +- Minus 1 + +- Minus 2 + +- Minus 3 + + +## Ordered + +Tight: + +1. First +2. Second +3. Third + +and: + +1. One +2. Two +3. Three + + +Loose using tabs: + +1. First + +2. Second + +3. Third + +and using spaces: + +1. One + +2. Two + +3. Three + +Multiple paragraphs: + +1. Item 1, graf one. + + Item 2. graf two. The quick brown fox jumped over the lazy dog's + back. + +2. Item 2. + +3. Item 3. + + + +## Nested + +* Tab + * Tab + * Tab + +Here's another: + +1. First +2. Second: + * Fee + * Fie + * Foe +3. Third + +Same thing but with paragraphs: + +1. First + +2. Second: + * Fee + * Fie + * Foe + +3. Third + + +This was an error in Markdown 1.0.1: + +* this + + * sub + + that diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.html new file mode 100644 index 0000000..71ec78c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.html @@ -0,0 +1,7 @@ +

    This is strong and em.

    + +

    So is this word.

    + +

    This is strong and em.

    + +

    So is this word.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.text new file mode 100644 index 0000000..95ee690 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/strong_and_em_together.text @@ -0,0 +1,7 @@ +***This is strong and em.*** + +So is ***this*** word. + +___This is strong and em.___ + +So is ___this___ word. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.html new file mode 100644 index 0000000..3301ba8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.html @@ -0,0 +1,25 @@ +
      +
    • this is a list item +indented with tabs

    • +
    • this is a list item +indented with spaces

    • +
    + +

    Code:

    + +
    this code block is indented by one tab
    +
    + +

    And:

    + +
        this code block is indented by two tabs
    +
    + +

    And:

    + +
    +   this is an example list item
    +    indented with tabs
    +
    ++   this is an example list item
    +    indented with spaces
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.text new file mode 100644 index 0000000..589d113 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tabs.text @@ -0,0 +1,21 @@ ++ this is a list item + indented with tabs + ++ this is a list item + indented with spaces + +Code: + + this code block is indented by one tab + +And: + + this code block is indented by two tabs + +And: + + + this is an example list item + indented with tabs + + + this is an example list item + indented with spaces diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.html new file mode 100644 index 0000000..f2a8ce7 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.html @@ -0,0 +1,8 @@ +
    +

    A list within a blockquote:

    +
      +
    • asterisk 1
    • +
    • asterisk 2
    • +
    • asterisk 3
    • +
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.text new file mode 100644 index 0000000..5f18b8d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/original/tidyness.text @@ -0,0 +1,5 @@ +> A list within a blockquote: +> +> * asterisk 1 +> * asterisk 2 +> * asterisk 3 diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.html new file mode 100644 index 0000000..93c1db5 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.html @@ -0,0 +1,17 @@ +

    AT&T has an ampersand in their name.

    + +

    AT&T is another way to write it.

    + +

    This & that.

    + +

    4 < 5.

    + +

    6 > 5.

    + +

    Here's a link with an ampersand in the URL.

    + +

    Here's a link with an amersand in the link text: AT&T.

    + +

    Here's an inline link.

    + +

    Here's an inline link.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.text new file mode 100644 index 0000000..89ec3ae --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/amps_and_angles_encoding.text @@ -0,0 +1,21 @@ +AT&T has an ampersand in their name. + +AT&T is another way to write it. + +This & that. + +4 < 5. + +6 > 5. + +Here's a [link] [1] with an ampersand in the URL. + +Here's a link with an amersand in the link text: [AT&T] [2]. + +Here's an inline [link](/script?foo=1&bar=2). + +Here's an inline [link](). + + +[1]: http://example.com/?foo=1&bar=2 +[2]: http://att.com/ "AT&T" diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.html new file mode 100644 index 0000000..f8df985 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.html @@ -0,0 +1,18 @@ +

    Link: http://example.com/.

    + +

    With an ampersand: http://example.com/?foo=1&bar=2

    + + + +
    +

    Blockquoted: http://example.com/

    +
    + +

    Auto-links should not occur here: <http://example.com/>

    + +
    or here: <http://example.com/>
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.text new file mode 100644 index 0000000..f85767b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/auto_links.text @@ -0,0 +1,13 @@ +Link: . + +With an ampersand: + +* In a list? +* +* It should. + +> Blockquoted: + +Auto-links should not occur here: `` + + or here: diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.html new file mode 100644 index 0000000..aa2bed4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.html @@ -0,0 +1,3 @@ +

    hello world +http://example.com +

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.text new file mode 100644 index 0000000..c9b61a2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/autolink_lines.text @@ -0,0 +1,2 @@ +hello world + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.html new file mode 100644 index 0000000..c7f0e5e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.html @@ -0,0 +1,118 @@ +

    These should all get escaped:

    + +

    Backslash: \

    + +

    Backtick: `

    + +

    Asterisk: *

    + +

    Underscore: _

    + +

    Left brace: {

    + +

    Right brace: }

    + +

    Left bracket: [

    + +

    Right bracket: ]

    + +

    Left paren: (

    + +

    Right paren: )

    + +

    Greater-than: >

    + +

    Hash: #

    + +

    Period: .

    + +

    Bang: !

    + +

    Plus: +

    + +

    Minus: -

    + +

    These should not, because they occur within a code block:

    + +
    Backslash: \\
    +
    +Backtick: \`
    +
    +Asterisk: \*
    +
    +Underscore: \_
    +
    +Left brace: \{
    +
    +Right brace: \}
    +
    +Left bracket: \[
    +
    +Right bracket: \]
    +
    +Left paren: \(
    +
    +Right paren: \)
    +
    +Greater-than: \>
    +
    +Hash: \#
    +
    +Period: \.
    +
    +Bang: \!
    +
    +Plus: \+
    +
    +Minus: \-
    +
    + +

    Nor should these, which occur in code spans:

    + +

    Backslash: \\

    + +

    Backtick: \`

    + +

    Asterisk: \*

    + +

    Underscore: \_

    + +

    Left brace: \{

    + +

    Right brace: \}

    + +

    Left bracket: \[

    + +

    Right bracket: \]

    + +

    Left paren: \(

    + +

    Right paren: \)

    + +

    Greater-than: \>

    + +

    Hash: \#

    + +

    Period: \.

    + +

    Bang: \!

    + +

    Plus: \+

    + +

    Minus: \-

    + + +

    These should get escaped, even though they're matching pairs for +other Markdown constructs:

    + +

    *asterisks*

    + +

    _underscores_

    + +

    `backticks`

    + +

    This is a code span with a literal backslash-backtick sequence: \`

    + +

    This is a tag with unescaped backticks bar.

    + +

    This is a tag with backslashes bar.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.text new file mode 100644 index 0000000..5b014cb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/backslash_escapes.text @@ -0,0 +1,120 @@ +These should all get escaped: + +Backslash: \\ + +Backtick: \` + +Asterisk: \* + +Underscore: \_ + +Left brace: \{ + +Right brace: \} + +Left bracket: \[ + +Right bracket: \] + +Left paren: \( + +Right paren: \) + +Greater-than: \> + +Hash: \# + +Period: \. + +Bang: \! + +Plus: \+ + +Minus: \- + + + +These should not, because they occur within a code block: + + Backslash: \\ + + Backtick: \` + + Asterisk: \* + + Underscore: \_ + + Left brace: \{ + + Right brace: \} + + Left bracket: \[ + + Right bracket: \] + + Left paren: \( + + Right paren: \) + + Greater-than: \> + + Hash: \# + + Period: \. + + Bang: \! + + Plus: \+ + + Minus: \- + + +Nor should these, which occur in code spans: + +Backslash: `\\` + +Backtick: `` \` `` + +Asterisk: `\*` + +Underscore: `\_` + +Left brace: `\{` + +Right brace: `\}` + +Left bracket: `\[` + +Right bracket: `\]` + +Left paren: `\(` + +Right paren: `\)` + +Greater-than: `\>` + +Hash: `\#` + +Period: `\.` + +Bang: `\!` + +Plus: `\+` + +Minus: `\-` + + +These should get escaped, even though they're matching pairs for +other Markdown constructs: + +\*asterisks\* + +\_underscores\_ + +\`backticks\` + +This is a code span with a literal backslash-backtick sequence: `` \` `` + +This is a tag with unescaped backticks bar. + +This is a tag with backslashes bar. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.html new file mode 100644 index 0000000..83cf0bd --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.html @@ -0,0 +1,3 @@ +

    This fails in markdown.pl and upskirt:

    + +
    • hello

      world

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.text new file mode 100644 index 0000000..19e9382 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquote_list_item.text @@ -0,0 +1,4 @@ +This fails in markdown.pl and upskirt: + +* hello + > world diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.html new file mode 100644 index 0000000..38ee5f0 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.html @@ -0,0 +1,15 @@ +
    +

    Example:

    + +
    sub status {
    +    print "working";
    +}
    +
    + +

    Or:

    + +
    sub status {
    +    return "working";
    +}
    +
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.text new file mode 100644 index 0000000..c31d171 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/blockquotes_with_code_blocks.text @@ -0,0 +1,11 @@ +> Example: +> +> sub status { +> print "working"; +> } +> +> Or: +> +> sub status { +> return "working"; +> } diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.html new file mode 100644 index 0000000..c54388e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.html @@ -0,0 +1 @@ +

    hi

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.text new file mode 100644 index 0000000..598915a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/case_insensitive_refs.text @@ -0,0 +1,3 @@ +[hi] + +[HI]: /url diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.html new file mode 100644 index 0000000..32703f5 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.html @@ -0,0 +1,18 @@ +
    code block on the first line
    +
    + +

    Regular text.

    + +
    code block indented by spaces
    +
    + +

    Regular text.

    + +
    the lines in this block  
    +all contain trailing spaces  
    +
    + +

    Regular Text.

    + +
    code block on the last line
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.text new file mode 100644 index 0000000..01f9a73 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_blocks.text @@ -0,0 +1,14 @@ + code block on the first line + +Regular text. + + code block indented by spaces + +Regular text. + + the lines in this block + all contain trailing spaces + +Regular Text. + + code block on the last line diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.html new file mode 100644 index 0000000..860e97c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.html @@ -0,0 +1,6 @@ +

    <test a=" content of attribute ">

    + +

    Fix for backticks within HTML tag: like this

    + +

    Here's how you put `backticks` in a code span.

    + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.text new file mode 100644 index 0000000..750a197 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/code_spans.text @@ -0,0 +1,6 @@ +`` + +Fix for backticks within HTML tag: like this + +Here's how you put `` `backticks` `` in a code span. + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.html new file mode 100644 index 0000000..14edc97 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.html @@ -0,0 +1,28 @@ +
    +

    hello +[1]: hello

    +
    + +
    + +
    +

    hello

    +
    + + +
      +
    • hello
    • +
    • [3]: hello
    • +
    + + +
      +
    • hello
    • +
    + + +
    +

    foo +bar +bar

    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.text new file mode 100644 index 0000000..4d16292 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/def_blocks.text @@ -0,0 +1,21 @@ +> hello +> [1]: hello + +* * * + +> hello +[2]: hello + + +* hello +* [3]: hello + + +* hello +[4]: hello + + +> foo +> bar +[1]: foo +> bar diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.html new file mode 100644 index 0000000..ff68395 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.html @@ -0,0 +1,5 @@ +

    Already linked: http://example.com/.

    + +

    Already linked: http://example.com/.

    + +

    Already linked: http://example.com/.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.text new file mode 100644 index 0000000..5021673 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/double_link.text @@ -0,0 +1,5 @@ +

    Already linked: http://example.com/.

    + +Already linked: [http://example.com/](http://example.com/). + +Already linked: **http://example.com/**. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.html new file mode 100644 index 0000000..7cf47c4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.html @@ -0,0 +1 @@ +

    >

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.text new file mode 100644 index 0000000..db7422f --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/escaped_angles.text @@ -0,0 +1 @@ +\> diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.html new file mode 100644 index 0000000..398ba01 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.html @@ -0,0 +1 @@ +

    Look at the
    pretty line
    breaks.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.text new file mode 100644 index 0000000..71097d2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_break.breaks.text @@ -0,0 +1,3 @@ +Look at the +pretty line +breaks. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.html new file mode 100644 index 0000000..fe3522e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.html @@ -0,0 +1,5 @@ +
    var a = 'hello';
    +console.log(a + ' world');
    +
    echo "hello, ${WORLD}"
    +
    Q: What do you call a tall person who sells stolen goods?
    +
    A longfence!
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.text new file mode 100644 index 0000000..c594387 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code.text @@ -0,0 +1,16 @@ +``` js +var a = 'hello'; +console.log(a + ' world'); +``` + +~~~bash +echo "hello, ${WORLD}" +~~~ + +```````longfence +Q: What do you call a tall person who sells stolen goods? +``````` + +~~~~~~~~~~ ManyTildes +A longfence! +~~~~~~~~~~ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.html new file mode 100644 index 0000000..9fbd0fb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.html @@ -0,0 +1,52 @@ +

    foo

    +
      +
    1. bar:

      +
      +
        +
      • one
          +
        • two
            +
          • three
          • +
          • four
          • +
          • five
          • +
          +
        • +
        +
      • +
      +
      +
    2. +
    3. foo:

      +
       line 1
      + line 2
      +
    4. +
    5. foo:

      +
        +
      1. foo bar bar:

        +
         some code here
        +
        +
      2. +
      3. foo bar bar:

        +
         foo
        + ---
        + bar
        + ---
        + foo
        + bar
        +
      4. +
      5. foo bar bar:

        +
         ---
        + foo
        + foo
        + ---
        + bar
        +
      6. +
      7. foo bar bar:

        +
         foo
        + ---
        + bar
        +
      8. +
      9. foo

        +
      10. +
      +
    6. +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.text new file mode 100644 index 0000000..0eba405 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_code_hr_list.text @@ -0,0 +1,53 @@ +## foo + +1. bar: + + > - one + - two + - three + - four + - five + +1. foo: + + ``` + line 1 + line 2 + ``` + +1. foo: + + 1. foo `bar` bar: + + ``` erb + some code here + ``` + + 2. foo `bar` bar: + + ``` erb + foo + --- + bar + --- + foo + bar + ``` + + 3. foo `bar` bar: + + ``` html + --- + foo + foo + --- + bar + ``` + + 4. foo `bar` bar: + + foo + --- + bar + + 5. foo diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.html new file mode 100644 index 0000000..95e9ec7 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.html @@ -0,0 +1 @@ +

    hello hi world

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.text new file mode 100644 index 0000000..d29ca77 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_del.text @@ -0,0 +1 @@ +hello ~~hi~~ world diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.html new file mode 100644 index 0000000..8fac346 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.html @@ -0,0 +1 @@ +

    These words should_not_be_emphasized.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.text new file mode 100644 index 0000000..6319874 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_em.text @@ -0,0 +1 @@ +These words should_not_be_emphasized. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.html new file mode 100644 index 0000000..4f62ae1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.html @@ -0,0 +1,2 @@ +

    This should be a link: +http://example.com/hello-world.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.text new file mode 100644 index 0000000..c133666 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_links.text @@ -0,0 +1 @@ +This should be a link: http://example.com/hello-world. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.html new file mode 100644 index 0000000..70bec82 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.html @@ -0,0 +1,37 @@ + + + + + + + + +
    Heading 1Heading 2
    Cell 1Cell 2
    Cell 3Cell 4
    + + + + + + + + +
    Header 1Header 2Header 3Header 4
    Cell 1Cell 2Cell 3Cell 4
    Cell 5Cell 6Cell 7Cell 8
    +
    Test code
    + + + + + + + + +
    Header 1Header 2
    Cell 1Cell 2
    Cell 3Cell 4
    + + + + + + + + +
    Header 1Header 2Header 3Header 4
    Cell 1Cell 2Cell 3Cell 4
    Cell 5Cell 6Cell 7Cell 8
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.text new file mode 100644 index 0000000..5fd6321 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/gfm_tables.text @@ -0,0 +1,21 @@ +| Heading 1 | Heading 2 +| --------- | --------- +| Cell 1 | Cell 2 +| Cell 3 | Cell 4 + +| Header 1 | Header 2 | Header 3 | Header 4 | +| :------: | -------: | :------- | -------- | +| Cell 1 | Cell 2 | Cell 3 | Cell 4 | +| Cell 5 | Cell 6 | Cell 7 | Cell 8 | + + Test code + +Header 1 | Header 2 +-------- | -------- +Cell 1 | Cell 2 +Cell 3 | Cell 4 + +Header 1|Header 2|Header 3|Header 4 +:-------|:------:|-------:|-------- +Cell 1 |Cell 2 |Cell 3 |Cell 4 +*Cell 5*|Cell 6 |Cell 7 |Cell 8 diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.html new file mode 100644 index 0000000..53662fc --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.html @@ -0,0 +1,8 @@ +

    In Markdown 1.0.0 and earlier. Version +8. This line turns into a list item. +Because a hard-wrapped line in the +middle of a paragraph looked like a +list item.

    + +

    Here's one with a bullet. +* criminey.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.text new file mode 100644 index 0000000..f8a5b27 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.text @@ -0,0 +1,8 @@ +In Markdown 1.0.0 and earlier. Version +8. This line turns into a list item. +Because a hard-wrapped line in the +middle of a paragraph looked like a +list item. + +Here's one with a bullet. +* criminey. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.html new file mode 100644 index 0000000..e60d4ba --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.html @@ -0,0 +1,71 @@ +

    Dashes:

    + +
    + +
    + +
    + +
    + +
    ---
    +
    + +
    + +
    + +
    + +
    + +
    - - -
    +
    + +

    Asterisks:

    + +
    + +
    + +
    + +
    + +
    ***
    +
    + +
    + +
    + +
    + +
    + +
    * * *
    +
    + +

    Underscores:

    + +
    + +
    + +
    + +
    + +
    ___
    +
    + +
    + +
    + +
    + +
    + +
    _ _ _
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.text new file mode 100644 index 0000000..1594bda --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/horizontal_rules.text @@ -0,0 +1,67 @@ +Dashes: + +--- + + --- + + --- + + --- + + --- + +- - - + + - - - + + - - - + + - - - + + - - - + + +Asterisks: + +*** + + *** + + *** + + *** + + *** + +* * * + + * * * + + * * * + + * * * + + * * * + + +Underscores: + +___ + + ___ + + ___ + + ___ + + ___ + +_ _ _ + + _ _ _ + + _ _ _ + + _ _ _ + + _ _ _ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.html new file mode 100644 index 0000000..bd3ad1f --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.html @@ -0,0 +1,10 @@ +
      +
    • hello +world
    • +
    • how +are
    • +
    + +
    + +

    you today?

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.text new file mode 100644 index 0000000..036fe47 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/hr_list_break.text @@ -0,0 +1,6 @@ +* hello +world +* how +are +* * * +you today? diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.html new file mode 100644 index 0000000..3af9caf --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.html @@ -0,0 +1,15 @@ +

    Simple block on one line:

    + +
    foo
    + +

    And nested without indentation:

    + +
    +
    +
    +foo +
    +
    +
    +
    bar
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.text new file mode 100644 index 0000000..86b7206 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_advanced.text @@ -0,0 +1,15 @@ +Simple block on one line: + +
    foo
    + +And nested without indentation: + +
    +
    +
    +foo +
    +
    +
    +
    bar
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.html new file mode 100644 index 0000000..3f167a1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.html @@ -0,0 +1,13 @@ +

    Paragraph one.

    + + + + + +

    Paragraph two.

    + + + +

    The end.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.text new file mode 100644 index 0000000..41d830d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_comments.text @@ -0,0 +1,13 @@ +Paragraph one. + + + + + +Paragraph two. + + + +The end. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.html new file mode 100644 index 0000000..35c827d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.html @@ -0,0 +1,72 @@ +

    Here's a simple block:

    + +
    + foo +
    + +

    This should be a code block, though:

    + +
    <div>
    +    foo
    +</div>
    +
    + +

    As should this:

    + +
    <div>foo</div>
    +
    + +

    Now, nested:

    + +
    +
    +
    + foo +
    +
    +
    + +

    This should just be an HTML comment:

    + + + +

    Multiline:

    + + + +

    Code block:

    + +
    <!-- Comment -->
    +
    + +

    Just plain comment, with trailing spaces on the line:

    + + + +

    Code:

    + +
    <hr>
    +
    + +

    Hr's:

    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.text new file mode 100644 index 0000000..df49d7b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/inline_html_simple.text @@ -0,0 +1,69 @@ +Here's a simple block: + +
    + foo +
    + +This should be a code block, though: + +
    + foo +
    + +As should this: + +
    foo
    + +Now, nested: + +
    +
    +
    + foo +
    +
    +
    + +This should just be an HTML comment: + + + +Multiline: + + + +Code block: + + + +Just plain comment, with trailing spaces on the line: + + + +Code: + +
    + +Hr's: + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.html new file mode 100644 index 0000000..a701d42 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.html @@ -0,0 +1,4 @@ +
    +

    hi there +bud

    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.text new file mode 100644 index 0000000..c0e0b15 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/lazy_blockquotes.text @@ -0,0 +1,2 @@ +> hi there +bud diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.html new file mode 100644 index 0000000..09df236 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.html @@ -0,0 +1,15 @@ +

    Just a URL.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    URL and title.

    + +

    Empty.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.text new file mode 100644 index 0000000..8c8eb49 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_inline_style.text @@ -0,0 +1,15 @@ +Just a [URL](/url/). + +[URL and title](/url/ "title"). + +[URL and title](/url/ "title preceded by two spaces"). + +[URL and title](/url/ "title preceded by a tab"). + +[URL and title](/url/ "title has spaces afterward" ). + +[URL and title]( /url/has space ). + +[URL and title]( /url/has space/ "url has space and title"). + +[Empty](). diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.html new file mode 100644 index 0000000..51f4187 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.html @@ -0,0 +1,52 @@ +

    Foo bar.

    + +

    Foo bar.

    + +

    Foo bar.

    + +

    With embedded [brackets].

    + +

    Indented once.

    + +

    Indented twice.

    + +

    Indented thrice.

    + +

    Indented [four][] times.

    + +
    [four]: /url
    +
    + +
    + +

    this should work

    + +

    So should this.

    + +

    And this.

    + +

    And this.

    + +

    And this.

    + +

    But not [that] [].

    + +

    Nor [that][].

    + +

    Nor [that].

    + +

    [Something in brackets like this should work]

    + +

    [Same with this.]

    + +

    In this case, this points to something else.

    + +

    Backslashing should suppress [this] and [this].

    + +
    + +

    Here's one where the link +breaks across lines.

    + +

    Here's another where the link +breaks across lines, but with a line-ending space.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.text new file mode 100644 index 0000000..341ec88 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_reference_style.text @@ -0,0 +1,71 @@ +Foo [bar] [1]. + +Foo [bar][1]. + +Foo [bar] +[1]. + +[1]: /url/ "Title" + + +With [embedded [brackets]] [b]. + + +Indented [once][]. + +Indented [twice][]. + +Indented [thrice][]. + +Indented [four][] times. + + [once]: /url + + [twice]: /url + + [thrice]: /url + + [four]: /url + + +[b]: /url/ + +* * * + +[this] [this] should work + +So should [this][this]. + +And [this] []. + +And [this][]. + +And [this]. + +But not [that] []. + +Nor [that][]. + +Nor [that]. + +[Something in brackets like [this][] should work] + +[Same with [this].] + +In this case, [this](/somethingelse/) points to something else. + +Backslashing should suppress \[this] and [this\]. + +[this]: foo + + +* * * + +Here's one where the [link +breaks] across lines. + +Here's another where the [link +breaks] across lines, but with a line-ending space. + + +[link breaks]: /url/ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.html new file mode 100644 index 0000000..bf81e93 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.html @@ -0,0 +1,9 @@ +

    This is the simple case.

    + +

    This one has a line +break.

    + +

    This one has a line +break with a line-ending space.

    + +

    this and the other

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.text new file mode 100644 index 0000000..8c44c98 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/links_shortcut_references.text @@ -0,0 +1,20 @@ +This is the [simple case]. + +[simple case]: /simple + + + +This one has a [line +break]. + +This one has a [line +break] with a line-ending space. + +[line break]: /foo + + +[this] [that] and the [other] + +[this]: /this +[that]: /that +[other]: /other diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.html new file mode 100644 index 0000000..142df36 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.html @@ -0,0 +1 @@ +
    • item1

      • item2

      text

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.text new file mode 100644 index 0000000..a8f81b1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/list_item_text.text @@ -0,0 +1,5 @@ + * item1 + + * item2 + + text diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.html new file mode 100644 index 0000000..611c1ac --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.html @@ -0,0 +1,3 @@ +

    Foo bar.

    + +

    Foo bar.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.text new file mode 100644 index 0000000..29d0e42 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/literal_quotes_in_titles.text @@ -0,0 +1,7 @@ +Foo [bar][]. + +Foo [bar](/url/ "Title with "quotes" inside"). + + + [bar]: /url/ "Title with "quotes" inside" + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.html new file mode 100644 index 0000000..c1bd82a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.html @@ -0,0 +1,62 @@ +
      +
    • hello +world

      + +

      how +are

    • +
    • you
    • +
    + + + +

    better behavior:

    + +
    • hello

      • world +how

        are +you

      • today

    • hi
    + + + +
      +
    • hello

    • +
    • world

    • +
    • hi
    • +
    + + + +
      +
    • hello
    • +
    • world

    • +
    • hi

    • +
    + + + +
      +
    • hello
    • +
    • world

      + +

      how

    • +
    • hi
    • +
    + + + +
      +
    • hello
    • +
    • world
    • +
    • how

      + +

      are

    • +
    + + + +
      +
    • hello
    • +
    • world

    • +
    • how

      + +

      are

    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.text new file mode 100644 index 0000000..cb360a1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/loose_lists.text @@ -0,0 +1,59 @@ +* hello + world + + how + are +* you + + + +better behavior: + +* hello + * world + how + + are + you + + * today +* hi + + + +* hello + +* world +* hi + + + +* hello +* world + +* hi + + + +* hello +* world + + how +* hi + + + +* hello +* world +* how + + are + + + +* hello +* world + +* how + + are diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.html new file mode 100644 index 0000000..8f78c4d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.html @@ -0,0 +1,4 @@ +

    A heading

    Just a note, I've found that I can't test my markdown parser vs others. For example, both markdown.js and showdown code blocks in lists wrong. They're also completely inconsistent with regards to paragraphs in list items.

    A link. Not anymore.

    • List Item 1

    • List Item 2

      • New List Item 1 Hi, this is a list item.
      • New List Item 2 Another item
        Code goes here.
        +Lots of it...
      • New List Item 3 The last item
    • List Item 3 The final item.

    • List Item 4 The real final item.

    Paragraph.

    • bq Item 1
    • bq Item 2
      • New bq Item 1
      • New bq Item 2 Text here

    Another blockquote! I really need to get more creative with mockup text.. markdown.js breaks here again

    Another Heading

    Hello world. Here is a link. And an image alt.

    Code goes here.
    +Lots of it...
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.text new file mode 100644 index 0000000..58e17a6 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/main.text @@ -0,0 +1,55 @@ +[test]: http://google.com/ "Google" + +# A heading + +Just a note, I've found that I can't test my markdown parser vs others. +For example, both markdown.js and showdown code blocks in lists wrong. They're +also completely [inconsistent][test] with regards to paragraphs in list items. + +A link. Not anymore. + + + +* List Item 1 + +* List Item 2 + * New List Item 1 + Hi, this is a list item. + * New List Item 2 + Another item + Code goes here. + Lots of it... + * New List Item 3 + The last item + +* List Item 3 +The final item. + +* List Item 4 +The real final item. + +Paragraph. + +> * bq Item 1 +> * bq Item 2 +> * New bq Item 1 +> * New bq Item 2 +> Text here + +* * * + +> Another blockquote! +> I really need to get +> more creative with +> mockup text.. +> markdown.js breaks here again + +Another Heading +------------- + +Hello *world*. Here is a [link](//hello). +And an image ![alt](src). + + Code goes here. + Lots of it... diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.html new file mode 100644 index 0000000..aadbce2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.html @@ -0,0 +1,314 @@ +

    Markdown: Basics

    + + + +

    Getting the Gist of Markdown's Formatting Syntax

    + +

    This page offers a brief overview of what it's like to use Markdown. +The syntax page provides complete, detailed documentation for +every feature, but Markdown should be very easy to pick up simply by +looking at a few examples of it in action. The examples on this page +are written in a before/after style, showing example syntax and the +HTML output produced by Markdown.

    + +

    It's also helpful to simply try Markdown out; the Dingus is a +web application that allows you type your own Markdown-formatted text +and translate it to XHTML.

    + +

    Note: This document is itself written using Markdown; you +can see the source for it by adding '.text' to the URL.

    + +

    Paragraphs, Headers, Blockquotes

    + +

    A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs.

    + +

    Markdown offers two styles of headers: Setext and atx. +Setext-style headers for <h1> and <h2> are created by +"underlining" with equal signs (=) and hyphens (-), respectively. +To create an atx-style header, you put 1-6 hash marks (#) at the +beginning of the line -- the number of hashes equals the resulting +HTML header level.

    + +

    Blockquotes are indicated using email-style '>' angle brackets.

    + +

    Markdown:

    + +
    A First Level Header
    +====================
    +
    +A Second Level Header
    +---------------------
    +
    +Now is the time for all good men to come to
    +the aid of their country. This is just a
    +regular paragraph.
    +
    +The quick brown fox jumped over the lazy
    +dog's back.
    +
    +### Header 3
    +
    +> This is a blockquote.
    +> 
    +> This is the second paragraph in the blockquote.
    +>
    +> ## This is an H2 in a blockquote
    +
    + +

    Output:

    + +
    <h1>A First Level Header</h1>
    +
    +<h2>A Second Level Header</h2>
    +
    +<p>Now is the time for all good men to come to
    +the aid of their country. This is just a
    +regular paragraph.</p>
    +
    +<p>The quick brown fox jumped over the lazy
    +dog's back.</p>
    +
    +<h3>Header 3</h3>
    +
    +<blockquote>
    +    <p>This is a blockquote.</p>
    +
    +    <p>This is the second paragraph in the blockquote.</p>
    +
    +    <h2>This is an H2 in a blockquote</h2>
    +</blockquote>
    +
    + +

    Phrase Emphasis

    + +

    Markdown uses asterisks and underscores to indicate spans of emphasis.

    + +

    Markdown:

    + +
    Some of these words *are emphasized*.
    +Some of these words _are emphasized also_.
    +
    +Use two asterisks for **strong emphasis**.
    +Or, if you prefer, __use two underscores instead__.
    +
    + +

    Output:

    + +
    <p>Some of these words <em>are emphasized</em>.
    +Some of these words <em>are emphasized also</em>.</p>
    +
    +<p>Use two asterisks for <strong>strong emphasis</strong>.
    +Or, if you prefer, <strong>use two underscores instead</strong>.</p>
    +
    + +

    Lists

    + +

    Unordered (bulleted) lists use asterisks, pluses, and hyphens (*, ++, and -) as list markers. These three markers are +interchangable; this:

    + +
    *   Candy.
    +*   Gum.
    +*   Booze.
    +
    + +

    this:

    + +
    +   Candy.
    ++   Gum.
    ++   Booze.
    +
    + +

    and this:

    + +
    -   Candy.
    +-   Gum.
    +-   Booze.
    +
    + +

    all produce the same output:

    + +
    <ul>
    +<li>Candy.</li>
    +<li>Gum.</li>
    +<li>Booze.</li>
    +</ul>
    +
    + +

    Ordered (numbered) lists use regular numbers, followed by periods, as +list markers:

    + +
    1.  Red
    +2.  Green
    +3.  Blue
    +
    + +

    Output:

    + +
    <ol>
    +<li>Red</li>
    +<li>Green</li>
    +<li>Blue</li>
    +</ol>
    +
    + +

    If you put blank lines between items, you'll get <p> tags for the +list item text. You can create multi-paragraph list items by indenting +the paragraphs by 4 spaces or 1 tab:

    + +
    *   A list item.
    +
    +    With multiple paragraphs.
    +
    +*   Another item in the list.
    +
    + +

    Output:

    + +
    <ul>
    +<li><p>A list item.</p>
    +<p>With multiple paragraphs.</p></li>
    +<li><p>Another item in the list.</p></li>
    +</ul>
    +
    + + + +

    Markdown supports two styles for creating links: inline and +reference. With both styles, you use square brackets to delimit the +text you want to turn into a link.

    + +

    Inline-style links use parentheses immediately after the link text. +For example:

    + +
    This is an [example link](http://example.com/).
    +
    + +

    Output:

    + +
    <p>This is an <a href="http://example.com/">
    +example link</a>.</p>
    +
    + +

    Optionally, you may include a title attribute in the parentheses:

    + +
    This is an [example link](http://example.com/ "With a Title").
    +
    + +

    Output:

    + +
    <p>This is an <a href="http://example.com/" title="With a Title">
    +example link</a>.</p>
    +
    + +

    Reference-style links allow you to refer to your links by names, which +you define elsewhere in your document:

    + +
    I get 10 times more traffic from [Google][1] than from
    +[Yahoo][2] or [MSN][3].
    +
    +[1]: http://google.com/        "Google"
    +[2]: http://search.yahoo.com/  "Yahoo Search"
    +[3]: http://search.msn.com/    "MSN Search"
    +
    + +

    Output:

    + +
    <p>I get 10 times more traffic from <a href="http://google.com/"
    +title="Google">Google</a> than from <a href="http://search.yahoo.com/"
    +title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
    +title="MSN Search">MSN</a>.</p>
    +
    + +

    The title attribute is optional. Link names may contain letters, +numbers and spaces, but are not case sensitive:

    + +
    I start my morning with a cup of coffee and
    +[The New York Times][NY Times].
    +
    +[ny times]: http://www.nytimes.com/
    +
    + +

    Output:

    + +
    <p>I start my morning with a cup of coffee and
    +<a href="http://www.nytimes.com/">The New York Times</a>.</p>
    +
    + +

    Images

    + +

    Image syntax is very much like link syntax.

    + +

    Inline (titles are optional):

    + +
    ![alt text](/path/to/img.jpg "Title")
    +
    + +

    Reference-style:

    + +
    ![alt text][id]
    +
    +[id]: /path/to/img.jpg "Title"
    +
    + +

    Both of the above examples produce the same output:

    + +
    <img src="/path/to/img.jpg" alt="alt text" title="Title" />
    +
    + +

    Code

    + +

    In a regular paragraph, you can create code span by wrapping text in +backtick quotes. Any ampersands (&) and angle brackets (< or +>) will automatically be translated into HTML entities. This makes +it easy to use Markdown to write about HTML example code:

    + +
    I strongly recommend against using any `<blink>` tags.
    +
    +I wish SmartyPants used named entities like `&mdash;`
    +instead of decimal-encoded entites like `&#8212;`.
    +
    + +

    Output:

    + +
    <p>I strongly recommend against using any
    +<code>&lt;blink&gt;</code> tags.</p>
    +
    +<p>I wish SmartyPants used named entities like
    +<code>&amp;mdash;</code> instead of decimal-encoded
    +entites like <code>&amp;#8212;</code>.</p>
    +
    + +

    To specify an entire block of pre-formatted code, indent every line of +the block by 4 spaces or 1 tab. Just like with code spans, &, <, +and > characters will be escaped automatically.

    + +

    Markdown:

    + +
    If you want your page to validate under XHTML 1.0 Strict,
    +you've got to put paragraph tags in your blockquotes:
    +
    +    <blockquote>
    +        <p>For example.</p>
    +    </blockquote>
    +
    + +

    Output:

    + +
    <p>If you want your page to validate under XHTML 1.0 Strict,
    +you've got to put paragraph tags in your blockquotes:</p>
    +
    +<pre><code>&lt;blockquote&gt;
    +    &lt;p&gt;For example.&lt;/p&gt;
    +&lt;/blockquote&gt;
    +</code></pre>
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.text new file mode 100644 index 0000000..486055c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_basics.text @@ -0,0 +1,306 @@ +Markdown: Basics +================ + + + + +Getting the Gist of Markdown's Formatting Syntax +------------------------------------------------ + +This page offers a brief overview of what it's like to use Markdown. +The [syntax page] [s] provides complete, detailed documentation for +every feature, but Markdown should be very easy to pick up simply by +looking at a few examples of it in action. The examples on this page +are written in a before/after style, showing example syntax and the +HTML output produced by Markdown. + +It's also helpful to simply try Markdown out; the [Dingus] [d] is a +web application that allows you type your own Markdown-formatted text +and translate it to XHTML. + +**Note:** This document is itself written using Markdown; you +can [see the source for it by adding '.text' to the URL] [src]. + + [s]: /projects/markdown/syntax "Markdown Syntax" + [d]: /projects/markdown/dingus "Markdown Dingus" + [src]: /projects/markdown/basics.text + + +## Paragraphs, Headers, Blockquotes ## + +A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs. + +Markdown offers two styles of headers: *Setext* and *atx*. +Setext-style headers for `

    ` and `

    ` are created by +"underlining" with equal signs (`=`) and hyphens (`-`), respectively. +To create an atx-style header, you put 1-6 hash marks (`#`) at the +beginning of the line -- the number of hashes equals the resulting +HTML header level. + +Blockquotes are indicated using email-style '`>`' angle brackets. + +Markdown: + + A First Level Header + ==================== + + A Second Level Header + --------------------- + + Now is the time for all good men to come to + the aid of their country. This is just a + regular paragraph. + + The quick brown fox jumped over the lazy + dog's back. + + ### Header 3 + + > This is a blockquote. + > + > This is the second paragraph in the blockquote. + > + > ## This is an H2 in a blockquote + + +Output: + +

    A First Level Header

    + +

    A Second Level Header

    + +

    Now is the time for all good men to come to + the aid of their country. This is just a + regular paragraph.

    + +

    The quick brown fox jumped over the lazy + dog's back.

    + +

    Header 3

    + +
    +

    This is a blockquote.

    + +

    This is the second paragraph in the blockquote.

    + +

    This is an H2 in a blockquote

    +
    + + + +### Phrase Emphasis ### + +Markdown uses asterisks and underscores to indicate spans of emphasis. + +Markdown: + + Some of these words *are emphasized*. + Some of these words _are emphasized also_. + + Use two asterisks for **strong emphasis**. + Or, if you prefer, __use two underscores instead__. + +Output: + +

    Some of these words are emphasized. + Some of these words are emphasized also.

    + +

    Use two asterisks for strong emphasis. + Or, if you prefer, use two underscores instead.

    + + + +## Lists ## + +Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`, +`+`, and `-`) as list markers. These three markers are +interchangable; this: + + * Candy. + * Gum. + * Booze. + +this: + + + Candy. + + Gum. + + Booze. + +and this: + + - Candy. + - Gum. + - Booze. + +all produce the same output: + +
      +
    • Candy.
    • +
    • Gum.
    • +
    • Booze.
    • +
    + +Ordered (numbered) lists use regular numbers, followed by periods, as +list markers: + + 1. Red + 2. Green + 3. Blue + +Output: + +
      +
    1. Red
    2. +
    3. Green
    4. +
    5. Blue
    6. +
    + +If you put blank lines between items, you'll get `

    ` tags for the +list item text. You can create multi-paragraph list items by indenting +the paragraphs by 4 spaces or 1 tab: + + * A list item. + + With multiple paragraphs. + + * Another item in the list. + +Output: + +

      +
    • A list item.

      +

      With multiple paragraphs.

    • +
    • Another item in the list.

    • +
    + + + +### Links ### + +Markdown supports two styles for creating links: *inline* and +*reference*. With both styles, you use square brackets to delimit the +text you want to turn into a link. + +Inline-style links use parentheses immediately after the link text. +For example: + + This is an [example link](http://example.com/). + +Output: + +

    This is an + example link.

    + +Optionally, you may include a title attribute in the parentheses: + + This is an [example link](http://example.com/ "With a Title"). + +Output: + +

    This is an + example link.

    + +Reference-style links allow you to refer to your links by names, which +you define elsewhere in your document: + + I get 10 times more traffic from [Google][1] than from + [Yahoo][2] or [MSN][3]. + + [1]: http://google.com/ "Google" + [2]: http://search.yahoo.com/ "Yahoo Search" + [3]: http://search.msn.com/ "MSN Search" + +Output: + +

    I get 10 times more traffic from Google than from Yahoo or MSN.

    + +The title attribute is optional. Link names may contain letters, +numbers and spaces, but are *not* case sensitive: + + I start my morning with a cup of coffee and + [The New York Times][NY Times]. + + [ny times]: http://www.nytimes.com/ + +Output: + +

    I start my morning with a cup of coffee and + The New York Times.

    + + +### Images ### + +Image syntax is very much like link syntax. + +Inline (titles are optional): + + ![alt text](/path/to/img.jpg "Title") + +Reference-style: + + ![alt text][id] + + [id]: /path/to/img.jpg "Title" + +Both of the above examples produce the same output: + + alt text + + + +### Code ### + +In a regular paragraph, you can create code span by wrapping text in +backtick quotes. Any ampersands (`&`) and angle brackets (`<` or +`>`) will automatically be translated into HTML entities. This makes +it easy to use Markdown to write about HTML example code: + + I strongly recommend against using any `` tags. + + I wish SmartyPants used named entities like `—` + instead of decimal-encoded entites like `—`. + +Output: + +

    I strongly recommend against using any + <blink> tags.

    + +

    I wish SmartyPants used named entities like + &mdash; instead of decimal-encoded + entites like &#8212;.

    + + +To specify an entire block of pre-formatted code, indent every line of +the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`, +and `>` characters will be escaped automatically. + +Markdown: + + If you want your page to validate under XHTML 1.0 Strict, + you've got to put paragraph tags in your blockquotes: + +
    +

    For example.

    +
    + +Output: + +

    If you want your page to validate under XHTML 1.0 Strict, + you've got to put paragraph tags in your blockquotes:

    + +
    <blockquote>
    +        <p>For example.</p>
    +    </blockquote>
    +    
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.html new file mode 100644 index 0000000..40e0837 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.html @@ -0,0 +1,942 @@ +

    Markdown: Syntax

    + + + + + +

    Note: This document is itself written using Markdown; you +can see the source for it by adding '.text' to the URL.

    + +
    + +

    Overview

    + +

    Philosophy

    + +

    Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

    + +

    Readability, however, is emphasized above all else. A Markdown-formatted +document should be publishable as-is, as plain text, without looking +like it's been marked up with tags or formatting instructions. While +Markdown's syntax has been influenced by several existing text-to-HTML +filters -- including Setext, atx, Textile, reStructuredText, +Grutatext, and EtText -- the single biggest source of +inspiration for Markdown's syntax is the format of plain text email.

    + +

    To this end, Markdown's syntax is comprised entirely of punctuation +characters, which punctuation characters have been carefully chosen so +as to look like what they mean. E.g., asterisks around a word actually +look like *emphasis*. Markdown lists look like, well, lists. Even +blockquotes look like quoted passages of text, assuming you've ever +used email.

    + +

    Inline HTML

    + +

    Markdown's syntax is intended for one purpose: to be used as a +format for writing for the web.

    + +

    Markdown is not a replacement for HTML, or even close to it. Its +syntax is very small, corresponding only to a very small subset of +HTML tags. The idea is not to create a syntax that makes it easier +to insert HTML tags. In my opinion, HTML tags are already easy to +insert. The idea for Markdown is to make it easy to read, write, and +edit prose. HTML is a publishing format; Markdown is a writing +format. Thus, Markdown's formatting syntax only addresses issues that +can be conveyed in plain text.

    + +

    For any markup that is not covered by Markdown's syntax, you simply +use HTML itself. There's no need to preface it or delimit it to +indicate that you're switching from Markdown to HTML; you just use +the tags.

    + +

    The only restrictions are that block-level HTML elements -- e.g. <div>, +<table>, <pre>, <p>, etc. -- must be separated from surrounding +content by blank lines, and the start and end tags of the block should +not be indented with tabs or spaces. Markdown is smart enough not +to add extra (unwanted) <p> tags around HTML block-level tags.

    + +

    For example, to add an HTML table to a Markdown article:

    + +
    This is a regular paragraph.
    +
    +<table>
    +    <tr>
    +        <td>Foo</td>
    +    </tr>
    +</table>
    +
    +This is another regular paragraph.
    +
    + +

    Note that Markdown formatting syntax is not processed within block-level +HTML tags. E.g., you can't use Markdown-style *emphasis* inside an +HTML block.

    + +

    Span-level HTML tags -- e.g. <span>, <cite>, or <del> -- can be +used anywhere in a Markdown paragraph, list item, or header. If you +want, you can even use HTML tags instead of Markdown formatting; e.g. if +you'd prefer to use HTML <a> or <img> tags instead of Markdown's +link or image syntax, go right ahead.

    + +

    Unlike block-level HTML tags, Markdown syntax is processed within +span-level tags.

    + +

    Automatic Escaping for Special Characters

    + +

    In HTML, there are two characters that demand special treatment: < +and &. Left angle brackets are used to start tags; ampersands are +used to denote HTML entities. If you want to use them as literal +characters, you must escape them as entities, e.g. &lt;, and +&amp;.

    + +

    Ampersands in particular are bedeviling for web writers. If you want to +write about 'AT&T', you need to write 'AT&amp;T'. You even need to +escape ampersands within URLs. Thus, if you want to link to:

    + +
    http://images.google.com/images?num=30&q=larry+bird
    +
    + +

    you need to encode the URL as:

    + +
    http://images.google.com/images?num=30&amp;q=larry+bird
    +
    + +

    in your anchor tag href attribute. Needless to say, this is easy to +forget, and is probably the single most common source of HTML validation +errors in otherwise well-marked-up web sites.

    + +

    Markdown allows you to use these characters naturally, taking care of +all the necessary escaping for you. If you use an ampersand as part of +an HTML entity, it remains unchanged; otherwise it will be translated +into &amp;.

    + +

    So, if you want to include a copyright symbol in your article, you can write:

    + +
    &copy;
    +
    + +

    and Markdown will leave it alone. But if you write:

    + +
    AT&T
    +
    + +

    Markdown will translate it to:

    + +
    AT&amp;T
    +
    + +

    Similarly, because Markdown supports inline HTML, if you use +angle brackets as delimiters for HTML tags, Markdown will treat them as +such. But if you write:

    + +
    4 < 5
    +
    + +

    Markdown will translate it to:

    + +
    4 &lt; 5
    +
    + +

    However, inside Markdown code spans and blocks, angle brackets and +ampersands are always encoded automatically. This makes it easy to use +Markdown to write about HTML code. (As opposed to raw HTML, which is a +terrible format for writing about HTML syntax, because every single < +and & in your example code needs to be escaped.)

    + +
    + +

    Block Elements

    + +

    Paragraphs and Line Breaks

    + +

    A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing but spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs.

    + +

    The implication of the "one or more consecutive lines of text" rule is +that Markdown supports "hard-wrapped" text paragraphs. This differs +significantly from most other text-to-HTML formatters (including Movable +Type's "Convert Line Breaks" option) which translate every line break +character in a paragraph into a <br /> tag.

    + +

    When you do want to insert a <br /> break tag using Markdown, you +end a line with two or more spaces, then type return.

    + +

    Yes, this takes a tad more effort to create a <br />, but a simplistic +"every line break is a <br />" rule wouldn't work for Markdown. +Markdown's email-style blockquoting and multi-paragraph list items +work best -- and look better -- when you format them with hard breaks.

    + + + +

    Markdown supports two styles of headers, Setext and atx.

    + +

    Setext-style headers are "underlined" using equal signs (for first-level +headers) and dashes (for second-level headers). For example:

    + +
    This is an H1
    +=============
    +
    +This is an H2
    +-------------
    +
    + +

    Any number of underlining ='s or -'s will work.

    + +

    Atx-style headers use 1-6 hash characters at the start of the line, +corresponding to header levels 1-6. For example:

    + +
    # This is an H1
    +
    +## This is an H2
    +
    +###### This is an H6
    +
    + +

    Optionally, you may "close" atx-style headers. This is purely +cosmetic -- you can use this if you think it looks better. The +closing hashes don't even need to match the number of hashes +used to open the header. (The number of opening hashes +determines the header level.) :

    + +
    # This is an H1 #
    +
    +## This is an H2 ##
    +
    +### This is an H3 ######
    +
    + +

    Blockquotes

    + +

    Markdown uses email-style > characters for blockquoting. If you're +familiar with quoting passages of text in an email message, then you +know how to create a blockquote in Markdown. It looks best if you hard +wrap the text and put a > before every line:

    + +
    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
    +> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
    +> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
    +> 
    +> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
    +> id sem consectetuer libero luctus adipiscing.
    +
    + +

    Markdown allows you to be lazy and only put the > before the first +line of a hard-wrapped paragraph:

    + +
    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
    +consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
    +Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
    +
    +> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
    +id sem consectetuer libero luctus adipiscing.
    +
    + +

    Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by +adding additional levels of >:

    + +
    > This is the first level of quoting.
    +>
    +> > This is nested blockquote.
    +>
    +> Back to the first level.
    +
    + +

    Blockquotes can contain other Markdown elements, including headers, lists, +and code blocks:

    + +
    > ## This is a header.
    +> 
    +> 1.   This is the first list item.
    +> 2.   This is the second list item.
    +> 
    +> Here's some example code:
    +> 
    +>     return shell_exec("echo $input | $markdown_script");
    +
    + +

    Any decent text editor should make email-style quoting easy. For +example, with BBEdit, you can make a selection and choose Increase +Quote Level from the Text menu.

    + +

    Lists

    + +

    Markdown supports ordered (numbered) and unordered (bulleted) lists.

    + +

    Unordered lists use asterisks, pluses, and hyphens -- interchangably +-- as list markers:

    + +
    *   Red
    +*   Green
    +*   Blue
    +
    + +

    is equivalent to:

    + +
    +   Red
    ++   Green
    ++   Blue
    +
    + +

    and:

    + +
    -   Red
    +-   Green
    +-   Blue
    +
    + +

    Ordered lists use numbers followed by periods:

    + +
    1.  Bird
    +2.  McHale
    +3.  Parish
    +
    + +

    It's important to note that the actual numbers you use to mark the +list have no effect on the HTML output Markdown produces. The HTML +Markdown produces from the above list is:

    + +
    <ol>
    +<li>Bird</li>
    +<li>McHale</li>
    +<li>Parish</li>
    +</ol>
    +
    + +

    If you instead wrote the list in Markdown like this:

    + +
    1.  Bird
    +1.  McHale
    +1.  Parish
    +
    + +

    or even:

    + +
    3. Bird
    +1. McHale
    +8. Parish
    +
    + +

    you'd get the exact same HTML output. The point is, if you want to, +you can use ordinal numbers in your ordered Markdown lists, so that +the numbers in your source match the numbers in your published HTML. +But if you want to be lazy, you don't have to.

    + +

    If you do use lazy list numbering, however, you should still start the +list with the number 1. At some point in the future, Markdown may support +starting ordered lists at an arbitrary number.

    + +

    List markers typically start at the left margin, but may be indented by +up to three spaces. List markers must be followed by one or more spaces +or a tab.

    + +

    To make lists look nice, you can wrap items with hanging indents:

    + +
    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    +    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    +    viverra nec, fringilla in, laoreet vitae, risus.
    +*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    +    Suspendisse id sem consectetuer libero luctus adipiscing.
    +
    + +

    But if you want to be lazy, you don't have to:

    + +
    *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    +Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    +viverra nec, fringilla in, laoreet vitae, risus.
    +*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    +Suspendisse id sem consectetuer libero luctus adipiscing.
    +
    + +

    If list items are separated by blank lines, Markdown will wrap the +items in <p> tags in the HTML output. For example, this input:

    + +
    *   Bird
    +*   Magic
    +
    + +

    will turn into:

    + +
    <ul>
    +<li>Bird</li>
    +<li>Magic</li>
    +</ul>
    +
    + +

    But this:

    + +
    *   Bird
    +
    +*   Magic
    +
    + +

    will turn into:

    + +
    <ul>
    +<li><p>Bird</p></li>
    +<li><p>Magic</p></li>
    +</ul>
    +
    + +

    List items may consist of multiple paragraphs. Each subsequent +paragraph in a list item must be intended by either 4 spaces +or one tab:

    + +
    1.  This is a list item with two paragraphs. Lorem ipsum dolor
    +    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    +    mi posuere lectus.
    +
    +    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    +    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    +    sit amet velit.
    +
    +2.  Suspendisse id sem consectetuer libero luctus adipiscing.
    +
    + +

    It looks nice if you indent every line of the subsequent +paragraphs, but here again, Markdown will allow you to be +lazy:

    + +
    *   This is a list item with two paragraphs.
    +
    +    This is the second paragraph in the list item. You're
    +only required to indent the first line. Lorem ipsum dolor
    +sit amet, consectetuer adipiscing elit.
    +
    +*   Another item in the same list.
    +
    + +

    To put a blockquote within a list item, the blockquote's > +delimiters need to be indented:

    + +
    *   A list item with a blockquote:
    +
    +    > This is a blockquote
    +    > inside a list item.
    +
    + +

    To put a code block within a list item, the code block needs +to be indented twice -- 8 spaces or two tabs:

    + +
    *   A list item with a code block:
    +
    +        <code goes here>
    +
    + +

    It's worth noting that it's possible to trigger an ordered list by +accident, by writing something like this:

    + +
    1986. What a great season.
    +
    + +

    In other words, a number-period-space sequence at the beginning of a +line. To avoid this, you can backslash-escape the period:

    + +
    1986\. What a great season.
    +
    + +

    Code Blocks

    + +

    Pre-formatted code blocks are used for writing about programming or +markup source code. Rather than forming normal paragraphs, the lines +of a code block are interpreted literally. Markdown wraps a code block +in both <pre> and <code> tags.

    + +

    To produce a code block in Markdown, simply indent every line of the +block by at least 4 spaces or 1 tab. For example, given this input:

    + +
    This is a normal paragraph:
    +
    +    This is a code block.
    +
    + +

    Markdown will generate:

    + +
    <p>This is a normal paragraph:</p>
    +
    +<pre><code>This is a code block.
    +</code></pre>
    +
    + +

    One level of indentation -- 4 spaces or 1 tab -- is removed from each +line of the code block. For example, this:

    + +
    Here is an example of AppleScript:
    +
    +    tell application "Foo"
    +        beep
    +    end tell
    +
    + +

    will turn into:

    + +
    <p>Here is an example of AppleScript:</p>
    +
    +<pre><code>tell application "Foo"
    +    beep
    +end tell
    +</code></pre>
    +
    + +

    A code block continues until it reaches a line that is not indented +(or the end of the article).

    + +

    Within a code block, ampersands (&) and angle brackets (< and >) +are automatically converted into HTML entities. This makes it very +easy to include example HTML source code using Markdown -- just paste +it and indent it, and Markdown will handle the hassle of encoding the +ampersands and angle brackets. For example, this:

    + +
        <div class="footer">
    +        &copy; 2004 Foo Corporation
    +    </div>
    +
    + +

    will turn into:

    + +
    <pre><code>&lt;div class="footer"&gt;
    +    &amp;copy; 2004 Foo Corporation
    +&lt;/div&gt;
    +</code></pre>
    +
    + +

    Regular Markdown syntax is not processed within code blocks. E.g., +asterisks are just literal asterisks within a code block. This means +it's also easy to use Markdown to write about Markdown's own syntax.

    + +

    Horizontal Rules

    + +

    You can produce a horizontal rule tag (<hr>) by placing three or +more hyphens, asterisks, or underscores on a line by themselves. If you +wish, you may use spaces between the hyphens or asterisks. Each of the +following lines will produce a horizontal rule:

    + +
    * * *
    +
    +***
    +
    +*****
    +
    +- - -
    +
    +---------------------------------------
    +
    +_ _ _
    +
    + +
    + +

    Span Elements

    + + + +

    Markdown supports two style of links: inline and reference.

    + +

    In both styles, the link text is delimited by [square brackets].

    + +

    To create an inline link, use a set of regular parentheses immediately +after the link text's closing square bracket. Inside the parentheses, +put the URL where you want the link to point, along with an optional +title for the link, surrounded in quotes. For example:

    + +
    This is [an example](http://example.com/ "Title") inline link.
    +
    +[This link](http://example.net/) has no title attribute.
    +
    + +

    Will produce:

    + +
    <p>This is <a href="http://example.com/" title="Title">
    +an example</a> inline link.</p>
    +
    +<p><a href="http://example.net/">This link</a> has no
    +title attribute.</p>
    +
    + +

    If you're referring to a local resource on the same server, you can +use relative paths:

    + +
    See my [About](/about/) page for details.
    +
    + +

    Reference-style links use a second set of square brackets, inside +which you place a label of your choosing to identify the link:

    + +
    This is [an example][id] reference-style link.
    +
    + +

    You can optionally use a space to separate the sets of brackets:

    + +
    This is [an example] [id] reference-style link.
    +
    + +

    Then, anywhere in the document, you define your link label like this, +on a line by itself:

    + +
    [id]: http://example.com/  "Optional Title Here"
    +
    + +

    That is:

    + +
      +
    • Square brackets containing the link identifier (optionally +indented from the left margin using up to three spaces);
    • +
    • followed by a colon;
    • +
    • followed by one or more spaces (or tabs);
    • +
    • followed by the URL for the link;
    • +
    • optionally followed by a title attribute for the link, enclosed +in double or single quotes.
    • +
    + +

    The link URL may, optionally, be surrounded by angle brackets:

    + +
    [id]: <http://example.com/>  "Optional Title Here"
    +
    + +

    You can put the title attribute on the next line and use extra spaces +or tabs for padding, which tends to look better with longer URLs:

    + +
    [id]: http://example.com/longish/path/to/resource/here
    +    "Optional Title Here"
    +
    + +

    Link definitions are only used for creating links during Markdown +processing, and are stripped from your document in the HTML output.

    + +

    Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are not case sensitive. E.g. these two links:

    + +
    [link text][a]
    +[link text][A]
    +
    + +

    are equivalent.

    + +

    The implicit link name shortcut allows you to omit the name of the +link, in which case the link text itself is used as the name. +Just use an empty set of square brackets -- e.g., to link the word +"Google" to the google.com web site, you could simply write:

    + +
    [Google][]
    +
    + +

    And then define the link:

    + +
    [Google]: http://google.com/
    +
    + +

    Because link names may contain spaces, this shortcut even works for +multiple words in the link text:

    + +
    Visit [Daring Fireball][] for more information.
    +
    + +

    And then define the link:

    + +
    [Daring Fireball]: http://daringfireball.net/
    +
    + +

    Link definitions can be placed anywhere in your Markdown document. I +tend to put them immediately after each paragraph in which they're +used, but if you want, you can put them all at the end of your +document, sort of like footnotes.

    + +

    Here's an example of reference links in action:

    + +
    I get 10 times more traffic from [Google] [1] than from
    +[Yahoo] [2] or [MSN] [3].
    +
    +  [1]: http://google.com/        "Google"
    +  [2]: http://search.yahoo.com/  "Yahoo Search"
    +  [3]: http://search.msn.com/    "MSN Search"
    +
    + +

    Using the implicit link name shortcut, you could instead write:

    + +
    I get 10 times more traffic from [Google][] than from
    +[Yahoo][] or [MSN][].
    +
    +  [google]: http://google.com/        "Google"
    +  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
    +  [msn]:    http://search.msn.com/    "MSN Search"
    +
    + +

    Both of the above examples will produce the following HTML output:

    + +
    <p>I get 10 times more traffic from <a href="http://google.com/"
    +title="Google">Google</a> than from
    +<a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
    +or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
    +
    + +

    For comparison, here is the same paragraph written using +Markdown's inline link style:

    + +
    I get 10 times more traffic from [Google](http://google.com/ "Google")
    +than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
    +[MSN](http://search.msn.com/ "MSN Search").
    +
    + +

    The point of reference-style links is not that they're easier to +write. The point is that with reference-style links, your document +source is vastly more readable. Compare the above examples: using +reference-style links, the paragraph itself is only 81 characters +long; with inline-style links, it's 176 characters; and as raw HTML, +it's 234 characters. In the raw HTML, there's more markup than there +is text.

    + +

    With Markdown's reference-style links, a source document much more +closely resembles the final output, as rendered in a browser. By +allowing you to move the markup-related metadata out of the paragraph, +you can add links without interrupting the narrative flow of your +prose.

    + +

    Emphasis

    + +

    Markdown treats asterisks (*) and underscores (_) as indicators of +emphasis. Text wrapped with one * or _ will be wrapped with an +HTML <em> tag; double *'s or _'s will be wrapped with an HTML +<strong> tag. E.g., this input:

    + +
    *single asterisks*
    +
    +_single underscores_
    +
    +**double asterisks**
    +
    +__double underscores__
    +
    + +

    will produce:

    + +
    <em>single asterisks</em>
    +
    +<em>single underscores</em>
    +
    +<strong>double asterisks</strong>
    +
    +<strong>double underscores</strong>
    +
    + +

    You can use whichever style you prefer; the lone restriction is that +the same character must be used to open and close an emphasis span.

    + +

    Emphasis can be used in the middle of a word:

    + +
    un*fucking*believable
    +
    + +

    But if you surround an * or _ with spaces, it'll be treated as a +literal asterisk or underscore.

    + +

    To produce a literal asterisk or underscore at a position where it +would otherwise be used as an emphasis delimiter, you can backslash +escape it:

    + +
    \*this text is surrounded by literal asterisks\*
    +
    + +

    Code

    + +

    To indicate a span of code, wrap it with backtick quotes (`). +Unlike a pre-formatted code block, a code span indicates code within a +normal paragraph. For example:

    + +
    Use the `printf()` function.
    +
    + +

    will produce:

    + +
    <p>Use the <code>printf()</code> function.</p>
    +
    + +

    To include a literal backtick character within a code span, you can use +multiple backticks as the opening and closing delimiters:

    + +
    ``There is a literal backtick (`) here.``
    +
    + +

    which will produce this:

    + +
    <p><code>There is a literal backtick (`) here.</code></p>
    +
    + +

    The backtick delimiters surrounding a code span may include spaces -- +one after the opening, one before the closing. This allows you to place +literal backtick characters at the beginning or end of a code span:

    + +
    A single backtick in a code span: `` ` ``
    +
    +A backtick-delimited string in a code span: `` `foo` ``
    +
    + +

    will produce:

    + +
    <p>A single backtick in a code span: <code>`</code></p>
    +
    +<p>A backtick-delimited string in a code span: <code>`foo`</code></p>
    +
    + +

    With a code span, ampersands and angle brackets are encoded as HTML +entities automatically, which makes it easy to include example HTML +tags. Markdown will turn this:

    + +
    Please don't use any `<blink>` tags.
    +
    + +

    into:

    + +
    <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>
    +
    + +

    You can write this:

    + +
    `&#8212;` is the decimal-encoded equivalent of `&mdash;`.
    +
    + +

    to produce:

    + +
    <p><code>&amp;#8212;</code> is the decimal-encoded
    +equivalent of <code>&amp;mdash;</code>.</p>
    +
    + +

    Images

    + +

    Admittedly, it's fairly difficult to devise a "natural" syntax for +placing images into a plain text document format.

    + +

    Markdown uses an image syntax that is intended to resemble the syntax +for links, allowing for two styles: inline and reference.

    + +

    Inline image syntax looks like this:

    + +
    ![Alt text](/path/to/img.jpg)
    +
    +![Alt text](/path/to/img.jpg "Optional title")
    +
    + +

    That is:

    + +
      +
    • An exclamation mark: !;
    • +
    • followed by a set of square brackets, containing the alt +attribute text for the image;
    • +
    • followed by a set of parentheses, containing the URL or path to +the image, and an optional title attribute enclosed in double +or single quotes.
    • +
    + +

    Reference-style image syntax looks like this:

    + +
    ![Alt text][id]
    +
    + +

    Where "id" is the name of a defined image reference. Image references +are defined using syntax identical to link references:

    + +
    [id]: url/to/image  "Optional title attribute"
    +
    + +

    As of this writing, Markdown has no syntax for specifying the +dimensions of an image; if this is important to you, you can simply +use regular HTML <img> tags.

    + +
    + +

    Miscellaneous

    + + + +

    Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:

    + +
    <http://example.com/>
    +
    + +

    Markdown will turn this into:

    + +
    <a href="http://example.com/">http://example.com/</a>
    +
    + +

    Automatic links for email addresses work similarly, except that +Markdown will also perform a bit of randomized decimal and hex +entity-encoding to help obscure your address from address-harvesting +spambots. For example, Markdown will turn this:

    + +
    <address@example.com>
    +
    + +

    into something like this:

    + +
    <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
    +&#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
    +&#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
    +&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>
    +
    + +

    which will render in a browser as a clickable link to "address@example.com".

    + +

    (This sort of entity-encoding trick will indeed fool many, if not +most, address-harvesting bots, but it definitely won't fool all of +them. It's better than nothing, but an address published in this way +will probably eventually start receiving spam.)

    + +

    Backslash Escapes

    + +

    Markdown allows you to use backslash escapes to generate literal +characters which would otherwise have special meaning in Markdown's +formatting syntax. For example, if you wanted to surround a word with +literal asterisks (instead of an HTML <em> tag), you can backslashes +before the asterisks, like this:

    + +
    \*literal asterisks\*
    +
    + +

    Markdown provides backslash escapes for the following characters:

    + +
    \   backslash
    +`   backtick
    +*   asterisk
    +_   underscore
    +{}  curly braces
    +[]  square brackets
    +()  parentheses
    +#   hash mark
    ++   plus sign
    +-   minus sign (hyphen)
    +.   dot
    +!   exclamation mark
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.text new file mode 100644 index 0000000..79287ab --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/markdown_documentation_syntax.text @@ -0,0 +1,888 @@ +Markdown: Syntax +================ + + + + +* [Overview](#overview) + * [Philosophy](#philosophy) + * [Inline HTML](#html) + * [Automatic Escaping for Special Characters](#autoescape) +* [Block Elements](#block) + * [Paragraphs and Line Breaks](#p) + * [Headers](#header) + * [Blockquotes](#blockquote) + * [Lists](#list) + * [Code Blocks](#precode) + * [Horizontal Rules](#hr) +* [Span Elements](#span) + * [Links](#link) + * [Emphasis](#em) + * [Code](#code) + * [Images](#img) +* [Miscellaneous](#misc) + * [Backslash Escapes](#backslash) + * [Automatic Links](#autolink) + + +**Note:** This document is itself written using Markdown; you +can [see the source for it by adding '.text' to the URL][src]. + + [src]: /projects/markdown/syntax.text + +* * * + +

    Overview

    + +

    Philosophy

    + +Markdown is intended to be as easy-to-read and easy-to-write as is feasible. + +Readability, however, is emphasized above all else. A Markdown-formatted +document should be publishable as-is, as plain text, without looking +like it's been marked up with tags or formatting instructions. While +Markdown's syntax has been influenced by several existing text-to-HTML +filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4], +[Grutatext] [5], and [EtText] [6] -- the single biggest source of +inspiration for Markdown's syntax is the format of plain text email. + + [1]: http://docutils.sourceforge.net/mirror/setext.html + [2]: http://www.aaronsw.com/2002/atx/ + [3]: http://textism.com/tools/textile/ + [4]: http://docutils.sourceforge.net/rst.html + [5]: http://www.triptico.com/software/grutatxt.html + [6]: http://ettext.taint.org/doc/ + +To this end, Markdown's syntax is comprised entirely of punctuation +characters, which punctuation characters have been carefully chosen so +as to look like what they mean. E.g., asterisks around a word actually +look like \*emphasis\*. Markdown lists look like, well, lists. Even +blockquotes look like quoted passages of text, assuming you've ever +used email. + + + +

    Inline HTML

    + +Markdown's syntax is intended for one purpose: to be used as a +format for *writing* for the web. + +Markdown is not a replacement for HTML, or even close to it. Its +syntax is very small, corresponding only to a very small subset of +HTML tags. The idea is *not* to create a syntax that makes it easier +to insert HTML tags. In my opinion, HTML tags are already easy to +insert. The idea for Markdown is to make it easy to read, write, and +edit prose. HTML is a *publishing* format; Markdown is a *writing* +format. Thus, Markdown's formatting syntax only addresses issues that +can be conveyed in plain text. + +For any markup that is not covered by Markdown's syntax, you simply +use HTML itself. There's no need to preface it or delimit it to +indicate that you're switching from Markdown to HTML; you just use +the tags. + +The only restrictions are that block-level HTML elements -- e.g. `
    `, +``, `
    `, `

    `, etc. -- must be separated from surrounding +content by blank lines, and the start and end tags of the block should +not be indented with tabs or spaces. Markdown is smart enough not +to add extra (unwanted) `

    ` tags around HTML block-level tags. + +For example, to add an HTML table to a Markdown article: + + This is a regular paragraph. + +

    + + + +
    Foo
    + + This is another regular paragraph. + +Note that Markdown formatting syntax is not processed within block-level +HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an +HTML block. + +Span-level HTML tags -- e.g. ``, ``, or `` -- can be +used anywhere in a Markdown paragraph, list item, or header. If you +want, you can even use HTML tags instead of Markdown formatting; e.g. if +you'd prefer to use HTML `` or `` tags instead of Markdown's +link or image syntax, go right ahead. + +Unlike block-level HTML tags, Markdown syntax *is* processed within +span-level tags. + + +

    Automatic Escaping for Special Characters

    + +In HTML, there are two characters that demand special treatment: `<` +and `&`. Left angle brackets are used to start tags; ampersands are +used to denote HTML entities. If you want to use them as literal +characters, you must escape them as entities, e.g. `<`, and +`&`. + +Ampersands in particular are bedeviling for web writers. If you want to +write about 'AT&T', you need to write '`AT&T`'. You even need to +escape ampersands within URLs. Thus, if you want to link to: + + http://images.google.com/images?num=30&q=larry+bird + +you need to encode the URL as: + + http://images.google.com/images?num=30&q=larry+bird + +in your anchor tag `href` attribute. Needless to say, this is easy to +forget, and is probably the single most common source of HTML validation +errors in otherwise well-marked-up web sites. + +Markdown allows you to use these characters naturally, taking care of +all the necessary escaping for you. If you use an ampersand as part of +an HTML entity, it remains unchanged; otherwise it will be translated +into `&`. + +So, if you want to include a copyright symbol in your article, you can write: + + © + +and Markdown will leave it alone. But if you write: + + AT&T + +Markdown will translate it to: + + AT&T + +Similarly, because Markdown supports [inline HTML](#html), if you use +angle brackets as delimiters for HTML tags, Markdown will treat them as +such. But if you write: + + 4 < 5 + +Markdown will translate it to: + + 4 < 5 + +However, inside Markdown code spans and blocks, angle brackets and +ampersands are *always* encoded automatically. This makes it easy to use +Markdown to write about HTML code. (As opposed to raw HTML, which is a +terrible format for writing about HTML syntax, because every single `<` +and `&` in your example code needs to be escaped.) + + +* * * + + +

    Block Elements

    + + +

    Paragraphs and Line Breaks

    + +A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing but spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs. + +The implication of the "one or more consecutive lines of text" rule is +that Markdown supports "hard-wrapped" text paragraphs. This differs +significantly from most other text-to-HTML formatters (including Movable +Type's "Convert Line Breaks" option) which translate every line break +character in a paragraph into a `
    ` tag. + +When you *do* want to insert a `
    ` break tag using Markdown, you +end a line with two or more spaces, then type return. + +Yes, this takes a tad more effort to create a `
    `, but a simplistic +"every line break is a `
    `" rule wouldn't work for Markdown. +Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l] +work best -- and look better -- when you format them with hard breaks. + + [bq]: #blockquote + [l]: #list + + + + + +Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. + +Setext-style headers are "underlined" using equal signs (for first-level +headers) and dashes (for second-level headers). For example: + + This is an H1 + ============= + + This is an H2 + ------------- + +Any number of underlining `=`'s or `-`'s will work. + +Atx-style headers use 1-6 hash characters at the start of the line, +corresponding to header levels 1-6. For example: + + # This is an H1 + + ## This is an H2 + + ###### This is an H6 + +Optionally, you may "close" atx-style headers. This is purely +cosmetic -- you can use this if you think it looks better. The +closing hashes don't even need to match the number of hashes +used to open the header. (The number of opening hashes +determines the header level.) : + + # This is an H1 # + + ## This is an H2 ## + + ### This is an H3 ###### + + +

    Blockquotes

    + +Markdown uses email-style `>` characters for blockquoting. If you're +familiar with quoting passages of text in an email message, then you +know how to create a blockquote in Markdown. It looks best if you hard +wrap the text and put a `>` before every line: + + > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, + > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. + > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. + > + > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse + > id sem consectetuer libero luctus adipiscing. + +Markdown allows you to be lazy and only put the `>` before the first +line of a hard-wrapped paragraph: + + > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, + consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. + Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. + + > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse + id sem consectetuer libero luctus adipiscing. + +Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by +adding additional levels of `>`: + + > This is the first level of quoting. + > + > > This is nested blockquote. + > + > Back to the first level. + +Blockquotes can contain other Markdown elements, including headers, lists, +and code blocks: + + > ## This is a header. + > + > 1. This is the first list item. + > 2. This is the second list item. + > + > Here's some example code: + > + > return shell_exec("echo $input | $markdown_script"); + +Any decent text editor should make email-style quoting easy. For +example, with BBEdit, you can make a selection and choose Increase +Quote Level from the Text menu. + + +

    Lists

    + +Markdown supports ordered (numbered) and unordered (bulleted) lists. + +Unordered lists use asterisks, pluses, and hyphens -- interchangably +-- as list markers: + + * Red + * Green + * Blue + +is equivalent to: + + + Red + + Green + + Blue + +and: + + - Red + - Green + - Blue + +Ordered lists use numbers followed by periods: + + 1. Bird + 2. McHale + 3. Parish + +It's important to note that the actual numbers you use to mark the +list have no effect on the HTML output Markdown produces. The HTML +Markdown produces from the above list is: + +
      +
    1. Bird
    2. +
    3. McHale
    4. +
    5. Parish
    6. +
    + +If you instead wrote the list in Markdown like this: + + 1. Bird + 1. McHale + 1. Parish + +or even: + + 3. Bird + 1. McHale + 8. Parish + +you'd get the exact same HTML output. The point is, if you want to, +you can use ordinal numbers in your ordered Markdown lists, so that +the numbers in your source match the numbers in your published HTML. +But if you want to be lazy, you don't have to. + +If you do use lazy list numbering, however, you should still start the +list with the number 1. At some point in the future, Markdown may support +starting ordered lists at an arbitrary number. + +List markers typically start at the left margin, but may be indented by +up to three spaces. List markers must be followed by one or more spaces +or a tab. + +To make lists look nice, you can wrap items with hanging indents: + + * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, + viverra nec, fringilla in, laoreet vitae, risus. + * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. + Suspendisse id sem consectetuer libero luctus adipiscing. + +But if you want to be lazy, you don't have to: + + * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, + viverra nec, fringilla in, laoreet vitae, risus. + * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. + Suspendisse id sem consectetuer libero luctus adipiscing. + +If list items are separated by blank lines, Markdown will wrap the +items in `

    ` tags in the HTML output. For example, this input: + + * Bird + * Magic + +will turn into: + +

      +
    • Bird
    • +
    • Magic
    • +
    + +But this: + + * Bird + + * Magic + +will turn into: + +
      +
    • Bird

    • +
    • Magic

    • +
    + +List items may consist of multiple paragraphs. Each subsequent +paragraph in a list item must be intended by either 4 spaces +or one tab: + + 1. This is a list item with two paragraphs. Lorem ipsum dolor + sit amet, consectetuer adipiscing elit. Aliquam hendrerit + mi posuere lectus. + + Vestibulum enim wisi, viverra nec, fringilla in, laoreet + vitae, risus. Donec sit amet nisl. Aliquam semper ipsum + sit amet velit. + + 2. Suspendisse id sem consectetuer libero luctus adipiscing. + +It looks nice if you indent every line of the subsequent +paragraphs, but here again, Markdown will allow you to be +lazy: + + * This is a list item with two paragraphs. + + This is the second paragraph in the list item. You're + only required to indent the first line. Lorem ipsum dolor + sit amet, consectetuer adipiscing elit. + + * Another item in the same list. + +To put a blockquote within a list item, the blockquote's `>` +delimiters need to be indented: + + * A list item with a blockquote: + + > This is a blockquote + > inside a list item. + +To put a code block within a list item, the code block needs +to be indented *twice* -- 8 spaces or two tabs: + + * A list item with a code block: + + + + +It's worth noting that it's possible to trigger an ordered list by +accident, by writing something like this: + + 1986. What a great season. + +In other words, a *number-period-space* sequence at the beginning of a +line. To avoid this, you can backslash-escape the period: + + 1986\. What a great season. + + + +

    Code Blocks

    + +Pre-formatted code blocks are used for writing about programming or +markup source code. Rather than forming normal paragraphs, the lines +of a code block are interpreted literally. Markdown wraps a code block +in both `
    ` and `` tags.
    +
    +To produce a code block in Markdown, simply indent every line of the
    +block by at least 4 spaces or 1 tab. For example, given this input:
    +
    +    This is a normal paragraph:
    +
    +        This is a code block.
    +
    +Markdown will generate:
    +
    +    

    This is a normal paragraph:

    + +
    This is a code block.
    +    
    + +One level of indentation -- 4 spaces or 1 tab -- is removed from each +line of the code block. For example, this: + + Here is an example of AppleScript: + + tell application "Foo" + beep + end tell + +will turn into: + +

    Here is an example of AppleScript:

    + +
    tell application "Foo"
    +        beep
    +    end tell
    +    
    + +A code block continues until it reaches a line that is not indented +(or the end of the article). + +Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) +are automatically converted into HTML entities. This makes it very +easy to include example HTML source code using Markdown -- just paste +it and indent it, and Markdown will handle the hassle of encoding the +ampersands and angle brackets. For example, this: + + + +will turn into: + +
    <div class="footer">
    +        &copy; 2004 Foo Corporation
    +    </div>
    +    
    + +Regular Markdown syntax is not processed within code blocks. E.g., +asterisks are just literal asterisks within a code block. This means +it's also easy to use Markdown to write about Markdown's own syntax. + + + +

    Horizontal Rules

    + +You can produce a horizontal rule tag (`
    `) by placing three or +more hyphens, asterisks, or underscores on a line by themselves. If you +wish, you may use spaces between the hyphens or asterisks. Each of the +following lines will produce a horizontal rule: + + * * * + + *** + + ***** + + - - - + + --------------------------------------- + + _ _ _ + + +* * * + +

    Span Elements

    + + + +Markdown supports two style of links: *inline* and *reference*. + +In both styles, the link text is delimited by [square brackets]. + +To create an inline link, use a set of regular parentheses immediately +after the link text's closing square bracket. Inside the parentheses, +put the URL where you want the link to point, along with an *optional* +title for the link, surrounded in quotes. For example: + + This is [an example](http://example.com/ "Title") inline link. + + [This link](http://example.net/) has no title attribute. + +Will produce: + +

    This is + an example inline link.

    + +

    This link has no + title attribute.

    + +If you're referring to a local resource on the same server, you can +use relative paths: + + See my [About](/about/) page for details. + +Reference-style links use a second set of square brackets, inside +which you place a label of your choosing to identify the link: + + This is [an example][id] reference-style link. + +You can optionally use a space to separate the sets of brackets: + + This is [an example] [id] reference-style link. + +Then, anywhere in the document, you define your link label like this, +on a line by itself: + + [id]: http://example.com/ "Optional Title Here" + +That is: + +* Square brackets containing the link identifier (optionally + indented from the left margin using up to three spaces); +* followed by a colon; +* followed by one or more spaces (or tabs); +* followed by the URL for the link; +* optionally followed by a title attribute for the link, enclosed + in double or single quotes. + +The link URL may, optionally, be surrounded by angle brackets: + + [id]: "Optional Title Here" + +You can put the title attribute on the next line and use extra spaces +or tabs for padding, which tends to look better with longer URLs: + + [id]: http://example.com/longish/path/to/resource/here + "Optional Title Here" + +Link definitions are only used for creating links during Markdown +processing, and are stripped from your document in the HTML output. + +Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links: + + [link text][a] + [link text][A] + +are equivalent. + +The *implicit link name* shortcut allows you to omit the name of the +link, in which case the link text itself is used as the name. +Just use an empty set of square brackets -- e.g., to link the word +"Google" to the google.com web site, you could simply write: + + [Google][] + +And then define the link: + + [Google]: http://google.com/ + +Because link names may contain spaces, this shortcut even works for +multiple words in the link text: + + Visit [Daring Fireball][] for more information. + +And then define the link: + + [Daring Fireball]: http://daringfireball.net/ + +Link definitions can be placed anywhere in your Markdown document. I +tend to put them immediately after each paragraph in which they're +used, but if you want, you can put them all at the end of your +document, sort of like footnotes. + +Here's an example of reference links in action: + + I get 10 times more traffic from [Google] [1] than from + [Yahoo] [2] or [MSN] [3]. + + [1]: http://google.com/ "Google" + [2]: http://search.yahoo.com/ "Yahoo Search" + [3]: http://search.msn.com/ "MSN Search" + +Using the implicit link name shortcut, you could instead write: + + I get 10 times more traffic from [Google][] than from + [Yahoo][] or [MSN][]. + + [google]: http://google.com/ "Google" + [yahoo]: http://search.yahoo.com/ "Yahoo Search" + [msn]: http://search.msn.com/ "MSN Search" + +Both of the above examples will produce the following HTML output: + +

    I get 10 times more traffic from Google than from + Yahoo + or MSN.

    + +For comparison, here is the same paragraph written using +Markdown's inline link style: + + I get 10 times more traffic from [Google](http://google.com/ "Google") + than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or + [MSN](http://search.msn.com/ "MSN Search"). + +The point of reference-style links is not that they're easier to +write. The point is that with reference-style links, your document +source is vastly more readable. Compare the above examples: using +reference-style links, the paragraph itself is only 81 characters +long; with inline-style links, it's 176 characters; and as raw HTML, +it's 234 characters. In the raw HTML, there's more markup than there +is text. + +With Markdown's reference-style links, a source document much more +closely resembles the final output, as rendered in a browser. By +allowing you to move the markup-related metadata out of the paragraph, +you can add links without interrupting the narrative flow of your +prose. + + +

    Emphasis

    + +Markdown treats asterisks (`*`) and underscores (`_`) as indicators of +emphasis. Text wrapped with one `*` or `_` will be wrapped with an +HTML `` tag; double `*`'s or `_`'s will be wrapped with an HTML +`` tag. E.g., this input: + + *single asterisks* + + _single underscores_ + + **double asterisks** + + __double underscores__ + +will produce: + + single asterisks + + single underscores + + double asterisks + + double underscores + +You can use whichever style you prefer; the lone restriction is that +the same character must be used to open and close an emphasis span. + +Emphasis can be used in the middle of a word: + + un*fucking*believable + +But if you surround an `*` or `_` with spaces, it'll be treated as a +literal asterisk or underscore. + +To produce a literal asterisk or underscore at a position where it +would otherwise be used as an emphasis delimiter, you can backslash +escape it: + + \*this text is surrounded by literal asterisks\* + + + +

    Code

    + +To indicate a span of code, wrap it with backtick quotes (`` ` ``). +Unlike a pre-formatted code block, a code span indicates code within a +normal paragraph. For example: + + Use the `printf()` function. + +will produce: + +

    Use the printf() function.

    + +To include a literal backtick character within a code span, you can use +multiple backticks as the opening and closing delimiters: + + ``There is a literal backtick (`) here.`` + +which will produce this: + +

    There is a literal backtick (`) here.

    + +The backtick delimiters surrounding a code span may include spaces -- +one after the opening, one before the closing. This allows you to place +literal backtick characters at the beginning or end of a code span: + + A single backtick in a code span: `` ` `` + + A backtick-delimited string in a code span: `` `foo` `` + +will produce: + +

    A single backtick in a code span: `

    + +

    A backtick-delimited string in a code span: `foo`

    + +With a code span, ampersands and angle brackets are encoded as HTML +entities automatically, which makes it easy to include example HTML +tags. Markdown will turn this: + + Please don't use any `` tags. + +into: + +

    Please don't use any <blink> tags.

    + +You can write this: + + `—` is the decimal-encoded equivalent of `—`. + +to produce: + +

    &#8212; is the decimal-encoded + equivalent of &mdash;.

    + + + +

    Images

    + +Admittedly, it's fairly difficult to devise a "natural" syntax for +placing images into a plain text document format. + +Markdown uses an image syntax that is intended to resemble the syntax +for links, allowing for two styles: *inline* and *reference*. + +Inline image syntax looks like this: + + ![Alt text](/path/to/img.jpg) + + ![Alt text](/path/to/img.jpg "Optional title") + +That is: + +* An exclamation mark: `!`; +* followed by a set of square brackets, containing the `alt` + attribute text for the image; +* followed by a set of parentheses, containing the URL or path to + the image, and an optional `title` attribute enclosed in double + or single quotes. + +Reference-style image syntax looks like this: + + ![Alt text][id] + +Where "id" is the name of a defined image reference. Image references +are defined using syntax identical to link references: + + [id]: url/to/image "Optional title attribute" + +As of this writing, Markdown has no syntax for specifying the +dimensions of an image; if this is important to you, you can simply +use regular HTML `` tags. + + +* * * + + +

    Miscellaneous

    + + + +Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this: + + + +Markdown will turn this into: + + http://example.com/ + +Automatic links for email addresses work similarly, except that +Markdown will also perform a bit of randomized decimal and hex +entity-encoding to help obscure your address from address-harvesting +spambots. For example, Markdown will turn this: + + + +into something like this: + + address@exa + mple.com + +which will render in a browser as a clickable link to "address@example.com". + +(This sort of entity-encoding trick will indeed fool many, if not +most, address-harvesting bots, but it definitely won't fool all of +them. It's better than nothing, but an address published in this way +will probably eventually start receiving spam.) + + + +

    Backslash Escapes

    + +Markdown allows you to use backslash escapes to generate literal +characters which would otherwise have special meaning in Markdown's +formatting syntax. For example, if you wanted to surround a word with +literal asterisks (instead of an HTML `` tag), you can backslashes +before the asterisks, like this: + + \*literal asterisks\* + +Markdown provides backslash escapes for the following characters: + + \ backslash + ` backtick + * asterisk + _ underscore + {} curly braces + [] square brackets + () parentheses + # hash mark + + plus sign + - minus sign (hyphen) + . dot + ! exclamation mark + diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.html new file mode 100644 index 0000000..d8ec7f8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.html @@ -0,0 +1,9 @@ +
    +

    foo

    + +
    +

    bar

    +
    + +

    foo

    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.text new file mode 100644 index 0000000..ed3c624 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_blockquotes.text @@ -0,0 +1,5 @@ +> foo +> +> > bar +> +> foo diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.html new file mode 100644 index 0000000..c370592 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.html @@ -0,0 +1 @@ +

    hi ther `` ok ```

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.text new file mode 100644 index 0000000..910e3d4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_code.text @@ -0,0 +1 @@ +````` hi ther `` ok ``` ````` diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.html new file mode 100644 index 0000000..3ab4ec8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.html @@ -0,0 +1,3 @@ +

    test test test

    + +

    test test test

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.text new file mode 100644 index 0000000..550d0eb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_em.text @@ -0,0 +1,3 @@ +*test **test** test* + +_test __test__ test_ diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.html new file mode 100644 index 0000000..c8b7940 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.html @@ -0,0 +1 @@ +

    the ] character

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.text new file mode 100644 index 0000000..82226ed --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/nested_square_link.text @@ -0,0 +1 @@ +[the `]` character](/url) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.html new file mode 100644 index 0000000..a01685d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.html @@ -0,0 +1 @@ +

    [test](not a link)

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.text new file mode 100644 index 0000000..26f6043 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/not_a_link.text @@ -0,0 +1 @@ +\[test](not a link) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.html new file mode 100644 index 0000000..3ab6122 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.html @@ -0,0 +1,148 @@ +

    Unordered

    + +

    Asterisks tight:

    + +
      +
    • asterisk 1
    • +
    • asterisk 2
    • +
    • asterisk 3
    • +
    + +

    Asterisks loose:

    + +
      +
    • asterisk 1

    • +
    • asterisk 2

    • +
    • asterisk 3

    • +
    + +
    + +

    Pluses tight:

    + +
      +
    • Plus 1
    • +
    • Plus 2
    • +
    • Plus 3
    • +
    + +

    Pluses loose:

    + +
      +
    • Plus 1

    • +
    • Plus 2

    • +
    • Plus 3

    • +
    + +
    + +

    Minuses tight:

    + +
      +
    • Minus 1
    • +
    • Minus 2
    • +
    • Minus 3
    • +
    + +

    Minuses loose:

    + +
      +
    • Minus 1

    • +
    • Minus 2

    • +
    • Minus 3

    • +
    + +

    Ordered

    + +

    Tight:

    + +
      +
    1. First
    2. +
    3. Second
    4. +
    5. Third
    6. +
    + +

    and:

    + +
      +
    1. One
    2. +
    3. Two
    4. +
    5. Three
    6. +
    + +

    Loose using tabs:

    + +
      +
    1. First

    2. +
    3. Second

    4. +
    5. Third

    6. +
    + +

    and using spaces:

    + +
      +
    1. One

    2. +
    3. Two

    4. +
    5. Three

    6. +
    + +

    Multiple paragraphs:

    + +
      +
    1. Item 1, graf one.

      + +

      Item 2. graf two. The quick brown fox jumped over the lazy dog's +back.

    2. +
    3. Item 2.

    4. +
    5. Item 3.

    6. +
    + +

    Nested

    + +
      +
    • Tab +
        +
      • Tab +
          +
        • Tab
        • +
      • +
    • +
    + +

    Here's another:

    + +
      +
    1. First
    2. +
    3. Second: +
        +
      • Fee
      • +
      • Fie
      • +
      • Foe
      • +
    4. +
    5. Third
    6. +
    + +

    Same thing but with paragraphs:

    + +
      +
    1. First

    2. +
    3. Second:

      + +
        +
      • Fee
      • +
      • Fie
      • +
      • Foe
      • +
    4. +
    5. Third

    6. +
    + + +

    This was an error in Markdown 1.0.1:

    + +
      +
    • this

      + +
      • sub
      + +

      that

    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.text new file mode 100644 index 0000000..7f3b497 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ordered_and_unordered_lists.text @@ -0,0 +1,131 @@ +## Unordered + +Asterisks tight: + +* asterisk 1 +* asterisk 2 +* asterisk 3 + + +Asterisks loose: + +* asterisk 1 + +* asterisk 2 + +* asterisk 3 + +* * * + +Pluses tight: + ++ Plus 1 ++ Plus 2 ++ Plus 3 + + +Pluses loose: + ++ Plus 1 + ++ Plus 2 + ++ Plus 3 + +* * * + + +Minuses tight: + +- Minus 1 +- Minus 2 +- Minus 3 + + +Minuses loose: + +- Minus 1 + +- Minus 2 + +- Minus 3 + + +## Ordered + +Tight: + +1. First +2. Second +3. Third + +and: + +1. One +2. Two +3. Three + + +Loose using tabs: + +1. First + +2. Second + +3. Third + +and using spaces: + +1. One + +2. Two + +3. Three + +Multiple paragraphs: + +1. Item 1, graf one. + + Item 2. graf two. The quick brown fox jumped over the lazy dog's + back. + +2. Item 2. + +3. Item 3. + + + +## Nested + +* Tab + * Tab + * Tab + +Here's another: + +1. First +2. Second: + * Fee + * Fie + * Foe +3. Third + +Same thing but with paragraphs: + +1. First + +2. Second: + * Fee + * Fie + * Foe + +3. Third + + +This was an error in Markdown 1.0.1: + +* this + + * sub + + that diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.html new file mode 100644 index 0000000..cff6977 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.html @@ -0,0 +1 @@ +

    hi

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.text new file mode 100644 index 0000000..aa97c91 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/ref_paren.text @@ -0,0 +1,3 @@ +[hi] + +[hi]: /url (there) diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.html new file mode 100644 index 0000000..9220741 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.html @@ -0,0 +1,5 @@ +
      +
    • test
    • +
    • test
    • +
    • test
    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.text new file mode 100644 index 0000000..27a8967 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/same_bullet.text @@ -0,0 +1,3 @@ +* test ++ test +- test diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.html new file mode 100644 index 0000000..71ec78c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.html @@ -0,0 +1,7 @@ +

    This is strong and em.

    + +

    So is this word.

    + +

    This is strong and em.

    + +

    So is this word.

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.text new file mode 100644 index 0000000..95ee690 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/strong_and_em_together.text @@ -0,0 +1,7 @@ +***This is strong and em.*** + +So is ***this*** word. + +___This is strong and em.___ + +So is ___this___ word. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.html new file mode 100644 index 0000000..3301ba8 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.html @@ -0,0 +1,25 @@ +
      +
    • this is a list item +indented with tabs

    • +
    • this is a list item +indented with spaces

    • +
    + +

    Code:

    + +
    this code block is indented by one tab
    +
    + +

    And:

    + +
        this code block is indented by two tabs
    +
    + +

    And:

    + +
    +   this is an example list item
    +    indented with tabs
    +
    ++   this is an example list item
    +    indented with spaces
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.text new file mode 100644 index 0000000..589d113 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tabs.text @@ -0,0 +1,21 @@ ++ this is a list item + indented with tabs + ++ this is a list item + indented with spaces + +Code: + + this code block is indented by one tab + +And: + + this code block is indented by two tabs + +And: + + + this is an example list item + indented with tabs + + + this is an example list item + indented with spaces diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.html new file mode 100644 index 0000000..22997c4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.html @@ -0,0 +1,6 @@ +

    Hello world ‘how’ “are” you — today…

    + +

    “It’s a more ‘challenging’ smartypants test…”

    + +

    ‘And,’ as a bonus — “one +multiline” test!

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.text new file mode 100644 index 0000000..d91c8dc --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/text.smartypants.text @@ -0,0 +1,6 @@ +Hello world 'how' "are" you -- today... + +"It's a more 'challenging' smartypants test..." + +'And,' as a bonus -- "one +multiline" test! diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.html new file mode 100644 index 0000000..f2a8ce7 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.html @@ -0,0 +1,8 @@ +
    +

    A list within a blockquote:

    +
      +
    • asterisk 1
    • +
    • asterisk 2
    • +
    • asterisk 3
    • +
    +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.text new file mode 100644 index 0000000..5f18b8d --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tidyness.text @@ -0,0 +1,5 @@ +> A list within a blockquote: +> +> * asterisk 1 +> * asterisk 2 +> * asterisk 3 diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.html new file mode 100644 index 0000000..970c6f1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.html @@ -0,0 +1,34 @@ +

    hello world + how are you + how are you

    + +

    hello world

    +
    how are you
    + +

    hello world

    +
    + +

    hello world

    +

    how are you

    + +

    hello world

    +

    how are you

    + +

    hello world

    +

    how are you

    + +

    hello world

    +
    • how are you
    + +

    hello world

    +
    how are you
    + +

    hello world +how are you

    + +

    hello world +

    + +
    hello
    + +

    hello

    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.text new file mode 100644 index 0000000..66366c0 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/toplevel_paragraphs.gfm.text @@ -0,0 +1,37 @@ +hello world + how are you + how are you + +hello world +``` +how are you +``` + +hello world +* * * + +hello world +# how are you + +hello world +how are you +=========== + +hello world +> how are you + +hello world +* how are you + +hello world +
    how are you
    + +hello world +how are you + +hello [world][how] +[how]: /are/you + +
    hello
    + +hello diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.html b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.html new file mode 100644 index 0000000..764a335 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.html @@ -0,0 +1,23 @@ +

    hello world

    + +
      +
    • hello world
    • +
    + +

    hello world

    + +
      +
    • hello world
    • +
    + +

    hello world

    + +
      +
    • Hello world
    • +
    + +

    hello world

    + +
      +
    • hello world
    • +
    diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.text b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.text new file mode 100644 index 0000000..9aa76ce --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/marked/test/tests/tricky_list.text @@ -0,0 +1,15 @@ +**hello** _world_ + +* hello world + +**hello** _world_ + +* hello world + +**hello** _world_ + +* Hello world + +**hello** _world_ + +* hello world diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/.bower.json b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/.bower.json new file mode 100644 index 0000000..a3bb648 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/.bower.json @@ -0,0 +1,24 @@ +{ + "name": "normalize-css", + "version": "3.0.1", + "main": "normalize.css", + "author": "Nicolas Gallagher", + "ignore": [ + "CHANGELOG.md", + "CONTRIBUTING.md", + "component.json", + "package.json", + "test.html" + ], + "homepage": "https://github.com/necolas/normalize.css", + "_release": "3.0.1", + "_resolution": { + "type": "version", + "tag": "3.0.1", + "commit": "e3c71c911b0c0ebc0ee14d2421543ce1476fd761" + }, + "_source": "git://github.com/necolas/normalize.css.git", + "_target": "~3.0.1", + "_originalSource": "normalize-css", + "_direct": true +} \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/LICENSE.md b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/LICENSE.md new file mode 100644 index 0000000..c6bcc9b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (c) Nicolas Gallagher and Jonathan Neal + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/README.md b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/README.md new file mode 100644 index 0000000..80ec51a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/README.md @@ -0,0 +1,57 @@ +# normalize.css v3 + +Normalize.css is a customisable CSS file that makes browsers render all +elements more consistently and in line with modern standards. + +The project relies on researching the differences between default browser +styles in order to precisely target only the styles that need or benefit from +normalizing. + +[View the test file](http://necolas.github.io/normalize.css/latest/test.html) + +## Install + +Download from the [project page](http://necolas.github.io/normalize.css/). + +Install with [Component(1)](https://github.com/component/component/): `component install necolas/normalize.css` + +Install with [npm](http://npmjs.org/): `npm install --save normalize.css` + +Install with [Bower](http://bower.io/): `bower install --save normalize.css` + +## What does it do? + +* Preserves useful defaults, unlike many CSS resets. +* Normalizes styles for a wide range of elements. +* Corrects bugs and common browser inconsistencies. +* Improves usability with subtle improvements. +* Explains what code does using detailed comments. + +## How to use it + +No other styles should come before Normalize.css. + +It is recommended that you include the `normalize.css` file as untouched +library code. + +## Browser support + +* Google Chrome (latest) +* Mozilla Firefox (latest) +* Mozilla Firefox 4 +* Opera (latest) +* Apple Safari 6+ +* Internet Explorer 8+ + +[Normalize.css v1 provides legacy browser +support](https://github.com/necolas/normalize.css/tree/v1) (IE 6+, Safari 4+), +but is no longer actively developed. + +## Contributing + +Please read the CONTRIBUTING.md + +## Acknowledgements + +Normalize.css is a project by [Nicolas Gallagher](https://github.com/necolas), +co-created with [Jonathan Neal](https://github.com/jonathantneal). diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/bower.json b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/bower.json new file mode 100644 index 0000000..9ddcdd0 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/bower.json @@ -0,0 +1,13 @@ +{ + "name": "normalize-css", + "version": "3.0.1", + "main": "normalize.css", + "author": "Nicolas Gallagher", + "ignore": [ + "CHANGELOG.md", + "CONTRIBUTING.md", + "component.json", + "package.json", + "test.html" + ] +} diff --git a/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/normalize.css b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/normalize.css new file mode 100644 index 0000000..08f8950 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/app/bower_components/normalize-css/normalize.css @@ -0,0 +1,425 @@ +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/corejava第9版/EnglishGrammarBook-master/config.js b/corejava第9版/EnglishGrammarBook-master/config.js new file mode 100644 index 0000000..a2152a0 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/config.js @@ -0,0 +1,26 @@ +var CONFIG = { + // your website's title + document_title: "旋元佑进阶文法", + + // index page + index: "README.md", + + // sidebar file + sidebar_file: "sidebar.md", + + // where the docs are actually stored on github - so you can edit + base_url: "https://github.com/codeyu/EnglishGrammarBook/edit/master", +}; + +// ************************** +// DON'T EDIT FOLLOWING CODES +// ************************** + +addConfig(ditto, CONFIG); + +function addConfig(obj, conf) { + Object.keys(conf).forEach(function (key) { + obj[key] = conf[key]; + }); +} + diff --git a/corejava第9版/EnglishGrammarBook-master/cover.jpg b/corejava第9版/EnglishGrammarBook-master/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c8a75b49591c8cc464858a20686f27c7c77f768c GIT binary patch literal 12874 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/css/app.css b/corejava第9版/EnglishGrammarBook-master/css/app.css new file mode 100644 index 0000000..3cf62e3 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/css/app.css @@ -0,0 +1,529 @@ +/* General Setting */ + +/* Small screens (default) */ +html { font-size: 100%; } + +/* Medium screens (640px) */ +@media (min-width: 40rem) { + html { font-size: 112%; } +} + +/* Large screens (1024px) */ +@media (min-width: 64rem) { + html { font-size: 120%; } +} + +/* Grid */ + +/* Ditto */ + +body { + color: #333; + margin: 0; + padding: 0; + + font-family: Verdana, Arial; + font-size: 0.8rem; +} + +#sidebar { + margin-top: 0; + padding-left: 25px; + padding-bottom:25px; + padding-top: 25px; + + box-shadow: 0 0 40px #CCC; + -webkit-box-shadow: 0 0 40px #CCC; + -moz-box-shadow: 0 0 40px #CCC; + border-right: 1px solid #BBB; +} + +@media (min-width: 40rem) { + #sidebar { + width: 280px; + position: fixed; + height: 100%; + margin-right: 20px; + padding-bottom:0px; + padding-top: 0px; + overflow-y: scroll; + overflow: -moz-scrollbars-vertical; + } +} + +#sidebar h1 { + font-size: 25px; + margin-bottom: 0px; + padding-bottom: 0px; +} + +#sidebar h1 a:link, #sidebar h1 a:visited { + color: #333; +} + +#sidebar h2 { + font-size: 0.7rem; +} + +#sidebar h5 { + margin-top: 20px; + margin-bottom: 0; +} + +#sidebar a:visited, #sidebar a:link { + color: #4682BE; + text-decoration: none; +} + +#sidebar ul { + list-style-type: none; + margin: 0; + padding-left: 10px; + padding-top: 0; +} + +#sidebar ol { + margin: 0; + padding-left: 30px; + padding-top: 0; +} + +#sidebar ul li:before { /* a hack to have dashes as a list style */ + content: "-"; + position: relative; + left: -5px; +} + +#sidebar ul li, +#sidebar ol li { + margin-top: 0; + margin-bottom: 0.2rem; + margin-left: 10px; + padding: 0; + + text-indent: -5px; /* to compensate for the padding for the dash */ + font-size: 0.7rem; +} + +form.searchBox { + width: 180px; + border: 1px solid #4682BE; + height:20px; + position: relative; +} + +input[type=search] { + position: absolute; + top: 0; + left: 0; + width: 160px; + height: 18px; + text-align: left; + border: none; +} + +input.searchButton { + position: absolute; + top: 0; + left: 160px; + height: 18px; +} + +#content { + padding-top: 10px; + padding-bottom: 150px; + margin-left: 20px; + margin-right: 20px; + font-size: 0.8rem; + line-height:1.3rem; + + /* border: 1px solid black; */ + + counter-reset: section; +} + +@media (min-width: 40rem) { + #content { + width: 580px; + padding-left:330px; + margin-left: 0px; + margin-right: 0px; + } +} + +#content pre{ + margin-left: auto; + margin-right: auto; + padding-top: 10px; + padding-bottom: 10px; + padding-left: 0.7rem; + line-height: 1.2; + + color: #FFF; + + background: #111; + border-radius: 5px; +} + +#content code { + color: #a6e22e; + font-size: 0.7rem; + font-weight: normal; + font-family: Consolas,"Courier New",Courier,FreeMono,monospace; + + background: #111; + border-radius: 2px; +} + +#content p code, +#content li>code, +#content h2>code, +#content h3>code{ + padding-left: 3px; + padding-right: 3px; + color: #c7254e; + background: #f9f2f4; +} + +#content h2 { + margin-top: 50px; + margin-bottom: 0px; + + padding-top: 20px; + padding-bottom: 0px; + + font-size: 18px; + text-align: left; + + border-top: 2px solid #666; + + counter-increment: section; +} + +#content h2:before { + content: counter(section) ". "; +} + +#content h3 { + margin-top: 50px; + margin-bottom: 0px; + + padding-top: 20px; + padding-bottom: 0px; + + text-align: left; + border-top: 1px dotted #777; +} + +#content h2:hover, +#content h3:hover { + color: #ED1C24; +} + +#content img { + max-width: 90%; + display: block; + + margin-left: auto; + margin-right: auto; + margin-top: 40px; + margin-bottom: 40px; + + border-radius: 5px; +} + +#content ul { + display: block; + list-style-type: none; + padding-top: 0.5rem; + padding-bottom:0.5rem; +} + +#content ol { + display: block; + padding-top: 0.5rem; + padding-bottom:0.5rem; +} + + +#content ul li:before { /* a hack to have dashes as a list style */ + content: "-"; + position: relative; + left: -5px; +} + +#content ul li, +#content ol li{ + text-indent: -5px; /* to compensate for the padding for the dash */ + font-size: 0.8rem; +} + +#content ul li.link, +#content ol li.link { + color: #2980b9; + text-decoration: none; + font-size: 0.7rem; + font-weight: bold; + cursor: pointer; +} + +#content a:link, #content a:visited { + color: #4682BE; + text-decoration: none; +} + +#content .content-toc{ + background: #bdc3c7; + border-radius: 5px; +} + +#content table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all} + +#content table th{font-weight:bold} + +#content table th, +#content table td{padding:6px 13px;border:1px solid #ddd} + +#content table tr{background-color:#fff;border-top:1px solid #ccc} +#content table tr:nth-child(2n){background-color:#f8f8f8} + +#content u {color: #C35555;} + +#back_to_top { + display: none; + position: fixed; + + height: 20px; + width: 70px; + top: 20px; + + margin-left: 930px; + margin-top: 0px; + + color: #FFF; + line-height: 20px; + text-align: center; + font-size: 10px; + + + border-radius: 5px; + background-color: #AAA; +} + +#back_to_top:hover { + background-color: #444; + cursor: pointer; +} + +#edit { + display: none; + position: fixed; + + height: 17px; + width: 70px; + top: 45px; + + margin-left: 930px; + margin-top: 0px; + + color: #FFF; + line-height: 17px; + text-align: center; + font-size: 10px; + + + border-radius: 5px; + background-color: #AAA; +} + +#edit:hover { + background-color: #444; + cursor: pointer; +} + +#loading, #error { + display: none; + position: fixed; + + top: 0; + height: 17px; + + font-size: 14px; +} + +@media (min-width: 40rem) { + #loading, #error { + display: none; + position: fixed; + + height: 17px; + top: 45%; + + margin-left: 560px; + + font-size: 14px; + } +} + +#flip{ + position:fixed; + height:20px; + width:100%; + bottom:10px; + font-size:10px; + text-align:center; +} + +#pageup,#pagedown{ + height:20px; + width:70px; + display:inline-block; + border-radius: 5px; + background-color: #AAA; + text-align: center; + line-height:20px; + color: #FFF; +} + +#pageup{ + margin-right:5px; +} + +#pageup:hover, +#pagedown:hover{ + background-color: #444; + cursor: pointer; +} + +#pagedown{ + margin-left:5px; +} + +@media (min-width: 40rem) { + #flip{ + margin-left:545px; + width:150px; + } +} + +.progress-indicator-2 { + position: fixed; + top: 0; + left: 0; + height: 3px; + background-color: #0A74DA; +} + +/** + * okaidia theme for JavaScript, CSS and HTML + * Loosely based on Monokai textmate theme by http://www.monokai.nl/ + * @author ocodia + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #a6e22e; + text-shadow: 0 1px rgba(0,0,0,0.3); + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #272822; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #75715e; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol { + color: #f92672; +} + +.token.boolean, +.token.number{ + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.builtin { + color: #a6e22e; +} + + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f92672; +} + +.token.atrule, +.token.attr-value +{ + color: #e6db74; +} + + +.token.keyword{ +color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important { + font-weight: bold; +} + +.token.entity { + cursor: help; +} diff --git a/corejava第9版/EnglishGrammarBook-master/css/normalize.css b/corejava第9版/EnglishGrammarBook-master/css/normalize.css new file mode 100644 index 0000000..3d94546 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/css/normalize.css @@ -0,0 +1 @@ +../app/bower_components/normalize-css/normalize.css \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Adjective.md b/corejava第9版/EnglishGrammarBook-master/docs/Adjective.md new file mode 100644 index 0000000..a716aef --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Adjective.md @@ -0,0 +1,324 @@ +# 第四章 形容詞 + +形容词是用来修饰名词专用的词类。要和名词发生关系,形容词有两种主要的位​​置可以使用:1\. 名词片语中;2\. 补语位置(主词补语与受词补语)。放在名词片语中的形容词称为 attributive adjectives,具有界定这个名词**特质(attribute)**的功能。放在补语位置的形容词则称为 predicative adjectives,只是用来对名词进行**叙述(predication)**的。例如: + +Mr. Wang, my boss, is a busy man. + +The man is busy today. + +第 1 句的 busy 用在名詞片語 a busy man 當中,這個 busy 稱為 attributive adjective,點出「忙碌」是此人的一項特質。換句話說:這是個「大忙人」,每天都很忙。反之,第 2 句用在補語位置的 busy 則是 predicative adjective,只是對此人做這樣一句敘述:他今天很忙、沒空。或許忙過今天之後,明天以後都很空也說不一定。所以,同樣一個形容詞 busy,放在兩種不同位置來修飾名詞 man,收到的是兩種不同的效果。 + +形容词的这两种位置,除了上述「语义」方面的差别,在用法方面还有一些差异。例如有些形容词只能用在名词片语中、另有一些形容词则只能放在补语位置。还有一点要注意:如果是形容词片语,可以放在补语位置使用,但是放在名词片语中就不行,必须先改为单字(加 hyphen 制造复合字)。以下就形容词的 attributive 和 predicative 两种位置分别说明。 + +## 名词片语中的形容词(attributive adjectives) + +如第二章所述,名词片语中有三个位置:限定词 + 形容词+ 名词。所以,在名词片语中间、也就是夹在限定词(包括零冠词)和名词之间的位置,正是安插形容词的正确位置。请观察下列的名词片语以及其中的形容词: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| a | small | garden | 一座小花园 | + popular | songs | 热门歌曲 | +| that | foolish | plan | 那项愚蠢的计画 | + extreme | danger | 极度危险 | +| my | dearest | friend | 我最亲蜜的朋友 | +| many | happy | days | 许多快乐的日子 | + +### 一.名词转为形容词使用 + +如果名词片语中的形容词位置,放入的却是另一个名词,那么中间这个名词就是当做形容词使用,应该视为形容词看待。整个名词片语可以视为一个复合名词(compound)。例如︰ + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| that | flower | shop | 那家花店 | +| your | trouser | pockets | 你的裤子口袋 | + worker | solidarity | 工人大团结 | +| a | shoe | factory | 一家制鞋工厂 | + company | cars | 公司的汽车 | + +以第一个例子来说,that flower shop 这个名词片语中间的形容词位置,放的却是另一个名词 flower。这时候应该把 flower 当做形容词看待。试想:花店卖的花当然不只一朵,那么为什么在名词片语 that flower shop 中间用的却是单数的 flower 而不用复数的 flowers?这是因为名词片语中间这个位置是形容词位置,把名词 flower 放在这个位置,就要视同形容词看待。而英文的形容词是没有复数的,只有名词才可能会有复数。所以,flower 当形容词使用时自然只能采用单数。名词片语 that flower shop「那家花店」,意思是「那家『卖花的』店」。 flower 用在这个位置,意思是「卖花的」,当作形容词使用,所以没有复数。另外那几个例子中的 trouser, worker, shoe 等等都采用单数形,也是同样的原因。请注意:包括像 trousers, shoes 这些通常都要用复数形的名词,放在名词片语中转作形容词使用时,也一样要改采单数形。 + +### 二.复合形容词 + +前面提过,形容词片语可以使用在补语位置,但是不能用在名词片语中,因为名词片语中的位置比较狭窄,放不进片语、只能放进单字。如果形容词片语要放进名词片语中的位置使用,必须先把形容词片语改造为单字,也就是改写成复合形容词。先看几个例子: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| that | hard-to-solve | problem | 那道难解的题目 | + state-of-the-art | technology | 尖端科技 | +| a | five-year-old | boy | 一个五岁大的男孩 | +| that | 10-story-high | building | 那栋十层楼高的建筑 | + +以 a five-year-old boy 这个名词片语为例。形容词片语的写法是 five years old,这种片语构造无法放入 a boy 中间的形容词位置,必须先把形容词片语改造为单字。做法是用 hyphen 把它串连成一个单字,但是要注意:变成形容词单字之后就不能够再有复数,所以要把 years 后面的 -s 去掉,成为 five-year-old 这个复合形容词,才能放进 a boy 的中间。另一个例子里面的 10-story-high 这个复合形容词也是同样的道理,story 必须改成单数。 + +### 三.复数形的形容词 + +如上所述,英文的形容词通常只有单数没有复数。但是在一些特殊的情况下,名词片语中的形容词看起来就是复数形。例如: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| that | savings | bank | 哪家储蓄银行 | + damages | negotiations | 赔偿谈判 | +| several | clothes | hangers | 几支衣架 | +| your | sports | car | 你的跑车 | + +以 that savings bank 这个例子来说,中间位置的形容词用的就是复数的 savings。这是因为:「储蓄」通常就是拼成复数形的 savings。如果拼成单数 saving,意思会变成「节省」或「挽救」。只有储蓄银行,没有什么「节省」银行,所以 savings 必须用复数。 + +在 damages negotiations 这个名词片语中,零冠词和名词中间放的是 damages 这个复数拼法的字当形容词使用。这是因为:单数的 damage 意思是「损害」、复数的damages才是「赔偿」。如果写成 damage negotiations,意思就变成「损害谈判」而非「赔偿谈判」。 + +在 several clothes hangers 这个名词片语中,形容词位置放的也是复数形的 clothes。这是因为:如果采单数形会变成 several cloth hangers「几支『布』架」。单数的 cloth 意思是「布」,必须拼成复数 clothes 才是「衣服」的意思。所以只有 clothes hanger 这种拼法才是「衣架」。 + +至于 your sports car 这个名词片语,中间拼成 sports 并不表示复数,而是因为:当形容词「运动的」解释时,这个字的拼法本来就是拼成 sports、并没有复数的意思。 + +### 四.只能放在名词片语中的形容词 + +有一些形容词只能放在名词片语中使用。至于补语位置,这些形容词或者是完全不能使用、或者就是用在补语位置之后意思会变得不同。只能放在名词片语中使用的形容词可分成以下三类。 + +#### 1). 类似限定词 + +例: + +A certain man had three sons. +(某人有三个儿子。) + +名词片语 a certain man 当中,形容词 certain 的意思是「某一个」,这个用法和限定词位置的 a「一个」其实差不多。形容词若扮演类似限定词的角色,就只能放在名词片语中。上面那个例子,如果把 certain 放到补语位置,意思就不再是「某一个」、而是变成「确定,笃定」。例如: + +This man was certain that he was going to die soon. +(此人很确定自己活不长了。) + +再看一个例子: + +We had a particular reason for abandoning the project. +(我们放弃这项计画是有个原因的。) + +名词片语 a particular reason 中的形容词 particular 仍然解释为「某一个」,类似限定词。这种形容词如果放到补语位置,意思会不一样: + +I’m not particular about where to dine. +(该到哪里去用餐,我并不挑剔。) + +还有一些形容词则是完全不能放在补语位置。例如: + +Our chief reason for abandoning the project was financial. +(放弃这项计画,我们主要的原因在于财务。) + +在名词片语 our chief reason 中,形容词 chief 的功能在于指出「最主要的那个」,类似限定词的用法。这种形容词只能放在名词片语中,放到补语位置就属用字错误,如下: + +Our reason was chief. (误) + +类似的还有 main, principal 等,都是只能放在名词片语中使用。 + +#### 2). 类似强调语气的副词 + +例: + +Jane is a mere child. + +名词片语 a mere child 中间的形容词 mere,语气类似副词 only 或 merely,如下: + +Jane is merely/only a child. + +这种形容词也是只能放在名词片语中。下面几个例子的情形都差不多: + +This expenditure was a sheer waste of money. +(这笔开销纯粹是浪费钱。) + +That man is an utter/complete/perfect fool. +(那个人是个百分之百的傻瓜。) + +#### 3). 显似其他副词 + +例: + +He’s a heavy smoker. +(他烟抽得很凶。) + +名词片语中的形容词 heavy 用来形容名词 smoker,不过这句话的意思类似 He smokes heavily,等于是用副词 heavily 来修饰动词 smoke。这种情况,如果把 heavy 放在补语位置,成为 The smoker is heavy,意思就不再是说他烟抽得凶,而是说这个人「体重很重」。下面这个例子的情况也差不多: + +He’s a hard worker. +(他工作很勤快。) + +接下来这个例子,形容词的功能类似时间副词: + +Mr. Turner is the present Chairman. +(透纳先生是现任的主席。) + +名词片语中的形容词 present 意思是「现任的」,功用类似时间副词。亦即,整个句子可以这样讲:Tr. Turner is the Chairman at present。如果把形容词 present 直接放在补语位置,成为 The Chairman is present,意思就会转变成「主席在场」。下面这个例子的情况也类似: + +George Pritchard is an old friend. +(George Pritchard是个老朋友。) + +名词片语中的形容词 old 并不是真的说这位朋友「年纪很大」,而是类似时间副词的功能,表示「从很久以前」就认识了。整个句子的意思类似 George Pritchard is a friend from a long time ago。如果直接把 old 放在补语位置,成为 The friend is old,那么意思就会转变成「这位朋友老了(年纪大了)」。 + +### 五.名词片语中形容词的顺序 + +名词片语中的形容词,先前提过必须是单字而不能是片语。像 five years old 之类的形容词片语就不适合直接放在名词片语中。但是,如果放进两个以上的形容词单字、分别单独去修饰后面的名词,这种情况并不算是形容词片语,所以是可以接受的用法。单字和片语的差别在于:两个以上的单字构成一个意义单元,就可称为片语,如 five years old 用到三个单字来表示「五岁大」的意思,就是一个形容词片语。如果是互不相关的两个单字,如 beautiful young girls 这个名词片语中的 beautiful 和 young,就只是两个单字而己、分别形容后面的名词 girls。 + +如果名词片语中的形容词单字有两个以上,就会牵涉到「孰先孰后」的问题。一般文法书又是列出规则:数目、大小、形状、颜色……等等。这种清单很难背得起来,但是写作时真正有可能会碰到形容词要排序的情况,得会处理才行。我们来设法理解一下背后的道理。 + +名词片语中的形容词称为 attributive adjectives,功能在于说明这个名词的 attribute「特质」。如果这种形容词有两个以上,排序的原则如下:愈是属于 attribute 方面的描述愈是应该靠近名词。换句话说,如果形容词描述的是比较客观、永久不变、属于名词定义一部分的特质,就应该放在比较靠近名词的位置。反之,如果形容词描述的内容比较主观、可变,和名词的定义没有太大的关系,就应该放在距离名词较远的位置。如果形容词完全缺乏描述 attribute 的功能,就应该离开名词片语、放到距离最远的补语位置去做叙述。请看下面的例子: + +He graduated from a prestigious old American law school. +(祂从一家地位崇高、历史悠久的美国法学院毕业。) + +在这个例子中,冠词 a 属于限定词、school 是名词。在 a school 中间有几个形容词单字要排列。首先,law 也是个名词,和 school 放在一起构成一个复合名词(compound)、成为 law school「法学院」。这里的 law 是名词转作形容词使用,并且和真正的名词 school 共同来表示这是「法学院」,所以 law 可说是这个名词片语定义中不可或缺的一部分,表现名词片语属性(attribute )的功能很明显,应该和名词 school 放得最接近。 + +其次,American 这个形容词表示这是「美国的」法学院。相对于 law 而言,American 这个形容词已经不再那么明显是属于定义的一部分,所以放的位置距离名词远些。但是,至少 American 是一个不可变的性质:美国法学院就是美国法学院,不会变成英国或者法国的。反之,看看更前面的形容词 old。这家法学院刚成立时是新的,历经岁月的变迁才逐渐变「老」。所以,new 或 old 是可变的,不像 American 那样不可变。愈是可变的性质愈和名词的「定义、属性」扯不上关系,所以要放得离名词愈远。最后还有个形容词 prestigious「地位崇高的」。首先,这是比 new 或 old 更容易变的特质:如果发生几件丑闻,这家学院的地位可能一落千丈、立即不再崇高。而且,地位崇高与否是比较主观的判断,不像 new 或 old 是比较客观的事情。愈是主观、可变的特质,愈不属于这个名词的「属性、定义」,位置就要放得愈远。 + +接下来再看一个例子: + +I threw away that dirty old blue silk necktie. +(我扔掉了那条肮脏老旧的蓝色丝领带。) + +这个名词片语,that 是限定词、要放在最前面,necktie 是名词、要放在最后面。中间也有几个形容词需要排序。首先请观察一下 necktie 这个名词本身。有没有发现:它其实是个复合名词、由 neck 加上 tie 而构成?当中 neck 这个名词其实是放在形容词位置,但已经和 tie 合成一个单一的复合名词、不再能够分开。其次是它的材质 silk。其实 silk「丝」也是一个名词,和 necktie 放在一起又构成一个复合名词 silk necktie「丝领带」。而且丝这个材质属于客观的认定、并且完全不可变,可以说是名词属性(attribute)的一部分。 + +至于 blue 这个形容词,则是染色之后才变成蓝色。因为它比较可变、不属于名词定义的一部分,所以要放得远些。不过,一旦染成蓝色,这条领带就是蓝领带,不大可能再变成别的颜色。但是,再前面的 old 则是无时无刻、逐渐地在变:从新变得愈来愈旧,所以 old 要放得更远。最前面的 dirty 则是洗一下立刻可以变成干净,这种形容词修饰的性质随时可以改变,所以要放到最远的位置。 + +### 六.后位修饰的形容词 + +有一些特别的形容词并不放在名词片语中,却要放在名词后面。这种形容词称为**后位修饰语(postmodifiers)**。可以分成以下几种情况。 + +#### 1). 复合名词后面 + +I am meeting someone important tonight. +(今晚我将和一个重要人物碰面。) + +像 someone, anybody 这种复合名词,已经把限定词(some, any)和名词(one, body)写在一起合为复合字了。所以,限定词和名词中间那个可以放形容词的位置已经不复存在,若有形容词就只能放在这种复合名词的后面,例如 someone important 或是 something special。 + +#### 2). 一些 a- 开头的形容词 + +有一批 a- 开头的形容词不能放在名词片语中。这种 a- 开头的形容词可以放在补语位置。但是还有另外一个选择:可以直接放在名词片语后面。例如: + +Jane and her mother alike are teachers. +(Jane和她妈妈一样都是做老师的。) + +对等连接词 and 连接 Jane 和 her mother 这两个名词片语。形容词 alike 不能放在名词片语中,但是可以放在名词片语后面,成为 Jane and her mother alike。类似的例子有 these people alone「光是这些人」、wood adrift「漂流的木头」、all the pandas alive「所有现存的大猫熊」,都是 a- 开头的形容词当做后位修饰语。 + +至于为什么有许多 a- 开头的形容词都要当做后位修饰语使用,这个问题和字源结构有关。以 alive 为例,这个字是中古英文,来自古英文的介系词片语 on life。介系词片语一般都是当后位修饰语使用,这可能是许多 a- 开头的形容词必须当后位修饰语或补语使用的原因。 + +#### 3). 外来语与惯用语 + +英文的习惯是形容词放在名词片语中,也就是在名词的前面。但是有些语言例如法文,形容词的位置是在名词的后面。所以,英文当中有一些外来语、或是其他的惯用语,也是要把形容词放在名词后面。例如: + +``` +the President elect 总统当选人 +heir apparent 指定继承人 +court martial 军法审判 +Asia Minor 小亚细亚 +Secretary General 秘书长 +Poet Laureate 桂冠诗人 +devil incarnate 魔鬼化身 +time immemorial 久远以前 +``` + +这些名词片语都违反常态、形容词反而放在名词后面。 + +## 补语位置的形容词(predicative adjectives) + +补语位置的形容词,英文称为 predicative adjectives,也就是「做叙述之用的形容​​词」。请看下列的例子: + +These flowers smell sweet. +S V C +(这些花闻起来很香。) + +上句中的 sweet 是个形容词单字,放在主词补语位置、修饰主词 these flowers. + +The boss kept us busy. +S V O C +(老板让我们一直很忙。) + +这个句子中的 busy 也是个形容词单字,放在受词补语位置、修饰受词 us。 + +That building is 18 stories tall. +S V C +(那栋大楼有18层高。) + +形容词片语 18 stories tall 放在主词补语位置、修饰主词 that building。请注意:形容词片语中可以包含复数名词,所以 18 stories 用的是复数。 + +I saw the dog crossing the street. +S V O C +(我看到狗在过马路。) + +上句中的 crossing the street 是个现在分词片语,当作形容词片语使用,放在受词补语位置来修饰受词 the dog。 + +### 一些 a- 开头的形容词 + +有一批 a- 开头的形容词,不能放在名词片语中,只能放在后面做后位修饰语、或者就是放在补语位置。例如: + +The patient was asleep. +S V C +(病人睡着了。) + +上句中那个 a- 开头的形容词 asleep,来自古英文的介系词片语 on sleep,所以不适合放在名词片语中,只能当作后位修饰语、或者放在补语位置使用。接下来几个例子的性质都相同,请读者自行揣摩。 + +### 主词补语: + +The kid looks afraid. +S V C +(这个小孩看起来很害怕。) + +She was not aware of the latest development. +S V C +(她并不知道最新的发展。) + +The new student stayed aloof. +S V C +(新来的学生和别人保持距离。) + +The soldier remained alert throughout the night. +S V C +(这名士兵整个晚上都保持警觉。) + +### 受词补语: + +The coffee kept him awake. +S V O C +(咖啡维持他清醒。) + +The drug kept the animals alive. +S V O C +(药品维持这些动物不死。) + +They found the man alone in the office. +S V O C +(他们发现这名男子单独一人在办公室。) + +I consider the two options alike. +S V O C +(我认为这两个选择都差不多。) + +### 一些需要补充的形容词 + +有一些放在主语位置的形容词,本身还不具备完整的意思,需要配合别的文字来做进一步的补充、意思才算完整。配合它来做补充的文字,常见的有不定词片语、介系词片语、以及名词子句三种。请看下面的例子: + +I am eager to begin the project. +S V C +(我急着想开始这项计画。) + +如果光是说 I am eager,补语位置的形容词 eager 似乎尚未交代清楚这句话是什么意思。加上了不定词片语 to begin the project,句子的意思才算完全清楚。这里的不定词片语 to begin the project 当副词使用、修饰形容词 eager。 + +I am able to do the job. +S V C +(这个工作我能做。) + +同样的,如果光是说 I am able,意思尚不清楚,要配合不​​定词片语 to do the job 来修饰 able 才算具有完整的意思。 + +These people are used to working overtime. +S V C +(这些人对于加班已经很习惯了。) + +如果光是说 These people are used,也是感觉语焉不详。加上介系词片语 to working overtime 来修饰形容词 used、说明清楚是「对什么事情」习惯了,句意才算交代清楚。请注意:本句中的 to 是介系词,和前面两句表示不定词的 to 并不相同。 + +I am fond of country music. +S V C +(我喜欢乡村音乐。) + +光是说 I am fond,意思尚未交代清楚。加上介系词片语 of country music 来修饰形容词 fond,才有完整的意思出来。 + +The pilot's wife is concerned that he might get killed. +S V C +(这位飞行员的太太担心他可能会送命。) + +如果光是说 The pilot's wife is concerned,似乎也还没有讲清楚。加上名词子句 that he might get killed 之后意思算清楚。这个名词子句扮演什么角色,乍看之下不容易看出来。因为这个句子牵涉到省略,可以还原如下: + +The pilot's wife is concerned over the possibility that he might get killed. + +在形容词 concerned 后面本来有个介系词片语 over the possibility 修饰它、说明是「对这种可能性」感到担心。接下来的 that he might get killed 这个名词子句扮演的角色是当 the possibility 的同位格使用。一旦省略掉介系词片语 over the possibility,就比较不容易看出来后面那个名词子句是​​什么功能了。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Adverb.md b/corejava第9版/EnglishGrammarBook-master/docs/Adverb.md new file mode 100644 index 0000000..5768ade --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Adverb.md @@ -0,0 +1,465 @@ +# 第五章 副词 + +## 副词修饰的对象 + +英文的修饰语有形容词和副词这两种。形容词是用来修饰名词的修饰语,副词通常是用来修饰动词、形容词与副词的修饰语。但是,有几种副词也可以用来修饰名词,例如: + +I like Beijing food, especially roast duck. +(我喜欢北京菜,尤其是烤鸭。) + +句中的especially这个副词是个**强调范围的副词(focusing adverb)**,可以直接用来修饰名词片语 roast duck。所以,要想弄清楚副词的用法,就必须知道副词有哪几种、每一种该怎么使用。这样在写作时才能避免错误。 + +## 副词的种类与在句中的位置 + +另一个要注意的问题是副词在句子中所放的位置。上一章我们研究过形容词、也探讨过形容词两种主要的位​​置:名词片语中与补语位置,还有特别的后位修饰(名词片语后面)的位置。 + +副词和形容词一样,也是一种修饰语。关于修饰语,有一条基本的修辞原则:修饰语和它所修饰的对象最好尽量接近,这样会比较清楚。另一条基本的修辞原则是:修饰语不应该有两个以上可能修饰的对象而造成模棱两可、语意不清的后果。 + +一般说来,副词在句中的位置比形容词具有更大的弹性。不同种类的副词,在句中放置的位置也各不相同。以下分别就各种不同的副词一一探讨。 + +### 方法状态的副词(adverbs of manner) + +表示方法状态的副词,是修饰动词专用的修饰语。原则上它应该放在接近动词的位置,也就是放在动词的前面或者后面。但是,因为副词是可有可无的修饰语、不是主要元素,所以句子中如果有受词、补语等等主要元素时,方法状态的副词或者放在动词前面、或者就要被挤到受词、补语等元素的后面去。以下分别就五种基本句型来看看方法状态副词的用法。 + +#### 1). S + V + +例: + +The dog barked furiously at the mailman. +S V (adv.) +(狗冲着邮差叫得很凶。) + +方法状态的副词 furiously 修饰动词 barked,直接放在动词后面,或者可以放在动词前面,如下: + +The dog furiously barked at the mailman. + +#### 2). S + V + C + +例: + +He stayed single reluctantly. +S V C (adv.) +(他很不情愿地维持单身。) + +这个句子因为有补语 single 这个主要元素,方法状态的副词 reluctantly 就被挤到后面去,和它修饰的对象(动词 stayed )有了一些距离。如果不这样处理,而是把副词 reluctantly 直接放在动词后面,产生出来的句子就不大清楚: + +He stayed reluctantly single. (不佳) + +这时候,副词 reluctantly 不大清楚是用来修饰它前面的动词 stayed、还是修饰它后面的形容词 single。修饰语修饰的对象模棱两可,这是写作的败笔,要尽量避免。另一个可以放的位置是在动词前面,如下: + +He reluctantly stayed single. + +#### 3). S + V + O + +例: + +He harassed the girl openly. +S V O (adv.) +(他公开骚扰那个女孩。) + +方法状态的副词 openly 修饰动词 harassed,但是因为有受词 the girl 这个主要元素,所以被挤到受词后面去。另一个选择是放在动词前面,如下: + +He openly harassed the girl. +S (adv.) V O + +如果是下面这个句子,方法状态的副词 openly 该放在什么位置就要特别小心: + +He harassed the girl sitting at the counter. +S V O +(他骚扰那个坐在柜台的女孩。) + +受词 the girl 后面还有一个分词片语 sitting at the counter,是形容词子句 who was sitting at the counter 的减化。这时候,如果方法状态的副词 openly 还是放在句尾,那么它修饰的对象可能是 harassed、也可能是 sitting,这句话就没有表达清楚: + +He harassed the girl sitting at the counter openly. (不佳) + +这种讲法,意思可能是「公开骚扰」、也可能是「公开坐在柜台」,是模棱两可的说法。另外,如果把 openly 移到 sitting at the counter 前面,会变成下面这个句子: + +He harassed the girl openly sitting at the counter. + +这种想法的意思不一样,变成「公开坐在柜台」,方法状态的副词 openly 放在这个位置就是修饰后面的 sitting。要想保留原来的意思,就只有下面这种讲法才够清楚: + +He openly harassed the girl sitting at the counter. + +#### 4). S + V + O + O + +例: + +His father bought him a car generously. +S V O O (adv.) +(他父亲很大方地买了辆车给他。) + +方法状态的副词 generously 修饰动词 bought,但是被挤到 him 和 a car 这两个受词的后面去。另一个可能的位置是放在动词 bought 的前面,成为 generously bought。 + +The student politely asked the speaker a question. +S (adv.) V O O +(学生很有礼貌地问了演说人一个问题。) + +方法状态的副词 politely 放在动词asked前面、修饰动词。另一个可能的位置是放在句尾、两个受词的后面:asked the speaker a question politely。 + +#### 5).S + V + O + C + +例: + +I consider you a member of the family proudly. +S V O C (adv.) +(我很骄傲地视你为自己家人。) + +方法状态的副词 proudly 修饰动词 consider,但是被挤到受词与补语的后面。另一个可能的位置是放在动词前面,成为 proudly consider。 + +### 频率副词(adverbs of frequency) + +像 always, frequently, usually, often, seldom, hardly, never… 之类,这些副词用于修饰动作发生的频率,是修饰动词专用的副词。它的位置应该放在动词前后:一般是放在普通动词的前面、be 动词与助动词的后面。不过,这种动词的位置也很有弹性,往往可以移到句首或句尾等其他位置。 + +I usually get up very early. +(我通常起得很早。) + +频率副词usually修饰动词get up,放在动词前面。 + +His jokes are often not funny at all. +(他说的笑话常常根本不好笑。) + +频率副词often修饰动词are,放在它后面。 + +I have never seen this man before. +(我以前从来没见过这个人。) + +频率副词 never 修饰动词片语 have seen,放在助动词 have 后面。 + +Occasionally I spend a whole day in the multiplex. +(偶尔我会在多厅电影院待上一整天。) + +频率副词 occasionally 修饰动词 spend,放在句首。 + +如果把具有否定意味的频率副词移到句首、用来加强语气,就必须采取倒装句法,例如: + +Seldom does he leave the office before seven. (他很少会在七点之前下班。) + +频率副词 seldom 修饰动词 leave,但是移到句首加强语气,所以加上助动词 does 成为倒装句。关于倒装句,本书将在后面另辟章节整理。 + +### 强调范围的副词(focusing adverbs) + +这种副词有一项特色,就是它修饰的词类不拘:不论是名词、动词、形容词、还是副词,四种主要的词类都可以用它来修饰。例如: + +John saw the boss yesterday. +(约翰昨天见到了老板。) + +这个句子中的每一个元素都可以用 only 这个强调范围的副词来修饰,如下: + +Only John saw the boss yesterday. +(只有约翰昨天见到了老板。) + +意思是没有别人见到。副词 only 修饰的是名词 John。 + +John only saw the boss yesterday. (约翰昨天只是见到了老板。) + +意思可能是并没有能够和老板谈话。副词 only 修饰的是动词 saw。 + +John saw only the boss yesterday. +(约翰昨天见到的只有老板一人。) + +意思是说并没有见到别的人。副词only修饰的是名词片语the boss。请注意:only 是副词,修饰名词片语 the boss 时位置是放在整个名词片语的前面(成为only the boss)。如果是形容词,那么位置不是在名词片语前面、而应该在名词片语中间,例如 the young boss,中间的 young 才是形容词。 + +John saw the boss only yesterday. +(约翰到昨天才见到了老板。) + +意思可能是说更早的时候并没有能够见到。副词 only 修饰的对像是时间副词 yesterday。 + +### 加强语气的副词(intensifiers) + +和强调范围的副词一样,加强语气的副词也是修饰的对象不拘、四大词类都可以用它来修饰。例如: + +You are absolutely a genius! +(你绝对是个天才!) + +句中的 absolutely 是加强语气的副词,修饰名词片语 a genius,所以放在前面。如果是形容词则应该放在限定词 a 和名词 genius 中间。 + +The test is extremely difficult. +(这种考试极为困难。) + +句中的 extremely 是加强语气的副词,修饰形容词 difficult。 + +Your hair badly needs cutting. +(你的头发急需修剪。) + +句中的 badly 是加强语气的副词,修饰动词 needs。 + +Time passed amazingly fast. +(时间过得快的惊人。) + +句中的 amazingly 是加强语气的副词,修饰副词 fast。 + +### 程度副词(adverbs of degree) + +这又是一种修饰对象不拘、四大词类都可以用它来修饰的副词。首先来看一下「程度副词」和前面提到的「加强词气的副词」有何差别: + +The test is extremely difficult. + +这个句子,如果把加强语气的副词 extremely 拿掉,成为: + +The test is difficult. + +基本上意思还是一样的,只是语气没有原来那么强罢了。但是程度副词的情况就不同了: + +The plan almost failed. +(计画差一点就要失败。) + +句中的 almost 是个程度副词,代表一种相当高、将近百分之百、只差一点点的程度。如果把程度副词删掉,句子的意思通常会变得不一样: + +The plan failed. +(计画失败了。) + +这两个句子显然意思并不相同。这就是程度副词和加强语气副词的差别所在。 + +Your son is quite a man now. +(你儿子现在差不多是个大男人了。) + +程度副词 quite 表示「颇高」的程度,在此修饰名词片语 a man,放在名词片语的前面。 + +I barely know John. +(约翰这个人我算不上认识。) + +程度副词 barely 表示「非常低」的程度,在此修饰动词 know。 + +He plays the piano rather well. +(他钢琴弹得还算好。) + +程度副词 rather 表示「还算高」的程度,在此修饰副词 well。 + +That is a fairly long story. +(那是个蛮​​长的故事。) + +程度副词 fairly 表示「颇高」的程度,在此修饰形容词 long。 + +### 连接副词(conjunctive) + +这种副词,意思和对等连接词( and, or, but )类似,但是缺乏连接词的文法功能。亦即,连接副词可以用来表示前后两个子句之间的逻辑关系,但是不能用它来连接两个子句, 必须借助标点符号: 加上分号把两个子句分开,或者用句点之类断开变成两句话。 + +Sales have increased 20%; besides, production cost has come down. +(销售上涨20%,而且生产成本又降低了。) + +这里面有两个对等子句,中间缺乏连接词,只有个连接副词 besides。这个连接副词的意思近似对等连接词 and,但它是副词类、并不具备连接两个子句的文法功能,所以要借助分号 (;) 这个标点符号才能连接两个子句。 + +Consequently, we should have no problem reaching our goals this year. +(因此,我们达成今年的目标应该没有问题。) + +这句话和上一句之间有因果关系,用 consequently 这个连接副词表示。连接副词的意思类似连接词so,但是并不具备连接两个子句的文法功能,所以和上一句之间用句点断开、另起一句。 + +However, projections for the next fiscal year are not very optimistic. +(不过,下一个会计年度的预期却不甚乐观。) + +这句话和上一句之间有相反关系,用 however 这个连接副词表示,意思类似对等连接词 but。但是 however 并非真正的连接词,不能用它来连接两个子句,所以同样选择用句点和上一句断开、成为两句话。 + +两个完整的句子之间没有连接词、却直接打个逗点就连在一起,这是写作时最常犯的错误之一: + +He is short, however, he plays basketball well. (误) +(他个子不高,篮球却打得很好。) + +这种错误甚至有一个专门称呼:comma splice。读者应特别注意,写作时不要犯这种错误。 + +### 分离副词 (disjuncts) + +一般文法书都说这种副词是修饰全句的副词,这种说法也可以接受。不过,如果深入观察省略的情形,就可以看出这种副词原本属于另一个子句,是该子句中的方法、状态副词。看看这个例子: + +Theoretically, your proposal might work. +(理论上,你提的案子可能行得通。) + +简单的诠释,是说 theoretically 这个副词用来修饰后面 your proposal might work 这整个句子。不过,它显然是下面这个句子的省略: + +Theoretically speaking, your proposal might work. +(从理论上说,你提的案子可能行得通。) + +画底线部分(theoretically speaking)是个经过减化的副词子句,可以进一步还原如下: + +If we are speaking theoretically, your proposal might work. +(如果我们从理论上来说,你提的案子可能行得通。) + +画底线部分(if we are speaking theoretically)是个表示条件的副词子句,句中的 theoretically 是个方法、状态的副​​词,修饰动词 speak 的「方式」。但是,整个副词子句减化到只剩下一个副词 theoretically,这种情况就称为分离副词(因为它并不是主要子句里面的一个副词),也就是传统文法所谓「修饰整句话」的副词。 + +上面那个句子,副词子句的主词是 we、主要子句的主词是 your proposal,两个子句的主词并不相同。这种情况通常并不适合进行减化。但是,因为 theoretically speaking 这样的讲法已经变成惯用的片语,所以仍然可以接受。减化子句属于高级句型,本书将在后面的章节详述。 + +### 介副词(particles) + +所谓介副词,就是一些看起来像介系词、后面却不加受词,直接拿来当副词使用的字。例如: + +Were you in last night? +(昨晚你在家吗?) + +介副词 in 当主词补语使用,修饰主词 you。 + +Time is up. +(时间到!) + +介副词 up 当主词补语使用,修饰主词 time。 + +Don’t look down. +(别往下看!) + +介副词 down 修饰动词 look。 + +He came over to talk to you. +(他过来要和你谈谈。) + +介副词 over 修饰动词 come。 + +动词后面加个介副词,常常可以构成一个片语动词。有关片语动词的问题,本书将在后面讨论介系词的章节详述。 + +### 可以修饰名词的副词 + +除了以上整理的加强语气的副词、强调范围的副词、程度副词、以及介副词这四种副词之外,还有时间副词与地方副词这两种也是可以修饰名词的副词。例如: + +The final game tomorrow is going to be exciting. +(明天的决赛将很刺激。) + +句中的 tomorrow 是时间副词,修饰前面的名词片语 the final game。 + +All the people here are your friends. +(这里所有人都是你的朋友。) + +句中的 here 是地方副词,修饰前面的名词片语 all the people。 + +时间副词与地方副词,这两种副词最常见的用法还是用来修饰动词的。这时候,这两种副词通常放在句尾:地方副词在前、时间副词在后。例如: + +He had an accident there yesterday. +(他昨天在那里出了意外。) + +地方副词 there 与时间副词 yesterday 修饰动词 had,位置放在句尾。不过,时间副词与地方副词的位置也很有弹性,例如: + +Yesterday, around this very corner, a bomb exploded. (昨天,就在这个街角,有枚炸弹爆炸。) + +时间副词 yesterday 与地方副词 around this very corner(介系词片语)修饰动词 exploded,位置可以放在句首。 + +### 可以当补语的副词 + +补语(包括主词补语和受词补语)最常见的词类是名词和形容词。但是时间副词、地方副词与介副词也都可以当补语使用。例如: + +The exam is only one week away. It's next Friday. +(考试只剩一周就到了,在下周五。) + +时间副词片语 only one week away 和 next Friday 分别在这两个句子中担任主词补语角色。 + +The police is here. Something’s up. +(警察来了。一定有事。) + +地方副词 here 和介副词 up 分别在这两个句子中担任主词补语角色。 + +## 副词种类与位置的比较 + +不同种类的副词,在句中使用的位置也不一样。试比较下列句子: + +Your demand is practically impossible to meet. +(你的要求几乎不可能做到。) + +Let’s discuss this problem practically. +(我们用很实际的方式来讨论一下这个问题。) + +Practically, you don't stand a chance in court. +(实际一点来说,你上法庭根本没有机会赢。) + +第 1 句中的 practically 是个程度副词,修饰形容词 impossible,表示「几乎不可能」,应置于 impossible 前面。第 2 句中的 practically 是方法状态副词,修饰动词 discuss 的方式,应置于受词 this problem 后面。第 3 句中的 practically 是个分离副词,是 practically speaking 的省略,应置于句首。再看一组例子: + +His ideas are generally very helpful. +( 他的点子通常都很管用。) + +He described the plan generally, without much detail. +( 他很笼统地描述这项计画,没有说很多细节。) + +Generally, I like his ideas. +( 一般说来,我很喜欢他的点子。) + +第 1 句中的 generally 是个频率副词,修饰动词 are,表示「通常」,应置于动词后面。第 2 句中的 generally 是方法状态副词,修饰动词 describe 的方式,应置于受词 the plan 后面。第 3 句中的 generally 是个分离副词,是 generally speaking 的省略,应置于句首。 + +## 副词的位置与清楚性 + +副词的位置如果放得不恰当,读者可能会无法判断它修饰的对像是谁,因而造成模棱两可的结果。写作时应特别注意避免这种错误。例如: + +The boss wanted this man to be punished badly. (不佳) +S V O C + +方法、状态的副​​词 badly,修饰的对象应该是动词。但是,放在句尾这个位置,用来修饰动词 want 讲得通(很想要)、修饰 punish 也同样讲得通(要严加处罚)。一个句子有两种可能的意思,这句话就没讲清楚。可以分别修改如下: + +The boss badly wanted this man to be punished. +(老板很想要处罚这个人。) + +The boss wanted this man to be badly punished. +(老板要这个人受到严厉处罚。) + +方法状态的副词,如果放在动词后面不够清楚,往往移动到动词前面就会比较清楚。下面这个例子的情况差不多: + +The man was seen clearly to be dying. (不佳) + +方法、状态的副​​词 clearly 放在这个位置,可以修饰前面的动词 see(明显看出来)、也可以修饰后面的动词 die(明显将死亡),犯有模棱两可的毛病。可分别修改如下: + +The man was clearly seen to be dying. +(很明显看得出来这个人快要死了。) + +The man was seen to be clearly dying. +(看得出来这个人很明显快要死了。) + +再看一个例子: + +He confessed that he had been abusing his wife openly. (不佳) + +方法状态的副词 openly 放在这个位置,既是主要子句的句尾、又是名词子句(that子句)的句尾。它修饰的对象到底是主要子句的动词 confess 还是名词子句的动词 abuse,并不清楚,所以是不好的句子。可分别修改如下: + +He openly confessed that he had been abusing his wife. +(他公开承认他有在虐待他老婆。) + +He confessed that he had been openly abusing his wife. +(他承认他有在公开虐待他老婆。) + +## 形容词与副词的判断 + +该用形容词还是该用副词,应该视句型的要求而定。 + +以 firm/firmly 为例: + +When you shake someone's hand, you should hold it firmly, to show sincerity. +S V O +(与人握手时应用力,以示诚意。) + +主要子句是 S + V + O 的句型,方法状态的副词 firmly 置于受词后面、修饰动词 hold。下面这句的情况不同: + +Hold the camera firm while you take the picture. +V O C +(拍照时请将相机拿稳了。) + +这时并不是用方法状态的副词 firmly 来修饰动词 hold(表示「用力握」),而是用形容词 firm 当受词补语,修饰受词 camera(表示「相机稳」的结果)。 + +The enemy is advancing. Stand firm. +V C +(敌人推进了。大家稳着点。) + +这个句子的意思也不是叫大家「用力站」,而是要「稳住」。句型是 S + V + C,形容​​词 firm 是主词补语,修饰的对像是命令句省略掉的主词 you。 + +再看看 clean/cleanly 的例子: + +The man wiped the windshield clean. +S V O C +(这个人把挡风玻璃擦干净。) + +这是 S + V + O + C 的句型,形容词 clean 是受词补语,修饰受词 windshield。 + +He types cleanly and neatly. +S V +(他打字又干净又整齐。) + +这是 S + V 的句型,方法状态的副词 cleanly 修饰动词 type。 + +He clean forgot to pick up his wife at the station. +(他把要去车站接老婆这件事忘得一干二净。) + +这个句子中,clean 不是形容词而是加强语气的副词,相当于 completely,放在动词 forget 前面修饰它。 + +最后看看 clear/clearly 的例子: + +The teacher explained the lesson clearly. +S V O +(老师以相当清楚的方式解说这一课。) + +方法状态的副词 clearly 修饰动词 explain。 + +She made the lesson very clear to all her students. +S V O C +(她让学生都很清楚这一课的内容。) + +这是 S + V + O + C 的句型,形容词 clear 是受词补语,修饰受词 lesson。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/AdverbClauses.md b/corejava第9版/EnglishGrammarBook-master/docs/AdverbClauses.md new file mode 100644 index 0000000..fe3d501 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/AdverbClauses.md @@ -0,0 +1,450 @@ +# 第十八章 副词子句 + +副词子句是三种从属子句(名词、形容词、副词子句)之中最简单的一种。它的构造和名词子句很像,但是用法大不相同。名词子句必须当做名词使用,在主要子句中必须放在主词、受词、补语、同位格等名词位置。如果删除掉名词子句,那么主要子句颇有可能会少掉主词、受词等等,不再是个完整正确的句子。反之,副词子句则是副词类,在主要子句中用它来修饰动词、形容词、副词等等,基本上它只是个可有可无的修饰语,整个删除掉的话也不会影响到主要子句句型的正确性。 + +## 副词子句与名词子句的构造比较 + +### 来自直述句 + +直述句改造为名词子句时,要外加一个单独的、没有意义的从属连接词 that,表示「那句话、那件事」。反之,如果直述句要改造为副词子句,那么同样要外加从属连接词,但并不是加没有意义的 that,而是要加各式各样如 because, although, if, as, when, where 等等「有意义」的连接词,用来表达各式各样的逻辑关系如「原因、让步、条件、状态、时间、地方」等等。请比较: + +I believe that ghosts are real. +S V O 名词子句 +(我相信鬼魂确有其事。) + +I believe that, because I have seen one with my own eyes. +S V O 副词子句 +(我相信,因为我亲眼见过。) + +第 1 句中,直述句 ghosts are real 前面加上单独、没有意义的从属连接词 that 表示「那件事」,成为一个名词子句,放在主要子句动词 believe 后面当做受词使用。第 2 句中,直述句 I have seen one with my own eyes 前面加上有意义的从属连接词 because 表示「因为」,构成一个副词子句,放在主要子句中当做副词使用,修饰动词 believe 的原因。 + +如果把第 1 句中的名词子句删掉,剩下 I believe,这个主要子句少了受词,就不再是个完整的句子。反之,如果把第 2 句中的副词子句删掉,剩下 I believe that,这个句子仍然完整正确。 + +直述句改造为副词子句,也可以外加 so … that, such … that, in that, in order that 之类含有 that 在内的连接词。与名词子句不同之处在于:名词子句只能外加一个单独的、没有意义的that,表示「那句话、那件事」。如果加的是 so … that, such … that, in that, in order that 之类,这些连接词都有意义,表示「目的、结果、限制」等等,那么就会变成副词子句而非名词子句。请比较: + +He said sincerely that he was sorry. +S V O +(他很诚恳地说他很抱歉。) + +He said it so sincerely that his wife forgave him right away. +S V O 副词子句 +(他说得非常诚恳,结果他老婆当场就原谅他了。) + +第 1 句中,直述句 he was sorry 外加一个单独的、没有意义的连接词 that,构成一个名词子句,放在主要子句动词 said 的后面当受词使用。这个名词子句如果删除掉,剩下 He said 就不再是个完整的句子,因为缺了受词。 + +第 2 句中, his wife forgave him right away 同样是直述句,但是它外加的是 so … that 这一组有意义的连接词,表示「如此…以致于」,构成的就是一个副词子句,放在主要子句中当做修饰语使用,修饰副词 sincerely 造成的结果。这个副词子句如果删除掉,剩下的 He said it sincerely 仍然是个完整正确的句子。 + +### 来自 Information Question + +有疑问词引导的疑问句如果要改造成名词子句,只须拿掉问号、还原成非疑问句的动词顺序即可,疑问词本身就可以充当连接词来引导名词子句。如果是有疑问词引导的疑问句要改造成副词子句,做法则是第一:拿掉问号、还原成非疑问句的动词顺序(这个部分和制造名词子句完全相同);第二:在疑问词前面再加上 no matter(表示「不论」),或者在疑问词后面加上 -ever 的字尾(同样表示「不论」),就会变成副词子句。请比较: + +Where the criminal is hiding is anybody’s guess. +S V C +(犯人现在藏匿在何处,这个问题没有人知道。) + +No matter where the criminal is hiding, the police is going to get him. +副词子句 S V O +(不论犯人现在​​藏匿在何处,警方都会将他逮捕。) + +Wherever the criminal is hiding, the police is going to get him. +副词子句 S V O + +第 1 句中,由疑问词 where 引导的疑问句 Where is the criminal hiding? 改成名词子句,做法是拿掉问号、动词顺序调整为 where the criminal is hiding,这就是一个名词子句,把它放到主要子句中的主词位置、当主词使用。这个名词子句不可删除,因为剩下的 is anybody’s guess 并不是一个完整的句子。 + +第 2 句中,同样是把 Where is the criminal hiding? 这个疑问句拿掉问号、改为 where the criminal is hiding,但是在前面再加上 no matter 表示「不论」,变成 no matter where the criminal is hiding, 「这个问题不管」,这就是一个表示让步的副词子句,放在主要子句中当副词使用,修饰主要子句动词 is going to get。这个副词子句可以整个删掉,剩下主要子句 The police is going to get him 仍然是个完整正确的句子。第 3 句和第 2 句的情况相同,只是把连接词 no matter where 改成 wherever,它引导的仍然是个副词子句。 + +### 来自 Yes/No Question + +如果是没有疑问词引导的疑问句(叫做 Yes/No Question),改造成名词子句时除了要拿掉问号之外,还要外加 whether 这个从属连接词(表示「是否」,来自 either … or)。如果是要改造成副词子句,那么除了同样要拿掉问号之外,也要外加同样一个从属连接词 whether,但是这时候 whether 不再解释为「是否」,而是表示「不论」。如果不加 whether,改成加 no matter 也是一样,仍然表示「不论」。请比较: + +Whether he’s still alive (or not) is difficult to say. +S(名词子句) V C +(他是否还活着,这个问题很难说。) + +Whether he’s still alive (or not), I’m not going to marry anyone else. +副词子句 S V O +(不论他是不是还活着,我都不会嫁给别人。) + +No matter he’s still alive (or not), I’m not going to marry anyone else. +副词子句 S V O + +没有疑问词的疑问句 Is he still alive? 要改为名词子句,做法是先拿掉问号、调整动词顺序,然后加上连接词 whether 表示「是否」,成为 whether he is still alive (or not) 这个名词子句。第 1 句中就是用这个名词子句当主词。名词子句外加的「是否」,除了 whether 之外还可以选择用 if。不过这种表示「是否」的 if 不能放在句子的开头,第 1 句的情况就是如此,正好是句子开头的位置,所以只能用 whether 而不能用 if。另外,名词子句不能删掉,因为剩下的 is difficult to say 并不是个完整的句子。 + +同一个疑问句如果是要改成副词子句,做法完全一样,制造出来的还是 whether he is still alive (or not) 这个子句,但是连接词 whether 现在要解释为「不论」,这种解释之下它就是个表示「让步」的副词子句。副词子句外加的「不论」,除了 whether 之外还可以选择用 no matter,第 3 句的做法就是如此。这个表示让步的副词子句放在第2句与第3句中当副词使用,修饰主要子句的动词 am going to marry。副词子句可以整个删掉,剩下的 I’m not going to marry anyone else 仍然是个完整正确的句子。 + +## 常用的副词子句连接词 + +以下按照字母顺序介绍一些常用的副词子句连接词、了解一下副词子句的变化。这些从属连接词的用法都是外加在完整的限定子句前面、构成副词子句。 + +### After + +After he graduated, the young man found himself unemployed. +(毕业之后,这位年轻人发觉自己失业了。) + +外加 after 构成时间副词子句,修饰动词 found 的时间。 + +### Although/though + +My sister doesn’t have a boyfriend now, although(though) she is very pretty. +(我妹妹现在没有男朋友,虽然她长得很漂亮。) + +拼成 although 或拼成 though,用法与意思都完全相同。外加 although 或 though 成为表示让步的副词子句,修饰动词 doesn’t have。 + +### As + +这个连接词有几种不同的意思: + +Haste makes waste, as the saying goes. +(俗话说,欲速则不达。) + +外加连接词 as 表示「正如、如同」,构成副词子句,修饰整个主要子句。 + +Tears ran down the woman’s cheeks as the train pulled away. +(火车离开时,泪水流下这个女人的脸颊。) + +外加连接词 as 表示「当…时」,构成时间副词子句,修饰动词 ran 的时间。 + +As there is little time left, we’d better hurry. +(因为时间所剩无多,我们最好赶快。) + +外加连接词 as 表示「因为」,构成表示原因的副词子句,修饰动词 had better hurry 的原因。 + +### As … as + +You can stay on for as many days as you like. +(你爱停留几天就可以停留几天。) + +这是一组作比较的连接词,外加在限定子句 you like 上面,构成作比较的副词子句,修饰限定词 many。 + +### As far as + +As far as I know, your friend had no part in the scandal. +(就我所知,你的朋友并未涉入这桩丑闻。) + +外加连接词 as far as 构成表示程度的副词子句,修饰整个主要子句。 + +### As if + +这个连接词,后面的副词子句可以采用直说语气、也可以采用假设语气。 + +The student raised a hand, as if he was going to ask a question. +(这名学生举手,好像要问问题。) + +外加 as if 构成表示方法、状态的副​​词子句,修饰动词 rased 的方式。时间在过去,采用过去式的动词 was,所以这个副词子句的语气是表达事实的「直说语气」。 + +The woman treats her husband as if he were a baby. +(这个女人对待老公好像对待婴儿一样。) + +外加连接词 as if 构成表示方法、状态的副​​词子句,修饰动词 treats 的方式。时间是现在,却采用 were 这个动词,所以这个副词子句的语气是表达非事实的「假设语气」。 + +### As long as + +As long as there is ammunition left, we will fight on. +(只要还有弹药剩下,我们就会奋战下去。) + +外加连接词 as long as 构成条件副词子句,修饰动词 will fight on 的条件。 + +### Because + +I can’t go out with you tonight because I have a previous engagement. +(我今晚不能跟你出去,因为先跟别人约好了。) + +外加连接词 because 构成表示原因的副词子句,修饰动词 can’t go out 的原因。 + +### Before + +Read the contract carefully before you sign it. +(签约之前要仔细阅读合约内容。) + +外加连接词 before 构成时间副词子句,修饰动词 read 的时间。 + +### For + +You needn’t fear my brother, for he’s a good man. +(你不必怕我哥哥,因为他是个好人。) + +外加连接词 for 构成原因副词子句,修饰动词 needn’t fear 的原因。 + +### For fear that + +The camper put water on the ashes for feat that he might start a forest fire. +(露营的人在灰烬上浇水,唯恐会酿成森林大火。) + +如果在限定子句外面加一个单独、无意义的连接词 that,构成的是个名词子句。但是如果外加的是像 for fear that 这种有意义、表达某种逻辑关系的连接词,那么构成的就是副词子句。以这个例子而言,for fear that 引导的副词子句修饰动词 put 的目的。 + +### If + +If you prefer, we can settle our differences in court. +(如果你这样选择,我们也可以上法院解决我们的歧见。) + +外加连接词 if 构成表示条件的副词子句,修饰动词 can settle 的条件。 + +### In case + +In case you haven't heard, SARS has broken out again. +(万一你还没听说: SARS 又爆发了。) + +外加连接词 in case 构成表示目的的副词子句,修饰整个主要子句。 + +### In order that + +The speaker raised his voice in order that everyone might hear him. +(演讲人放大了音量,目的是让每一个人都听得到。) + +外加连接词 in order that 构成表示目的的副词子句,修饰动词 raised 的目的。 + +### In that + +The experiment is a success in that it has proved the theory wrong. +(实验成功了,意思是说它证明了这项理论错误。) + +这个连接词 in that 是 in the sense that 的省略,通常用于解说。上文说这项实验「成功」,但是「成功」两字用在这里的解释和一般不同,因此需要解说:所谓成功,并不是获得了预期的效果,而是因为没有获得预期的效果而证明理论有误。像这种情况,success 一字要作特别的解释,因此后面加上 in the sense that… 来作解说,省略为 in that 之后就成为一个连接词,外加在限定子句前面构成一个作解说之用的副词子句,用来修饰动词 is。 + +### No matter + +No matter(or whether) my father agrees or not, I’m going to be a singer. +(不论我父亲同不同意,我都要去当歌星。) + +外加 no matter … or not 表示「不论」,构成副词子句,修饰动词 going to be。这个连接词 no matter 的用法和 whether 相同。 + +No sooner … than + +No sooner had the bell rung than the students jumped up to leave. +(刚一敲钟,学生就跳起来走人了。) + +这个连接词来自于比较级的连接词,本来是在比较两件事情何者发生得比较快。因为经常使用,no sooner … than 于是构成一组连接词,外加在限定子句上,构成一个时间副词子句,在上例中修饰动词 had rung 的时间。 + +### Now that + +Now that you’re graduated, you should start working to support yourself. +(既然你毕业了,应该开始工作自力维生了。) + +外加表示「既然」的连接词构成副词子句,修饰动词 should start 的原因。 + +### On condition that + +The man spoke to the press on condition that he remain anonymous. +(这位男子向媒体发言,条件是他要保持匿名。) + +外加连接词 on condition that 构成条件副词子句,修饰动词 spoke 的条件。请注意:这个副词子句中采用原形动词 remain,因为这里用的是「间接命令句」的语气。 + +### Only that + +I really like to go to the party, only that I have to study for an exam. +(我真的很想去参加宴会,只不过我必须准备考试。) + +外加连接词 only that 构成表示让步的副词子句,修饰整个主要子句。 + +### Lest + +Let me explain myself more clearly, lest there should be any misunderstanding. +(请容我说明清楚,以免有误解。) + +外加表示「以免」的连接词 lest 构成副词子句,修饰动词 let 的目的。 + +### Since + +这个连接词有两种意思。 + +It has been three years since I last visited the small town. +(我上回造访这个小镇,至今已经三年了。) + +外加表示「自从」的连接词 since 构成时间副词子句,修饰动词 has been 的时间。 + +Since there’s nothing more to do here, we might as well go home. +(既然在此已经没事可做了,我们不妨都回家吧。) + +这时候,连接词 since 的意思是「既然」,引导的副词子句修饰动词 might as well go 的原因。 + +### So that + +这个连接词有两种用法。 + +There were three examiners in the small room, so that no student dared to cheat. +(小房间里有三名监考官,结果学生都不敢作弊。) + +外加连接词 so that 在此解释为「结果」,构成副词子句,修饰动词 were 的结果。 + +The school decided to send more examiners so that the students wouldn’t cheat. +(校方决定加派监考官,目的是不让学生作弊。) + +连接词 so that 在此解释为「目的是」,引导的副词子句修饰动词 decided 的目的。 + +### So … that + +It was so cold that the lake was frozen through. +(天气冷到整座湖结了冰到底。) + +外加连接词 so … that 构成副词子句,修饰形容词 cold 的结果。如果修饰的对像是形容词或副词,应选择 so … that 这组连接词。 + +### Such … that + +It was such a cold day that few ventured outdoors. +(天气很冷,结果没什么人敢出门。) + +外加连接词 such … that 构成副词子句,修饰名词片语 a cold day。如果修饰的对像是名词,应该选择 such … that。 + +### Suppose + +Suppose you needed advice on your marriage, where would you go? +(假设你的婚姻需要请教别人的意见,你会到什么地方去?) + +外加表示「假设」的连接词 suppose 构成条件副词子句,修饰动词 would go 的条件。注意上例中采用的是表达非事实的「假设语气」。 Suppose 引导的副词子句也可以选择采用「假设为真」的「直说语气」。 + +### Than + +That man has more money than he can ever spend. +(那个人的钱一辈子都花不完。) + +这是比较级的连接词,引导的副词子句修饰限定词 more 来作比较。 + +### Until + +Wait here until you are called for. +(在这等,直到有人叫你的名字。) + +外加表示「直到」的连接词构成时间副词子句,修饰动词 wait 的时间。 + +### When + +I was in the bath when the doorbell rang. +(门铃响起来的时候我正在泡澡。) + +外加连接词 when 构成时间副词子句,修饰动词 was 的时间。 + +### Where + +The virus thrives where people live in close proximity to one another. +(这种病毒滋生在人口密度高的地方。) + +外加连接词 where 构成地方副词子句,修饰动词 thrives 的地方。 + +### While + +这个连接词有两种意思。 + +The woman made breakfast while her husband was still sleeping. +(在她丈夫还在睡觉的时候,这个女人做好了早餐。) + +外加表示「当…时」的连接词 while 构成副词子句,修饰动词 made 的时间。 + +While there is no hurry, I would prefer to get the job done sooner than later. +(虽然不急,最好还是把工作赶快做完。) + +这时候 while 的意思是「虽然」,用法与 although 相同,引导一个表示让步的副词子句,修饰动词 would prefer。 + +### Whether 与 Wh-ever + +外加 whether 如果解释为「不论」,构成的是表示让步的副词子句。同样的,一些作 wh-ever 拼法的字如果解释为 wh- 外加 no matter,意思同样是「不论」,这种子句都是表示让步的副词子句,用来修饰主要子句的动词。 + +Whether(or no matter) I do well or badly at the exam, I’m going out tonight to celebrate the end of the semester. +(不论我考试考得好不好,今晚我都要出去​​庆祝学期结束。) + +Whoever(or no matter who) told you the story, it can’t be true. +(不论是谁告诉你的,这个故事都不可能是真的。) + +Whatever(or no matter what) is troubling you, tell me about it. +(不论你有什么困扰,都请你告诉我。) + +Whenever(or no matter when) the man hears the song, he thinks of his first love. +(不论什么时候这名男子听到这条歌,都会想起他的初恋情人。) + +Wherever(or no matter where) there is sunshine and water, there is life. +(只要有阳光与水的地方都有生命。) + +However(or no matter how) you look at the matter, it isn’t fair. +(这件事情不论你怎么看,都不公平。) + +Whichever(or no matter which) university you choose, you will be admitted. +(不论你挑哪所大学,都可以拿到入学许可。) + +## 一条文法规则 + +传统文法有一条规则:表示时间与表示条件的副词子句,以现在式代替未来式。这条规则我们先前简单处理过一次,但是当时还欠缺一些条件。现在我们已经介绍完了语气问题、也看完了名词子句与副词子句,有条件可以更深入探讨这条文法规则了。 + +### 表示时间的副词子句 + +以连接词 when 为例,我们现在应该很容易判断何者为副词子句、何者为名词子句。请比较: + +He didn’t tell me when he bought the house. +S V O O(名词子句) +(他没告诉我他是什么时候买了这栋房子的。) + +He didn’t tell me the price when he bought the house. +S V O O 时间副词子句 +(他买这栋方子的时候并没告诉我价钱。) + +及物动词 tell 后面可以有两个受词(S + V + O + O)。以第 1 句来说,主要子句动词 didn’t tell 的第一个受词是 me,第二个受词就是名词子句 when he bought the house。这个名词子句来自疑问句 When did he buy the house?,除去问号之后,疑问词 when 充当连接词,解释为「何时」。 + +第 2 句中的动词 didn’t tell,第一个受词是 me,第二个受词是 the price,所以 S + V + O + O 的句型已经完备。后面的 when he bought the house 就是个可有可无的副词子句,修饰动词 didn’t tell 的时间。连接词 when 是直述句 he bought the house 外加的一个有意义的连接词,意思是「当…时」。 + +能够区分名词子句与副词子句之后,我们再来看看「表示时间的副词子句用现在式代替未来式」是什么意思。请比较: + +Do you know when he will return? +S V O 名词子句 +(你知道他什么时候会回来吗?) + +He will call you when he returns. +S V O 时间副词子句 +(到他回来的时候会打电话给你的。) + +第 1 句中的 when he will return 是由疑问句 When will he return? 改造而成的名词子句,when 是疑问词,意思是「什么时候」。这个意思和未来式「将会」并无冲突:when he will return 就是「他什么时候将会回来」,是名词子句,当做主要子句动词 know 的受词。文法规则说「表示时间的副词子句用现在式代替未来式」,这条规则并不适用于名词子句,所以还是用未来式 will return。 + +第 2 句中的 when he returns 则是副词子句,加了一个表示「当…时」的连接词 when,这个副词子句放在主要子句中修饰动词 will call 的时间。 「当…时」这种解释和未来式会有冲突,因为「当他回来时」的意思是「当做现在已经到了那个时候」,所以要把「回来」的时间设定为就是现在,因此必须用现在式 returns。文法规则说「表示时间的副词子句用现在式代替未来式」,说的就是这种情况。 + +第 2 句中的副词子句,外加的连接词除了 when 之外,其他如 as soon as, before, after 等等都可以使用、也都可以制造出时间副词子句,里面都不适合使用未来式,而要改为现在式。 + +刚才我们看的是简单式的动词。如果是完成式,在时间副词子句里面就只能用现在完成而不能用未来完成。例如: + +You can have this computer when I have finished—in about half an hour. +S V O 时间副词子句 +(等我用完了这台电脑就给你──再过半个小时吧。) + +句中的 when I have finished 是时间副词子句,外加的是表示「当…时」的连接词 when。这个副词子句用来修饰主要子句动词 can have 的时间。这种子句如果是未来时间,必须「当做到了那个时候」,也就是要把未来时间当做就是现在。所以,动词的完成式就只能采用现在完成式的形态(如 have finished)。 + +有时候,可以反过来利用时态与语气来判断一个从属子句到底是名词子句还是副词子句、到底该如何解释。例如: + +I’ll let you know when he will return. +S V O C 名词子句 +(我会让你知道他什么时候会回来。) + +I’ll let you know when he returns. +S V O C 时间副词子句 +(到他回来的时候我就会让你知道。) + +第 1 句中的 when he will return 因为采用了未来式 will return,所以不可能是时间副词子句,只能作名词子句看待。因此,连接词 when 一定是来自疑问词,表示「何时」,这个名词子句的意思也就是「他何时将会回来」,放在主要子句中当做原形动词 know(受词补语)的受词使用。 + +第 2 句中,主要子句的动词 will let 仍然是未来式,但是从属子句 when he returns 用的却是现在式,可以看出来这个从属子句是个时间副词子句。那么连接词 when 就是外加的,解释为「当…时」,整个从属子句的意思也就变成「当他回来的时候」,当做副词子句使用、修饰主要子句动词 will let 的时间。 + +### 表示条件的副词子句 + +以连接词 if 为例,我们来练习判断一下何者为名词子句、何者为副词子句: + +I can’t remember if I turned off the gas or not. +S V O(名词子句) +(我想不起来到底有没有把瓦斯关掉。) + +I have to go back if I didn’t turn off the gas. +S V 条件副词子句 +(如果没有关瓦斯,我就得回去一趟。) + +第 1 句中,主要子句的动词 can’t remember 是及物动词,后面应该有受词。所以,if I turned off the gas or not 应该是名词子句,这样才可以当 can’t remember 的受词。作名词子句解释时,连接词 if 相当于 whether,解释为「是否」。 Yes/No Question 改写为名词子句时要加的连接词就是 whether 或 if。所以,这个名词子句如果还原成为一个独立的疑问句,就是这一句:Did I turn off the gas? + +第 2 句中,主要子句的动词 have to go 是个不及物动词,后面并没有可以放名词子句的位置,所以 if I didn’t turn off the gas 不是名词子句而是副词子句。当副词子句使用时,外加的连接词if解释为「如果」。这个副词子句是个表示条件的副词子句,修饰主要子句动词 have to go back 的条件。接下来我们再把未来时间放进来看看: + +I have no idea if this plan will work or not. +S V O 名词子句 +(我根本不了解这个计画到底会不会奏效。) + +I have a large reward for you if this plan works. +S V O 条件副词子句 +(如果这个计画奏效了,我有个大奖要送给你。) + +第 1 句可以先拆开为以下两句来了解: + +I have no idea about the question. +Will this plan work? + +后面那句是个 Yes/No Question,加上表示「是否」的连接词 whether 可以改为名词子句 whether this plan will work (or not),放在前面那个句子(主要子句)后面当 the question 的同位格。然后再把介系词片语 about the question 省掉,就成为 I have no idea whether this plan will work 这个复句。再把连接词换成同样表示「是否」的连接词 if,就是上面的第 1 句。连接词解释为「是否」时,和未来式「将会」的解释并无冲突,所以这个子句里面可以采用未来式的动词 will work。再看一下那条文法规则的说法:表示条件的副词子句,用现在式代替未来式。可是第 1 句里面这个 if 子句是名词子句,因此不适用这条规则。 + +第 2 句中的从属子句 if this plan works 是加上解释为「如果」的连接词而构成的,放在主要子句中修饰动词 have 的条件,这是条件副词子句。连接词 if 解释为「如果」时,语气要设定在「假如果真」,也就是要把一件尚未确定的事情先当做是真的来讲,因此要采用叙述事实的「直说语气」、不再能够用不确定的 will。文法规则说,表示条件的副词子句要用现在式代替未来式,说的就是这种情况,因此第 2 句中的这个条件副词子句,动词采用的是现在式的 works。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/AdverbClausesReduced.md b/corejava第9版/EnglishGrammarBook-master/docs/AdverbClausesReduced.md new file mode 100644 index 0000000..a9a0a6b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/AdverbClausesReduced.md @@ -0,0 +1,808 @@ +# 第二十五章 副词子句简化 + +所有从属子句的减化,共通原则都是省略主词与 be 动词、留下补语部分,副词子句的减化也不例外。比较特别的地方是连接词的处理:名词子句外加无意义的连接词that在减化时会删除掉、关系子句重复的关系词也会在减化时一并省掉,只有副词子句的连接词词既不空洞、又不重复,所以在减化时往往需要把连接词保留下来,句子的意思才不会有损失。至于副词子句有哪些连接词要保留、哪些应该省略,​​必须从句意去斟酌:省略掉连接词之后句意仍然够清楚,才可以省略。 + +副词子句减化,动词部分的处理原则仍然和其他的从属子句相同:若有 be 动词则省略 be 动词、若有语气助动词则减化为表示不定词的 to,若只有普通动词则一律加 -ing。如此减化的结果,剩下的补语部分(减化子句)有可能是现在分词与过去分词这两种分词片语、不定词片语,以及其他(包括名词、形容词、介系词片语等等)。以下依补语的词类分别说明副词子句的减化。 + +## 简化为分词构句 + +副词子句简化为现在分词片语或过去分词片语,传统文法称这种构造为分词构句。例如: + +[While I stayed at my uncle’s], I dined out every night. +副词子句 S V +(住在我叔叔家的时候,我每天晚上都出去吃饭。) + +中括弧内的部分是个副词子句,修饰主要子句动词 dined out 的时间。副词子句要减化为分词构句,有一点要特别注意:副词子句的主词必须和主要子句的主词相同才可以省略,否则就是错误。就上面这个例子而言,副词子句的主词I和主要子句的主词相同、可以省略。动词是普通动词 stayed,没有 be 动词也没有助动词。这种动词的减化方式是加上 -ing 成为 staying。主词、动词这两个部分减化之后,剩下来的已经不再是个限定子句,原来的连接词 while 也已经不再需要。但是,while 除了连接词的文法功能之外还有字义:「当…时」。如果要把话讲得清楚一点,可以选择把 while 留下来。如果要更简洁,也可以选择把 while 省掉,如下: + +[(While) staying at my uncle’s], I dined out every night. +减化副词子句 S V + +传统文法认定现在分词是形容词,但是并没有深入观察省略的情况,所以会把 staying at my uncles 这个现在分词片语视为形容词片语看待。但是这个形容词片语显然不是用来修饰名词,而是修饰动词 dined out 的时间、当时间副词使用。碰到这种「词类不一致」的情况,传统文法的做法是取个名称来交代过去:「分词构句」的意思就是「分词片语构成副词子句使用」。其实,所谓分词构句就是副词子句减化之后剩下来的分词补语。以下分成现在分词构句与过去分词构句分别说明。 + +### 现在分词构句(Ving) + +[Because he was itching to be playing again], the boy inserted more coins. +副词子句 V +(因为他很想再玩,所以这个男孩又丢了几枚硬币。) + +中括弧内是个副词子句,修饰主要子句动词 inserted 的原因。副词子句的主词 he 就是主要子句的主词 the boy,符合「主词相同」的条件,可以省略。动词部分有现成的 be 动词可以省略。处理掉主词与限定动词之后,剩下来那个称为「分词构句」的补语 itching to be playing again 已经不是限定子句了,因此不再需要连接词。再观察一下原来的连接词 because,这种表示「原因」的连接词在分词构句中应该要省略掉,因为分词构句(尤其是放在句首位置)本身就具有表示「原因」的功能,所以 because 这一类的连接词都不会留下来,结果就是: + +[Itching to be playing again], the boy inserted more coins. +减化副词子句 V + +再看一个例子: + +[When you see an old person on the bus], offer your seat to him. +副词子句 V +(在公车上看到老人请让座。) + +副词子句(中括弧内的部分)修饰主要子句动词 offer 的时间或条件。主要子句采用直接命令句语气、省略了主词 you。副词子句的主词也是 you,减化时可以省略。动词部分是普通动词 see,减化的做法就是加上 -ing 成为现在分词 seeing,结果如下: + +[When seeing an old person on the bus], offer your seat to him. +减化副词子句 V + +连接词 when 在文法上已无必要,但是用在这个句子中它有 whenever 的意思在内,减化子句中保留下这个连接词的话意思会比较清楚。 + +[While I am only a student], I want to marry you now. +副词子句 V +(虽然我只是学生,我现在就要和你结婚。) + +中括弧内是个副词子句,修饰主要子句动词 want。这个副词子句的主词是 I,和主要子句相同、可以省略。动词是无意义的 be 动词,在减化子句中通常是可以省略掉的东西。但是如果把 I am 省略掉,剩下的部分是个名词补语 only a student,这个词类和原来副词子句的词类差距太大:副词子句是个可有可无的修饰语,而名词则通常是主词、受词、补语等主要元素。所以,如果选择减化掉 I am、只留下名词补语 only a student,那么原来的连接词 while 也必须保留下来,读者才看得出来 only a student 是副词子句减化的结果,如下: + +[While only a student], I want to marry you now. +减化副词子句 V + +反之,如果要选择省略掉连接词 while,就必须做两个动作。第一,only a student 必须改变词类,在前面加上 being,成为 being only a student 这个现在分词片语,也就是所谓的分词构句,读者才看得出来它扮演的角色是减化副词子句。第二,减化子句中虽然不再需要连接词,但是 while 这个连接词有「虽然」的字意,省掉的话句子的意思会变得不够清楚。可以选择把它保留下来,成为 while being only a student 这个分词构句。也可以省略掉连接词 while,改以连接副词如 still, nevertheless, however 之类来取代,句子的逻辑关系才不会不清楚: + +[Being only a student], I still want to marry you now. +减化副词子句 V + +下面这个例子的情况稍有不同: + +[After he graduated from college], he found himself unemployed. +副词子句 V +(大学毕业之后,他发现自己失业了。) + +中括弧内的副词子句修饰主要子句动词 found 的时间。副词子句的主词 he 与主要子句相同、可以减化,做法是省略主词 he、普通动词 graduated 加上 -ing 成为 graduating。接下来要考虑连接词 after 是否要保留。减化子句不是限定子句,并不需要连接词。但是 after 这个连接词有「之后」的意思,如果省掉,要判断一下意思是否有改变: + +[Graduating from college], he found himself unemployed. +减化副词子句 V + +省掉了 after,剩下的部分 graduating from college 看起来像是「大学毕业时」,这个意思和「大学毕业之后」还算接近,可以接受。如果选择要讲得更清楚一点,可以把 after 留下来,如下: + +[After graduating from college], he found himself unemployed. +减化副词子句 V + +这样做的时候要注意:连接词 after 亦可当介系词使用。如果后面的子句减化掉了、不再是限定子句,它就自动转变成介系词。而在介系词后面必须用名词片语当受词。观察一下发现:graduating from college 可以当动名词片语使用,也就是可以当作介系词 after 的受词,因而可以接受。再看一个例子: + +Two Vietnamese patients died from avian flu. +(两名越南病人死于禽流感。) + +This caused widespread panic in Southeast Asia. +(这件事情在东南亚引起大恐慌。) + +句 2 的内容说明句1造成的结果,可以用表达​​结果的连接词 so 引导、制造复句如下: + +Two Vietnamese patients died from avian flu, [so this caused widespread panic in Southease Asia]. +副词子句 + +副词子句(中括弧内部分)修饰主要子句动词 died 的结果。这个副词子句的主词 this 和主要子句的主词 two Vietnamese patients 并不相同,通常是不能减化的。不过,副词子句主词 this 代表的内容就是整个主要子句那件事情,这种情况仍可视为主词有重复,可以进行减化。做法是把重复的主词this省掉、普通动词 caused 加上 -ing 成为现在分词 causing。连接词 so 表达的是因果关系,而分词构句本身就具有因果关系的表达功能(表示原因的分词构句常放在句首、表示结果的常放在句尾),所以这些表达因果关系的连接词不会保留下来。结果就是: + +Two Vietnamese patients died from avian flu, [causing widespread panic in Southease Asia]. +减化副词子句 + +下面这个例子的情况又不一样: + +[As it was rather late], the rescue workers decided to quit. +副词子句 V +(因为时候不早了,这些救难人员决定要停手。) + +副词子句(中括弧内的部分)修饰主要子句动词 decided 的原因。请注意:副词子句的主词是个虚字 it,和主要子句的主词 the rescue workers 并不相同。这种情况并不适合进行减化,因为两个子句并没有什么重叠的部分。如果还是要进行减化,要注意几个地方。第一,副词子句不同的主词it必须保留下来。第二,动词 was 要加上 -ing 改为现在分词 being,因为这种句型是分词构句的一种变形,必须有个分词才会清楚。第三,减化为 it being rather late 之后,原来的连接词(as)一定要省掉。这是因为:副词子句的主词既然和主要子句并无重复,减化时无法省略,那么减化子句并不会变得比较简洁。不过,减化之后可以省略的是原来那个连接词,所以要从连接词的省略来获得简洁的效果。因此,副词子句减化为分词构句时,如果主词不同而保留下来,连接词就一定要省略。 + +像上例那种情况,在分词构句中保留住不同的主词,这种构造在传统文法中称为「独立片语」。因为传统文法视 being rather late 这种分词片语为形容词、修饰前面的代名词 it,共同构成 it being rather late 这个名词片语。但是传统文法没有进一步去观察省略的情形,因而无法解释 it being rather late 这个名词片语扮演什么角色。在无法解释的时候,传统文法的做法就是取个名称来交代过去:「独立片语」表示 it being rather late 独立、与主要子句无关。其实,it being rather late 只不过是 because it was rather late 这个副词子句减化的结果。 + +### 过去分词构句(Ven) + +如果副词子句里面的动词是 be 动词、后面用过去分词当补语(也就是一般文法所谓的被动态),那么减化的结果就会变成过去分词构句。例如: + +[If it is provoked], a rhino can be very dangerous. +副词子句 V +(如果受到激怒,犀牛可能非常危险。) + +中括弧内是个副词子句,修饰主要子句动词 can be 的条件。副词子句的主词 it 就是主要子句的主词 a rhino,可以进行减化:省略掉主词 it 与 be 动词 is,留下过去分词补语 provoked。减化子句不是限定子句、不再需要连接词,但是 if 这个连接词意思是「如果」,表示一种条件。省掉的话意思会不清楚,所以应该选择把连接词留下来,成为: + +[If provoked], a rhino can be very dangerous. +减化副词子句 V + +再看一个例子: + +[After it was redecorated], the house looks more comfortable. +副词子句 V +(重新装潢之后,这个房子看起来舒服多了。) + +中括弧内是个副词子句,修饰主要子句动词 looks 的时间。副词子句的主词 it 就是主要子句的主词 the house,可以进行减化,做法是省略重复的主词 it、空洞的 be 动词 was,剩下补语部分 redecorated。接下来判断一下连接词 after 要不要保留。这个连接词的意思是「之后」,表达时间先后关系。如果省掉,是下面这种情况: + +[Redecorated], the house looks more comfortable. +减化副词子句 V + +因为过去分词本身除了被动语态之外,还可以表示完成状态,所以 redecorated 一个字就可以代表「已经被装潢过之后」。连接词 after 不留,读者还是看得出来是「之后」,所以不需要保留它。 + +如果为了表达得更清楚、还是选择要留下连接词 after,就得注意:after 这个连接词身兼介系词的功能。如果它后面跟一个限定子句,它就是从属连接词。如果它后面不是限定子句,它的词类就会自动转变成介系词。因此,一旦保留下来 after,它已经变成介系词的词类,后面必须接名词片语当它的受词,直接把过去分词放在它后面(如 after redecorated)会造成文法错误。因此,一旦决定要把 after 保留下来,后面就必须进行词类变化:设法把过去分词 redecorated 改变为名词类,才能当介系词 after 的受词。这有两种改法: + +[After being redecorated], the house looks more comfortable. +减化副词子句 V + +[After the redecoration], the house looks more comfortable. +减化副词子句 V + +第 1 种改法是在 redecorated 前面加上 being 这个无意义的动名词,这样可以保留住过去分词 redecorated 的被动语态、同时把词类改变为名词类。第 2 种改法是把过去分词 redecorated 直接改为名词片语 the redecoration,意思仍然差不多。再看一个例子: + +The house, [whether it is insured or not], needs a fire alarm. +副词子句 V +(这个房子,不论有没有保险,都需要装火警警铃。) + +中括弧内的部分是个副词子句,连接词 whether 相当于外加的连接词 no matter,引导这个副词子句修饰主要子句动词 needs。副词子句减化的方式是把重复的主词 it(代表the house)与空洞的 be 动词省略掉,如下: + +The house, [(whether) insured or not], needs a fire alarm. +副词子句 V + +连接词 whether 意思是「是否」,在减化子句中并不需要连接词。而「是否」的意思可以交给后面的 or not 来表示,所以减化子句中可以选择把 whether 省掉。当然,留下来也是正确的。 + +下面这个例子的情况不大一样: + +[When the job was concluded], the secretary went home. +副词子句 V +(工作做完了,秘书就回家了。) + +中括弧内是个副词子句,修饰主要子句动词 went 的时间。但是副词子句的主词 the job 和主要子句的主词 the secretary 不一样,这种情况并没有可以减化的空间。如果还是要进行减化,就得把副词子句不同的主词 the job 保留下来。动词片语的部分仍然是省略掉 be 动词、留下过去分词补语 c​​oncluded。这是分词构句的一种特殊变形,传统文法称为独立片语。这种构造要注意:因为保留了不同的主词、没有获得减化的效果,所以原来的连接词一定要省略,这样才真正有减化的效果出现,如下: + +[The job concluded], the secretary went home. +减化副词子句 V + +### Being和having been的用法 + +许多人搞不清楚 being 与它的完成状态 having been 该怎么使用。先看 being,它里面的 be 动词是空的、完全没有意义。会用到being,完全是需要它字尾的 -ing。这个字尾有两种功能:一是强调进行状态、一是做词类变化,这也就是being这个字的两大用途。例如: + +The case is closed now. +S V C +(案子现在已经结案。) + +补语部分的过去分词 closed 除了表示被动语态「被结」,同时也表示完成状态「已经结掉」。如果要表达的是「正在被结案中,尚未完成」,就得用到 being 了: + +The case is being closed now. +S V C + +补语部分必须用到过去分词 closed 才能表示被动语态「被结」。但是过去分词 closed 同时也暗示完成状态「已经结掉」。这时候就得加上 being 来强调进行状态「正在」,这样可以破除过去分词 closed 的完成状态暗示,只留下被动语态:being closed 才能清楚表示「正在被结案中」。再看一个例子: + +When I said just now that his poem was excellent, I was being nice. +S V C +(我刚才说他写的那首诗好极了,那是在说客套话。) + +主要子句如果改为 I was nice,意思是说「我是个好人」。补语部分必须加上现在分词 being 来强调进行状态,意思才变成「在说客套话」。 以上是 being 用于「强调进行状态」的用法。接下来看看 being 用于词类变化的用法。 + +Being 可以当现在分词、也可以当动名词使用。如果 being 是现在分词,加在名词前面时可以把名词的词类转变为分词片语,就可以用在分词构句中。例如: + +[Because you are my best friend], you must tell me the truth. +副词子句 V +(因为你是我最好的朋友,你一定要跟我说真话。) + +副词子句(中括弧内部分)的主词 you 和主要子句相同,可以减化。动词是无意义的 are,本来也可以减化,但是结果会变成名词补语 my best friend,和原来的副词子句词类差距太大。而且 because 又是一个不能保留的连接词,减化之后只剩下名词片语 my best friend,读者无从判断它是扮演什么角色。这时候就该在前面加个 being 来做词类变化:把名词片语转变成分词片语 being my best friend,就可以当分词构句使用、取代副词子句,如下: + +[Being my best friend], you must tell me the truth. +减化副词子句 V + +另外,如果 being 是动名词,加在形容词或副词前面时可以把这些词类转变为名词类使用。例如: + +[Without being rude], the man told the woman that she was wrong. +介系词片语 +(并没有不礼貌,这位先生告诉这位小姐说她搞错了。) + +介系词片语(中括弧内部分)修饰主要子句动词 told 的方式。介系词片语中有个形容词 rude,不能直接当介系词的受词使用。一旦加上 being,变成动名词片语 being rude,就符合词类要求、可以当受词使用了。再看一个例子: + +The students rushed out at the sound of the bell [before they were told to leave]. +V 副词子句 +(学生们不等别人吩咐,一听到铃声就冲出去了。) + +副词子句(中括弧内的部分)修饰主要子句动词 rushed out 的时间。它的主词 they 与主要子句相同,可以省略。接下来是省略掉空洞的 were,剩下过去分词补语 told to leave。但是,从属连接词 before 必须保留下来才看得出来「在…之前」的意思。而 before 又是连接词与介系词两种词类兼具,减化子句中一旦留下它来就会自动转变为介系词。而在介系词 before 后面不能直接用过去分词 told to leave,必须改为名词类。但是过去分词 told 表示「被告知」的被动语态,所以不能更动。这时候只有在前面加上 being,成为 being told to leave 这个动名词片语,才能够当介系词 before 的受词使用,如下: + +The students rushed out at the sound of the bell [before being told to leave]. +V 减化副词子句 + +至于 having been 的用法,它是 being 的完成式,表达「已经」的完成状态,因此它不再具有强调进行的功能,只能用来表示「已经」,以及用来做词类变化。分别说明如下: + +[After he has been a soldier for 10 years], the man is quite used to taking orders. +副词子句 V +(当了十年兵之后,这名男子已经相当习惯服从命令了。) + +副词子句(中括弧内的部分)修饰主要子句动词 is 的时间。它的主词 he 就是主要子句的主词 the man,可以减化。动词是完成式的 has been。里面的 be 动词本身没有意义,只表达完成状态「已经」。可以选择加上 -ing 成为 having been 保留下来,一方面因为后面是名词(a soldier)、需要做词类变化(成为分词构句),一方面也可以用 having been 的完成状态取代原来的连接词 after ,如下: + +[Having been a soldier for 10 years], the man is quite used to taking orders. +减化副词子句 V + +另外,如果分词构句中是 having been + Ven,那么 having been 属于可有可无的性质,可以省略。例如: + +[Because it had been trained to search for survivors], the dog did a good job at 9/21. +副词子句 V +(因为它受过搜救生还者的训练,这只狗在9/21大地震表现不错。) + +中括弧内是个副词子句,修饰主要子句动词 did 的原因。它的主词 it 就是主要子句的主词 the dog,在减化时可以省略掉。动词片语 had been 有两种处理方式。这个动词片语里面是空洞的 be 动词,本身没有意义。但是 had been 是完成式,可以表达「已经」的完成状态。如果选择要把它保留下来,就得视同普通动词看待、加 -ing 成为 having been。再把表示因果关系的连接词 because 省掉(这一类的连接词都不能保留),如下: + +[Having been trained to search for survivors], the dog did a good job at 9/21. +减化副词子句 V + +另一种做法是选择把整个动词片语 had been 视为无意义而省略掉,只留下过去分词补语,如下: + +[Trained to search for survivors], the dog did a good job at 9/21. +减化副词子句 V + +因为,having been 唯一的意义在于表达「已经」的完成状态,而它后面的过去分词 trained 本身除了表示被动语态「被训练」,也可以表达完成状态「已经训练过」,足以取代前面 having been 的意思。再从词类上观察,trained 是过去分词、having been trained 是现在分词,同样都可以当分词构句使用。所以,不论是字意还是文法功能,在分词构句中的 having been trained 与 trained 都是一样的。 + +如果 having been + Ven 是当动名词片语使用,那么 having been 具有不可或缺的词类变化功能、不得省略。例如: + +[After it had been robbed five times], the store finally installed a security system. +副词子句 V +(在遭抢五次之后,这家商店终于装设了保全系统。) + +副词子句(中括弧内的部分)修饰主要子句动词 installed 的时间。副词子句的主词与主要子句相同,可以省略。动词 had been 因为后面有过去分词 robbed,本来可以选择省略掉 had been、只留下 robbed 来做分词构句。但是如果选择要留下连接词 after,它就会转变为介系词。在介系词 after 后面连带也就需要名词类当它的受词。过去分词 robbed 有表示被动语态「被抢」​​的功能,需要保留。这时候就得在 had been 后面加上 -ing,成为 having been robbed 这个动名词片语,才能够当作介系词 after 的受词,如下: + +[After having been robbed five times], the store finally installed a security system. +减化副词子句 V + +当然,减化子句部分如果省略掉 after 成为 having been robbed five times,或什至再省略掉 having been 成为 robbed five times,意思也都还够清楚。 + +### 分词构句的位置 + +分词构句常出现的位置分为句首、句中(主词与动词中间)、句尾三种,通常都需要有逗点和主要子句隔开。以下分别说明: + +#### 句首 + +[Entering the classroom], the teacher greated the students. +简化副词子句 S V O +(进入教室时, 老师和学生们打招呼。) + +现在分词片语放在句首用逗点隔开,应视为分词构句,也就是下面这个副词子句的减化: + +[When he entered the classroom], the teacher greeted the students. +副词子句 V O + +#### 句中 + +句首位置的分词片语必须有逗点和主要子句隔开,否则是文法错误。放在句中位置就不一定了。分词片语放在句中位置如果没有逗点隔开,很可能是关系子句的减化,如下: + +The teacher [entering the classroom] greeted the students. +S 减化形容词子句 V O +(进入教室的那位老师和学生们打招呼) + +这个位置的分词片语没有用逗点隔开,是下面这个关系子句减化的结果: + +The teacher [who entered the classroom] greeted the students. +S 关系子句 V O + +关系子句(中括弧内的部分)没有用逗点隔开,表示它具有指示功能,关系代名词 who 可以改写为 that,整个关系子句用于指出是「走进教室的那位老师」。减化为分词片语 entering the classroom 之后仍然具有同样的指示功能。另外,放在句中位置的分词片语如果有一对逗点和主要子句隔开,有可能是关系子句的减化,也有可能是分词构句(副词子句减化)。不过这两种诠释的意思差不多。例如: + +The teacher, [entering the classroom], greeted the students. +S 减化子句 V O +(老师走进教室、和学生打招呼。) + +句中位置这个分词片语,前后有一对逗点和主要子句隔开。这时候它有可能是不具指示功能的关系子句 who entered the classroom 的减化、修饰先行词 the teacher,也有可能是时间副词子句 when he entered the classroom 减化为分词构句,修饰动词 entered 的时间。不过,这两种诠释的意思差不了太多,虽然稍有模棱两可之嫌但还可以接受。 + +#### 句尾 + +分词片语放在句尾位置,如果没有逗点和主要子句隔开,有可能是受词补语,如下: + +The teacher greeted the students entering the classroom. +S V O C +(老师和走进教室的学生们打招呼。) + +句尾的 entering the classroom 这个分词片语没有逗点隔开,是主要子句的元素之一:受词补语,形容的对像​​是受词 the students。这时候,「走进教室」的不再是老师、变成是学生们。 + +句尾位置的分词片语如果有逗点隔开,仍然要当作分词构句看待,也就是副词子句的减化。例如: + +The teacher greeted the students, [entering the classroom]. +S V O 减化副词子句 +(老师和学生们打招呼,在他走进教室的时候。) + +这时候,「走进教室」的仍然是老师。中括弧内的部分是分词构句,来自下面这个时间副词子句的减化:when he entered the classroom,修饰动词 greeted 的时间。 + +### Dangling Modifier 的错误 + +写作分词构句,要特别注意「主词相同」的要求:副词子句减化为分词构句,前提是副词子句的主词必须和主要子句相同,否则不能省略主词。如果副词子句的主词和主要子句并不相同却被省略掉,这是一种最常犯的写作错误,甚至取了一个特别的名称来称呼它:**dangling modifier「悬荡修饰语」**。例如: + +[Trying to keep the boat afloat in the storm], a lot of cargo was jettisoned. (误) +dangling modifier S +(为了维持船只在风暴中不沉,许多货物被抛弃掉。) + +这个句子,中文的意思乍看之下好像可以,其实有很大的问题。中括弧内是个副词子句减化而来的分词构句。做这种减化有一个先决条件:副词子句的主词必须和主要子句相同。看一下后面的主要子句,它的主词是 a lot of cargo「许多货物」。如果副词子句的主词和主要子句相同,那么这个副词子句还原的结果就是 Because a lot of cargo was trying to keep the boat afloat in the storm「因为许多货物努力要维持船只在风暴中不沉」 ,但是这种讲法显然不通:「抢救船只」的主词应该是人、不可能是货物。副词子句的主词和主要子句的主词明显不同,却仍然减化,造成的结果就是分词构句(中括弧内的部分)找不到一个合理的对象可以修饰,因而悬在半空中无法落实。所以这种错误称为「悬荡修饰语」。这种错误可以有几种订正方式。一种是不要减化,恢复原来的副词子句、把不一样的主词还原,如下: + +[Because the sailors were trying to keep the boat afloat in the storm], a lot of cargo was jettisoned. + +中括弧内是个完整的副词子句,有连接词 because 引导,主词是 the sailors「水手们」。后面是主要子句,主词是 a lot of cargo。既然两个子句的主词不同,就不要减化。还有一种改法是把主要子句改写为采用和副词子句相同的主词,就可以减化为分词构句了,如下: + +[Trying to keep the boat afloat in the storm], the sailors jettisoned a lot of cargo. +S + +主要子句改为用 the sailors 为主词,和原来那个副词子句 Because the sailors were trying to keep the boat afloat in the storm 里面的主词相同,这样才可以把副词子句减化为上面那个分词构句(中括弧内的部分)。再看一个例子: + +This new medicine cannot really cure a patient [unless treated in the earliest stages of lung cancer]. (误) +S dangling modifier +(这种新药不能真正治好病人,除非在肺癌的最初期就接受治疗。) + +中文的讲法好像可以接受,但是英文有错误。中括弧内的部分是由表示条件的副词子句减化而来的分词构句。这种减化的前提是副词子句的主词必须和主要子句相同。但是主要子句的主词是 this new medicine「这种新药」,如果副词子句也是用同样的主词,那么还原回去就是 unless this new medicine is treated in the earliest stages of lung cancer 这个不通的句子(意思是「除非这种新药在肺癌最初期就接受治疗」):接受治疗的只能是病人、不能是新药。可以修改如下: + +This new medicine cannot really cure a patient [unless administered in the earliest stages of lung cancer]. +S 减化副词子句 + +这样修改之下,副词子句变成 unless it is administered in the earliest stages of lung cancer「除非在肺癌的最初期就施用」,主词it就是主要子句的主词 this new madicine,如此才能够减化。 + +## 简化为 To V + +副词子句的动词片语中如果包括语气助动词在内,减化的结果就会变成不定词片语。副词子句减化为不定词片语时,情形和减化为分词构句不尽相同。如果是减化为分词构句,那么副词子句的主词一定要和主要子句的主词相同(如果副词子句的主词代表的就是整个主要子句,也视为相同)。不过,如果是减化为不定词片语,那么只要意思够清楚,副词子句的主词就可以省略来做减化。以下整理出一些常用的片语分别说明。 + +#### In order to + +The student studied hard [in order to get a scholarship]. +V 减化副词子句 +(这个学生用功读书,目的是要拿奖学金。) + +中括弧内的部分由下句中的副词子句减化而来: + +The student studied hard [in order that he could get a scholarship]. +V 副词子句 + +中括弧内的部分是副词子句、由从属连接词 in order that 连接,修饰主要子句动词 study 的目的。副词子句的主词 he 省略掉的话意思仍然清楚。再把助动词 could 减化为表示不定词的 to。最后把无意义的连接词 that 省掉,结果就是 in order to get a scholarship 这个减化子句。 + +#### So as to + +The boy left home early [so as to be in time for the concert]. +V 减化副词子句 +(这个男孩很早就出门,目的是要赶上演唱会。) + +中括弧内的减化副词子句可以还原如下: + +The boy left home early [so that he could be in time for the concert]. +V 副词子句 + +副词子句的连接词原本是 so that,引导副词子句(括弧内部分)修饰主要子句动词 left 的目的。将副词子句主词he省略、语气助动词 could 减化为表示不定词的 to 之后,空洞的连接词 that 也一并省略,改以 so as to 来表达「目的」。 + +#### So … as to + +The air in the city is so polluted [as to be dangerous to health]. +减化副词子句 +(市内的空气污染到可能会有害健康的地步。) + +中括弧内的减化副词子句可以还原如下: + +The air in the city is so polluted [that it may be dangerous to health]. +副词子句 + +中括弧内的副词子句,从属连接词是 so … that,修饰过去分词 polluted。减化的做法是省略主词 it、助动词 may 减化为表示不定词的 to,再把空洞的连接词 that 省掉,改以 so … as to 的构造来修饰 polluted 的程度。 + +#### Such … as to + +So … that 引导的子句与 so … as to 引导的减化子句,专用于修饰形容词与副词等修饰语,因为其中的so是程度副词类。至于such … that引导的子句与such … as to引导的减化子句则用于修饰名词片语,因为其中的such是限定词类。例如: + +The candidate made such an effort [as to be sure of success]. +减化副词子句 +(这位候选人功夫用得极深,应该笃定当选。) + +中括弧中是减化副词子句,可以还原如下: + +The candidate made such an effort [that he should be sure of success]. +副词子句 + +将副词子句的主词与动词(he should be)减化为不定词片语to be之后,空洞的连接词that也要删除掉、改以such … as to来修饰名词片语an effort。 + +#### Only to + +The student took the test again, [only to fail a second time]. +V 减化副词子句 +(这个学生重考,只不过又当掉一次。) + +中括弧内的减化副词子句可以还原如下: + +The student took the test again, [only that he would fail a second time]. +V 副词子句 + +副词子句(中括弧内的部分)的连接词是 only that,意思是「只不过」。减化时的做法是省略主词 he、语气助动词 would 减化为表示不定词的 to,再把空洞的连接词 that 删掉,就成为 only to fail。 + +#### Too … to + +The news is too good [to be true]. +减化副词子句 +(这个消息太好了,不可能是真的。) + +程度副词 too 的意思是「太过」,具有否定意味,用法是要和表示不定词的 to 连用,表达「太过…以致于不可能」的意思。这个减化副词子句可以还原如下: + +The news is so good [that it can’t be true]. +副词子句 + +原本的副词子句是采用 so … that这组连接词,表示「如此…以致于」,其中 so 是程度副词,整个副词子句修饰形容词 good。减化时将副词子句中的否定(not)交给带有否定意味的程度副词 too 来表达,主词 it 省略、助动词 can 减化为表示不定词的 to,整个副词子句就减化为 too … to be true,仍然用来修饰形容词 good 的程度。 + +#### Enough … to + +The news is bad enough [to make me cry]. +减化副词子句 + +程度副词 enough 修饰形容词 bad,后面的减化副词子句(中括弧内部分)修饰副词 enough。可以还原如下: + +The new is so bad [that it can make me cry]. +副词子句 + +连接词 so … that 引导副词子句(中括弧内部分)修饰形容词 bad,其中 so 是程度副词。减化时可以变成 so bad as to make me cry,也可以换一个程度副词 enough,成为 bad enough to make me cry + +#### To tell you the truth + +[To tell you the truth], I want to quit. +减化副词子句 +(坦白说,我想辞职不干了。 ) + +中括弧内的部分是个减化副词子句,可以还原如下: + +[If I can tell you the truth], I want to quit. +副词子句 + +减化的方式是省略主词I、助动词减化为表示不定词的to,再把连接词if省掉,就会变成to tell you the truth。还有一些惯用的片语其实也都是类似的减化子句,如下: + +[To be honest with you], I didn’t take the money. +(坦白跟你说,我没拿那笔钱。) + +[To speak frankly], I don’t think you should take the job. +(坦白讲,我觉得你不应该接受那件工作。) + +[To make a long story short], I failed. +(长话短说,我失败了。) + +## 简化为介系词片语 + +副词子句除了简化为分词构句与不定词片语之外,还经常减化为介系词片语。这又可分成以下三种情况。 + +### 补语为介系词片语 + +如果副词子句本来就是用介系词片语当主词补语,那么在减化掉主词与 be 动词之后,剩下的就是介系词片语。例如: + +[While on duty], the officer never drinks. +减化副词子句 V +(这位警官在值勤时从不喝酒。) + +中括弧内的部份是副词子句 while he is on duty 的减化,做法是把重复的主词 he 与空洞的 be 动词省略掉、只留下补语位置的 on duty 这个介系词片语。因为从属连接词 while 选择保留下来,所以可以清楚看出 while on duty 是个减化副词子句。再看一个例子: + +[If in doubt], look up the word in the dictionary. +减化副词子句 V +(如果有疑问,这个字请查字典。) + +主要子句是直接命令句,省略掉主词 you。中括弧内的部分是个减化副词子句,可以还原为 if you are in doubt 这个副词子句。其中介系词片语 in doubt 是主词补语。减化的做法是把 you are 省略掉、有意义的连接词 if 选择留下来,就会成为 if in doubt 这个减化副词子句。 + +### 连接词直接转变为介系词 + +副词子句的连接词大多有意义,所以副词子句在减化时,连接词经常会选择保留下来。不过要注意:有一些副词子句的连接词身兼连接词与介系词两种词性。如果后面有限定子句,它就是连接词。如果它后面的子句减化了、不再是限定子句,这些连接词会自动转变为介系词。这种身兼两种词性的连接词有 before, after, since, until, for, as 等,分别举例说明如下: + +#### Before + +That man used to be a gangster [before he joined the army]. +V 副词子句 +(那个人去当兵以前本来是个流氓。) + +副词子句(中括弧内的部分)减化的做法是省略掉重复的主词 he、普通动词 joined 减化为 joining,成为 joining the army。如果选择要留下连接词 before,这个 before 的词类就会转变为介系词。而 joining the army 放在介系词 before 后面刚好可以当动名词使用、作为介系词的受词,如下: + +That man used to be a gangster [before joining the army]. +V 介系词片语 + +#### After + +[After he was nominated for the Oscar], the actor became highly sought after. +副词子句 V +(获得奥斯卡提名之后,这位演员变得很抢手。) + +中括弧内是个副词子句,修饰动词 became 的时间。减化的做法是省略掉重复的主词 he、无意义的 be 动词。如果选择把连接词 after 也省略掉,整个副词子句只剩下补语部分 nominated for the Oscar,意思也够清楚,因为过去分词 nominated 本身就有「已经被提名」的意思,可以取代 after。但是,如果选择要把 after 留下来,它就会变成介系词。这时候 after 后面必须接名词类作受词。可以加个 being 来做词类变化,如下: + +[After being nominated for the Oscar], the actor became highly sought after. +介系词片语 V + +另外,也可以直接把 nominated 改为名词片语 the nomination 来当介系词的受词,意思仍然够清楚: + +[After the nomination for the Oscar], the actor became highly sought after. +介系词片语 V + +#### Since + +I have been very busy [since I returned from Bali]. +V 副词子句 +(我从峇里岛回来之后一直就很忙。) + +中括弧内是副词子句,修饰动词 have been 的时间。减化的方式是省略掉重复的主词、普通动词加上 -ing 成为 returning。连接词 since 有意义、应该保留下来,但是一旦留下来它就会转变为介系词。因为 returning 刚好可以当动名词使用,所以可以直接做介系词的受词,如下: + +I have been very busy [since returning from Bali]. +V 介系词片语 + +#### Until + +The fruit doesn’t turn red [until it is completely ripe]. +V 副词子句 +(这种水果到全熟之后才会变红。) + +中括弧内的副词子句修饰动词 doesn’t turn 的时间。减化的方式是省略掉重复的主词 it、无意义的 be 动词,剩下补语部分的形容词片语 completely ripe。因为连接词 until 有意义,应该选择留下来。但是它一旦留下来就会转变为介系词,所以不能只有形容词片语 completely ripe 在它后面,必须进行词类变化(加上无意义的动名词being),如下: + +The fruit doesn’t turn red [until being completely ripe]. +V 介系词片语 + +#### For + +The man can’t find a job easily, [for he has a criminal record]. +V 副词子句 +(这个人因为有犯罪记录所以不容易找工作。) + +中括弧内的副词子句用来修饰动词 can’t find 的原因。减化的方式是省略掉重复的主词 he、普通动词加上 -ing 成为 having。表示原因的连接词 for 一般都应该省略掉,成为分词构句 having a criminal record 就够清楚了。但是如果选择要留下 for 来当介系词,后面的词类就要注意:必须是名词类才可以当介系词的受词。而 having 这个动名词刚好可以,如下: + +The man can’t find a job easily, [for having a criminal record]. +V 介系词片语 + +#### As + +[As I am a scientist], I believe in concrete facts only. +副词子句 V +(因为我是科学家,我只相信具体事实。) + +中括弧内的副词子句修饰动词 believe in。减化的方式是省略掉重复的主词I与空洞的 am,只留下补语部分 a scientist。这是个名词补语,和原来副词子句的词类出入太大。可以加上 being 来做词类变化,成为分词构句如下: + +[Being a scientist], I believe in concrete facts only. +减化副词子句 V + +另外也可以选择把 as 留下来当介系词使用、a scientist 当作介系词的受词,如下: + +[As a scientist], I believe in concrete facts only. +减化副词子句 V + +### 连接词改写为介系词 + +副词子句的减化,还有一种办法是把连接词改写为意思接近的介系词、整个子句减化为介系词片语。以下分别说明: + +#### Although + +连接词 although(或者拼成 though),往往可以改写为 despite, inspite of 或 without、整个子句改写为介系词片语而意思不变。例如: + +The girl is determined to marry her boyfriend [although her parents object strongly]. +V 副词子句 +(虽然家长强烈反对,这个女孩还是决心要嫁给男友。) + +中括弧内的副词子句修饰动词 is、表示让步。可以选择把连接词 although 改为意思接近的介系词 despite 或 inspite of,如下: + +The girl is determined to marry her boyfriend [despite her parents’ strong objection]. +V 介系词片语 + +在介系词后面只有一个狭小的名词片的空间,所以原来的副词子句要进行大幅度的减化。因为副词子句的主词 her parents 和主要子句主词 the girl 不同、必须保留,可以用所有格 her parents' 的形式安插在名词片语的限定词位置,再把动词片语 objeect strongly 改为名词类 strong objection。再看一个例子: + +[Although he was not told to enter], the salesperson came in. +副词子句 V +(虽然没有人叫他进来,这位推销员还是进来了。) + +中括弧内这个副词子句修饰动词 came in、表示让步。减化时可以选择把连接词 although 改写为介系词 without。后面不能直接用过去分词 told,必须加上动名词 being 来做词类变化才能当介系词 without 的受词,如下: + +[Without being told to enter], the salesperson came in. +介系词片语 V + +#### Because + +这个连接词可以改写为 because of, owing to, due to, as a result of, with 等等介系词、意思接近。例如: + +The little resort town is crowded [because there has been an influx of tourists]. +V 副词子句 +(这个小小的观光镇人满为患,因为观光客大量涌入。) + +中括弧内这个副词子句修饰动词 is 的原因。可以选择把连接词 because 改写为介系词 with,如下: + +The little resort town is crowded, [with an influx of tourists]. +V 介系词片语 + +在介系词 with 前面最好加个逗点,表示这个介系词片语是用来说明「原因」的,而不是用 crowded with something 来说明挤满了什么「东西」。在介系词 with 后面就只有一个名词片语的空间,所以就直接放入名词片语 an influx of tourists 当受词。再看一个例子: + +[Because he had prepared adequately], the student did well at the exam. +副词子句 V +(因为有充分的准备,这个学生考试考得很好。) + +中括弧内的副词子句修饰动词did的原因。减化时可以选择把连接词because改写为because of, as a result of, owing to之类,再把动词片语had prepared adequately改为名词片语adequate preparation,如下: + +[As a result of adequatel preparation], the student did well at the exam. +副词子句 V + +#### When + +这个连接词可以改写为介系词 on, upon, at 等等、意思接近,如下: + +[When she heard her child cry], the woman rushed into the bedroom. +副词子句 V +(一听到她的孩子哭,这位妇女马上冲进卧房。) + +中括弧内是副词子句、修饰动词 rushed 的时间。减化时可以把连接词 when 改写为 on 或 upon、省掉重复的主词,动词 heard 改为动名词 hearing 当作介系词的受词,如下: + +[On hearing her child cry], the woman rushed into the bedroom. +介系词片语 V + +再看一个例子: + +[When the meeting was concluded], everyone rose to leave. +副词子句 V +(会议开完的时候,大家都站起来要走。) + +中括弧内的副词子句修饰动词 rose 的时间。可以改写为介系词片语如下: + +[At the conclusion of the meeting], everyone rose to leave. +副词子句 V + +在介系词 at 后面只有一个名词片语的空间,可以选择用名词 conclusion 当它的受词。副词子句原本的主词 the meeting 需要交代,可以再加一个介系词 of、把它安插在 of 的后面当受词。 + +将副词子句的连接词改为介系词时,原来的动词如果改写为名词类,必须注意动词后面有没有受词之类需要处理。例如: + +[As soon as her boyfriend purchased the house], the girl agreed to marry him. +S V O V +(男朋友一买好房子,这位小姐就答应嫁给他了。) + +连接词 as soon as 的意思和 when 接近,引导的副词子句(中括弧内的部分)修饰主要子句动词 agreed 的时间。如果把连接词改写为介系词 upon,整个句子可以减化如下: + +[Upon her boyfriend’s purchase of the house], the girl agreed to marry him. +介系词片语 V + +介系词 upon 后面的受词位置,放的是名词 purchase。原来的主词 her boyfriend 改为所有格、安插在名词前面的限定词位置。动词 purchase 转变为名词之后,它原来的受词 the house 也要另找地方安插:加个介系词 of、安插在介系词后面的受词位置。 + +#### If + +像 if, suppose 之类表示条件的连接词,可以改写为介系词 in case of、意思接近。例如: + +[If the river rises above the red line], the village nearby will be evacuated. +副词子句 V +(如果河水涨过红线,附近的村子将要疏散。) + +中括弧内的副词子句修饰动词 will be 的条件。减化时可以把连接词 if 改写为介系词 in case of,如下: + +[In case of the river rising above the red line], the village nearby will be evacuated. +介系词片语 V + +介系词 in case of 后面的受词位置用来安插必须交代的 the river,再把动词加上 -ing 做词类变成、变成现在分词 rising,用现在分词片语 rising above the red line 来形容 the river 。 + +## 简化为其他 + +如果副词子句原本就有 be 动词或其他的连缀动词、后面的主词补语是名词或者形容词,那么减化之后剩下来的就是名词补语或形容词补语。分别说明如下: + +### 名词 + +[Although he is a famous professor], my friend is extremely naive in practical matters. +S V C V +(虽然他是名教授,我这个朋友在实际的事务方面却非常天真。) + +中括弧内是个副词子句,修饰主要子句动词 is。减化的方式是省略掉与主要子句重复的主词 he、省略掉 be 动词,剩下补语部分 a famous professor 这个名词片语。因为连接词 although 有「虽然…」的意思,最好要保留下来才够清楚。而一旦选择保留连接词 although,后面接名词补语 a famous professor 也仍然清楚,如下: + +[Although a famous professor], my friend is extremely naïve in practical matters. +减化副词子句 V + +### 形容词 + +如果副词子句减化之后留下来的是个形容词补语,那么情况和名词补语相同:只要把连接词留下来,读者自然看得清楚这是个减化子句、知道省略了什么: + +[When he was younger], the man could play mahjong for three days straight. +S V C V +(比较年轻的时候,这个人可以连续打三天麻将。) + +中括弧内的副词子句修饰动词 could play 的时间。减化的方式是省略掉重复的主词 he、空洞的 be 动词,剩下形容词补语 younger。只要选择把连接词 when 留下来,句子仍然够清楚: + +[When younger], the man could play mahjong for three days straight. +减化副词子句 V + +再看一个例子: + +I will do it alone, [if that is necessary]. +V S V C +(我愿意一个人做,如果有必要的话。) + +中括弧内的副词子句修饰动词 will do 的条件。这个句子特殊之处在于:副词子句的主词(that)虽然和主要子句的主词(I)不同,但是它代表的却是整个主要子句(I will do it alone)。这种情况仍然视为主词相同、可以减化,如下: + +I will do it alone, [if necessary]. +V 简化副词字句 + +减化掉主词与 be 动词之后,剩下的补语是形容词 necessary。只要选择留下连接词 if,读者仍然看得清楚 if necessary 是什么意思。 + +## 减化子句练习 + +### 一.请将以下之减化子句还原为限定子句 + +1, That villa being auctioned now used to be a hotel. +(那栋正在拍卖的别墅本来是旅馆。) + +句中 being auctioned now 是个减化关系子句(形容词子句),修饰先行词 that villa。还原的方式是把主词(关系词 which)与 be 动词复原,成为关系子句如下: + +That villa which is being auctioned now used to be a hotel. + +2, The museum, being renovated at present, is temporarily closed to visitors. +(那间博物馆,目前正在翻修,暂停开放。) + +句中 being renovated at present 部分有两种可能。第一,它可能是关系子句的减化,修饰先行词 the museum。还原的方式是把主词(关系词 which)与 be 动词复原,成为如下的关系子句: + +The museum, which is being renovated at present, is temporarily closed to visitors. + +第二,它也有可能是副词子句的减化,修饰动词(is)的原因。还原的方式是复原从属连接词 because、复原主词 it 与 be 动词,成为副词子句如下: + +The museum, because it is being renovated at present, is temporarily closed to visitors. + +3, The museum, having been renovated twice, is much larger and has a modern look to it now. +(这间博物馆,已经翻修过两次了,现在大得多、而且看起来比较有现代感。) + +和第 2 题相同,这个句子里面的减化子句也有两种诠释方式。首先,它可能是关系子句的减化、修饰先行词 the museum,可还原如下: + +The museum, which has been renovated twice, is much larger and has a modern look to it now. + +另外,它也可能是副词子句的减化、修饰动词 is 与 has 的原因,可还原如下: + +The museum, because it has been renovated twice, is much larger and has a modern look to it now. + +4, Everything else being equal, this job at least pays better than your old job. +(别的条件都相同,这份工作代遇至少比你原来的工作要好。) + +画底线部分是分词构句的一种变化,又称「独立片语」,特色在于它的主词和主要子句并不相同、因而保留了下来。它可以还原为副词子句,做法是复原从属连接词(可能是 since, as 之类表示原因的连接词,也可能是 although)、再把分词 being 还原为限定动词 is,成为副词子句如下: + +Although everything else is equal, this job at least pays better than your old job. + +5, Having received instructions, the agents went on their different ways. +(获得指令之后,这些情报员分头去办事。) + +画底线部分是个分词构句,可以还原为副词子句。做法是复原从属连接词(可能是表示时间的 when 或 after 之类)、复原主词 they,并把分词 having received 还原为限定动词 had received,成为副词子句如下: + +When they had received instructions, the agents went on their different ways. + +### 二.请将以下各句中的从属子句减化 + +1, Because the window was wide open, rain spilled all over the floor. +(因为窗户大开,雨洒了一地。) + +画底线部分是个副词子句,修饰主要子句动词 spilled 的原因。因为副词子句的主词(the window)和主要子句的主词(rain)不同,所以减化时必须留下主词、并将动词减化为 being、以及省略连接词 because,如下: + +The window being wide open, rain spilled all over the floor. + +这是采取分词构句中的独立片语​​方式来处理。另一种处理方式是利用介系词 with、直接把副词子句减化为介系词片语,如下: + +With the window wide open, rain spilled all over the floor. + +2, You need to modify the plan before it is put into effect. +(你必须先修正这项计画然后才能付诸实行。) + +画底线部分是时间副词子句、修饰主要子句动词 need 的时间。因为副词子句的主词(it)和主要子句的主词(you)不同,要减化的话会有点勉强。最好先改为主词相同。一种改法是把主要子句的主词改为 the plan,也就是改为被动语态,如下: + +The plan needs to be modified before it is put into effect. + +主词相同之后,副词子句(画底线部分)就可以进行减化,如下: + +The plan needs to be modified before being put into effect. + +请注意:一旦减化之后,从属连接词 before 就会转变为介系词,所以它后面必须加个动名词 being 才符合词类要求(介系词后面必须接名词)。另一种改法是主要子句不动、把副词子句的主词改为 you,如下: + +You need to modify the plan before you put it into effect. + +这么一来,两个子句的主词都是 you,就可以进行减化了,如下: + +You need to modify the plan before putting it into effect. + +3, Because imported beef is not safe to eat, I’m buying local beef only. +(因为进口牛肉吃起来不安全,我只买本地牛肉。) + +画底线部分是副词子句、修饰主要子句动词 am 的原因。这个副词子句的主词(imported beef)和主要子句的主词(I)不同,减化时必须保留下来、成为分词构句中的独立片语​​,如下: + +Imported beef being not safe to eat, I’m buying local beef only. + +另一种改法则是采用介系词 with 取代连接词 because、整个副词子句减化为介系词片语,如下: + +With imported beef not safe to eat, I’m buying local beef only. + +4, When artisans carve a diamond at correct angles, it reflects light beautifully, so it appears to sparkle in darkness. +(工匠将钻石切割到正确角度时,钻石会反射出美丽光芒,在黑暗中看起来好像会闪闪发光。) + +从属连接词 when 引导的子句是副词子句,修饰主要子句动词 reflects 的时间。这个句子的主词是 artisans,而主要子句和后面 so 引导的副词子句则都是以 a diamond 为主词。最好先把 when 子句的主词也改为 a diamond,也就是改写为被动语态、如下: + +When a diamond is carved at correct angles, it reflects light beautifully, so it appears to sparkle in darkness. + +主词相同之后,要减化就比较容易了。前面的 when 子句和后面的 so 子句同样都可以减化为分词构句,如下: + +Carved at correct angles, a diamond reflects light beautifully, appearing to sparkle in darkness. + +5, When the teacher was away, the children started fighting, so they made a complete mess of the classroom. +(老师不在,孩子们就开始打闹,结果搞得教室一团糟。) + +When 子句是个时间副词子句,修饰主要子句动词 started 的时间。因为副词子句的主词(the teacher)和主要子句的主词(the children)不同,比较简洁的减化方式是直接减化为介系词片语 with the teacher away。后面 so 引导的副词子句修饰动词 started 的结果。这个子句的主词(they)则和主要子句的主词相同,可以直接减化为分词构句,如下: + +With the teacher away, the children started fighting, they making a complete mess of the classroom. \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Auxiliaries.md b/corejava第9版/EnglishGrammarBook-master/docs/Auxiliaries.md new file mode 100644 index 0000000..331cfde --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Auxiliaries.md @@ -0,0 +1,371 @@ +# 第十一章 语气助动词 + +所谓**助动词(auxiliaries)**,指的是一种用来辅助动词、构成动词片语的词类。助动词可粗分为文法助动词与语气助动词两大类。所谓文法助动词,指的是像否定句加上的 don’t、疑问句加上的 do、以及完成式加上的 have 之类。 Do 与 don’t 配合原形动词构成动词片语、have 则配合过去分词构成动词片语。这些文法助动词是非常基本的用语,属于国中英文程度,在此不再赘述。比较需要探讨的是**语气助动词(modal auxiliaries)**。 + +语气助动词,配合原形动词构成动词片语,用来表达**条件语气(conditional mood)**。这是一种带有「不确定」意味的语气。试比较下面两个句子: + +It is raining out there. +(外头在下雨。) + +It may be raining out there. +(外头可能在下雨。) + +第 1 句的动词 is 表现出**直说语气(indicative mood)**,这是用来叙述事实的语气,亦即:外头「真的」在下雨。第 2 句的动词片语中用上了语气助动词 may、配合原形动词 be 来表达「条件语气」,亦即:外头「可能」在下雨。在动词片语中加上语气助动词,就可以用来表达这种带有不确定意味的「条件语气」。 + +## 语气助动词有哪些 + +主要的语气助动词有下列这几个: + +must +will/would +should +can/could +may/might + +另外还有一些使用频率稍低的语气助动词,如下: + +ought to +have to +used to +need +dare +had better +would rather +might as well + +各种语气助动词配合原形动词构成动词片语,用来表现各种不同程度的「不确定」语气或态度。 + +## 语气助动词的两种用法 + +同样一个语气助动词,可以有两种不同的用法。以下面这两个句子为例: + +We must be very careful. +(我们一定要很小心。) + +John must be very careless. +(约翰一定是很粗心。) + +语气助动词用在第 1 句的这种情况,可以表达义务、意愿、责任、能力、许可等等,也就是一般字典上查得到的助气助动词的翻译。这可以称之为语气助动词的「一般用法」。如果用在第 2 句的情况,则是用来做猜测,可以称为语气助动词的「猜测用法」。 + +### 主要语气助动词的一般用法 + +#### must + +这个语气助动词在一般用法中表示「义务,非如此不可」,也就是字典上翻译的「必须」。它缺乏时态变化,现在时间和过去时间的写法是一样的,例如: + +We must all keep together. +(我们一定不能走散。)(现在时间) + +He said we must all keep together. +(他说我们一定不能走散。)(过去时间) + +#### will/would + +表示「愿意,决心,承诺」时,will/would属于语气助动词。这一对语气助动词在一般用法中具有时态的差别,例如: + +I will have my own way. +(我决定照自己的意思做。)(现在时间的未来) + +He said he would have his own way. +(他说他决定照自己的意思做。)(过去时间的未来) + +如果是过去时间,应该采过去拼法的would来表示。不过,would这种拼法却也可以用在「现在时间」,例如: + +Would you like a cup of coffee? +(要来杯咖啡吗?) + +这时候采用 would 的拼法并不是表示过去时间,而是用这种拼法很「客气」地询问对方的意愿,时间就是现在。 + +#### shall/should + +Shall 这个语气助动词在现代英文中并不常用,通常只见于 shall I, shall we 这种以第一人称「询问对方意愿」的讲法,例如: + +Shall we go now? +(你看我们是不是该动身了?) + +另外,shall 也可以用相当正式的语气表达说话者强烈的决心。这种用法不仅相当正式,而且有点古老,在现代英文中很少用。例如: + +The enemy shall not pass! +(绝对不容敌人通过!)(我绝不会让敌人通过) + +除了上述两种情况,一般都只会用到 should,不论是现在时间还是过去时间。 Should 这个语气助动词,一般用法是表示「责任,义务,不这样做不对」,例如: + +We should always be on time. +(我们应该一直保持准时的习惯。)(现在时间) + +He said we should leave early, and we did. +(他说我们应该早点动身,我们也照办了。)(过去时间) + +#### can/could + +这一对语气助动词,在一般用法中表示「有能力,有权利」。它具有现在时间与过去时间的差别,例如: + +I can drink a dozen beers in an hour. +(我一小时可以喝得下一打啤酒。)(现在时间) + +Last night there was something wrong with my stomach, and I couldn’t even finish one beer. +(昨天晚上我肚子有毛病,连一瓶啤酒都喝不完。)(过去时间) + +但是,could 也可以用在现在时间,例如: + +Could you please help me with my homework? +(能不能拜托你教我做功课?) + +时间就是现在,采用 could 的拼法并非表示过去时间,而是要表现特别「客气」的语气。 + +may/might + +这一对语气助动词,一般用法是用来表示「准许,许可」,有时态的差别,例如: + +You may go now. +(你们现在可以走了。)(现在时间) + +He said we might go. +(他说我们可以走了。)(过去时间) + +但是,might 仍然可以用在现在时间,例如: + +Might I ask a big favor of you? +(不知道可不可以请您帮个大忙?) + +时间就是现在,选择用 might 的拼法并不表示过去,而是语气上特别的「客气」。 + +### 一般用法的过去拼法配合完成式 + +在主要语气助动词中,作「过去」拼法的有 would, should, could, might 这四个。如果这四个语气助动词后面配合动词**完成式(have Ven)**,通常表示:一、相对过去的时间;二、非事实语气。例如: + +I would have left the country if I had known what was going to happen. +(如果早知道会出什么事,我早就避出国了。) + +以过去拼法的 would 配合完成式 have left,表示这是「从前」的事,而且「事实上并没有离开」。 + +You should have attended the meeting last week; why didn’t you? +(你上个礼拜应该参加会议才对,为什么没去?) + +过去拼法的 should 配合完成式 have attended,除了表示这是「从前」的事,还表示「事实上并没有参加」。 + +With a little help, I could have finished a lot sooner. +(如果获得一点点帮助,我本来可以早得多就做完的。) + +过去拼法的 could 配合完成式 have finished,表示这是「从前」的事,而且「事实上并没有能够早做完」。 + +Under a more reasonable boss, I might have done a much better job. +(换一个比较讲理的老板的话,我本来可以表现得好得多的。) + +过去拼法的 might 配合完成式 have done,表示这是「从前」的事,而且「事实上表现并不好」。 + +### 主要语气助动词的猜测用法 + +除了上述的一般用法,这些主要语气助动词也都可以用于「猜测」。用于猜测时,will/would, can/could, may/might 这三对已经完全没有表达「时态」的功能、只用来表现「语气」的轻重:will, can, may 用于相对比较「有把握」的猜测,would, could, might 则是比较「没把握」的猜测。 + +而且,所有的主要语气助动词,不论现在拼法还是过去拼法,只要配合完成式动词(have Ven)使用,意思就是「猜测过去的事情」。以下按照语气轻重的顺序逐一介绍,从「最有把握」的 must 到「最无把握」的 might。 + +#### must + +Listen! It must be raining hard outside. +(你听,外头一定在下大雨。)(猜现在) + +It must have rained last night—the ground is still wet. +(昨天晚上一定下过雨了——地上还是湿的。)(猜过去) + +#### will + +That will be George at the door, I expect. +(我看在门口的一定是乔治。)(猜现在) + +You will all have heard the news last night. +(你们昨天晚上一定都听到消息了。)(猜过去) + +#### would + +This seat would be mine, right?(猜现在) +(这个位子应该是我的吧,是吗?) + +That would have been the mailman just now; I found some new mail in the box. +(刚刚应该是邮差,我看到信箱里有新邮件。)(猜过去) + +#### should + +We should be on the right track. +(我们走的路应该没错。)(猜现在) + +He should have left; his car is gone. +(他应该已经出门了;他的车子不在。)(猜过去) + +#### can + +Where can he be at this hour? +(这种时间他会在哪里呢?)(猜现在) + +Where can he have gone? +(他会跑到哪里去了呢?)(猜过去) + +#### could + +Of course, I could be wrong. +(当然,也有可能是我搞错了。)(猜现在) + +The police is here; something could have gone wrong. +(警察来了;可能出了岔子。)(猜过去) + +#### may + +Don’t go near that snake; it may be dangerous. +(别靠近那条蛇,可能有危险。)(猜现在) + +It may have been dangerous, but now it’s gone. +(刚才可能有危险,但是现在已经跑掉了。)(猜过去) + +#### might + +Bring a compass; you might get lost in the woods. +(带个指北针去吧,你在森林里说不定会迷路。)(猜未来) + +Check the answering machine; he might have left a message for you. +(听听答录机吧,他说不定给你留了话。)(猜过去) + +## 其他语气助动词 + +除了上述那些,另外还有一些次要的语气助动词,逐一介绍如下。这些次要的语气助动词,大多仅限于一般用法,只有 ought to(类似should)和 have to(类似 must)可用于猜测用法。 + +#### ought to + +I think you ought to apologize to him. +(我想你应该向他道歉。)(一般用法) + +He ought to be home now. +(他现在应该会在家。)(猜测用法) + +疑问句 + +Ought we to go?(一般用法) +(我们应该去吗?) + +否定句 + +You oughtn’t to have done that. +(那件事你当初实在不该做的。)(一般用法,过去时间非事实语气) + +have to + +You have to tell your father.(一般用法) +你必须告诉你父亲。 + +That has to be the pizza man at the door. +(门口来的一定是送披萨的。)(猜测用法) + +疑问句 + +Do you have to leave now? +(你现在非走不可吗?)(一般用法) + +否定句 + +I don’t have to leave now. +(我现在不是非走不可。)(一般用法) + +used to + +He used to smoke a pipe. +(他从前有抽烟斗的习惯。) + +疑问句 + +Used he to smoke a pipe? +Did he use(or used) to smoke a pipe? + +否定句 + +He used not to smoke a pipe. +He didn’t use(or used) to smoke a pipe. + +need + +I don’t think you need go. +(我不认为你需要去。) + +疑问句 + +Need I remind you of the consequences? +(需要我提醒你后果有多严重吗?) + +否定句 + +You needn’t do that. +(你不必那样做。) + +Need 除了当助动词,也可以当做动词使用。例如: + +I don’t think you need to go. +Do I need to remind you of the consequences? +You don’t need to do that. + +dare + +I’m not sure I dare touch that snake. +(我不知道敢不敢摸那条蛇。) + +疑问句 + +Dare you sleep in that haunted house alone? +(你敢一个人睡那间鬼屋吗?) + +否定句 + +I dare not tell my wife the truth. +(我不敢告诉我太太真相。) + +另外,dare 也可以当动词使用,例如: + +I’m not sure I dare to touch that snake. +Do you dare to sleep in that haunted house alone? +I don’t dare to tell my wife the truth. + +had better + +I think we had better leave now. +(我想我们最好现在走吧。) + +疑问句 + +Hadn’t we better be leaving now? +(我们现在动身不是比较好吗?) + +否定句 + +You had better not lie to me. +(你最好别骗我。) + +would rather + +I would rather go abroad than study at a local graduate school. + +(我宁愿出国,不想念本地的研究所。) + +如果 would rather 后面有 than,因为这个 than 是比较用法的连接词、要求前后对称,所以前面如果有原形动词(如 go),后面就应该用原形动词和它对称(如 study)。 + +疑问句 + +Would you rather stay here? +(你是不是宁愿留下来?) + +否定句 + +I would rather not talk about it. +(这件事情我不想谈。) + +might as well + +We might as well walk, with so much traffic on the road. +(路上车子那么多,我们还不如走路算了。) + +这个助动词没有疑问句的形态,它的否定可以这样表示: + +We might as well not drive at all. +(我们不如干脆不要开车。) + +## 结语 + +语气助动词有两项特点需要注意: + +一、表达时间的功能不完整。 Would, should, could 和 might 这些看似过去拼法的语气助动词却也都可以用在现在时间或未来时间。 二、语气助动词如果配合完成式,表示的是「相对过去的时间」。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/ComparativePattern.md b/corejava第9版/EnglishGrammarBook-master/docs/ComparativePattern.md new file mode 100644 index 0000000..979afe4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/ComparativePattern.md @@ -0,0 +1,422 @@ +# 第六章 比较句法 + +英文的修饰语包括形容词与副词,都有比较级与最高级的变化。以连接词 as 或 than 连接的比较级句子,不论是形容词还是副词的比较级,都可以视为主要子句加从属子句构成的复句结构:从属连接词 than 或 as 引导的子句是副词子句。 + +比较级的从属子句虽然是副词子句,但是因为英文的比较句法具有「平行对称」的要求,所以有许多特色都和对等子句相同。除了上述「平行对称」的要求之外,比较句法也和对等子句一样经常会有省略。这是因为,两个符合平行对称要求的子句之间往往会有重复的部分,而重复会妨碍简洁性,因此要设法省略。 + +不过,比较句法虽然近似对等子句,但是比较级的句子毕竟还是从属子句中的副词子句类,所以有些变化又和对等子句不同。例如比较句法经常可以选择用倒装句来表示,这就和一般的对等子句不一样。 + +可以这样说:英文的比较句法看似简单,其实变化很多,而且充满陷阱,写作时一不小心就会出错,是需要特别注意的句法之一。 + +## 大于、小于、等于 + +比较级的句子,不论是形容词还是副词的比较级,都可以视为「大于、小于、等于」这三种逻辑关系的表现方式。例如: + +### 大于 + +Unit 3 is longer than Unit 4. +(第三课比第四课长。) + +这个句子看起来很简单,但是如前所述,比较句法有相当复杂的变化。为了能够处理接下来的各种变化,我们必须把这个句子的结构掌握清楚。先从下面这两句切入: + +Unit 3 is long. +S V C + +Unit 4 is not so long. +S V C + +从某个角度来看,这两个句子的关系有点像关系子句:两句在 long 这个字上有交集而产生关系。但是,真正的关系子句是在名词上建立关系(先行词一定是名词)而改写出来的形容词子句。我们现在看到的这两个句子则是在形容词 long 上有重复,要写成一个比较句法的复句结构,当中的从属子句是个副词子句。 + +第 1 句和第 2 句在比较的是 long 这个形容词补语,两句之间有「大于」的关系,可以用 longer than 来连接,其中 than 是从属连接词,引导副词子句,如下: + +Unit 3 is longer [than Unit 4 is]. +连接词 S V + +从属连接词 than 引导的子句(中括号内的部分)是个副词子句,修饰前面的形容词 longer ——也就是两个子句之间重复的那个比较点。请注意:副词子句中的补语 long 被省略掉了。这是比较句法的一个特色:从属子句当中,重复的比较点必须省略。 + +对等子句的特色是可以省略掉两个子句间重复的部分。比较级的句子虽然是从属子句,但是它也具有同样的特色,可以省略掉重复的部分。例如前面那个句子,从属子句的动词是be动词,和主要子句的动词一样,所以可以省略,成为: + +Unit 3 is longer [than Unit 4]. +连接词 S + +一般的从属子句,不论是名词子句、形容词子句、还是副词子句,不会有这种情况出现(省略到只剩下连接词和主词),只有比较​​级这种介乎对等子句和从属子句之间的句法才看得到这种情况。另外,比较级的从属子句还可以选择倒装,如下: + +Unit 3 is longer [than is Unit 4]. +连接词 V S + +### 小于 + +要表示「小于」的关系,可以采用 less … than 或 not so … as 这两种句法。例如: + +Unit 3 is less difficult than Unit 4. +(第三课没有第四课那么难。) + +道理和「大于」的句法相同,上面这个句子当中的 than Unit 4 应视为副词子句省略的结果,可以还原以及倒装如下: + +Unit 3 is less difficult [than Unit 4 (is)]. +连接词 S V + +Unit 3 is less difficult [than is Unit 4]. +连接词 V S + +另一种表现「小于」的方式是用 not so … as 来连接,例如: + +Unit 3 is not so important as Unit 4. +(第三课没有第四课那么重要。) + +这种句法,其实就是下节表示「等于」句法的否定,详下节。 + +### 等于 + +「等于」的关系,可以用 as … as 来连接,如下: + +Unit 4 is as boring as Unit 3. +(第四课和第三课同样无聊。) + +这个句子可以分解成下面这两句来切入: + +Unit 4 is boring. +S V C + +Unit 3 is boring. +S V C + +两句在形容词补语 boring 有交集而产生关系,但是情况不同于关系子句,而是采用 as … as 以比较句法连接,并省略掉重复的比较点 boring,如下: + +Unit 4 is as boring [as Unit 3 (is)]. +连接词 S V + +中括号内是副词子句,as 是连接词,主词是 Unit 3,动词是 is,补语 boring 是重复的比较点因而被省略掉。这个副词子句修饰的对像是前面的程度副词 as。同样的,这个子句也可以倒装,如下: + +Unit 4 is as boring [as is Unit 3]. +连接词 S V + +句中的第 2 个 as 是从属连接词,第 1 个 as 则是程度副词,修饰形容词 boring。另外,在第 1 个 as 前面还可以安插「倍数」来表现「大于」或「小于」的比较,如下: + +Unit 4 is twice as difficult as Unit 3.(大于) + +Unit 3 is half as difficult as Unit 4.(小于) + +## 准关系代名词 + +如上所述,比较句法因为会有一个重复的比较点,所以很像关系子句。因此比较句法所使用的从属连接词(than 与 as)也有人称之为「准关系代名词」。 + +当然,准关系代名词并非关系代名词,比较级的副词子句也并非关系子句。不过,这两种构造确有其类似之处。例如: + +His father left him more money [than he can ever spend]. +S V +(他父亲留下来的钱,他一辈子也花不完。) + +中括号内的部分是个从属子句,当中主词是 he,动词是 can spend,后面本来应该有个受词 money。乍看之下好像是 than 一方面扮演连接词的角色、一方面又扮演代名词的角色(代表 money、当受词)。如果这样看待,那么 than 的功能和关系代名词 which 确实是差不多。但是这样解读是不对的。上面那句话可以拆开为以下两句来切入: + +His father left him much money. +S V O O + +He can spend not so much money. +S V O + +这两个句子在名词 money 上有重复,但并不是要制造关系子句,而是采用比较句法、以 more … than 连接,来做一个「大于」的比较。做法是:将第 1 句中的限定词 much 变成比较级 more,然后外加一个比较级的连接词 than 来引导第 2 句、再将第 2 句中重复的比较点(受词 money)省略,就成为: + +His father left him more money [than he can ever spend]. +S V + +也就是刚才看到的那个句子。中括号内的部分并不是形容词子句而是副词子句,这个副词子句修饰的对象不是名词片语 more money,而是其中的限定词 more。子句开头的 than 并不是关系词,而是外加的从属连接词。副词子句内的受词 money 被省略掉,并非因为它是关系词,而是因为它是重复的比较点、必须省略。这个重复的比较点哪怕是出在主词的位置,同样也必须省略。例如: + +This university cannot possibly take in as many students [as meet its requirements]. +V O +(这家大学不可能把所有符合条件的学生全部招收进来。) + +乍看之下,中括号之内好像是个关系子句,as 是关系词、代表先行词 students、并且扮演关系子句主词的角色,动词是 meet、受词是 its requirements。不过这样的诠释是错误的。这个句子可以拆开成为下面两句来理解: + +This university cannot possibly take in many students. +S V O + +Many students meet its requirements. +S V O + +第 2 句的主词 many students 和第 1 句的受词有重复,构成一个比较点。采用比较句法以 as … as 来连接,做法是在第 1 句受词 many students 这个名词片语中的限定词 many 前面加上程度副词 as,在第 2 句前面外加从属连接词 as,然后把重复的比较点(第 2 句的主词 many students)省略,就成为: + +This university cannot possibly take in as many students [as meet its requirements]. +V O + +也就是前面那个句子。中括号内的部分不是形容词子句而是副词子句,这个副词子句修饰的对象不是名词片语 many students,而是其中的限定词 many。子句开头的 as 不是关系词,而是外加的从属连接词。副词子句内的主词 many students 并不是改写成关系词 as,而是因为它是重复的比较点所以被省略掉。 + +## 定冠词的判断 + +一般文法书都列出一条规则:最高级要加定冠词。其实,冠词属于限定词类、是名词片语的一部分,应该是跟著名词走的。出现在名词片语中的 attributive 形容词,它前面才有可能会有冠词出现。如果是补语位置的 predicative 形容词,并不是放在名词片语中,自然也没有冠词的问题。例如: + +Yellowstone is crowded. +S V C +(黄石公园人潮汹涌。) + +Yellowstone is most crowded in summer. +S V C +( 夏天黄石公园的人潮最多。) + +形容词 crowded 在这两个句子中都是补语位置的 predicative adjectives,用来形容主词 Yellowstone。这个位置的形容词因为不出现在名词片语中,自然不必加冠词。再看下例: + +Yellowstone is a crowded scenic spot. +( 黄石公园是人潮汹涌的风景区。) + +Yellowstone is the most crowded of the state's scenic spots. +( 黄石公园是这一州的风景区当中人潮最多的。) + +第 1 句中的补语是名词片语 a crowded scenic spot,形容词 crowded 位于名词片语中。第 2 句中 the most crowded之后虽没有名词,可是有介系词片语 of the state's scenic spots(在该州各风景区之中)跟在后面,因而可以看出来它是 the most crowded one的省略,形容词 most crowded 出现于名词片语 the one 的中间,「在该州各风景区之中最拥挤的『那个』(风景区)」。在一个特定的范围中指出「最……」的一个,具有明确的指示功能,因而需要定冠词 the。这种「指示性」才是要加定冠词的真正原因。 + +经过以上的分析,读者应该能够判断下面这句是个正确的句子: + +Yellowstone is most crowded in summer. + +形容词 most crowded 虽然是最高级,但它并非出现在名词片语中,所以不必加冠词。不过,一般人的用法没有那么严谨。像上面那个句子,这样讲也并不算错: + +Yellowstone is the most crowded in summer. + +补语位置的形容词加上定冠词 the 虽然并不合理,但文法只是「描述」一般人可以接受为正确的句子、并不是「规范」句子必须如何才算正确。所以,上面这个句子因为很多人这样说,也就是正确的说法。 + +还有,只要是具有指示性,比较级也可能要加定冠词,例如: + +John is the shorter of the twins. +(约翰是双胞胎中比较矮的那个。) + +这个句子虽然用的是比较级,可是 shorter 在双胞胎之中已经充分指出是哪一个,所以仍然要用定冠词 the。 除了形容词以外,副词也有比较级和最高级。和形容词的情况相同,副词的最高级也可以选择加上the,虽然它并不在名词片语中。例如: + +Of all my students, John studies (the) hardest. +(我所有的学生当中,约翰读书最用功。) + +副词的最高级 hardest 修饰动词 study。虽然它后面并没有名词,其实并不应该加什么冠词,但是因为大部分人都这样用,所以仍然可以选择加上定冠词成为 the fastest。当然,这种情况不加 the 也是对的。 + +## That 和 those的使用 + +比较级的句子要求对称工整,包括比较的对象在内也要对称。亦即,「谁和谁比」不能搞错。例如: + +My car is bigger than you. (误) + +这句话就讲不通。我的车怎么拿来和你的人相比呢?应该这样说才对称: + +My car is bigger than yours. +(我的车比你的大。) + +这里的 yours 是用来取代 your car,以避免重复。然而,如果有标示差别的字眼在后面,就不能把 car 省掉。例如: + +Cars made in Japan are better than those made in Korea. + +日本车和韩国车比,势必要重复一个「车」字。这是对称的要求。可是从修辞的角度来看,却又要尽量避免重复。在不宜重复、又不能省略的状况之下,就只能用代名词来取代。读者可能会问:用代名词的话为什么不能用 it/they,而得用 that/those 呢?因为,人称代名词 it/they 代表的就是先行词。在上例中如果用 they,代表的就是前面的 cars made in Japan,而不能代表 cars made in Korea。这时只能用限定词的 those,表示这是名词片语的省略:后面省掉了重复的名词 cars。而 those made in Korea 就是 those cars made in Korea,不同于 (these) cars made in Japan。这样才算把两种车子分清楚。 + +## 比较句法的平行对称要求 + +比较的双方必须平行对称,这在英文写作中是相当严格的要求,也是最容易出错的地方之一。例如: + +Prices of papayas in Thailand, where the fruit is produced in abundance, are much lower than England, where it must be imported. (不佳) +(泰国木瓜的价钱——此地盛产木瓜——比英国低得多,英国的木瓜必须靠进口。) + +这个句子乍看之下好像没​​有问题。但是仔细分析就会发现:这个句子比较的是 prices「价钱」与 England「英国」,这两个不对称的概念无法相比。比较级的句子如果有任何问题、没有把握对不对,最好先还原成两个平行对称、没有省略的子句来看: + +Prices of papayas in Thailand are much lower than prices of papayas in England are. + +先忽略原句当中两个插入的关系子句、再把省略掉的部分还原,结果就是上面这个句子。接下来再看看有哪些地方可以省略。首先,句尾的 are 是副词子句的动词,和主要子句的动词相同。比较句法在这方面很类似对等子句,可以选择省略掉重复的动词,成为: + +Prices of papayas in Thailand are much lower than prices of papayas in England. + +再看主词部分。主要子句的主词是 prices of papayas in Thailand,副词子句的主词是 prices of papayas in England。若要避免重复 prices of papayas 这个名词部分,如前所述可用指示代名词 those 取代,成为: + +Prices of papayas in Thailand are much lower than those in England. + +其实,连这个代名词 those 也可以选择省略,只要留下介系词、让读者知道 England 是受词而并非比较对象即可: + +Prices of papayas in Thailand are much lower than in England. + +但是,如果连 in 都省略掉,读者可能误以为这个句子是 prices 和 England 在比较,那就是不好的句子。再看一个例子: + +Video games developed by this project team are more exciting than they are by any other team in this company. (误) +(这个专案小组研发的电玩,比这家公司其他团队的都更加刺激。) + +这个句子主要的错误在于副词子句中不该使用人称代名词 they。先把这个比较句法还原如下: + +Video games developed by this project team are more exciting than video games developed by any other team in this company are. + +这种讲法就是很清楚地在比较两种 video games。首先可以省略掉副词子句中与主要子句重复的动词 are,成为: + +Video games developed by this project team are more exciting than video games developed by any other team in this company. + +接下来,副词子句的主词 video games developed by any other team in this company 当中也有和主要子句的主词重复的部分。这种情况可选择用指示代名词 those 来取代重复部分,成为: + +Video games developed by this project team are more exciting than those by any other team in this company. + +这才是符合对称要求、正确又清楚的比较句法。 + +除了前述「大于、小于、等于」的比较句法之外,英文当中凡是拿两样东西来相比,都应该注意平行对称的要求。例如: + +Compared with the high crime rates of New York, Beijing residents live in a much safer environment. (不佳) +(比起纽约的高犯罪率,北​​京居民生活在安全得多的环境中。) + +这个句子里面虽然没有形容词或副词的比较级,但是仍然在做比较、也就仍然要注意平行对称的要求。句中比较的双方,一个是 the high crime rates「高犯罪率」、一个是 Beijing residents「北京居民」,两者并不对称、无法相比。可分别修改如下: + +Compared with the high crime rates of New York, those of Beijing are much lower. (比起纽约的高犯罪率,北​​京的就低得多了。) + +Compared with residents of New York, where crime rates are high, Beijing residents live in a much safer environment. (比起纽约居民——那里的犯罪率相当高——北京居民生活在安全得多的环境中。) + +这两种讲法,前者是以犯罪率和犯罪率相比(用 those 避免重复)、后者是以居民和居民相比,都符合英文比较句法的平行对称要求。再看一个例子: + +Like Shakespeare, Keats' poetry is a true reflection of life. (不佳) (和莎士比亚一样,济慈的诗也相当真实地反映人生。) + +这个句子当中也没有比较级,只是用介系词 like 来表示「相像」。这也构成一种比较、也就必须顾虑比较对象的平行对称要求。句中是拿 Shakespeare 这个「人」和 Keats' poetry 这个「物」互相比较,并不符合平行对称要求。可修改如下: + +Like Shakespeare, Keats wrote poetry that is a true reflection of life. + +这种改法是拿「人」和「人」比,符合对称的要求。不过,最简单的改法只要在原句中加上一个所有格,如下: + +Like Shakespeare's, Keats' poetry is a true reflection of life. + +将 Shakespeare 改为所有格 Shakespeare's,意思是一个名词片语、省略掉后面的名词 poetry。这时候是「物」与「物」相比,也符合对称的要求。 + +## 比较句法的省略 + +如前所述,比较级的句子虽然是从属子句,但是有些地方很像对等子句,例如它与主要子句重复的元素可以选择省略。但是,省略要以「够清楚」为限,不能过度省略而伤害到清楚性。尤其要注意的是:不能造成有两种解释、模棱两可的结果。例如: + +These restaurateurs do more business with tourists than local farmers. (不佳) + +这个句子的问题在于:local farmers 是跟 restaurateurs 比、还是跟 tourists 比,并没有交代清楚。这两种比较的情况是不一样的。如果是跟 restaurateurs 比,可以从下面这个句切入: + +These restaurateurs do a lot of business with tourists. +S V O +(这些餐厅业者做到许多观光客的生意。) + +Local farmers do little business with tourists. +S V O +(本地农民做不到什么观光客的生意。) + +这两个句子用 more … than 连接,可以制造出这个表示「大于」的比较级复句: + +These restaurateurs do more business with tourists than local farmers do with tourists. + +左边是主要子句,右边由从属连接词 than 引导的部分是副词子句,当中重复的比较点 business 已经因为比较句法的要求而省略掉。接下来还可以省略重复的介系词片语 with tourists,成为: + +These restaurateurs do more business with tourists than local farmers do. +(这些餐厅业者做观光客的生意,比本地农民做的要多。) + +右边 than 子句中的动词 do 与主要子句的动词也是重复。因为比较句法具有类似对等子句的特色,本来可以选择把重复的动词省略掉的,但是如果再省略掉句尾的 do,成为先前那个句子: + +These restaurateurs do more business with tourists than local farmers. (不佳) + +句意会变成不清楚,因为 local farmers 这时候可以有 these restaurateurs 与 tourists 这两个可能的比较对象,就会变成模棱两可。所以句尾的动词 do 不宜省略。必须留下 do,读者才知道 local farmers 是主词、也才知道它的比较对像是主要子句的主词 these restaurateurs。 + +另外一种情况,如果是 local farmers 和 tourists 比较,可以从下面这两个句子切入: + +These restaurateurs do a lot of business with tourists. +S V O +(这些餐厅业者做到许多观光客的生意。) + +These restaurateurs do little business with local farmers. +S V O +(这些餐厅业者做不到多少本地农民的生意。) + +这两个句子可以用 more … than 连接,构造一个表示「大于」的比较句法如下: + +These restaurateurs do more business with tourists than these restaurateurs do with local farmers. + +连接词 than 引导的副词子句,中间省略掉了重复的比较点 business。副词子句的主词 these restaurateurs 和主要子句主词完全一样,可以用人称代名词来取代,成为: + +These restaurateurs do more business with tourists than they do with local farmers. +(这些餐厅业者做观光客的生意多、做本地农民的生意少。) + +如果要进一步省略,可以把副词子句中和主要子句重复的主词与动词 they do 都省略掉,成为: + +These restaurateurs do more business with tourists than with local farmers. + +只要留下介系词 with,读者就知道 local farmers 是受词、也知道它的比较对像是主要子句中同样位置的受词 tourists。但是,如果把介系词 with 也省略掉,又会变成先前那个不佳的句子,因为读者无从判断 local farmers 是主词还是动词,也就无从判断它是和 these restaurateurs 相比还是和 tourists 相比,句意就会变成不清楚。 + +经由以上的分析,我们可以下一个小结论:比较句法的平行对称要求类似对等子句,than 或 as 引导的从属子句中也可以像对等子句一样省略掉与主要子句重复的部分;但是省略要以「够清楚」为原则,要注意不得造成「模棱两可」的结果。 + +## 比较的倒装 + +比较句法除了经常会省略之外,有时还可以选择倒装。倒装的目的,主要是为了增加清楚性。例如: + +Manual laborers are more strongly opposed to immigrants than white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. (不佳) + +这个句子不清楚,主要是因为从属子句中的 white-collar workers 看不出来是主词还是受词,所以它有可能和主要子句的主词 manual laborers 相比、也有可能和受词 immigrants 相比,是个模棱两可、并不清楚的比较。如果 white-collar workers 比较的对像是受词 immigrants,那么这个比较句法可以从下面这两句切入: + +Manual laborers are strongly opposed to immigrants. +S V C +(粗工强烈排斥移民。) + +Manual laborers are not so strongly opposed to white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. +S V C +(粗工并不强烈排斥白领阶级——大量涌进国内的外劳对后者的工作不会构成严重的威胁。) + +第 1 句当中有个介系词片语 to immigrants,和第 2 句中的介系词片语 to white-collar workers 相比较,可以采用表示「大于」的比较句法、用 more … than 连接两句成为复句如下: + +Manual laborers are more strongly opposed to immigrants than manual laborers are opposed to white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. + +粗工比较强烈排斥移民,却不是那么排斥白领阶级——大量涌进国内的外人对后者的工作并不构成严重的威胁。 + +从属连接词 than 引导的副词子句中,可以把和主要子句重复的主词(manual laborers)、动词(are)与补语(opposed)都省略掉,意思仍然清楚: + +Manual laborers are more strongly opposed to immigrants than to white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. + +只要把介系词片语 to white-collar workers 中的介系词 to 留下来,读者就知道 white-collar workers 是受词、它的比较对像是主要子句中的受词 immigrants。但是,如果把 to white-collar workers 当中的介系词 to 也省略掉,成为下面那句的情况,就不够清楚了: + +Manual laborers are more strongly opposed to immigrants than white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. + +在 white-collar workers 前面少了介系词 to,读者便无从判断它是主词还是受词,因而也不清楚它的比较对像是主要子句的主词 manual laborers 还是受词 immigrants。 + +另一种情况,如果 white-collar workers 的比较对像是 manual laborers,那么这个句子可以从以下这两句来切入: + +Manual laborers are strongly opposed to immigrants. +S V C +(粗工强烈排斥移民。) + +White-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country, are not very strongly opposed to immigrants. +S V C +(白领阶级——大量涌进国内的外劳对他们的工作不会构成严重的威胁——并不强烈排斥移民。) + +这两个句子可以用 more … than 连接,制造一个表示「大于」的比较句法如下: + +Manual laborers are more strongly opposed to immigrants than white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country, are opposed to immigrants. +(粗工排斥移民的程度超过白领阶级排斥移民的程度——大量涌进国内的外人对白领阶级的工作并不构成严重的威胁。) + +这是个比较句法的复句。连接词 than 引导的从属子句中,补语部分 opposed to immigrants 和主要子句的补语相同、可以省略,成为: + +Manual laborers are more strongly opposed to immigrants than white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country, are. + +其实,从属子句中的动词are也和主要子句的动词重复,本来是可以省略的。但是,必须把动词are留下来,读者才知道white-collar workers是从属子句的主词、也才知道white-collar workers的比较对像是主要子句的主词manual laborers。如果把重复的动词are省掉,会变成这样: + +Manual laborers are more strongly opposed to immigrants than white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. (不佳) + +这又回复到刚才那个句意不清的句子。读者无从判断 white-collar workers 是主词还是受词、也就无从判断它的比较对像是主要子句的主词 manual laborers 还是受词 immigrants。 为了排除这种模棱两可的情况,必须把are留下来才够清楚,如下: + +Manual laborers are more strongly opposed to immigrants than white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country, are. + +但是细看一下这个句子,会发现从属子句中主词 white-collar workers 和动词 are 之间隔了一个很长的关系子句。主词和动词的距离太远会造成意思不清楚。而且,动词 are 是个连缀动词,它后面的补语 opposed to immigrants 省略掉之后,等于是借用主要子句中同样的一个补语。把 are 一个字远远抛在后面,和主词与补语之间都有颇长的距离,这是很不清楚的讲法。可是我们前面分析过,这个are又不能省略,否则会出现模棱两可的结果。碰到这种棘手的情况,最好的解决办法就是倒装: + +Manual laborers are more strongly opposed to immigrants than are white-collar workers, whose jobs are not seriously threatened by outsiders that swarm into this country. + +把动词倒装到主词前面,造成的结果是动词 are 与主词 white-collar workers 在一起、动词are仍然在主词 white-collar workers 与补语 opposed to immigrants 之间继续扮演连缀动词的角色。同时很明显看得出来 white-collar workers 是主词、比较的对像是 manual laborers。这才是最清楚的表达方式。 + +## 比较点的观察 + +下面这个句子,有些读者乍看之下可能会觉得奇怪: + +Your friend is more bold than wise. +(你那位朋友有勇无谋。) + +形容词 bold 是单音节的字,它的比较级应该拼成 bolder,在这里为什么是 more bold? 这是因为,这个句子并非两个人在比谁「比较大胆」,像下面这个句子的情况: + +Your friend is bolder than you (are). +(你那位朋友比你大胆。) + +这时候,比较的对像是your friend和you,比较点在于重复的形容词bold,它的比较级当然就是bolder。可是,Your friend is more bold than wise这个句子的情况并非如此。这个句子可以拆开成下面这两句来观察: + +Your friend is very bold. + +Your friend is not very wise. + +这时候,两个句子之间的比较点并不是形容词bold,因为一边是bold、另一边却是wise,并没有交集。真正的比较点在于程度副词:bold的「程度」和wise的「程度」相比。这个程度副词可能是very much,比较级就是more。这两个句子因而还是可以用more … than来连接,如下: + +Your friend is more bold than (he is) wise. +下面这几个例子的情况都差不多: + +This movie is more boring than (it is) educational. +(这部电影与其说有教育性,不如说是无聊。) + +I regard John more as a brother than as a boyfriend. +(在我眼中,John与其说是男朋友,不如说是兄弟。) \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/CompoundSentences.md b/corejava第9版/EnglishGrammarBook-master/docs/CompoundSentences.md new file mode 100644 index 0000000..e4213f2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/CompoundSentences.md @@ -0,0 +1,134 @@ +# 第十六章 合句 + +从这一章开始,本书将告别单句,进入复合句的层次。所谓复合句,就是由两个以上的限定子句组成的句子,中间需要连接词来连接。 + +## 限定子句与非限定子句 + +如果有两个以上的单句写在同一个句子里面,那么里面的每一个单句都称为**子句(clause)**。子句可分成**限定子句(finite clause)**与**非限定子句(nonfinite clause)**两种。所谓限定子句,指的是具有限定动词在内的子句,而限定动词就是具备了人称变化、时态变化等等,可以用来制造一个完整单句的动词。至于非限定动词,指的是像现在分词、过去分词、动名词、不定词等等在传统文法中称为动状词的东西。子句当中如果只有非限定动词,就称为非限定子句。例如: + +He understands that he did the wrong thing then. +(他了解他当时做错了事了。) + +这个句子当中有两个子句。 He understands … 是个限定子句,因为它里面有限定动词 understands(第三人称单数、现在简单式)。 He did the wrong thing then 也是个限定子句,因为它里面有限定动词 did(过去简单式)。比较一下底下这个例子: + +He hates his girlfriend’s spending so much time on makeup every day. +(他很讨厌他女朋友每天花那么多时间化妆。) + +这个句子只有一个限定子句,就是 He hates …,因为它里面有限定动词 hates(第三人称单数、现在简单式)。至于 his girlfriend’s spending so much time on makeup every day,这个部分则是个非限定子句,因为它只有非限定动词 spending(动名词)。 + +## 句子的三种层次 + +英文句子可以分成三个层次:初级的单句、中级的复合句、以及高级的减化子句。单句必须是限定子句。复合句则是由两个以上的限定子句经由连接词的连接而构成。减化子句则是在复合句当中尽量只留下一个限定子句、其余的尽可能改写为非限定子句。 + +### 初级:单句 + +We are sitting here in the sun. +(我们坐在这儿晒太阳。) + +We can see snow-covered hills. +(我们可以看到白雪皑皑的山丘。) + +### 中级:复合句 + +We are sitting here in the sun, and we can see snow-covered hills.(合句) +对等子句 对等子句 + +As we sit here in the sun, we can see snow-covered hills.(复句) +从属子句 主要子句 + +### 高级:减化子句 + +Sitting here in the sun, we can see snow-covered hills. +非限定子句 限定子句 + +减化子句的特色在于:省略掉所有重复与空洞的部分、大力压缩,尽量只留下一个限定子句、获得最精简的修辞效果。不过,高级的减化子句必须建立在中级的复合句基础上,正如中级的复合句必须建立在初级的单句基础上。这一章我们先来处理合句,也就是由**对等子句(coordinate clauses)**构成的句子。 + +## 对等子句 + +如上一章所述,句子当中任何的位置都可以采用对等连接词而并列两个以上。同样的,一个句子当中也可以靠对等连接词来塞入两个以上的限定子句,称为对等子句。例如: + +Everyone was in the hall, and the door had been closed. +对等子句 对等子句 (大家都在大厅内,门也已经关了。) + +这就是一个合句,由对等连接词 and 连接两个对等子句构成。 + +Most of us were in the hall, the doors had been closed, and the lights were out. +对等子句 对等子句 对等子句 +(我们大部分人都在大厅内、门已经关上,灯也熄了。) + +这也是合句,里面有三个对等子句,用对等连接词 and 连接起来,另外加上逗点来做区隔。 + +A: He did not like us, and everyone knew, but no one admitted it. +对等子句 对等子句 +(他并不喜欢我们。大家都知道、但是没人承认这件事。) + +例句 A 也是一个合句,由对等连接词 and 连接两个对等子句构成。不过,and 右边那个对等子句并不单纯。它可以拆开成为以下两个单句看待: + +Everyone knew it. +No one admitted it. + +这两个单句用对等连​​接词but来连接,可以制造出下面这个合句: + +Everyone knew it, but no one admitted it. + +这两个对等子句中,受词位置的 it 有重复,可以省掉一个,成为: + +Everyone knew, but no one admitted it. + +所以,上面那个例句A,它右边的对等子句本身也是一个合句,里面又包含两个对等子句。 + +## 对等子句与相关字组 + +对等子句也可以用相关字组来连接,例如: + +Either he did not like our hairstyle, or we had offended him in some other way. +对等子句 对等子句 +(或者是他不喜欢我们的髪型、或者就是我们不知如何得罪过他。) + +这两个对等子句采用的是 either … or 这组对等连接词相关字组来连接。如上一章所述,在 either A or B 这种相关字组中,A 与 B 必须对称。上例中的 A 与 B 两个都是限定子句、符合对等连接词相关字组的对称要求。 + +## 相关字组的倒装 + +对等连接词的相关字组有时可用在倒装句中,这时候得特别注意对称的要求,例如: + +China is not only the world's most populous state but also the largest market in the 21st century. +(中国不仅是世界人口最多的国家、更是二十一世纪最大的市场。) + +本句中用到的对等连接词相关字组是 not only A but also B,在句中 A 是 the world's most populous state,B 是 the largest market in the 21st century,两个都是名词片语、符合对称的要求。 + +这个句子还可以选择把 not only 移到句首、以倒装句的方式来加强语气。但是这样做的时候很容易产生如下的错误: + +Not only is China the world's most populous state but also the largest market in the 21st century. (误) +A B + +像 not only A but also B 之类的对等连接词相关字组,在对称方面的要求更为严格:A 与 B 必须对称。上面那个句子因为把 not only 移到句首变成了倒装句,造成的结果是 not only 与 but 之间(A 部分)变成一个完整的限定子句(is China the world’s most populous state)。但是 but 的右边(B 部分)却仍然只是一个名词片语(the largest market in the 21st century),所以 A 与 B 并不对称。应该把右边也改写为完整的限定子句才符合对称的要求,如下: + +Not only is China the world's most populous state but it is also the largest market in the 21st century. +A B + +请注意:also 的位置不一定要和 but 放在一起。 also 和 only 一样,是强调范围的副词(focusing adverb)。 Not only 强调中国是「世界人口最多的国家」,also 则是要强调中国还是「21世纪最大的市场」,所以右边应该把 also 放在 the largest market 前面最恰当。 + +## 对等子句的省略 + +用对等连接词连接的对等子句,因为必须对称所以经常会有重复的部分。想要避免重复的话,最常用的手段就是省略掉重复的部分,这又是一个写作时容易出错的地方。对等连接词本身固然很单纯,但它在句中的运用却是变化万千。写作时凡是用到对等连接词都要特别小心,尤其是「对称」的要求不得马虎。以下几个例子都有省略不当的错误,请读者仔细观察。 + +After years of hard work, spring floods and summer droughts have not and may never be eliminated from this area. (误) + +这个句子可以还原为以下两个单句: + +After years of hard work, spring floods and summer droughts have not been eliminated from this area. +S V C + +Spring floods and summer droughts may never be eliminated from this area. +S V C + +在这两个单句中间加个对等连接词 and,可以制造出合句如下: + +After years of hard work, spring floods and summer droughts have not been eliminated from this area, and spring floods and summer droughts may never be eliminated from this area. + +这个合句中,两个对等子句的主词(spring floods and summer droughts)相同,可以省略其一。动词部分不同:一个是 have not been、另一个是 may never bee,所以不能省略。补语部分(eliminated from this area)又是相同,也可以省略一个,如下: + +After years of hard work, spring floods and summer droughts have not been and may never be eliminated from this area. +(努力多年之后,这个地区春天淹水和夏天干旱的问题仍未消除、也可能永远消除不了。) + +所以,原来的句子错误在于它把动词当中不一样的部分 been 也省略掉了,必须放回去才对。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Conjunction.md b/corejava第9版/EnglishGrammarBook-master/docs/Conjunction.md new file mode 100644 index 0000000..9b69ba1 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Conjunction.md @@ -0,0 +1,164 @@ +# 第十五章 对等连接词 + +## 连接词 + +英文中的**连接词(conjunction)**,可以分成**对等连接词(coordinate conjunction)**与**从属连接词(subordinate conjunction)**两种。对等连接词可以用来连接两个对等子句构成一个**合句(compound sentence)**。从属连接词则用来引导从属子句(包括名词子句、形容词子句、副词子句),置于主要子句中而构成一个**复句(complex sentence)**。 + +最常用的对等连接词是 and, or, but 这三个,另外 yet 也可以当对等连接词使用(它也是连接副词,见第五章)。除了在合句中用来连接两个对等子句之外,对等连接词还可以用来连接句子中的两个「零件」。可以这样说:句子当中任何一个位置,不论是主要元素(主词、动词、受词、补语)还是修饰语(形容词、副词),都可以利用对等连接词而放入两个以上,这些位置分别举例说明如下。要注意的是:用对等连接词来连接的两个部分必须符合对称的要求,也就是词类必须相同,并且在构造上、内容上对称得越工整越好。 + +### 主词 + +句子的主词部分可以用对等连接词放进两个以上的名词片语,例如: + +George and Mary were good friends. +(George和Mary是好朋友。) + +这个句子的主词部分有 George 和 Mary 这两个专有名词。因为中间有对等连接词 and 做连接,所以这两个名词可以并列在主词位置、共同当主词使用(采用复数动词)。 + +George, Mary, and Jane were always together. +(George, Mary和Jane一天到晚都在一起。) + +如果有三个以上的名词并列在主词位置,连接词还是可以只用一个 and,前面用逗点把名词隔开即可。 + +### 动词 + +句子的动词位置也可以放入两个以上,只要有对等连接词就行,例如: + +We always worked and played together. +(我们一向是一同工作、一同游戏。) + +这个句子的动词部分有 worked 和 played 这两个动词,用对等连接词 and 连接起来。这种情况应该视为两个单句合并成为合句、再经过省略的结果。也就是可以先还原成以下这两个单句: + +We always worked together. +We always played together. + +这两个句子用对等连接词and连接起来,就会成为下面这个合句: + +We always worked together and we always played together. + +这个合句里面的两个对等子句,主词 we 相同、副词 always 和 together 也都相同。所以可以选择省略掉重复的部分,就会成为刚才那个句子(We always worked and played together.) + +We ran, jumped, and shouted for joy. +(我们高兴得跑跑跳跳、大声喊叫。) + +这句里头有三个动词,也是只用一个对等连接词 and 来连接,前面加上逗点来分隔。 + +### 受词 + +及物动词后面的受词位置、或者介系词后面的受词位置,都可以用对等连接词连接两个名词片语共同当受词使用,例如: + +He speaks Cantonese but not Mandarin. +(他说广东话,但不会说普通话。) + +句中的 Cantonese 与 Mandarin 都是专有名词,用对等连接词 but (not) 连接起来、共同当及物动词speak的受词使用。 + +We take our holidays in July or August. +(我们在七月或八月去休假。) + +对等连接词连接专有名词 July 与 August,共同放在介系词后面当它的受词、构成介系词片语 in July or August 作为时间副词,修饰动词 take 的时间。 + +### 补语 + +不论是主词补语还是受词补语位置,都可以利用对等连接词置入两个以上,例如: + +The sumo-wrestler is overweight but very agile. +(这名相扑力士体重过重但身手矫健。) + +对等连接词 but 连接形容词 overweight 与 agile,放在 be 动词后面共同当作主词补语使用。 + +Should I leave the key under the doormat or in the flowerpot? +(我该把钥匙放在门口垫子底下还是花盆里?) + +对等连接词 or 连接介系词片语 under the oormat 与 in the flowerpot 这两个地方副词,放在受词 the key 后面共同当受词补语使用。 + +### 修饰语 + +英文的修饰语有形容词和副词这两种词类。形容词若放在补语位置就是主要元素,对等连接词的用法如上述「相扑力士」的例子。形容词的另一个位置是放在名词片语中。这个位置的形容词,如果修饰的是名词不同的层面,那么可以直接并列而不需要连接词。如果有两个以上的形容词修饰名词的同一层面,中间则需要加个对等连接词。例如: + +One day, the big bad wolf came to the cottage. +(有一天,大野狼来到了小屋。) + +形容词 big 与 bad 属于不同的性质,可以直接并列。但是: + +I saw a black and white cat on the wall. +(我看到一只黑白花的花猫在墙头。) + +形容词 black 与 white 都是颜色,属于同样的性质,这时必须在中间加个对等连接词来连接,成为 black and white。 + +除了形容词,另一种修饰语就是副词。如果是一个副词修饰另一个副词,那么可以直接并列而不需要连接词。如果是两个副词平行、共同去修饰第三个对象,那么在两个副词之间应该有个对等连接词。例如: + +He spoke very quickly. +(他说话说得很快。) + +表示方法、状态的副​​词 quickly 修饰动词 spoke,加强语气的副词 very 修饰副词 quickly。这种情况并不需要连接词。但是: + +He spoke quickly but clearly. +(他说得很快但是很清楚。) + +句中的 quickly 与 clearly 都是方法、状态的副​​词,中间需要对等连接词 but 来连接、共同修饰动词 spoke。 + +## 对等连接词的对称要求 + +用对等连接词连接起来的部分,彼此之间必须符合对称的要求,也就是在词类、构造、以及内容方面都要讲求对仗工整。对等连接词连接的部分不对称,是写作时最常犯的错误之一,必须注意。请读者看看下面这个例子有何错误: + +War is destructive, wasteful, and ultimately a futile deed. (误) + +战争具有毁灭性、非常浪费,归根究柢也是徒劳无功的行为。 + +对等连接词 and 前面有两个形容词 destructive 和 wasteful,那么后面也应该是形容词才能符合对称的要求。但是and后面放的却是名词片语 ultimately a futile deed,词类不对。应该修改如下: + +War is destructive, wasteful, and ultimately futile. + +把第三项也改为形容词 futile,这三个形容词就有对称、可以用对等连接词 and 连接了。再看一个例子: + +What I like about John is his sincerity, humor, and because he is mature. (误) + +这个句子,主词部分是 what I like about John 这个名词子句,动词是 be 动词。后面的补语部分 his sincerity, humor, and because he is mature 有错误。 His sincerity 是个名词片语,由限定词 his 加名词 sincerity 构成;Humor 是个名词;后面的 because he is mature 则是个副词子句。这三个部分,构造各不相同,却用对等连接词 and 连接在一起,违反对等连接词的对称要求。应该改为三个名词片语 his sincerity, his humor, his maturity,用对等连接词 and 连接起来,然后省略掉两个重复的限定词his,如下: + +What I like about John is his sincerity, humor, and maturity. +(我喜欢John是因为他的诚实、幽默与成熟。) + +## 相关字组 + +对等连接词有时候还交代得不够清楚,这时候可以动用对等连接词的**相关字组(correlatives)**来把话讲得更清楚。例如: + +He spoke to George and me. +(他对乔治与我讲话。) + +对等连接词连接名词 George 与代名词 me,共同放在介系词 to 后面当受词、构成介系词片语 to George and me,用来修饰动词 spoke 的对象。这种讲法仍然有一点模糊:他到底是对乔治与我两个人「一起」讲话、还是「分别」对乔治与对我讲了两次话?如果想要交代得更清楚,就可以用上相关字组 both … and: + +He spoke both to George and to me. + +这样说就比较清楚了:他是「对乔治」讲一次、「对我」又讲一次。 主要的对等连接词是 and, or, but 三个,这三个对等连接词都具有相关字组,分别是: + +both A and B +either A or B; neither A nor B +not only A but also B + +### 相关字组的对称要求 + +使用上列这些相关字组时要注意:A 与 B 这两个位置放进去的东西必须对称。对等连接词连接的两个部分本来就要求对称。在相关字组中,对称性的要求又比一般的对等连接词来得更严格。例如,以一般的对等连接词而言,下面两种讲法都符合对称的要求、都是正确的讲法: + +Gold jewelry looks beautiful and elegant. +(黄金首饰很美丽、又很优雅。) + +Gold jewelry looks beautiful and lasts forever. +(黄金首饰很美丽、而且又永不变质。) + +第 1 句是用对等连接词 and 连接 beautiful 和 elegant 这两个形容词,符合对称的要求。第2句则是用对等连接词 and 连接 looks beautiful 和 lasts forever 这两个由动词引导的「述部」,也符合对称的要求。不过,下面这个句子就有问题了: + +Gold jewelry lasts forever but expensive. (误) +(黄金首饰永久不变质,但是很贵。) + +对等连接词 but 的右边是形容词 expensive,左边必须也是形容词才符合对称要求。但是看看 but 的左边:forever 是时间副词、lasts 是动词,没有一个是能够​​和形容词 expensive 对称的东西,这就是一个错误。 + +如果使用的对等连接词是相关字组,那么对等连接词对称的要求会更加严格。例如: + +Gold jewelry not only looks beautiful but also elegant. (不佳) + +虽然在对等连接词 but 的右边有形容词 elegant、左边也有形容词 beautiful,但是仍然不符合对称的要求。这是因为句中采用了 not only A but also B 这个相关字组,那么 A 与 B 就必须对称。仔细看一下,A 的部分不是形容词 beautiful,而是由动词引导的述部 looks beautiful,B 的部分却是一个单纯的形容词 elegant,所以这两个部分的词类并不一致、也就并不符合对称的要求。应该改成像下面的写法才对: + +Gold jewelry looks not only beautiful but also elegant. +Gold jewelry not only looks beautiful but also lasts forever. + +句 3 以 not only … but also 这个相关字组连接 beautiful 与 elegant 这两个形容词、符合对称的要求。句4同样采用 not only … but also,但连接的是 looks beautiful 与 lasts forever 这两个由动词引导的述部,也符合对称的要求。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Gerund.md b/corejava第9版/EnglishGrammarBook-master/docs/Gerund.md new file mode 100644 index 0000000..27e704b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Gerund.md @@ -0,0 +1,157 @@ +# 第十三章 动名词 + +**动名词(Ving)**,形状看起来和现在分词完全一样。差别在于:现在分词当形容词使用、动名词则要当名词使用。 + +包括现在分词、过去分词、动名词、不定词片语(以及原形动词)在内,所有这些由动词衍生出来的构造在传统文法中统称为**动状词(verbals)**,亦称**非限定动词(nonfinite verbs)**。不论采用什么名称,这些东西如果构造比较简单,可以直接视为动词的词类变化看待(把动词变成其他词类使用);如果构造比较复杂,最好视为减化名词子句来看待会比较清楚。减化子句在本书后段才会提到,目前先采用比较单纯的认定:动名词,就是在动词后面加上 -ing 当作名词使用。这个动词后面可能还有受词、补语、修饰语之类,但是在动词加上 -ing 之后,整个都随着动名词转变成动名词片语使用。 + +## 单纯的动名词与简化名词子句比较 + +Smoking is a bad habit. +(抽烟是个坏习惯。) + +John’s smoking three packs of cigarettes a day ruined his lungs. +(John每天抽三包烟,把肺都搞坏了。) + +例 1 这个句子,主词 smoking 是个动名词。像这种单纯的情况(只有一个单字),可以直接把 smoking 视为动词 smoke 的词类变化:字尾加上 -ing 转变成名词类使用,smoking 就是一个不可数的抽象名词,前面采用零冠词。在例 2 中,主词 John’s smoking three packs of cigarettes a day 虽然也是动名词,但是情况显然比较复杂。若还原为以下的复句会比较清楚: + +That John smoked three packs of cigarettes a day ruined his health. + +主要子句的主词(画底线部分)是个名词子句,前面有从属连接词 that 引导。这个名词子句中,主词是 John,动词是 smoked,后面的 three packs of cigarettes 是受词,接下来还有时间副词 a day。这个名词子句进行减化,在动词 smoke 后面加上 -ing 变成动名词,原本的受词(three packs of cigarettes)与时间副词(a day)仍然保留下来、整个 smoking three packs of cigarettes a day 一起都转变为动名词片语,原来的主词 John 以所有格 John's 的形式保留下来、放在动名词 smoking 前面当限定词。 + +## 动名词与普通名词比较 + +普通名词,是「人、地、事、物」的名称。动名词,则是指一种动作或习惯。因此,有些动作和习惯只能用动名词来表达、找不到相对的普通名词可用。例如: + +She became overweight through overeating. +(她体重过重,是暴饮暴食的结果。) + +像 overeating 这种动名词,代表一种动作或习惯,并没有一个相对应的普通名词可用,这时候就别无选择、只能采用动名词。再看一个例子: + +Fishing requires a lot of patience. +(钓鱼得很有耐心。) + +「钓鱼」这种活动,只有用动名词 fishing 来表示,普通名词 fish 是「鱼」,意思不同。许多运动或活动通常都用动名词来表示,例如 swimming「游泳」、jogging「慢跑」、mountain-climbing「登山」、cycling「骑自行车」等等。 + +有些情况,可以用动名词也可以用普通名词来表示,意思稍有不同。例如: + +I love swimming. +(我爱游泳。) + +It’s time for a swim. +(该去游一趟了。) + +前者的 swimming 是动名词、代表「游泳运动」。这时候它是抽象名词、前面采用零冠词。后者的 a swim 是普通名词,代表「游一趟」。这时候它是可数名词,前面采用不定冠词 a。 + +接下来这几个例子,请仔细区分: + +Rising costs have finally forced the company to fold. +(不断上涨的成本终于迫使这家公司结束营业。) + +主词 rising costs 是个名词片语:rising 是现在分词,当形容词使用,意思是「不断上涨的」,后面的 costs 是复数名词,所以 rising costs 这个名词片语前面采用了零冠词。因为 rising costs 是个复数的名词片语,所以后面要用复数动词 have。 + +Raising prices is the only way to make ends meet. +(调涨价格,是想要收支平衡的唯一办法。) + +主词 raising prices 是 V + O 的构造:及物动词 raise「调涨」加上受词 prices,这时候 prices 本身就是一个名词片语(因为复数所以采用了零冠词)。在动词 raise 后面加上 -ing 变成动名词、原来的受词 prices 保留,成为 raising prices 这个动名词片语,表示「调涨价格」的这个「动作」。因为是动名词片语当主词,而动名词 raising 是单数,所以后面的动词要采用单数形的 is。 + +The rise in costs has caught the company off guard. +(成本的上涨令这家公司措手不及。) + +主词是 the rise,表示「上涨」这件「事情」。当中 rise 直接当名词使用,前面加上定冠词 the 当限定词。后面用介系词片语 in costs 来修饰名词 the rise。因为主词 the rise 是单数名词,所以动词采用单数的 has。 + +The raising of prices is going to scare off some customers. +(价格的调涨将会吓跑一些客户。) + +主词是 the raising 这个名词片语,其中 raising 是个动名词、当名词使用,前面加上了限定词 the。一旦加上了限定词,the raising 就变成一个名词片语,后面因此就不再能够有受词。请比较例 2 的主词 raising prices:这个动名词片语是动词 raise 加受词 prices 的组合,变成动名词 raising 之后仍然可以有受词 prices、整个称为动名词片语。但是一旦加上限定词 the 成为 the raising,那就是一个名词片语,后面不再能够有受词。因此,原本的受词 prices 现在要放在介系词 of 后面当介系词的受词、成为介系词片语 of prices,用来修饰名词片语 the raising。 + +## 动名词与现在分词比较 + +动名词写成 Ving,现在分词也写成 Ving,外观看起来完全相同,所以不大容易区分。主要差别在于词类:动名词当名词使用、现在分词当形容词使用。而且,现在分词的 -ing 字尾具有「进行」的暗示,通常要解释为「正在」或「一直」。动名词则缺乏这种暗示。 + +如第四章所述,形容词有两种位置:名词片语中、以及补语位置。这两个位置都可以放现在分词当形容词,但是也都可以放进动名词。以下分别比较: + +### 补语位置 + +The most important industry in M​​acau is gambling. +(澳门首要的工业是赌博业。) + +Many customers were gambling in the casino at the time. +(当时有许多客户正在那家赌场赌博。) + +例 1 的 gambling 是动名词(因为是抽象名词所以采用零冠词),放在 be 动词后面当主词补语。这是个名词补语,表示它和主词 the most important industry 全等:澳门「首要的工业」就是「赌博业」。动名词 gambling 就是「赌博业」,字尾的 -ing 只是词类变化加上去的,并没有「正在…」的暗示。 + +例 2 的 gambling 则是现在分词,放在 be 动词后面当形容词补语使用,字尾的 -ing 有进行暗示,表示这些客户「正在」赌博。这也就是一般文法书所谓的「进行式」。 + +### 名词片语中 + +Those swimming swans came from Siberia. +(那些在游泳的天鹅来自西伯利亚。) + +That swimming pool is always crowded. +(那座游泳池一直是人满为患。) + +例 1 的主词 those swimming swans 是个名词片语,中间形容词位置放的是 swimming 这个现在分词,字尾 -ing 有「进行」暗示,表示「正在游泳的」。要检验这个 swimming 是否为现在分词,可以放到形容词的另一个位置──补语位置──测试一下: + +Those swans were swimming. + +放在补语位置检验之下,发觉意思差不多,就可以断定这个 swimming 是形容词,也就是现在分词。 + +例 2 的主词 that swimming pool 也是名词片语,中间形容词位置放的 swimming 则是个动名词。这时候 -ing 字尾只表示动名词的词类、并无「进行」暗示。要检验这个 swimming 是否为动名词,可以把它放到介系词后面的名词位置试试看: + +a pool for swimming + +所谓 a swimming pool「一座游泳池」,就是 a pool for swimming「一座供游泳使用的池子」,这时候 swimming 显然是个名词,所以它就是动名词而非现在分词。 + +## 复合字 + +有些动名词以复合字的形态出现,最常见的是像下面这种情况: + +Mountain-climbing is primarily a winter sport. +(登山主要是冬季的运动。) + +主词 mountain-climbing 是个复合字,来自 V + O 的构造:climb mountains。要变成「登山运动」,应该采用动名词 climbing 来表达。原本的受词 mountains 这时候反而要转变为修饰语,做法是把它拿到 climbing 前面当作形容词使用(所以不能用复数的 mountains 而要改为单数 mountain)、并且用 hyphen 连接起来成为复合字 mountain -climbing。当然,也可以保持下面这种讲法: + +Climbing mountains is primarily a winter sport. + +直接用动名词片语 climbing mountains 当主词,就不必再作进一步的处理了。 + +## 动名词与不定词片语的选择 + +动名词和不定词片语都可以当名词使用,所以什么时候该用动名词、什么时候该用不定词片语,往往会造成困扰。尤其是在句子中的受词位置,该用动名词还是该用不定词片语,有时并不容易判断。一般文法书处理这个问题,只是做归纳整理的工作:列出四张动词表,告诉读者第一类动词后面只能接动名词当受词、第二类动词后面只能接不定词片语当受词、第三类动词后面接动名词与不定词片语皆可而且意思相同、第四类动词后面接动名词与不定词片语皆可但意思不同。这种整理方式,一方面太死板、一方面也很难记得起来,对学习者的帮助不大。 + +比较有效率的方式不是去记那四张动词表,而是要真正搞清楚动名词和不定词片语的差别。不定词的特色,本书在下一章将会详细处理。目前先要掌握住动名词的特色。 + +动名词,指的是一种动作或习惯,这种动作或习惯往往具有持续性。动名词和普通名词非常接近,可以代表一件「事情」,而且甚至可以有限定词。 + +### 介系词的受词 + +如果是介系词后面的受词位置,这个位置不能使用不定词,但是可以用动名词。例如: + +He gave up without trying. +(他试也不试一下就放弃了。) + +介系词 without 后面不能放不定词片语(without to try 是个错误),但是可以放动名词如 trying。当然,介系词后面放普通名词也行,例如 without a try。 + +### 几个经常使用动名词为受词的例子 + +在某些动词后面,经常是用动名词当受词而不用不定词片语,例如: + +I enjoy eating icecream. +(我很喜欢吃霜淇淋。) + +动词 enjoy 字面上的意思是「享受」,后面的受词应该是那件在享受的「事情」,而且这件事情必须是「持续进行」,这种情况适合用动名词如 eating icecream 来表示。 + +He practiced playing the violin every afternoon. +(他每天下午练习拉小提琴。) + +动词 practice 后面的受词应该是在练习的那件「事情」,而且是一件要「持续做」的事,所以应该用动名词如 playing 当受词。 + +I dislike having to carry a lot of books with me. +(我很讨厌必须带着一堆书跑来跑去。) + +动词 dislike 后面是那件被讨厌的「事情」,这种情况适合用动名词如 having to carry… 来表示。 + +You should avoid making the same mistake twice. +(你应该避免犯同样的错误。) + +动词 avoid 后面是那件被避免的「事情」,这种情况适合用动名词如 making the same mistake 来表示。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Infinitive.md b/corejava第9版/EnglishGrammarBook-master/docs/Infinitive.md new file mode 100644 index 0000000..f4679cd --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Infinitive.md @@ -0,0 +1,369 @@ +# 第十四章 不定词片语 + +所谓「不定词片语」,指的是**不定词(infinitive)**加原形动词而构成的片语,就是 to + V 的构造。 + +## 不定词和语气助动词 + +不定词和语气助动词具有诸多共同点:后面都要接原形动词、都具有不确定语气,而且还可以互相改写──所有的主要语气助动词都可以改写成不定词,如下: + +must → have to +should → ought to +will/would → be going to/be willing to +can/could → be able to +may/might → be likely to/be allowed to + +基于以上观察,笔者主张:不定词就是语气助动词减化的结果。亦即,将语气助动词改写为 to,就可以把限定动词片语(语气助动词 + 原形动词)改为非限定(to + V),也就是把动词片语转变为其他词类使用。 + +像现在分词、过去分词、动名词一样,不定词片语也是传统文法所谓「动状词」的一种,或称非限定动词。如果不定词片语的构造简单(例如只有 to + V),可以直接视为动词片语(语气助动词+ 原形动词)的词类变化看待:把语气助动词变成表示不定词的 to,那么原本的动词片语就转变成不定词片语,可以当作名词、形容词、或者副词使用。如果不定词片语的构造复杂(例如其中包含受词、补语、修饰语等等),那么视为减化子句看待会比较清楚。 + +## 简单的不定词片语与较复杂的减化子句 + +请比较下面两个例句: + +I want to go. +S V O +(我想要去。) + +句中的 to go 这个不定词片语当作动词 want 的受词使用,所以是名词的性质。可以直接视 to go 为动词片语 will go 的词类变化:把限定动词 will go 改为 to go,就可以当名词使用。 + +His girl friend asked him to buy her a diamond ring as soon as possible. +S V O C +(他女朋友要他尽快买个钻戒给她。) + +句中的 to buy her a diamond ring as soon as possible 也是不定词片语,当受词补语使用,也就是属于形容词的性质、修饰受词 him。不过这个不定词片语构造比较复杂,可以连同前面的 him 还原为名词子句看待,如下: + +His girl friend asked that he should buy her a diamond ring as soon as possible. +S V O + +从属连接词 that 引导的是个名词子句,当作主要子句动词 asked 的受词使用。将这个名词子句的主词he拿出来当受词、限定动词 should buy 减化为不定词片语 to buy,后面整个部分一并转变为不定词片语当作主词补语,结果就是前面例 2 那个句子。 + +减化子句的变化比较复杂,本书留待后面的章节处理。目前先将不定词片语视为片语看待,也就是把动词片语中的语气助动词变成表示不定词的 to,产生出来的不定词片语就可以当作名词片语、形容词片语、副词片语使用。 + +## 名词片语 + +不定词片语当作名词片语,可以作为主词、受词、名词补语等等,分别举例如下: + +To be accurate is very important. +S V C + +It is very important to be accurate. +(要准确是很重要的事。) + +不定词片语 to be accurate 当名词使用、作为主词,可以视为 should be accurate 或者 must be accurate 的减化看待:把限定动词 should be 或 must be 改写成 to be,整个片语的词类就转变为不定词片语,可以当主词使用。不定词片语当主词时,如果嫌主词太长,可以选择先用虚字 it 暂代主词位置、把不定词片语向后挪,这样句子会比较清楚。 + +The manager decided to carry out the plan. +S V O +(经理决定要执行这项计画。) + +不定词片语 to carry out the plan 当名词使用、作为动词 decided 的受词,可以视为 would carry out the plan 的减看待:把助动词 would 改写为不定词,整个片语就转变为不定词片语、可以当名词使用,作为受词。 + +The best strategy is to stay put. +S V C +(最佳策略就是按兵不动。) + +不定词片语 to stay put 当名词使用、作为主词补语,可以视为 should stay put 的减化看待:把助动词 should 改为表示不定词的 to,原来的动词片语 should stay put 词类就转变为不定词、变成当名词使用。 + +## 形容词片语 + +不定词片语当作形容词片语,可以直接放在名词后面用来修饰名词、也可以当主词补语或受词补语,如下: + +Tonight I have some important work to do. +S V O 形容词 +(今天晚上我有一些重要工作必须做。) + +不定词片语 to do 视为动词片语 must do 的减化看待:把语气助动词 must 改写为 to,整个就转变为不定词片语,可以当形容词使用,修饰前面的名词片语 some important work。 + +You are to report to the General immediately. +S V C +(你要立刻向将军报到。) + +不定词片语 to report to the General 视为 must report to the General 的减化:把语气助动词 must 改写为 to,整个就转变为不定词片语、当形容词使用,作为主词 you 的补语。 + +Jane wanted her boyfriend to leave her alone. +S V O C +(Jane叫她男朋友不要来烦她。) + +不定词片语 to leave her alone 视为 should leave her alone 的减化:把语气助动词 should 改写为 to,整个片语转变为不定词片语、当形容词使用,放在受词 her boyfriend 后面当受词补语。 + +## 副词片语 + +不定词片语当作副词片语,可以用来修饰动词、形容词、副词,如下: + +The agent called the movie star to tell her about the new movie. +S V O 副词 +(经纪人打电话给这位电影明星,告诉她这部新片的消息。) + +不定词片语 to tell her about the new movie 视为 could tell her about the new movie 的减化:把语气助动词 could 改写为 to,整个片语就转变为不定词片语,可以当副词使用,修饰动词 called 的目的。 + +Your question is easy to answer. +S V C 副词 +(你的问题很容易回答。) + +不定词片语 to answer 视为动词片语 can answer 的减化:语气助动词 can 改写为 to,动词片语就转变为不定词片语、当副词使用,修饰形容词 easy。 + +The boy is old enough to look after himself now. +S V C 副词 +(这个小孩够大、可以自己照顾自己了。) + +不定词片语 to look after himself 来自 can look after himself 的减化:把助动词 can 改写为 to,整个片语就变成不定词片语、当副词使用,修饰前面的程度副词 enough(enough 这个副词修饰的对像是形容词 old)。 + +## 不定词的判断 + +**不定词(infinitive)**这个名称很有意义。首先,不定词片语的词类「不定」,也就是当名词、形容词、副词使用都可以。其次,它的语气「不定」,也就是它属于表达「不确定」意味的「条件语气」。这种不确定语气和语气助动词的不确定语气完全相同,因为不定词片语其实就是包含语气助动词的动词片语的减化结果。 + +研判句子中是否该使用不定词,也要从这个角度来判断:凡是该使用不定词的地方,都属于「不确定」的「条件语气」,而且都可以还原成某一个语气助动词来作合理的诠释。 + +一般文法书中会列出规则,说在 the first, the last, the only… 的后面要接不定词。例如: + +Charles Lindberg was the first man to fly solo across the Atlantic. +(林白是头一个单人驾机成功飞越大西洋的人。) + +在名词片语 the first man 后面要用不定词片语 to fly 当形容词来修饰它,是因为这个 to fly 是动词片语 could fly 的减化:表示他是头一个「能够」成功办到的人,在他以前的人都不能。再看一个例子: + +Admitting your mistake openly is the only way to solve the problem. +(公开认错,是唯一能够解决问题的办法。) + +在名词片语 the only way 后面要用不定词片语 to solve… 当形容词来修饰它,是因为这个不定词片语是动词片语 can solve… 的减化:表示只有这个办法「能够」解决问题,别的办法都不能。 + +另外,一般文法书也整理出来说在 easy, simple, likely, possible 等形容词后面要接不定词,例如: + +Mistakes are likely to happen in the final stages. +(错误很可能会发生在最后阶段。) + +在形容词 likely 后面要用不定词片语 to happen 当副词来修饰它,因为这个不定词片语是动词片语 will happen 的减化:表示错误在这个时候可能「会」发生。 + +It is possible to correct all the mistakes before the final deadline. +S V C 不定词片语(名词) +(是有可能在最后期限之前把所有的错误都矫正过来。) + +主要子句的主词 it 是个虚字,代表的就是后面的不定词片语 to correct…。形容词 possible 是主词补语,修饰假主词 it,其实也就是修饰真正的主词 to correct…。在 possible 后面要配合使用不定词片语 to correct…,是因为 possible 表示「有可能」,后面应该配合「可以矫正」,而动词片语 can correct… 减化为不定词片语就是 to correct…。 + +## 不定词片语与动名词的比较 + +不定词片语可以当名词使用,而动名词则一定是名词。在写作时,如果碰到该使用名词的位置,往往就要选择是使用不定词片语还是使用动名词。尤其是在及物动词后面的受词位置,该用哪一个,往往不容易判断。一般文法书处理这个问题的做法是列出四张表:某些动词后面只能用动名词、某些动词后面只能用不定词、某些动词后面用动词名和不定词皆可(意思相同) 、还有某些动词后面用动名词与用不定词的意思不同。 + +这四张表格一方面难以罗列周全、一方面总是会有例外。而且这些表格又不容易背得起来。比较高明的做法是完全不要背,只要认清楚不定词与动名词的特性,然后一一研判。 + +### 不定词与动名词皆可 + +在某些动词后面,用不定词或者动名词当受词皆可,意义差不多。例如: + +The men began playing(or to play) bridge. +S V O +(男人开始打桥牌。) + +在及物动词 begin 后面的受词位置,如果放的是动名词 playing bridge,意思是把「打桥牌」当成「一件事情」看待。如同 begin the party「开始宴会」或 begin the game「开始比赛」一样。如果采用不定词片语 to play bridge,那是动词片语 will play bridge 的减化:开始「要去」做某事,相当于 be going to 的语气。 + +I like traveling(or to travel) to different places. +S V O +(我喜欢到不同的地方去旅行。) + +在及物动词 like 后面的受词位置,如果选择用动名词 traveling,那是把「旅行」当成「一件事情」看待,有如 I like music「喜欢音乐」或 I like ice cream「喜欢霜淇淋」。如果选择用不定词片语 to travel,那是动词片语 will tr​​avel 或 can travel 的减化,表示希望「去」旅行或希望「能够」旅行,带有 be going to 或 be able to 的语气。 + +### 只能用不定词 + +在某些动词后面,如果要用动状词当受词的话只能用不定词、不能用动名词。例如: + +I would like to take the afternoon off. +S V O +(我下午想请假。) + +动词 would like 的意思是「想要」,这种说法强烈暗示「将要」(will 或 be going to),所以它后面的受词位置应该采用不定词而不适合采用动名词。当然,这并不表示不能使用普通名词。例如也可以这样说:Would you like a drink?「想不想要来一杯?」,直接用名词片语 a drink 当 would like 的受词。 + +The workers agreed to work overtime. +S V O +(工人同意加班。) + +及物动词 agree「同意」强烈暗示「可以」(could)或「愿意」(would),所以后面应该用不定词片语当受词。 + +### 只能用动名词 + +在第十三章处理过动名词,在此只举一个例子: + +The speaker finished talking at last. +S V O +(演讲人终于讲完了。) + +在及物动词 finish 后面的受词位置,放的应该是那件「被结束」的事情。这个上下文并没有任何不确定语气、也不能还原成某一个语气助动词,因此不能使用不定词片语。动名词 talking 代表的就是「一件事情」,而且是一件「持续一段时间」的事情。 + +### 不定词与动名词皆可,但意思不同 + +像 remember、forget 这些及物动词后面,接不定词片语与接动名词当受词皆可,但意思不同。这个情况比较复杂,要用减化子句的观念才比较容易理解。 + +Please remember to bring this book to class next week. +V O +(下周请记得带这本书来上课。) + +这个句子可以还原为复句如下: + +Please remember that you must bring this book to class next week. +V O(名词子句) + +主要子句是命令句语气,省略掉主词 You。动词 remember 是及物动词,后面用 that 引导的那个名词子句当受词。这句话是在交代对方下周「务必」要记得带书,所以名词子句中的动词属于不确定的条件语气(「下周」的事情尚未发生),应该有语气助动词如 must 或 should。而动词片语 must bring 就会减化为不定词片语 to bring。请比较下面这句: + +I remember bringing a friend to your party last week. +S V O +(我记得上周有带一位朋友去参加你的宴会。) + +这个句子可以还原为复句如下: + +I remember that I brought a friend to your party last week. +S V O(名词子句) + +及物动词 remember 后面用 that 引导的名词子句当受词。这个名词子句中叙述的是发生在上周(last week)的事情:因为发生在过去,已属确定,所以不再使用不确定的语气助动词,而是采用直说语气来叙述事实,过去的事情就用过去简单式的动词(brought)。这种情况,减化之后就会变成动名词 bringing,而不会成为不定词。再看一组例子: + +Sorry, I forgot to call in advance. +S V O +(对不起,我忘了应该先打电话。) + +可以还原为复句如下: + +Sorry, I forgot that I should call in advance. +S V O + +在及物动词forgot后面用that引导的名词子句当受词。忘了「应该」先打电话,也就是没有打。因为有语气助动词should,减化之下就会变成不定词片语to call。请比较下面的句子: + +I forgot having called the pizza shop, and called again. +S V O +(我忘了已经打过电话给披萨店,结果又打了一次。) + +可以还原为复句如下: + +I forgot that I had called the pizza shop…. +S V O + +在及物动词后面用 that 引导的名词子句当受词。这时的情况是「确实已经打过电话」但是事后忘记,应该采用叙述事实的直说语气来表达。发生在过去时间(forgot 是过去式)以前的事实,正确时态是过去完成式 had called。这里的had是文法助动词、并非语气助动词,所以并不具有「不确定」语气。这个动词片语的减化就会变成动名词 having called。 + +## 表示不定词的 to 与介系词 to 的区别 + +不定词拼成 to,介系词也拼成 to,有时会造成混淆。要区分的话还是得回到原点:表示不定词的to来自某一个语气助动词、带有不确定语气,后面要接原形动词;介系词 to 类似 toward,表示「对、向」,后面要接名词(包括动名词)。试比较: + +I used to walk 3 km to school when I was a kid. +(我小时候经常走三公里上学。) + +I am used to walking long distances. +(对于长途走路我已经很习惯了。) + +例 1 中的 used to 是个次要的语气助动词,表示「过去的习惯」,所以它只有过去式。在语气助动词后面要用原形动词,所以正确的说法是 used to walk。例 2 中的 used 是过去分词、属于形容词类,当主词补语使用,意思是「习惯了」,它后面的 to 是介系词,用来说明「对什么事情」习惯了。介系词后面要接名词当受词,例如可以说 I am used to long walks。如果介系词后面碰到动词,要改为动状词的话就只能选择动名词,如 I am used to walking…。 + +I am looking forward to spending the weekend in the mountains. +(我盼望到山上去过周末。) + +片语 look forward to 当中的 to 是介系词,因为 forward to 放在一起的意思就和 toward 差不多,而 toward 当然是介系词。介系词后面应该用名词当受词,如果要用动状词的话应该选择动名词如 look forward to spending。 + +My friend agreed to lend me a hand. +(我朋友同意可以帮我忙。) + +The board of directors agreed to laying off 30% of the workers. +(董事会对裁员三成的提案表示同意。) + +例 1 在 agreed 后面用不定词片语 to lend,那是动词片语 would lend 或 could lend 的减化,表示他「愿意」或「可以」帮忙。例 2 在 agreed 后面用介系词片语 to laying off,意思是「对于」裁员案表示同意。通常在 agree 这个动词后面,用不定词的 to 或者用介系词的 to 都可以讲得通。 + +The fees are subject to change without further notice. +(费用可能调整而不另行通知。) + +片语 be subject to 当中的 to 是介系词,所以后面直接用名词 change 当受词。这要从原始字义上来判断:形容词 ubject 的字源构造是 under + throw,字面上是「丢到…底下」,所以后面要接介系词 to 来表示「丢到哪里去」。这个片语引伸的意思是「隶属于…」或「可能会有…」。 + +## 完成式的不定词 + +不定词里面如果用上**完成式的动词(to have Ven)**,表达的是「相对过去的时间」。这和语气助动词加上完成式的情况完全相同,因为不定词本身就是语气助动词的减化。例如: + +I am fortunate to be here today. +(我很幸运今天能够在这里。) + +I am fortunate to have been born into a good family. +(我很幸运能够出生在一个好家庭。) + +例 1 中的动词 am 是现在式,表示时间是现在。后面的不定词片语 to be here today 是 can be here today 的减化,它的时间和 am 的时间相同、也是现在。例 2 中的动词 am 同样是现在式,但是不定词片语中用的是完成式 to have been born,因为出生的时间是「相对的过去」,必须用完成式才能表示。 + +The dog seemed to be badly hurt. +(这只狗好像身受重伤。) + +The dog seemed to have been hit by a car. +(这只狗好像曾被车子撞到。) + +例 1 和例 2 的动词 seemed 同样都是过去式,表示那是过去时间。例 1 中的不定词片语 to be badly hurt,时间和动词 seemed 相同、都是过去同一个时间。但是例2的不定词片语 to have been hit by a car 用的是完成式,表示「相对过去时间」,也就是更早:先前被车子撞到,所以看起来才会身受重伤。 + +### 原形动词 + +原形动词,一般认为是**不定词片语(to V)**省略掉不定词的产物。一般文法书都会列出规则:在使役动词和感官动词后面必须用原形动词作受词补语。事实上,感官动词和使役动词后面可以用的受词补语很多,包括现在分词、过去分词、原形动词等都可以。所以这条文法规则其实应该这样说比较精确:在使役动词和感官动词后面的受词补语不能使用不定词,如果碰到不定词则必须移除 to 而成为原形动词。 + +另外,一般文法书对这条规则也没有做出合理的解释:为什么不能用不定词、可以用原形动词?接下来我们就要说明为什么。 + +### 使役动词 + +所谓使役动词,指的是像 let, make, have, get… 之类的动词,共同点是都带有「强迫」意味。试比较: + +I begged him to help me, but he wouldn’t. +S V O C +(我恳求他帮我忙,他就是不肯。) + +I’ll make him pay for this. +S V O C +(这件事我会要他付出代价。) + +例 1 中的动词 beg 是个普通动词:恳求别人帮忙,但是别人愿不愿意帮忙仍属不确定,所以后面可以用不定词片语 to help me 当受词补语,那是动词片语 would help me 的减化。例 2 中的动词 make 是个使役动词,差别在于使役动词带有「强迫」意味,也就是:它的结果是确定的。因为使役动词后面的结果不再带有不确定语气,所以也就不再能够使用不定词(来自于表达不确定的语气助动词)。这时候可以选择把不定词删掉、剩下原形动词(如 pay)当受词补语。 + +不过,这并不表示在使役动词后面一定要用原形动词当受词补语。还可以有其他的选择,例如: + +He had his lawn mawned by his neighbor’s kid. +S V O C +(他叫邻居的小孩替他剪草地。) + +这个句子的动词 had 也是使役动词。受词是 his lawn(草地),受词补语应该用过去分词 mawned(被剪)来做被动的形容词。所以,在使役动词后面,如果有「被动」语态,仍然应该用过去分词当受词补语。 + +He had the garden party going. +S V O C +(他开始进行这场园游会。) + +动词同样是使役动词 had,受词是 the garden party(园游会)。受词补语选择用现在分词 going 来表达「持续进行」。所以,只要有「进行」意味,在使役动词后面仍然可以选择用现在分词当受词补语。 + +After the party, he had the maid clean up the mess. +S V O C +(会后,他叫女仆收拾好脏乱。) + +这个句子还是用使役动词 had 当动词,受词是 the maid(女仆),后面的受词补语没有被动语态、也没有进行状态,但是不能使用不定词,所以就采用原形动词 clean up the mess 当受词补语。 + +请注意:如果使役动词的句子改写为被动态,动词转变为be动词、使役动词转变为过去分词的形容词,那么被删掉的 to 就得放回去。拿上面看过的那个例子来说:I’ll make him pay for this,动词是使役动词 make,后面用原形动词 pay 当受词补语。但是如果改写成被动态,表示不定词的 to 就必须还原,如下: + +He will be made to pay for this. +S V C + +改为被动态之后,动词不再是役役动词而变成是 will be,所以后面要恢复成不定词片语 to pay。 + +### 感官动词 + +所谓感官动词,指的是像 see, hear, feel, smell… 之类的动词,表示「看到、听到、感觉到」等等。例如: + +I saw the car run over a dog. +S V O C +(我看到这辆车辗过一条狗。) + +句中的动词是感官动词 see。所谓感官动词,表示「看到、听到…」之类,有一项共同特色:后面那件事情应该确实发生了,才能够看到或听到、等等。所以,在感官动词后面也不适合采用具有「不确定」意味的不定词。 + +不过,这并不表示感官动词后面一定得使用不定词。另外还有许多选择,如下: + +I felt cold rain streaming down my back. +S V O C +(我感觉到冰冷的雨水沿着我的背脊一直往下流。) + +动词 feel 是个感官动词,后面不能使用不定词。但是,雨水「一直流」是进行状态,可以选择用现在分词 streaming 当受词补语。 + +I felt my wallet touched. +S V O C +(我感觉到我的皮夹被人碰了一下。) + +动词 feel 是感官动词,后面不能用不定词。但是就受词皮夹而言,它是「被碰到」,带有被动语态,这时候就该采用过去分词 touched当受词补语才能表达​​被动,而不是用原形动词。 + +I felt my heart stop; I was so scared. +S V O C +(我感觉到心跳停止,因为太害怕了。) + +动词 feel 是感官动词,受词是 my heart(心脏)。就心脏而言,「停止」是主动态,不能用过去分词。而且「心跳停止」这个转变并不能够持续,所以也不能采用进行状态的现在分词。但是,感官动词后面的状况是确定的语气,也不能用不定词。在没有别的东西可用的情况之下,就只能使用原形动词了(stop)。 + +同样的,如果改为被动态的句型,那么动词变成 be、不再是感官动词了,被删除的 to 就得放回去。例如上面看过 I saw the car run over a dog 那个例子,改为被动态要这样写才对: + +The car was seen to run over a dog. +S V C + +句子的动词变成了 was,不再是感官动词,所以后面应该采用不定词片语 to run over a dog。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Inversion.md b/corejava第9版/EnglishGrammarBook-master/docs/Inversion.md new file mode 100644 index 0000000..a62844e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Inversion.md @@ -0,0 +1,296 @@ +# 第二十一章 倒装句 + +单句、合句、复句等等初级到中级的句型构造都搞清楚了,接下来即将进入「减化子句」这种高级句型。不过,有一种特殊的句型构造称为**倒装(inversion)**,应该先弄清楚,对句型的认识才算完整。 + +倒装句的特色在于主词和动词的顺序颠倒:动词在前、主词在后。从这个定义来看,所有的疑问句都可以算是倒装句。疑问句属于比较基础的文法,比较值得研究的是具有修辞功能的倒装句。 + +动词要移到主词前面构成倒装句,通常得先有别的元素为了某种修辞原因移动到句首,动词只不过是被它带着走。而且,动词的倒装又分成几种方式:有时候是直接把普通动词移到主词前面、有时候是只能移动助动词或be动词,有时候则是要加上像 do 之类的助动词在前面。以下就依动词移动的方式,分成四种情况来探讨倒装句。 + +## I. 直接移动动词 + +这种倒装句,不论动词是什么,倒装的方式就是直接把动词移到主词前面。采用这种倒装方式的又分三种情况。 + +### A. 引用句 + +不论是直接引句还是间接引句,都可以选择把当受词使用的名词子句移到句首来加强语气。例如: + +The weatherman says, “The typhoon is expected to swerve north for Japan.” +S V O +(气象预报员说:「台风预期将偏北转往日本。」) + +双引号里面的部分是直接引句,这个名词子句扮演受词的角色。可以选择把这个直接引句移到句首,并且把动词倒装到主词前面,整个句子变成倒装句,如下: + +“The typhoon is expected to swerve north for Japan,” says the weatherman. +O V S + +这个句子,选择把受词子句(引用句)倒装到句首是为了加强语气:读者比较有兴趣知道的是气象预报说了些什么「内容」、而不是「谁说的」,所以选择把比较重要的引用句移到句首。而受词子句一旦移到句首,与受词直接相关的动词 says 就可以跟着它移动到主词前面,因而构成倒装句。这种句子也可以选择只移动引用句、动词并不倒装,如下: + +“The typhoon is expected to swerve north for Japan,” the weatherman says. +O S V + +如果像上面这句动词没有倒装的情况,有些文法学家有另一种诠释方式:”The typhoon is expected to swerve north for Japan” 就是主要子句,the weatherman says 则是个附加的**评论子句(comment clause)**、可有可无。 + +如果是间接引句,差别只在于标点符号:没有使用双引号。例如: + +The weatherman says that the typhoon is expected to swerve north for Japan. +S V O + +这个句子里面有一个由从属连接词 that 引导的名词子句(间接引句)当受词。可以选择省略掉连接词 that、把整个名词子句移到句首、动词 says 跟着移到主词前面成为倒装句,如下: + +The typhoon is expected to swerve north for Japan, says the weatherman. +O V S + +倒装的情况和直接引句完全相同。请注意:间接引句移到句首时,除了它前面的连接词 that 要省掉之外,它后面还要加个逗点,这样句型才能够分得清楚。 + +另外,间接引句也可以选择只移动引用句、动词不倒装,如下: + +The typhoon is expected to swerve north for Japan, the weatherman says. +O S V + +这时候,后面的 the weatherman says 可以视为一个可有可无的评论子句,而把前面的 the typhoon is expected to swerve north for Japan 视为主要子句。所谓评论子句,基本上是一种**插入句(embedding)**。它插入的位置不一定是在句尾,也可以用一对逗点隔开、插入在主词动词之间。这个插入句可以选择倒装、也可以不倒装,如下: + +The typhoon, says the weatherman, is expected to swerve north for Japan. +插入句(倒装) + +The typhoon, the weatherman says, is expected to swerve north for Japan. +插入句(不倒装) + +#### 倒装还是不倒装? + +当作受词使用的直接引句或间接引句移到句首来加强语气,动词可以选择倒装、也可以选择不倒装。这个选择有何修辞考量?我们来看看下面这个例子: + +Green Peace, a small but vociferous organization dedicated to environmental protection by any means possible, warns that whale hunting will not be tolerated. +S V O +绿色和平,一个规模虽小但声音很大的组织、致力以一切手段保护环境,警告说捕鲸将不被容忍。 + +这个句子是 S + V + O 的句型,在主词动词中间打了一对逗点、放了个同位格。句型虽然完全正确,修辞效果却不佳。因为:句子的重点在于 whale hunting will not be tolerated 这个间接引句,却被挤到最后面,没有获得应有的强调。如果只是把间接引句移到句首、动词并不倒装,句子会变成这样: + +Whale hunting will not be tolerated, Green Peace, a small but vociferous organization de dicated to environmental protection by any means possible, warns +O S V + +这种讲法固然凸显了引用句的重要性,但是修辞效果仍然欠佳,因为主词 Green Peace 和动词 warns 中间隔了一个很长的同位格,而且动词 warns 和受词子句 whale hunting will not be tolerated 之间又隔了更长的距离,造成的结果就是句子不够清楚。这时候如果选择倒装、让动词跟着受词子句一同移到主词前面去,就是下面这个倒装句: + +Whale hunting will not be tolerated, warns Green Peace, a small but vociferous organization dedic ate​​d to environmental protection by any means possible. +O V S + +这时候,引用句获得了应有的强调、动词和受词子句之间没有了距离、主词和动词之间也没有了距离,这才是最清楚的讲法。倒装句的修辞效果也就是在这里。关于引用句倒装的修辞原因,前面第十七章介绍名词子句时也曾简略说明,读者可以参照。 + +### B. 类似 there is/are 的构造 + +第二种以直接移动动词的方式制造的倒装句,构造和 there is/are 的句型类似。 + +There is/are 这种最基本的句型,其实就是一种倒装句。例如 There is a book on the desk 这个最简单的英文句子,可以还原如下: + +A book is there on the desk. +S V C + +Be 动词后面的地方副词 there 扮演主词补语的角色。如果把这个补语移到句首,be 动词跟着它移到主词前面、继续放在主词与补语之间扮演 linking verb 的角色,就是这个句子: + +There is a book on the desk. +C V S + +以这个大家都再熟悉不过的句型为出发点,可以发展出一种构造和它类似的倒装句,其修辞功能在于强调语气、以及衔接上下文。这种倒装句的特色在于把地方副词移到句首(相当于 there 的位置)、动词跟着它移到主词前面(相当于 is 的位置),同样表示「有什么东西在哪里」之类的内容。例如: + +Here comes the parade. +(游行队伍走过来了。) + +Away flew the birds. +(鸟飞走了。) + +上面这两个例子相同,都是把地方副词(here 与 away)移到句首来加强语气、动词(comes 与 flew)直接搬到主词前面构成倒装句。 + +这种倒装句除了加强语气,还常常用来增加上下文的连贯性。例如: + +Across the street stood the drugstore. Next to the drugstore is a large park. In the park dwell dozens of ground squirrels. +(街对面就是药房。药房旁边有个大公园。公园里头住了几十只地面松鼠。) + +这一连串三个句子都是把地方副词移到句首,然后直接把动词倒装到主词前面。这样处理的好处是句子的连贯性较佳:这三个句子采用空间顺序(spatial order)排列,三句全部用地方副词开头适足以呈现出空间顺序,文章发展的逻辑因而表现得更清楚、文章显得更有条理。 + +### C. 类似 there is/are 构造的关系子句 + +上述「类似 there is/are 的构造」如果出现在关系子句中,仍然可以采用直接移动动词的方式来倒装。例如: + +The Amazon is a pristine river. +先行词 +(亚马逊是条原始河流。) + +The deadly pirana roam in that river. +S V 地方副词 +(致命的食人鱼在那条河中漫游。) + +两句在名词 river 上重复而建立关系,可以把句 2 中的 river 改写为关系代名词 which,然后把介系词片语 in which 移到句首扮演连接词角色,成为关系子句 in which the deadly pirana roam,再将关系子句置于句 1 的先行词 river 之后,就成为下面这个复句: + +The amazon is a pristine river [in which the deadly pirana roam]. +先行词 地方副词 S V + +观察一下这个关系子句可以发现:地方副词 in which 移到句首之后,只要再把动词 roam 倒装到主词前面,就可以构成类似 there is/are 的倒装句如下: + +The amazon is a pristine river [in which roam the deadly pirana]. +先行词 地方副词 V S + +如果关系子句的句型不符合 there is/are 的句型,就无法倒装。例如: + +The Amazon is a pristine river. +先行词 +(亚马逊是条原始河流。) + +Environmentalists love the river. +S V O +(环保人士喜爱那条河。) + +这两个句子在 river 一字的重复上建立关系,可以用关系​​子句构成复句如下: + +The Amazon is a pristine river [which environmentalists love]. +先行词 O S V + +这个关系子句 which environmentalists love 并不符合 there is/are 的句型,所以并不能够倒装。 + +## II. 助动词或 be 前移 + +动词的第二种倒装方式是把助动词或 be 移到主词前面,如果缺乏助动词或 be 就无法倒装。这种倒装方式只适用于一种情况:假设法语气的副词子句,可以选择把助动词或 be 倒装到主词前面、取代连接词 if。这种倒装方式取得的修辞效果是简洁:可以省略掉连接词 if。 + +例如: + +[If I had been there], I could have prevented the accident. +S V C +(如果当时有我在,我或许可以防止意外发生。) + +从属连接词 if 引导的副词子句,动词的语气是表示「过去时间非事实」的假设语气。动词片语 had been 包括文法助动词 had,可以选择把 had 倒装到句首,以这种方式取代连接词、省略掉从属连接词 if,如下: + +[Had I been there], I could have prevented the accident. + +再看一个例子: + +[If I were a millionaire], I would first buy a big house. +S V C +(如果我是百万富翁,我会先买个大房子。) + +这个副词子句的动词采用「现在时间非事实」的假设语气,有 be 动词(were)。可以选择把 be 动词倒装到句首,以这种方式取代从属连接词 if、获致简洁的效果,如下: + +[Were I a millionaire], I would first buy a big house. + +不过,假设语气的副词子句如果是普通动词(没有助动词或 be),就不能采用这种倒装方式。例如: + +[If I knew how], I would gladly do it. +(很可惜我不会,不然我很乐意做这件事。) + +中括号里面是条件副词子句,属于「现在时间非事实」的假设语气。但是这个副词子句中只有普通动词 knew,缺乏助动词或 be 动词等可以移动的东西,所以这个子句无法倒装、也不能省略从属连接词 if。 + +## III. 助动词或 be 前移、普通动词加 do + +动词倒装的第三种方式是:若有助动词或 be 动词就移到前面,若只有普通动词则在前面加文法助动词 do。这种倒装方式专门用于「否定副词前移」的情况、以配合否定句。其修辞效果在于加强语气。例如: + +I will never trouble you again. +V +(以后我再也不敢麻烦你了。) + +在动词片语 will tr​​ouble 中间有个表示否定的频率副词 never,这个副词其实就是 not ever 的合并,配合助动词 will 来构成否定句。如果把这个表示否定的副词移到句首来加强语气,那么助动词 will 就会跟着它倒装到主词前面以维持否定句(will not)的构造,结果就是这个倒装句: + +Never will I touble you again. + +否定副词的倒装句,如果有 be 动词,做法和有助动词的情况类似:把 be 动词倒装到主词前面以维持否定句。例如: + +The train is seldom delayed. +V +(火车很少误点。) + +频率副词 seldom 意思是「很少」,具有否定的功能。如果把 seldom 移到句首来加强语气,be 动词必须跟着它倒装到主词前面以维持否定,就会成为下面这个倒装句: + +Seldom is the train late. + +否定副词移到句首以加强语气,如果句中没有 be 动词、也没有助动词,就必须加上文法助动词 do 之类以维持否定句。例如: + +The man hardly ever leaves home after 9 p.m. +V +(这名男子晚上九点之后几乎从来不出门。) + +频率副词 hardly ever 具有否定功能,表示「几乎从不」。若移到句首来加强语气,后面的普通动词 leaves 就必须加上文法助动词 does 来维持否定句、并把 does 倒装到主词前面,成为如下的倒装句: + +Hardly ever does the man leave home after nine. + +再看一个例子: + +The doctor did not leave the patient [until he was sure everything was all right]. +V 副词子句 +(到有把握一切都没问题了,医生才离开这位病人身旁。) + +上例中的主要子句就是个否定句。如果把否定副词 not 和副词子句 until he was sure everything was all right 移到句首以加强语气,那么文法助动词 did 也要倒装到主词前面以维持否定句,成为倒装句如下: + +[Not until he was sure everything was all right] did the doctor leave the patient. + +至于 only 这个强调范围的副词(focusing adverb),具有「排除其他」的否定功能。如果把 only 和它所修饰的对象一同移到句首来加强语气,动词就需要倒装以维持否定意味。如果动词是普通动词,则必须加上文法助动词如 do 之类以配合否定句。例如: + +The Johnsons went abroad only last week. +V 时间副词 +(hnson一家上个礼拜才出国。) + +句中的 last week 是时间副词、修饰动词 went 的时间。 Only 是个强调范围的副词,用来强调「不是很久以前」,因此具有否定意味。若选择将 only last week 移到句首来加强语气,就需要采用倒装、加上文法助动词 did 来维持否定句,如下: + +Only last week did the Johnsons go abroad. + +不过,下面这种情况并不需要倒装: + +Only Mr. Johnson went abroad last week. +(个礼拜只有Johnson先生一人出国。) + +这时候,强调范围的副词 only 修饰的对象就是主词 Mr. Johnson,整个句子并没有任何位置的移动,这种情况就不能倒装。 + +## IV. 助动词或 be 前移,普通动词以助动词 do 取代,省略述部 + +动词倒装的最后一种方式类似省略句或简答句:把助动词或be移到主词前面、如果普通动词则在前面加助动词 do,其余一概省略以避免重复。这种倒装句的修饰效果在于加强简洁性与清楚性。它适用于以下两种状况。 + +### A. So do I, neither will I 之类 + +这是非常简单的句型,请看下面的例子: + +He likes basketball. So do I. +(他爱篮球。 我也是​​。) + +He can speak Spanish. So can I. +(他会说西语。 我也会。) + +He is a teacher. So am I. +(他是老师。 我也是​​。) + +He won’t give up. Neither will I. +(他不肯放弃。 我也不肯。) + +如果前面有 He likes basketball 这样的句子,后面再来一句 I like basketball 就是比较呆板的重复。前后两个句子只有主词不同,整个述部(like basketball)都是相同的。这种情况可以先用一个副词 so 来表示「同样」。再把它移到句首,目的是让它和它所代表的 like basketball 接近、比较较清楚。这个副词移到句首,动词就得跟着移到主词I的前面成为倒装句。同样是为了避免重复,动词 like 应采用助动词 do 取代,成为 So do I 这个倒装句。其他几个例子的情况都差不多,不再赘述。 + +### B. 比较级 + +比较级的句子也可以采用这种倒装的方式以增加简洁性与清楚性。例如: + +My uncle loves his cat very much. +S V O +(我叔叔很爱他那只猫。) + +His wife, who keeps a singing canary and two talking parrots, doesn’t love the cat so much. +S V O +(他太太养了一只会唱歌的金丝雀、两只会讲话的鹦鹉,就不那么爱猫了。) + +这两个句子可以用 more … than 连接起来制造一个比较级的复句,比较点是副词 very much:两个人来比谁爱猫比较多。如果不作任何省略,结果就是下面这个复句: + +My uncle loves his cat more [than his wife, who keeps a singing canary and two talking parrots, loves the cat]. +S V O 连接词 S V O + +从属连接词 than 引导的副词子句(中括号内的部分)修饰比较级的副词 more。这个副词子句里面,动词 loves 与受词 the cat 都和主要子句重复。但是,如果选择省略掉这些重复的部分,造成的结果是下面这个不够清楚的句子: + +My uncle loves his cat more than his wife, who keeps a singing canary and two talking parrots. (不佳) + +这个句子不清楚,因为它有两种解释。第一:his wife 和主词 my uncle 比较,意思是「我叔叔爱猫超过他太太爱猫」,这种解释就是上面句 A 省略的结果。第二:his wife 和受词 his cat 比较,意思是「我叔叔爱猫超过他爱老婆」,这种解释是下面那个句B省略的结果: + +My uncle loves his cat more [than he loves his wife, who keeps a singing canary and two talking parrots]. +S V O S V O + +一个句子有两种解释,就是话没有讲清楚。因此,前面的句 A 不得省略成为 My uncle loves his cat more than his wife,而必须采用助动词 does 来取代述部 loves the cat,这样读者才知道 his wife 是主词而非受词,如下: + +My uncle loves his cat more [than his wife, who keeps a singing canary and two talking parrots, does]. +S V O 连接词 S V + +这个句子固然比较清楚,但仍有瑕疵:副词子句中的主词 his wife 与动词 does 的距离太远,而助动词 does 和它代表的对象 loves his cat 之间的距离也是太远。为了避免这种情况,有一个好办法就是采用倒装:把 does 倒装到主词 his wife 前面,如下: + +My uncle loves his cat more [than does his wife, who keeps a singing canary and two talking parrots]. +S V O 连接词 V S + +这时候,读者看得很清楚 his wife 是主词,所以是和主要子句主词 my uncle 作比较而非和受词 his cat 作比较。而且,主词 his wife 和助动词 does 放在一起、助动词和它代表的内容 loves his cat 也放在一起,这才是最清楚的说法。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Moods.md b/corejava第9版/EnglishGrammarBook-master/docs/Moods.md new file mode 100644 index 0000000..28aacc0 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Moods.md @@ -0,0 +1,287 @@ +# 第十二章 语气 + +所谓**语气(moods)**,基本上是一种「真、假」的表达,靠动词的变化来表示。语气基本上可分成四种。除了上一章提过的直说语气和条件语气之外,还有假设语气和命令语气,分别介绍如下。 + +## 直说语气(indicative mood) + +这是一种「叙述事实」的语气,用来表示「说的这件事是真的」。一般情况下,动词按照正常的时态变化、并且不加语气助动词(也不使用未来式的 will),所表达出来的语气都属于直说语气。例如: + +Many years ago Bill Gates quit college to start his own company. +(多年前比尔盖兹从大学辍学以便开办自己的公司。) + +By now he has built that company into the largest of its kind. +(到现在他已经打造那家公司成为同类中最大的一家。) + +In the future he is going to devote most of his time to charity. +(未来他将投入大部分时间于慈善事业。) + +第 1 句的时间副词 many years ago 是个过去时间的括弧,动词 quit 采用过去简单式。第 2 句的时间副词 by now 是个「到现在为止」的截止箭头形状,动词 has built 采用现在完成式。这两个句子的动词遵照一般的时态变化,都属于直说法「叙述事实」的语气。 「过去」的事情和「现在」的事情都很容易判断真伪,可以采用直说法语气来叙述。但是「未来」的事情尚未发生,真伪尚无法分辨,所以并不适合采用直说语气来叙述,而需要借助于语气助动词如 will 之类来表达尚未实现的「计画」或「可能性」。而一旦动用到语气助动词(包括 will),句子的语气就从直说语气转变为带有不确定意味的「条件语气」。为了避免这种不确定语气,未来的事情可以选择如上列第 3 句的情况、以 be going to 的方式来叙述。 + +例如,像I will go to the U.S. next year这样的句子,谈的是未来的事、用到助动词 will,这都表示「尚不确定」。这种情况和直说语气的 He went to the U.S. last year. 不同;过去的事情已经发生,可以确定,所以能够采用叙述事实的直说语气。如果要采用比较确定的语气来表达未来的事情,就应该避免使用语气助动词、改成下面这几种讲法: + +I am going to go to the U.S. next year. +I am to go to the U.S. next year. +I am going to the U.S. next year. +I go to the U.S. next year. + +这几种讲法都避免用到助动词、维持了叙述事实的直说语气。以这些讲法来叙述未来的事情,语气相对会比较确定。其中又以最后一种 I go to the U.S. next year,完全采用叙述事实的现在简单式,表达「事实」的语气最为明确。 本书在第九章「动词时态」中曾提到传统文法的一条规则:「表示时间与表示条件的副词子句,要用现在式代替未来式」,究其原因其实不是时态的问题,而是语气的问题。直说语气,除了用来叙述事实,还可以用来表示「虽无法确定、但是当作是事实」的情况。例如: + +His story may be true. +(他说的事有可能是真的。) + +动词片语 may be 因为有语气助动词 may 在内,表达的是不确定的「条件语气」。 + +I guess his story is true. +(我猜他说的事是真的。) + +从上文「我猜」判断,「他说的事」其实并无法确定是不是真的。但是,即使是无法确定的事实,如果「当作是」真的,也可以采用直说语气来表达,所以 his story is true 这个名词子句中的动词才会采用直说语气叙述事实的is来表示。 + +If his story is true, I’m going to help him. +(如果他说的事是真的,那么我打算帮他一把。) + +同样的,在解释为「如果」的 if 引导的副词子句中,本来无法确定是不是事实。但是,if his story is true 这种说法就是把这件事「当作是」真的,所以动词采用的是「直说语气」叙述事实的is。传统文法那条规则「表示条件的副词子句用现在式代替未来式」,其实就是「未来尚无法确定的事情先当作是真的,应采直说语气表示」。直说语气当中不能使用带有不确定意味的语气助动词(包括 will),所以包括未来时间都不能用 will,而必须用现在式来表示。再看一个例子: + +He says he will come to pick you up tonight. +(他说他今晚要来接你。) + +时间副词 tonight 表示「来接你」这个动作的时间在未来、尚未发生。这种情况应该加上助动词 will,成为 will come 这个动词片语(表示「将会来」)。未来的事情都还没有发生,所以实际上都尚未确定,因此需要加上表示不确定语气的助动词,典型的是加上 will。 + +When he comes, you’d better be ready. +(当他来的时候,你最好已经准备好了。) + +时间副词子句 when he comes 意思是「当他来的时候」,也就是「当作『他来的时候』已经到了」,所以「他来」这件事情虽然事实上尚未发生,但是应该采用叙述事实的「直说语气」来表达,也就是不再使用表示「未来时间、不确定语气」的will,而是直接用 he comes 来表示。传统文法那条规则说「表示时间的副词子句用现在式代替未来式」,其实就是「把未来时间当作已经到了」,所以要采用直说语气来表示、不能用 will。 + +## 条件语气(conditional mood) + +条件语气表达的是「真假并不确定」的语气,采用「语气助动词 + 原形动词」的方式来表达。如上章所述,语气助动词本身即具有不确定语气。用「语气助动词 + 原形动词」的方式可以表达各种「不确定」的情况。例如: + +Students should study every day. +(学生每天都应该要读书。) + +语气助动词 should 加上原形动词 study,表示「应该读书」,属于条件语气,表达的是「不确定」的情况:「应该要读书」并不等于「真的有读书」。这个例子属于上章所述的语气助动词「一般用法」。 + +I have no idea where he should be right now. +(我毫无概念他现在会在什么地方。) + +名词子句 where he should be right now 的动词片语 should be 包含语气助动词、带有不确定的「条件语气」,表示「猜不出来他会在什么地方」。这个例子属于上章所述的语气助动词「猜测用法」。 不论是一般用法还是猜测用法,只要动用到语气助动词加原形动词,都可以用来表示「不确定」意味的「条件语气」。 + +## 假设语气(subjunctive mood) + +假设语气表达的是「非事实」的情况,也就是「说假的、讲反话」,采用「过去」为表达方式。亦即:现在时间,动词却采用「过去式」;过去时间,动词却采用过去的过去,即「过去完成式」。以下分成现在、过去、未来三种时间分别说明。 + +### 现在时间 + +If I were you, I would accept the offer. +(换作是我,我就会接受这个条件。) + +句中的 if I were you 是个表示条件的副词子句,但是这个子句中表达的是一种「与事实相反」的情况:「假如我是你」。这种「非事实」的假设应该采用「假设语气」来表达,也就是把动词变成「过去」。子句中的主词是 I,时间是现在。 be 动词变成过去来表示假设语气时,正式的用法一律采用 were 而不用 was。如果说 If I was you,这种说法并不能算错,但是属于比较不正式的讲法。 + +接下来的 I would accept the offer 是主要子句。这个子句表达的是假设情况之下的结果:如果如何,「就会」如何。这个子句也必须采用动词的「过去」来表达假设语气,这时候必须动用到上一章提过的四个过去拼法的语气助动词之一:would, should, could, might,分别表示「就会、就应、就能、就可」。以过去拼法的语气助动词来表达「非事实」的假设语气,后面接的仍然是原形动词。 + +不采用最常见的直说语气来叙述事实,反而采用「非事实」的假设语气,拿上面这个例子来说是为了在劝说别人时表达出比较「委婉」的语气。 + +上面这个例子也可以采用倒装的形式,如下: + +Were I you, I would accept the offer. + +采假设语气的条件副词子句,如果子句中有 be 动词或助动词(例如完成式的 have),可以选择把从属连接词(如 if)省略掉,而把be动词或助动词倒装到句首来取代从属连接词。再看一个例子: + +I should like to give it a try, if I knew how. +(我会想要试一试,只可惜我不懂。) + +主要子句 I should like to give it a try 时间是现在,采用过去拼法的语气助动词 should 来表达「非事实」语气。如前所述,假设语气的主要子句中一定会有一个过去拼法的语气助动词。条件副词子句 if I knew how 中则是采用过去拼法的动词 knew 来表达「非事实」语气。因此,听到这句话的人可以体会出:事实上此人是因为不懂,才无法尝试(I can’t give it a try because I don’t know how)。这个条件副词子句,里面并没有 be 动词或助动词,因此不能用倒装的方式来省略连接词。 + +If I had wings, I could fly to your side. +(要是有翅膀,我就能飞到你的身边。) + +这种说法是为了表达「恨不得如何」的渴切语气。条件副词子句 if I had wings 时间是现在,采用过去式的动词 had 来表达「非事实」语气。主要子句 I could fly to your side 仍然有一个过去拼法的语气助动词(could),才能够表达「非事实」语气。 + +He might be able to help if he were here. +(要是有他在,说不定他能帮得上忙。) + +这是采用假设法语气来表示「惋惜」:事实上他不在、也无法帮忙(He’s not here, and he can’t help.)。时间是现在,条件副词子句 if he were here 中采用过去式动词were来表达「非事实」语气。主要子句 He might be able to help 中依旧有一个过去拼法的语气助动词(might),来表达「就可能如何」的结果。这个句子,因为在条件副词子句中有 be 动词,所以可以用倒装来取代连接词,如下: + +Were he here, he might be able to help. + +可以先做一个小归纳:表示「非事实」的假设语气的句子,如果采用一个条件副词子句配合一个主要子句的形式来表达,那么在表示结果的主要子句当中一定会有四个过去拼法的语气助动词之一(would, should, could, might)来表示「就会、就应、就能、就可」。这些语气助动词一定是过去拼法,因为必需用过去拼法才能表达​​「非事实」的假设语气。 + +不过,假设语气的句子有许多种包装方式,不见得一定要采用「条件副词子句 + 主要子句」的方式,也不见得都是用if来连接。例如: + +Suppose you had three wishes, what would you wish for? +(假如你有三个愿望,你会许什么愿?) + +这个句子中,suppose 就是从属连接词,功能和if相同,引导条件副词子句 suppose you had three wishes,句中以过去式的动词 had 来表达「非事实」语气。后面的 what would you wish for 是主要子句,采用过去拼法的语气助动词 would 配合原形动词 wish for 来表达「非事实」的假设语气。请注意:这个主要子句中仍然有一个过去拼法的语气助动词(would),这是所有「非事实」假设语气主要子句的共同点。下面这个句子的情况就不一样了: + +If only she loved me, too! +(要是她也爱我就好了!) + +这个句子其实并不完整,有经过省略。在从属连接词if后面加上 only,往往就只看得到条件​​副词子句而缺乏主要子句,表示「如果…就好了!」。一般在表示「如果…」的副词子句后面应该有个主要子句来表示「就如何」,这样才算完整。但是采用 if only 来引导条件副词子句的话,后面的主要子句通常会省略掉。所以,If only she loved me, too! 这个条件副词子句后面并没有主要子句来交代「就如何」,因为被省略掉了。再看一种变化: + +I wish I had the money! +S V O(名词子句) +(要是我有那笔钱该有多好!) + +你看到一件很想买的东西,偏偏没有钱,就可以用这个句子来表达惋惜的语气。这是个复句,但是并没有条件副词子句在内。主要子句的主词是 I、动词是 wish,后面用名词子句 I had the money 当 wish 的受词。 + +Wish这个动词,通常用来表示「与事实相反的愿望」,所以它后面的受词子句应该采用「非事实」的假设语气,也就是用「过去」来表示(如had)。下面这个句子的情况又不一样: + +It’s time you started living on your own. +S V C 名词子句 +(你开始独立生活的时间已经到了。) + +如果子女已经大学毕业却还在家和父母同住,这种情况在美国相当少见。这时候家长可能会和子女说这句话。主要子句的主词 it 是个虚字、假主词。动词是 is,后面的 time 是主词补语。接下来 you started living on your own 是个名词子句,可以说就是主要子句真正的主词,但是向后挪、用虚字it暂代主词位置。主要子句的时间是现在,动词采现在简单式的 is,这是叙述事实的语气(时间真的已经到了)。名词子句中表达的情况(你开始独立生活)却是非事实(因为并没有开始),所以要用过去式 started 来表达假设语气。 + +### 过去时间 + +如果句子的时间本来就是在过去,动词又要采用过去来表达「非事实」的假设语气,那么「过去的过去」就是「过去完成」,所以过去时间的假设语气应采用「过去完成」来表示。 + +过去时间的假设语气,如果采用标准的「条件副词子句+ 主要子句」的句型来包装,那么条件副词子句中的动词应该用过去完成式(had + Ven),主要子句中的动词则是采用语气助动词的过去拼法(would, should, could, might)、后面接原形动词的完成式(have + Ven)。因为,这种情况的主要子句仍然要表达「就会、就应、就能、就可」的「非事实」 + +结果,所以里面还是会有一个过去拼法的语气助动词,这和现在时间的假设语气是完全一样的。例如: + +If the landslide had occurred a few seconds later, the bus could have passed through safely. +(土石流要是晚几秒发生,巴士就可以安全通过了。) + +这句话背后的事实是:土石流就是早了那几秒,造成巴士遭到掩埋。因为,这个句子叙述过去的事情,却采用过去完成来表示非事实:if 引导的条件副词子句中用过去完成式 had occurred,主要子句中也是采用过去完成式,但是分成语气助动词的过去( could,表示「就可」)、以及原形动词的完成(have passed through)。这个句子,因为条件副词子句中有助动词 had,所以可以选择用倒装的方式来省略从属连接词 if,如下: + +Had the landslide occurred a few seconds later, the bus could have passed through safely. + +再看一个例子: + +A. The accident could have been prevented if the driver had been more careful. +(那场意外本来是可以避免的,只要驾驶更小心一点。) + +若采取直说语气叙述,事实是这样的: + +B. The accident happened because the driver was not careful. +(意外发生了,因为驾驶不够小心。) + +这是发生在过去的事情,主要子句的动词(happened)与原因副词子句的动词(was)都用过去简单式,表示这是叙述事实。反之,采用「非事实」的假设语气,那么条件副词子句的动词就要再变成过去(过去完成式 had been);表示结果的主要子句中则要采用过去拼法的语气助动词(这是所有假设语气的共同点)加上原形动词的完成式(could have been),也就是上述 A 句的情况。这个句子,因为条件副词子句中有助动词 had,所以也可以选择以倒装的方式来省略从属连接词,如下: + +C. Had the driver been more careful, the accident could have been prevented. + +### 未来时间 + +未来的事情尚未发生,所以大致都属于「不确定」的范围,一般会采用「条件语气」来表示,例如: + +The weatherman says it will rain tomorrow. +(气象报告说明天会下雨。) + +如果把句中的 will 视为表达时态的「文法助动词」看待,那么 will rain 就是一般所谓的「未来式」。不过,这个上下文如果采用 may rain, might rain, could rain, should rain 等等任何一个「猜测用法」的语气助动词也都可以,这表示 will rain 当中的 will 也可以视为「猜测用法」的语气助动词。 + +如果把未来式中的 will 视为「猜测用法」的语气助动词、表示某件事情未来发生的可能性,那么「未来式」这个名称就可以从动词时态中取消,只剩下现在式与过去式。发生在现在的动作采用现在式、发生在过去的动作采用过去式,这两种都是属于叙述事实的「直说语气」。未来才会发生的事情尚不确定,需要用到包括will在内的语气助动词来做猜测,属于猜测用法的「条件语气」。 + +如果一件事情在未来有可能发生,那么在时间副词子句或条件副词子句中可以当作「已经来到」或「真正发生」了,也就是采用叙述确定事实的「直说语气」来叙述,这时候就不能使用带有不确定语气的助气助动词了。传统文法那条规则「表示时间或表示条件的副词子句,用现在式代替未来式」,就是用在这种场合。例如: + +When you graduate, there will be several jobs waiting for you. +(当你毕业时,将有好几个工作在等着你。) + +虽然对方目前尚未毕业,但是时间副词子句 when you graduate「当你毕业时」是把时间「当作」已经来到毕业的时候,也就是把未来的时间当作就是现在,所以应该采用叙述事实的「直说语气」现在式来叙述、不再能使用不确定语气的语气助动词 will。 + +If you graduate without trouble, I’ll buy you a new car. +(如果你顺利毕业,我会买辆新车送你。) + +目前还不知道对方能不能够顺利毕业,但是条件副词子句 if you graduate without trouble「如果你顺利毕业」直接假设对方是顺利毕业了,所以应该采用叙述事实的「直说语气」现在式来叙述,不再能够使用不确定语气的语气助动词 will。 + +上述的两种情况,都是把「未来有可能发生的事情」当作真正发生了,因而采用「直说语气」当作事实来叙述。 「假设语气」的未来时间则不相同。假设语气表达的是「非事实」。用在未来时间,表达的也是「与事实相反、绝无可能发生」的情况,仍旧采用「过去」作为表达方式。例如: + +If I were to tell the truth to my boyfriend, he would kill me! +Were I to tell the truth to my boyfriend, he would kill me! +(我要是跟我男朋友说真话,他会把我宰了!) + +女生如果劈腿,这种事情对男朋友当然要守口如瓶,再过一万年也不会说。上面这个句子,时间设定在未来,表达的是一种「绝无可能发生」的事情:就是「和男朋友说真话」。这时候应该采用「非事实」专用的「假设语气」来叙述。 + +未来时间的假设语气,在条件子句中的动词通常是采用 were to + V 的形式来表示。这是 be going to 的一种变化:依「假设语气」的惯例,采用「过去」作为表达「非事实」的手段,因而变成过去拼法的 were to(正式用法中不论人称,一律拼成 were。若拼成 was to 则是比较不正式、口语化的用法)。在主要子句中,仍然是四种「过去」拼法的语气助动词(would, should, could, might)配合原形动词,用来表达「非事实」。再看一个例子: + +If he were to graduate on schedule, you could call me blind. +Were he to graduate on schedule, you could call me blind. +(他要是也能够顺利毕业,你可以说我眼睛瞎了。) + +这句语是料定了此人绝无可能准时毕业。未来时间也绝无可能发生的事情,应该采用「非事实」的「假设语气」,也就是条件子句中用过去拼法的 were to graduate、主要子句中也采用过去拼法的 could call。 + +未来的事情因为尚未发生,所以比较无法确定。如果是绝无可能发生的事情,应该采用叙述非事实的「假设语气」来叙述。但是,如果是发生的可能性甚低、但是并不排除「万一」,这种界乎「事实」与「非事实」之间的情况,可以采用下列的方式来叙述: + +If the man should prove innocent, I will apologize openly. +Should the man prove innocent, I will apologize openly. +(万一此人证实是无辜的,我会公开道歉。) + +在表示条件的副词子句中用 should prove,意思是「万一证实如何」,表达一种「可能性甚低、但并非绝无可能」的情况。在这个前提之下,主要子句可以采用像 will apologize 之类,表示「真的有可能要道歉」。这种情况,严格讲起来并不属于「假设语气」的范围,因为它叙述的是有可能发生的事情,并不是「非事实」。但是,主要子句的动词如果改成过去拼法的 would apologize,那是采用了叙述「非事实」的「假设语气」,这时的口吻则是「他应该有罪,所以我没有必要道歉」。再看一个例子: + +If an asteroid should strike Earth in an hour, humans could become extinct in a short time. +Should an asteroid strike Earth in an hour, humans could become extinct in a short time. +(如果一小时后有小行星撞上地球,人类可能会在短期内绝种。) + +条件子句中采用 should strike 这种动词,​​表示「不排除万一」。主要子句中的动词采用过去拼法的 could become,表示这是「非事实」的「假设语气」,也就是「应该不会真的发生」。但如果主要子句动词改为现在拼法的 can become,就不再是「非事实」的叙述,而是「真的有可能发生」。 + +做个小归纳:未来时间,如果在条件副词子句中采用「should + 原形动词」,意思是「不排除万一」。主要子句如果采用现在拼法的语气助动词如「will + 原形动词」来配合,意思是「真的有可能发生」,这时候这个句子属于表达「不确定」情况​​的「条件语气」。反之,如果主要子句采用过去拼法的语气助动词如「would + 原形动词」,这个句子则属于表达「非事实」的「假设语气」。 + +### 混杂时间或语气 + +条件子句与主要子句,这两个子句的时间可能不一样、语气也可能不一样,必须依情况判断,不可死记公式。例如: + +If I had m​​arried much younger, I might have my own grandchildren now. +Had I married much younger, I might have my own grandchildren now. +(我要是年轻得多就结婚,现在可能自己有孙子了。) + +条件子句设定的时间是「年轻得多的时候」,也就是「过去时间」;叙述的是「非事实」(实际上并没有那么早结婚),要采用「过去」为表达「假设语气」的手段。而「过去的过去」就是过去完成式,因此条件子句的动词是 had m​​arried。但是主要子句设定的时间是「现在」(时间副词是 now);叙述的也是「非事实」(实际的情况是现在自己并没有孙子),要采用「过去」来表达「假设语气」。这时候只要用过去拼法的 might have 就行了。 + +另外,两个子句采用的语气也可能不一样,例如: + +I should have ignored the insult then, only that I was too angry. +(当时我应该不理会那个侮辱才对,只不过我太生气了。) + +主要子句动词采用过去拼法的语气助动词 should 配合完成式的动词 have ignored,用这种「过去完成」的组合来表示「过去时间非事实」的「假设语气」(事情发生在过去,而且当时自己并没有选择不理会它)。但是连接词 only that(意思是「只不过」)把语气扭转过来:only that 后面的从属子句叙述的是「事实」,采用「直说语气」。时间仍然在「过去」,采用「直说语气」来叙述的话就应该使用「过去简单式」,所以动词用的是 was。 + +## 命令语气(imperative mood) + +命令句,又称为祈使句,表达的是「希望成真」的语气,采用原形动词来表示。 + +### 直接命令句 + +如果是直接命令句,通常会省略主词(you)、直接以原形动词开头来表达命令或祈求。例如: + +Watch your step! +V O +(走路小心!) + +这是提醒对方走路要小心,并非叙述事实的「直说语气」、也不是「非事实」的「假设语气」,而是「希望成为事实」,属于命令或祈使语气,采用原形动词(watch )来表示。乍看之下没有主词,是因为在直接命令句中,主词 you 通常会省略掉。 + +许多文法书主张:Watch your step 这种说法等于 You should watch your step,笔者从前也接纳这种说法。不过,严格讲起来,这两种说法的语气其实并不相同。 You should watch your step 的动词片语是 should watch,用上了语气助动词 should。而一旦用到了语气助动词,这个动词片语就属于表达「不确定」情况​​的「条件语气」:「你走路应该小心」,意思是说对方「有责任、有义务」要小心,这是对方的事,和说话的人无关。而 Watch your step 则是属于「命令语气」,表示「我要你小心」。仔细玩味会发现,这两种语气是不一样的。只有「命令语气」才能够表达说话者的主观意愿。再比较一组例子: + +You may come in. +Come in! + +前者用到语气助动词 may,属于表达「不确定」的「条件语气」,意思是「你想进来的话就可以进来」,这纯粹是对方的事,与说话者无关。后者则直接采用原形动词 come in,属于表达「希望成真」的「命令语气」,这种语气的意思是「我要你进来」,表现的是说话者的主观意志,和 You may come in 的「条件语气」并不相同。 + +### 间接命令句 + +比较不容易理解的是「间接命令句」。这种命令句,特色是它的主词并不省略,而动词则和直接命令句相同、同样采用原形动词。这种间接命令句通常都出现在由连接词that引导的名词子句中,主要子句则从内容上暗示后面的 that 子句表达的是个命令。例如: + +It is necessary that the letter be sent out before noon. +(这封信有必要在中午之前寄出。) + +从 it is necessary 来看,可以看出后面那个子句中的叙述尚未成为事实,只是一件说话者要求「必须要做」的工作。换言之,那是属于命令句的语气,应该采用原形动词 be 来表示。如果是直接命令句,应该省略主词 you、直接用原形动词开头,如下: + +Send the letter out before noon. + +但是,上面那个间接命令句的主词并非 you,而是 the letter,所以主词并不省略。动词则仍旧采用原形动词,才能表达命令的语气。再看一个例子: + +I insist that the letter be sent out before noon. +(我坚持这封信一定要在中午之前寄出。) + +这个句子,前面用 I insist 表示这是「要求成真」,后面则采用原形动词 be 来表现命令句语气,表示「信在中午之前寄出」尚未成为事实,只是个「祈使、命令」。比较一下底下这个句子: + +I insist that the letter was sent out before noon. +(我跟你讲真的:这封信真的是在中午之前就寄出去了。) + +这个句型看起来和上一句相同,但是意思不一样:时间是过去(before noon),动词采用过去简单式 was,表示这里是采用叙述事实的「直语气」来叙述过去真正发生的一件事:信真的寄掉了。 间接命令句要注意:它要用原形动词来表达,而原形动词没有人称变化、也没有时态的差别。例如: + +The coach suggests that the player stay at school. +(教练建议这名球员就住在学校好了。) + +前面的 the coach suggests 表示这是「希望成真」,所以后面的叙述采用「间接命令语气」,也就是用原形动词来呈现。这时候虽然主词是第三人称单数的 the player,动词仍然要用原形的 stay,不加-s。 + +The boss demanded that everybody work overtime. +(老板要求大家都要加班。) + +前面的 the boss demanded 表示这是「希望成真」,所以后面要配合「间接命令语气」,采用原形动词。这时候,虽然主要子句动词 demanded 是过去式,但是后面还是用原形动词的 work,并没有时态的差别。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/NounClauses.md b/corejava第9版/EnglishGrammarBook-master/docs/NounClauses.md new file mode 100644 index 0000000..df24c96 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/NounClauses.md @@ -0,0 +1,399 @@ +# 第十七章 名词子句 + +## 复句 + +复句(complex sentences)由两个以上的限定子句构成,包括主要子句与从属子句。主要子句是一个本身可以独立的句子。从属子句则需要有连接词引导,整个放在主要子句中当做名词使用(称为名词子句)、当做形容词用来修饰名词(称为形容词子句)、或者当做副词使用(称为副词子句)。请比较下列的句子: + +Chicago is a grain-shipping center. + +Chicago is a center that ships grain. 形容词子句 +( 芝加哥是谷物转运中心。)] + +第 1 句是个单句,名词片语 a grain-shipping center 中有个复合字的形容词 grain-shipping 修饰后面的名词 center。第 2 句则是复句,其中的主要子句是 Chicago is a center。后面经由关系词 that 的引导,放进一个形容词子句 that ships grain 用来修饰前面的名词片语 a center。这个形容词子句扮演的角色和第1句中的形容词复合字 grain-shipping 相同。 + +He worked overtime for the money. +(他加班,为了赚钱。) + +He worked overtime because he needed the money. +副词子句 +(他加班,因为他需要这笔钱。) + +第 1 句是个单句,里面有个介系词片语 for the money 当副词使用、修饰动词 worked 的原因。第 2 句则是复句,主要子句是 He worked overtime。后面经由从属连接词 because 引导,放进一个副词子句 because he needed the money,修饰动词 worked 的原因。这个副词子句扮演的角色和第1句中的副词片语 for the money 相同。 + +I saw the mirror. +S V O +(我看到镜子。) + +I saw that the mirror was broken. +S V O 名词子句 +(我看到镜子是破的。) + +第 1 句是 S + V + O 的单句,主词是 I,动词是及物动词 saw,受词是名词片语 the mirror。第 2 句是个复句,主要子句仍然是 S + V + O 的句型(I saw something)。主要子句中的受词位置经由从属连接词 that 的引导,放进一个名词子句 that the mirror was broken,当做动词 saw 的受词。这个名词子句扮演的角色和第1句中的名词片语 the mirror 相同。 + +## 名词子句的种类 + +名词子句依其构造可分成两种:由直述句改造而来的名词子句、以及由疑问句改造而来的名词子句。 + +### 来自直述句 + +如果是直述句要改造为名词子句,做法很简单:只要在直述句前面加上一个单独、无意义的从属连接词 that(表示「那句话」或「那件事」),就是一个名词子句,可以放入主要子句中当做名词使用了。例如: + +He didn’t take the money. +(他没有拿钱。) + +I believe that. +S V O +(我相信那件事。) + +第 1 句是个直述句,在前面加上从属连接词 that 成为 that he didn't take the money 这个名词子句,就可以放入第 2 句(主要子句)当中的受词位置,成为这个复句: + +I believe that he didn’t take the money. + +### 来自疑问句 + +由疑问句改造出来的名词子句,又可分成两种:来自 Information Question、以及来自 Yes/No Question。 + +### 来自Information Question + +有疑问词(如who, which, what, when, why, how, where等)引导的疑问句,称为 Information Question。这种疑问句,里头的疑问词可以充当现成的从属连接词,所以只要把问号拿掉,不必加任何东西就可以直接成为名词子句。例如: + +What happened at his party? +S V +(他开的宴会出了什么事?) + +I never asked him the question. +S V O O +(我一直没问他这个问题。) + +第 1 句有疑问词 what 引导,这个疑问词可以充当从属连接词,只要把问号拿掉就可以变成名词子句。而因为 what 这个疑问词本身就是这个疑问句的主词,所以拿掉问号改成名词子句的时候并不需要更动动词顺序,因此名词子句就是 what happened at his party。这个名词子句直接放进第2句(主要子句)里面当受词使用,就会变成下面这个复句: + +I never asked him what happened at his party. +S V O O 名词子句 + +下面这个例子,情况稍有不同: + +Where did he keep the money? +疑问副词 S V O +(他把钱放在哪里?) + +He never revealed the question. +S V O +(这个问题他从未透露。) + +第 1 句中有 where 这个疑问词、是个 Information Question。疑问词本身可以充当从属连接词,只要把问号拿掉、独立的疑问句改成从属子句即可。但是,疑问词 where 并非这个疑问句的主词,拿掉问号时还需要把疑问句的动词顺序还原,成为 where he kept the money。接下来就可以把这个名词子句放进第 2 句(主要子句)中的受词位置,成为这个复句: + +He never revealed where he kept the money. +S V O 名词子句 + +### Yes/No Question + +如果疑问句中并没有疑问词,这种疑问句称为 Yes/No Question。它要改成名词子句的话必须加上从属连接词 whether 或 if。例如: + +Is it going to rain soon? +(是不是很快就要下雨了?) + +By looking at the sky, I can tell the question. +S V O +(只要看看天色,我就能够判断这个问题。) + +第 1 句没有疑问词引导,这种疑问句称为 Yes/No Question。要改成名词子句,第一步还是要把问号拿掉使它从独立的疑问句变成从属子句。但是因为缺乏疑问词,光是拿掉问号的话会变成 it is going to rain soon「很快就要下雨了」这个肯定的叙述。为了维持「疑问」的语气,可以借助对等连接词的相关字组 either … or,先改写为合句如下: + +Either it is going to rain soon or it is not. +(或者快要下雨了、或者不是。) + +再把开头的 either 进一步改为从属连接词 whether「是否」,就会成为 whether it is going to rain soon (or not)这个名词子句,可以放进第 2 句中扮演受词的角色,成为这个复句: + +By looking at the sky, I can tell whether it is going to rain (or not). +S V O 名词子句 + +这个从属连接词除了 whether 之外还可以用 if(解释为「是否」),所以上面这个复句也可以写成 I can tell if it is going to rain。不过,在写作时最好尽量使用 whether 来表示「是否」、避免使用 if。有几个原因: + +一. Whether解释为「是否」,if则有「是否」和「如果」两种解释。所以,用whether来表达通常会比用if更清楚。 + +二.句首位置只能用whether、不能用if来表示「是否」。 + +例如: + +Whether we can win the big prize will be decided soon. +S 名词子句 V C +(我们是否能够赢得大奖,不久便见分晓。) + +这个复句,主要子句的主词就是开头那个名词子句。因为从属连接词位于句首位置,假如用的连接词是if,读者看到 If we can win the big prize 获得的印象是「『如果』我们能够赢得大奖」,这样就会错意了。所以,在句首位置要表示「是否」,只能用 whether 这个连接词而不能用 if。 + +三.介系词后面可以用whether不能用if。 + +例如: + +The manager hinted at whether he would sign the contract. 介系词 名词子句 (经理暗示了一下他是否要签署合约。) + +这个复句中有个介系词at,它后面的受词位置可以放由 whether 引导的名词子句,但是这个位置不能用 if,否则就是文法错误。 + +基于上述三种原因,写作时最好养成习惯:要表示「是否」时,最好选择用 whether 来表示比较不会出错。 + +## 名词子句的位置 + +名词子句必须放在主要子句中当作名词使用。而主要子句中的名词位置有下列五种:主词必须是名词、动词的受词必须是名词、补语可能是名词、名词的同位格必须是名词、还有介系词的受词也必须是名词。这五种位置中,来自直述句的名词子句(以 that 连接的那种)只能用在前四种、不能用在介系词后面的受词位置。至于来自疑问句的名词子句(以一些拼成 wh- 的词连接的那种)则是五种位置都可以使用,包括介系词的受词位置。以下就其出现的位置分别探讨两种名词子句的用法。 + +接下来这个部分请读者同时注意一个问题。直述句改为名词子句时要外加一个从属连接词 that。这个连接词因为只有文法功能而没有实质的意义,所以经常是能省则省。 That 子句在它可以放的四种位置中,何时能够省略连接词 that、何时不能,这个问题我们会连带处理。在以下这一节的例句中,如果连接词 that 前后没有打括弧,表示它通常不能省略。如果 that 放在括弧中,就表示这个位置的 that 子句只要不是太长、太复杂,都可以省掉连接词 that。至于疑问词改写而来的名词子句(以下称为 wh- 子句),疑问词 who,什么,在哪里,何时等等各有意义,不能省略。 + +### 一,主词位置 + +#### That 子句 + +Something is an undeniable fact. +S V C +(有一件事是无法否认的事实。) + +The suspect has a strong alibi. +(嫌犯拥有强而有力的不在现场证明。) + +第 1 句的主词 something 是个空洞的字眼,可以把第二句这个直述句改造为名词子句、放在 something 的位置当主词使用、构成一个复句。做法就是在第 2 句前面加个从属连接词 that,成为 that the suspect has a strong alibi,然后置入第 1 句中,如下: + +That the suspect has a strong alibi is an undeniable fact. +S 名词子句 V C + +放在句首主词位置的 that 子句,连接词 that 不能省略,因为如果省掉的话,读者看到的是这样一个句子: + +The suspect has a strong alibi is an undeniable fact. (误) + +所谓「先入为主」,读者阅读这句话的印象是 the suspect 就是主词、has 是动词、a strong alibi 是受词,到这里都没有问题。但是接下来读者又看到一个动词 is,就会无法判断这个句子的句型与意思。所以,从属连接词 that 引导的名词子句放在句首主词位置时,连接词 that 不得省略。 + +从属子句是个比较庞大的构造。如果是一个比较长的名词子句放在句首当作主要子句的主词使用,读起来的感觉会比较复杂。这时候有个简单化的办法,就是把名词子句移到句尾,原本主要子句主词的位置则用一个虚字 it 暂代,如下: + +It is an undeniable fact (that) the suspect has a strong alibi. +S V C 名词子句 + +这样做的好处是先用比较简单的构造 it is an undeniable fact 把主要子句交代清楚,后面再用名词子句慢慢说明 it 是什么内容。这种情况,因为主要子句在前、名词子句在后,从属连接词 that 还是可以省略、不会看不清楚句型。 + +#### Wh- 子句 + +Where is he hiding now? +(他现在藏身何处?) + +The question is a big mystery. +S V C + +(这个问题非常神秘。) + +第 1 句是由疑问词 where 引导的疑问句,改成名词子句时要拿掉问号、还原动词顺序,成为 where he is hiding now。原本的疑问词可以直接充当名词子句的连接词使用,所以不必再加连接词。只要把这个名词子句放入第 2 句中的主词位置,就会成为下面这个复句: + +Where he is hiding now is a big mystery. +S 名词子句 V C + +另外,为了避免头重脚轻,也可以选择用虚字it暂代主词位置,而把真正的主词(名词子句)往后移,成为这样的复句: + +It is a big mystery where he is hiding now. +S V C 名词子句 + +疑问词 where 是有意义的字(代表「在何处」),和空洞的 that 不同,因此不能省略。 + +### 二、动词的受词位置 + +#### That 子句 + +Many people believe something. +S V O +(许多人相信一件事。) + +One’s zodiac sign determines one’s character. +(星座决定人的性格。) + +第 2 句是个直述句,前面加个从属连接词 that 可以制造出名词子句、置入第 1 句中 something 的位置当作及物动词 believe 的受词,成为复句如下: + +Many people believe (that) one’s zodiac sign determines one’s character. +S V O 名词子句 + +这个复句中,名词子句当作及物动词的受词使用。一般文法书中都会列出规则:名词子句当受词使用时,连接词 that 可以省略。拿上面这个例子来说,读者看到 many people believe 就会作出正确的假设:这是主要子句的主词和动词。而因为 believe 是及物动词、后面需要一个受词,因此读者会自动把后面的名词子句 one’s zodiac sign determines one’s character 当受词看待。这种情况,没有意义的连接词 that 自然可以省略。 + +如果在 S + V + O + C 的句型中,受词位置是个名词子句,这时候因为在受词后面还有受词补语存在,可能会造成句子不清楚,所以应该先用虚字it暂代受词位置、把名词子句移到句尾,例如: + +I find something amazing. +S V O C +(我觉得有件事实在很惊人。) + +You still look so young. +(你看起来仍然这么年轻。) + +句1中因为有受词补语amazing,如果直接把句2改造成名词子句放进句1的受词位置,句型会不够清楚。所以必须先用虚字it暂代受词位置,然后在句2这个直述句前面加上从属连接词that制造出名词子句,但是移到句1的句尾位置,成为: + +I find it amazing (that) you still look so young. +S V O C 名词子句 + +这种情况,前面 I find it amazing 这个主要子句很清楚,而后面 you still look so young 这个名词子句自然就是虚字it的真正内容,所以连接词 that 也可以省略掉。 + +#### Wh- 子句 + +Why had he bought so much of that stock? +(他为什么大举买进那支股票?) + +He explained the question. +S V O +(他解释了这个问题。) + +第 1 句是个有疑问词 why 引导的 Information Question,改成名词子句的做法是拿掉问号、还原动词顺序,成为 why he had bought so much of that stock。这个名词子句就是第 2 句(主要子句)里面的受词 the question,直接把它放在受词位置,结果就成为下面这个复句: + +He explained why he had bought do much of that stock. +S V O + +来自疑问词的连接词 why 是个有意义的字(表示「为何」),不得省略。 + +### 三、补语位置 + +#### That 子句 + +It seems something. +S V C +(似乎有一件事。) + +We’re going to win this game after all. +(这场比赛我们终究还是会赢。) + +句 1 中的主词 it 就是个虚字,而且这个虚字也没有任何内容,因为这个句子从意思上看并没有任何主词。但是英文句型不能没有主词,所以就用虚字 it 充当形式上的主词。句 2 是个直述句,可以加上一个从属连接词 that 制造出名词子句 that we’re going to win this game after all,放进句 1 中 something 的位置当主词补语使用,成为复句如下: + +It seems (that) we’re going to win this game after all. +S V C 名词子句 +(看起来这场比赛我们终究还是会赢。) + +主要子句的主词 it 是纯粹的虚字、没有内容。动词 seems 是个连缀动词,后面的 that 子句是个名词子句、当主词补语使用。因为这个复句仍然是主要子句在前、从属子句在后,所以无意义的连接词仍然可以省略。 + +#### Wh- 子句 + +We all know what happened. The question is this. +S V C +(我们都知道出了什么事。问题是这个。) + +Can we do anything about it? +(我们有没有办法解决?) + +第 2 句是个缺乏疑问词的 Yes/No Question。改成名词子句的做法是拿掉问号、加上连接词 whether,成为 whether we can do anything about it 这个名词子句。这个名词子句直接放入第 1 句(主要子句)中的主词补语位置取代 this,就会成为下面这个复句: + +The question is whether we can do anything about it. +S V C + +疑问词转变过来的连接词 whether 有意义(解释为「是否」),所以不能省略。 + +### 四、同位格位置 + +#### That 子句 + +到了本书后面「高级句型」的层次、介绍过减化子句之后,读者对同位格会有全新的认识。但是在目前的阶段还是先接受传统文法的讲法:所谓同位格(appositive),就是在名词后面再来另一个名词,后者和前者是全等关系、扮演同样的角色。例如: + +The woman can’t forget the fact (that) her husband cheated on her. +S V O 同位格,名词子句 + +这个复句中,her husband cheated on her 是个直述句,外加从属连接词 that 成为名词子句,放在名词片语 the fact 后面当作它的同位格。这种情况还是主要子句在前面,所以只要句子不是太复杂,连接词 that 仍然可以省略。 + +#### 不明显的同位格 + +有些句子,里面的同位格不大容易看得出来,因为经过了省略。例如: + +The student is worried (that) he may fail in the exam. +S V C 同位格,名词子句 +(这个学生担心他考试可能会不及格。) + +句中的 he may fail in the exam 是个完整的限定子句,前面加上从属连接词 that 成为名词子句,但是不大容易看出来这个名词子句在主要子句中扮演的是什么角色。主要子句 the student is worried 是 S + V + C 的句型,所以它后面并没有名词子句的空间。但是 that he may fail in the exam 这个子句的构造就是个名词子句。笔者认为这中间经过了省略,可以还原如下: + +The student is worried about the possibility (that) he may fail in the exam. + +在 worried 后面本来有一个介系词片语 about the possibility 修饰它,后面的名词子句 that he may fail in the exam 是 the possibility 的同位格。而因为 the possibility 这个名词片语没有什么具体的内容、又和 that 子句重复,所以把可有可无的介系词片语 about the possibility 省略掉,结果就是 The student is worried (that) he may fail in the exam 这个句子。这个复句中也是主要子句在前、从属子句在后,所以从属连接词 that 仍然可以省略。再看一个例子: + +The family was unaware (that) a burglar had broken into the cellar. +S V C 同位格,名词子句 +(这家人并不知道有个窃贼已经闯入了地下室。) + +这个复句中,主要子句 the family was unaware 也是 S + V + C 的句型。后面的 a burglar had broken into the cellar 是个完整的直述句,外加从属连接词 that 成为名词子句。这个名词子句扮演的仍然是同位格的角色,可还原如下: + +The family was unaware of the fact that a burglar had broken into the cellar. + +句中本来有介系词片语 of the fact 修饰形容词 unaware,后面的名词子句是​​名词 the fact 的同位格。因为介系词片语 of the fact 被省略掉,名词子句扮演的角色才会看不清楚。 + +#### Wh- 子句 + +The question why the dinosaurs died out may never be answered. +名词 同位格,名词子句 + +疑问词 why 引导的疑问句 Why did the dinosaurs die out? 改为名词子句,只要把问号拿掉、动词顺序还原,成为 why the dinosaurs died out,疑问词 why 就是现成的从属连接词。这个名词子句放在主要子句的主词 the question 后面,当做同位格使用。 + +#### 不明显的同位格 + +I am not sure what caused the delay. +S V C 名词子句 + +疑问词 what 引导的疑问句 What caused the delay? 要改成名词子句,只要把问号拿掉。因为疑问词 what 同时也是主词,所以不必再调整动词顺序,直接成为 what caused the delay 这个名词子句。名词子句必须放在主要子句中的名词位置。但是,主要子句 I am not sure 是 S + V + C 的句型,后面并没有名词位置可言。合理的解释得把省略的部分还原才能够看清楚: + +I am not sure of the question what caused the delay. + +名词子句 what caused the delay 放在名词片语 the question 后面当它的同位格使用。原句因为省略了可有可无的介系词片语 of the question,因而看不大出来有个同位格位置在后面。 + +### 五、介系词的受词位置 + +介系词后面也需要受词,但是这个受词应该用的是名词片语而非子句。如果是直述句外加 that 构成的名词子句,放在介系词后面当受词就是文法错误。不过,如果是 wh- 子句,也就是有疑问词引导、或者有复合关系代名词引导(后面的章节会有说明),这种名词子句就可以放在介系词后面。例如: + +My response depends on the question. +S V 介系词片语 +(我的回应要视一个问题而定。) + +What did he really mean by that? +(他那样讲到底是什么意思?) + +第 2 句是由疑问词 what 引导的疑问句,改成名词子句的话只要拿掉问号、还原动词顺序,成为 what he really meant by that 即可。这个名词子句即是第 1 句(主要子句)介系词片语当中受词 the question 的内容。可以直接把名词子句放进介系词后面的受词位置取代 the question,成为下面这个复句: + +My response depends on what he really meant by that. +介系词 O(名词子句) + +不过,只有 wh- 子句才能直接放在介系词后面当受词使用。如果是 that 子句就不能这样做,要换一种方式: + +His response dwells on the fact. +S V +(他的回应一直强调一件事实。) + +I owe him a favor. +(我欠他人情。) + +第 2 句这个直述句 I owe him a favor 就是第 1 句(主要子句)介系词片语中受词 the fact 的内容。改成名词子句的做法是外加一个无意义的从属连接词 that,成为 that I owe him a favor。但是这种 that 子句不能直接放在介系词后面当受词,所以必须放在另一个位置——放在​​ the fact 后面当它的同位格,如下面这个复句: + +His response dwells on the fact (that) I owe him a favor. +名词 同位格,名词子句 + +## 评论子句 + +有一些经常听到、类似口头禅的用语,如 you know, I guess, I suppose 等等,看起来也是限定子句的构造,但是无甚意义,只是放在句中不重要的位置当个点缀。这种用语称为**评论子句(Comment Clause)**。例如: + +He was really afraid, I believe. +(我看他是真的怕了。) + +This trick, you know, will never work. +(你晓得,这一招是一定行不通的。) + +评论子句的用法往往就像上面两个例子所示:打个逗点放在句尾与主要子句隔开、或者前后加上一对逗点插入主要子句中间(通常是在主词与动词之间)。这种逗点的用法类似打上一对括弧、在括弧里面放的是可有可无的补充说明。 + +## 引用句 + +直接引用句在引用文字前后加上双引号(”…”),间接引用句则会把双引号移除、引用的文字以名词子句方式纳入主要子句中。例如: + +The guard said, “The road is closed.” +S V O + +The guard said (that) the road was closed. +S V O +(警卫说道路封闭了。) + +请注意直接引句与间接引句在动词时态方面的变化。另外,不论是直接引句还是间接引句,引用的文字都可以移到句首来加强语气,这时候主要子句的动词可以选择倒装到主词前面、也可以不倒装,如下: + +“The road is closed,” said the guard. +“The road is closed,” the guard said. +The road was closed, said the guard. +The road was closed, the guard said. + +在写作的时候,引用句如果采用倒装,修辞效果有时候会比较好。例如下面这个句子: + +Frank Kazinsky, chief analyst for the International Monetary Fund and an expert on oil, says that oil prices will keep rising until the supply completely runs dry. +S V O 名词子句 +(Frank Kazinsky, 国际货币基金会首席分析师、石油问题专家,表示油价将持续上涨直到供应完全枯竭为止。) + +这个句子的修辞效果不是很好,因为在主要子句主词 Frank Kazinsky 和动词 says 之间有很长的同位格隔开。而且读者比较感兴趣的是此人说了什么,却一直到最后面才揭晓。这时候不如采取倒装句,如下: + +Oil prices will keep rising until the supply completely runs dry, says Frank Kazinsky, chief analyst for the International Monetary Fund and an expert on oil. +O 名词子句 V S + +在倒装句中,读者感兴趣的内容移到句首最显著的位置。而且,动词移到主词前面之后就和主词消除了距离,主词后面的同位格不再构成干扰,因此这是修辞效果较佳的说法。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/NounClausesReduced.md b/corejava第9版/EnglishGrammarBook-master/docs/NounClausesReduced.md new file mode 100644 index 0000000..4064655 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/NounClausesReduced.md @@ -0,0 +1,533 @@ +# 第二十四章 名词子句减化 + +只要是从属子句减化,做法都是一样:省略掉主词与be动词、留下补语部分。名词子句的减化也不例外。名词子句进行减化时,比较需要注意的是词类的要求:名词子句在主要子句中扮演主词、受词、补语、同位格等角色,经常是不可或缺的元素;减化之后要注意减化子句必须仍然是名词类(如动名词、不定词片语等),才能继续扮演同样的角色。 + +所有的从属子句减化时,动词的处理方式都是一样的:若有be动词则省略 be 动词、有语气助动词则减化为 to,若是普通动词则一律加 -ing。名词子句减化时也是如此处理,只是要注意:减化之后剩余的减化子句必须维持名词的词类。最常见的结果就是减化为动名词(Ving)与减化为不定词片语(to V)这两种情况,分别说明如下。 + +## 简化为 Ving + +名词子句在主要子句中经常扮演主词、受词、补语、同位格等角色。以下先依这四种常见的位置观查一下名词子句减化为 Ving 的情形。 + +### 主词位置 + +[That you don’t have a cell-phone] can save you a great deal of trouble. +S 名词子句 V O O +(没有手机,可以替你省掉不少麻烦。) + +主要子句的主词是个名词子句(中括弧内的部分)。这个名词子句的减化,做法是省掉主词 you(与主要子句的受词 you 重复),再把普通动词 have 加上 -ing,否定句的写法就是 not having a cell-phone。名词子句外加的连接词 that 无意义、只有文法功能。在名词子句减化之后,这个无意义的连接词自然要一并删掉。结果就是: + +[Not having a cell-phone] can save you a great deal of trouble. +S 减化名词子句 V O O + +名词子句的主词如果和主要子句的内容并不重复、也不是空洞无意义的字,那么在进行子句减化时必须设法保留下来,不然句子的意思会受到损害。最常见的一种保留方式就是:动词减化为动名词(Ving),主词以所有格的形式安插在动名词前面的限定词位置。例如: + +[That John was drunk] is no excuse for the rude behavior. +S 名词子句 V C +(John当时喝醉了,这并不能构成他行为粗暴的​​借口。) + +名词子句(中括弧内的部分)的主词 John 是个有意义的主词,而且和主要子句的内容并不重复,减化时有必要保留下来。动词是 be 动词,一般的减化方式是省略掉空洞无意义的 be 动词。但是观察一下:省略掉 be 动词之后,剩下的是形容词补语 drunk,并不能够取代名词子句当作主要子句的主词使用。需要做词类变化才行。可以选择把形容词 drunk 改为名词 drunkeness 来取代名词子句,原来的主词John可以用所有格 John’s 的方式放在名词前面的限定词位置保留下来,成为: + +[John’s drunkeness] is no excuse for the rude behavior. +S 减化名词子句 V C + +另一种词类变化的方式是在形容词补语 drunk 前面加上无意义的 being 来做词类变化:变成 being drunk 这个动名词片语来取代原来的名词子句,原来的主词 John 同样以所有格 John's 的形式安插在限定词位置保留下来,如下: + +[John’s being drunk] is no excuse for the rude behavior. +S 减化名词子句 V C + +也可以选择把 John’s 安插在别的位置,例如 rude behavior 前面的限定词位置,如下: + +[Being drunk] is no excuse for John’s rude behavior. +S 减化名词子句 V C + +总之,如果名词子句原来的主词有意义又不重复,进行减化时就要设法找个位置安插它、把它保留下来。动名词前面的所有格位置是个常用的位置。 + +### 受词位置 + +I dislike [that I am kept waiting]. +S V O 名词子句 +(我不喜欢被迫等候。) + +名词子句(中括弧内)当作及物动词 dislike 的受词使用。它的主词 I 和主要子句的主词相同,可以省略。接下来再省略掉无意义的 be 动词。这是一般减化子句的标准做法。但是,省略掉重复的主词与空洞的 be 动词之后,名词子句剩下的部分 kept waiting 是个过去分词片语,属于形容词类、不再是名词,因而不能继续扮演及物动词的受词角色。这时候需要进行词类变化:要把 kept waiting 改为名词类。不过,这个上下文就是需要过去分词 kept 才能表示「被迫」的被动语态、也需要现在分词 waiting 才能表示「持续」的进行状态。想要做词类变化,必须另外想办法:在前面加上无意义的 being,成为 being kept waiting,整个片语的词类就转变为动名词片语,可以当受词使用了,意思仍然不变,如下: + +I dislike [being kept waiting]. +S V O 减化名词子句 + +名词子句如果里面的动词是 be,后面用过去分词(Ven)表示被动语态,在子句减化时通常会用到 being + Ven 的构造改造成动名词片语以维持名词的词类。再看一个例子: + +I saw [that many birds were flying southward]. +S V O 名词子句 +(我看到许多鸟在往南飞。) + +名词子句(中括弧内的部分)当作动词 saw 的受词使用。这个名词子句要进行减化时,因为它的主词 many birds 具有明确的内容、又和主要子句的内容并不重复,所以必须设法把这个主词保留下来。以这个例子而言,有一个办法是把原来的主词 many birds 放在主要子句的受词位置、be 动词省略掉,原来的主词补语 flying southward 则放在受词补语位置,如下: + +I saw many birds flying southward. +S V O C + +利用句型变化来安插原来的主词,这也是处理减化子句不同主词的一种方式。 + +### 补语位置 + +The actor’s greatest achievement is that he has been nominated twice for the Oscar. +S V C 名词子句 +(这位演员毕生最高的成就在于他曾两次获得提名角逐奥斯卡。) + +这个句子,主要子句的主词补语部分是个名词子句。名词子句的主词 he 就是主要子句当中那个 actor,因为重复所以有减化的空间。做法是先省掉名词子句的主词 he。它的动词是be动词的完成式 has been,后面用过去分词 nominated 表达被动语态。如果减化时把整个动词片语 has been 视为无意义而省略掉,那么剩下的过去分词 nominated 是形容词类、无法取代名词子句。为了做词类变化,可以把动词 has been 改成动名词 having been 保留下来: + +The actor’s greatest achievement is having been nominated twice for the Oscar. +减化名词子句 + +名词子句中若有完成式(have + Ven)的动词,在减化时可以用 having + Ven 的动名词型态保留下来、维持名词的词类。如果名词子句中是完成式的 be 动词(have been)配合过去分词(Ven)表达被动语态,减化时会变成 having been + Ven 的型态。 + +### 同位格位置 + +I am happy [that you won the prize]. +S V C 名词子句 +(我很高兴你得奖了。) + +直述句 you won the prize 前面加上无意义的从属连接词 that 构成名词子句。这个名词子句扮演的角色比较不容易看出来,因为中间经过了省略,可以还原如下: + +I am happy about the fact [that you won the prize]. +名词 同位格,名词子句 + +在 happy 后面本来有个介系词片语 about the fact 修饰它,接下来那个 that 子句(中括弧内)是个名词子句、当作 the fact 的同位格使用。介系词片语 about the fact 没有什么明确的内容,而且又和后面的同位格重复,所以整个被省略掉了。 + +如果选择要减化 that you won the prize 这个名词子句,就得把原来被省略掉的介系词 about 拿出来使用,在 about 后面就有一个受词位置,可以放个名词进去。有两种放法: + +I am happy about you winning the prize. +介系词 O + +I am happy about your winning the prize. +介系词 O + +句 1 是选择在介系词后面放进名词子句原来的主词 you 当它的受词。这时候,原来的动词 won 就得加上 -ing 成为现在分词,整个片语 winning the prize 成为现在分词片语、当形容词使用,修饰 you。 + +句 2 则是选择在介系词后面放进动名词片语 winning the prize 当它的受词。这时候,名词子句原来的主词必须采用所有格 your 的型态、安插在 winning the prize 前面的限定词位置保留下来,意思才够清楚。再看一个例子: + +The fact [that he is innocent] should be obvious to all. +S 同位格,名词子句 V C +(他是无辜的,这点大家看来都应该蛮明显的。) + +主要子句的主词 the fact 没什么内容,后面的名词子句(中括弧内)是它的同位格。这个名词子句减化时,因为前面的 the fact 是个空洞无意义的字,应该把 the fact 一并省略掉、把减化的名词子句直接放入主词位置,用字才够精简。减化的做法,可以选择把无意义的 be 动词省略掉,后面的形容词补语 innocent 必须改变词类成为名词的 innocence,然后把原来的主词 he 以所有格 his 的形式安插在限定词位置,如下: + +[His innocence] should be obvious to all. +S 减化名词子句 V C + +另一个做法是保留形容词补语 innocent,但是在前面加上无意义的动名词 being 来做词类变化,变成 being innocent 这个动名词片语,原来的主词 he 仍然以所有格 his 的方式安插在限定词位置,如下: + +[His being innocent] should be obvious to all. +S 减化名词子句 V C + +再看一个例子: + +The student was worried [that he couldn’t pass the exam]. +S V C 名词子句 +(这个学生担心考试会不及格。) + +名词子句(中括弧内的部分)扮演的是同位格的角色,但是前面有个介系词片语被省略掉了,还原回去会看得比较清楚: + +The student was worried about the possibility [that he couldn’t pass the exam]. +介系词 名词 同位格,名词子句 + +在过去分词 worried 后面本来有个介系词片语 about the possibility 修饰它,接下来的名词子句是​​ the possibility 的同位格。如果选择要减化这个名词子句,必须先把省略掉的介系词 about 放回去,那么这个介系词后面就有个受词的空间可以安插减化子句。名词子句中的动词片语是 couldn’t pass,正常的减化做法是把语气助动词 could 减化为表示不定词的 to。但是,介系词后面只能放一般的名词片语(包括动名词)、不能放不定词,所以要另想办法。可以先把动词片语 couldn’t pass 改写为 was not able to pass,以避免语气助动词。然后再把 was not able to pass 改写为动名词片语 not being able to pass,就可以当介系词 about 的受词了,如下: + +The student was worried about not being able to pass the exam. +介系词 减化名词子句 + +下面这个例子的情况稍有不同: + +I’m surprised that there is no index to the book. +S V C 名词子句 +(我很惊讶这本书竟然没有索引。) + +句中的名词子句扮演什么角色,必须把省略掉的介系词片语还原回去才看得清楚: + +I’m surprised at the fact that there is no index to the book. +S V C 名词 同位格,名词子句 + +名词子句 that there is no index to the book 是前面 the fact 的同位格。原句省略掉了介系词片语 at the fact。如果选择要把后面的名词子句减化,就得把介系词 at 拿回来使用,介系词后面的受词位置就可以用来安插减化的名词子句,如下: + +I’m surprised at there being no index to the book. +减化名词子句 + +比较特别的地方在于:名词子句中采用 there is … 的句型来表示「存在有」,进行减化时必须保留这个构造才能留下「存在有」的意思,所以只能把限定动词 is 变成动名词 being,成为 there being no index to the book 这个减化名词子句。 + +## 简化为 to V + +名词子句中如果有语气助动词, 简化的做法就是把语气助动词先改写为 be + to, 然后还是一样:省略掉无意义的 be 动词,剩下的就是不定词片语。以下分成「来自直述句的名词子句」与「来自疑问句的名词子句」两种情况, 分别探讨名词子句减化为 to V 的做法。 + +### 来自直述句的名词子句 + +直述句外加无意义的连接词 that,构成的就是名词子句。这种名词子句如果动词片语中包含语气助动词,减化的结果就会变成表示不定词的 to。以下分主词、受词、补语等位置分别说明。 + +#### 主词位置 + +It is important [that one should be honest]. +S V C 名词子句 + +这个句子,主词位置是个虚字 it,它代表的内容就是后面那个名词子句(中括弧内的部分),所以这个名词子句才是真正的主词。减化的做法是把空洞的主词 one 省略掉、语气助动词 should 减化为表示不定词的 to,再把无意义的连接词 that 删掉,成为: + +It is important [to be honest]. +S V C 减化名词子句 + +接下来请比较这两个句子: + +[That anyone should go on such a mission] takes guts. +S 名词子句 V O +(任何人如果要出这种任务的话都得有胆量才行。) + +[That John should go on such a mission] is suicide. +S 名词子句 V O +(John 如果要出这种任务的话简直是自寻死路。) + +句 1 中的名词子句(中括弧内的部分)当主词使用。这个名词子句里面的主词是空洞的 anyone,减化时可以省略。再把语气助动词减化为表示不定词的 to、无意义的连接词 that 省略掉,结果如下: + +[To go on such a mission] takes guts. +S 减化名词子句 V O + +句 2 的情况稍有不同,主要是因为名词子句里面的主词是 John,不再是空洞的字眼,因此进行名词子句减化时有必须保留下来。如果是减化为动名词(Ving),如上节所述,动名词和普通名词一样,在它前面有个限定词位置,可以用所有格的形式把原来的主词保留下来。但是,如果减化为不定词片语(to V),它前面就没有限定词位置了,这时候一般的做法是加个介系词 for,把名词子句原来的主词安插在介系词后面的受词位置,如下: + +[For John to go on such a mission] is suicide. +S 减化名词子句 V O + +如果是像下面这些语带「褒眨」的句型,​​那么添加的介系词要用 of 而不是 for,例如: + +It is kind that you can say so. S V C 名词子句 + +主要子句的主词 it 是个虚字,代表的是后面的名词子句。这个名词子句若要减化,它的主词 you 需要找个地方安插。一般的做法是将主词放在介系词 for 后面,但是像 It is kind … 这种表示「夸奖」的句型,​​应该用的介系词是 of。助动词 can 还是一样减化为 to,就成为: + +It is kind [of you to say so]. +S V C 减化名词子句 +(您能这样说,真是太客气了。) + +再看一个例子: + +It was silly [that he should believe that story]. +S V C 名词子句 +(他会相信那个故事,真是太傻了。) + +主要子句的主词 it 是虚字,它的内容就是后面那个名词子句(中括弧内的部分)。这个名词子句的主词 he 有意义而且不重复,进行减化时必须找地方插它。而像 It was silly … 这种表示「批评」的句型,​​后面的减化子句应该用介系词 of 来安插主词而不是用 for,语气助动词 should 同样减化为 to,就会成为: + +It was silly [of him to believe that story]. +S V C 减化名词子句 + +再看一个例子: + +It takes time [that anybody can learn skiing well]. +S V O 名词子句 +(要学好滑雪就得花时间。) + +主要子句的主词 it 是虚字,代表后面的名词子句(中括弧内的部分)。名词子句中的主词 anybody 是个笼统的字眼,减化时可以省略。再把助动词 can 减化为 to,就成为: + +It takes time [to learn skiing well]. +S V O 减化名词子句 + +这是主词可以省略的情况。如果主词不能省略,就必须设法安插在减化子句中: + +It didn’t take much time [that Richard could learn skiing well]. +S V O 名词子句 + +同样的,主要子句主词 it 是个虚字,代表的内容是后面的名词子句。这个名词子句中,动词片语包括语气助动词 could,减化的方式仍然是把语气助动词减化为表示不定词的 to。名词子句的主词 Richard 有意义而且不重复,在减化子句中必须找地方安插,有几种不同的安插方式如下: + +It didn’t take much time [for Richard to learn skiing well]. +S V O 减化名词子句 + +这是最常用的方式,把名词子句的主词Richard安插在介系词 for 后面的受词位置。 + +It didn’t take Richard much time [to learn skiing well]. +S V O O 减化名词子句 + +因为主要子句的动词 take 可以用在 S + V + O + O 的句型中,所以可以把原来的主词 Richard 安插在第一个受词的位置。 + +R​​ichard didn’t take much time [to learn skiing well]. +S V O 副词 + +这是把原来的主词 Richard 安插在主要子句主词位置取代虚字 it,句型变成 S + V + O 的句型,后面的不定词片语(减化子句的结果)就当副词使用,修饰动词 take。 + +#### 受词位置 + +I hope [that I can get a raise next month]. +S V O 名词子句 +(我希望下个月能够加薪。) + +名词子句(中括弧内的部分)扮演及物动词 hope 的受词角色。名词子句的主词 I 与主要子句重复,减化时可以省略。再把语气助动词 can 减化为表示不定词的 to、无意义的连接词 that 删除掉,就成为: + +I hope [to get a raise next month]. +S V O 减化名词子句 + +接下来看看,名词子句的主词需要交代时可以用什么办法安插: + +I would like [that you can go to the concert with me]. +S V O 名词子句 +(我很希望你能跟我一起去听演唱会。) + +名词子句(中括弧内的部分)同样扮演受词角色,不过它的主词 you 不重复,必须设法保留下来。因为主要子句的动词 like 可以用在 S + V + O + C 的句型中,所以可以把名词子句主词 you 安插在受词位置、动词 can go 减化为 to go 安插在受词补语位置,如下: + +I would like you to go to the concert with me. +S V O C + +再看一个例子: + +I consider it my duty [that I should support my daugher through college]. +S V O C 名词子句 +(我认为我有责任供我女儿读完大学。) + +主要子句的受词 it 是个虚字,它的内容就是后面那个名词子句(中括弧内的部分)。这个名词子句,主词 I 和主要子句重复,减化时可以省略。助动词 should 减化为表示不定词的 to、再把无意义的连接词 that 省略掉,结果就是: + +I consider it my duty [to support my daugher through college]. +S V O C 减化名词子句 + +下面这个句型稍有不同: + +I want [that there will be no mistake]. +S V O 名词子句 +(我希望不要出任何错误。) + +主要子句的受词是个名词子句(中括弧内的部分)。这个名词子句本身是个倒装句:主词是 no mistake,动词是 will be,主词补语 there 倒装到句首构成 there is/are 的句型来表示「存在有」。这个名词子句要减化时,必须维持 there is/are 的句型来表示「存在有」,所以只能把助动词 will 减化为表示不定词的 to,无意义的连接词 that 删掉、其余保留,结果就是: + +I want [there to be no mistake]. +S V O减化名词子句 + +下面这两个句子请比较一下,看看差别在哪里? + +I want you to go. +S V O C +(我要你去。) + +I promised you to go. +S V O O +(我答应你我会去。) + +两个句子看起来差不多,为什么一个是「你去」、一个是「我去」,意思有这么大的差别?关键在于句型并不一样。上面第 1 句是 S + V + O + C 的句型,to go 是 you 的受词补语,来自于 you should go,所以是「你去」。这个句子可以还原如下: + +I want [that you should go]. +S V O 名词子句 + +名词子句减化时把主词 you 安插在受词位置,动词片语 should go 减化为不定词片语 to go 当受词补语使用,再把无意义的连接词省掉,结果就是上面的第 1 句 I want you to go。第 2 句则是 S + V + O + O 的句型:第一个受词是 you,表示「承诺的对象」,第二个受词是 to go,表示「承诺要做的事情」。亦即,第 2 句可以还原如下: + +I promised you that I would go. +S V O O 名词子句 + +第二个受词是名词子句 that I would go。减化时把和主要子句相同的主词I省掉、助动词 would 减化为 to,结果就是上面第 2 句 I promised you to go。 + +下面这两个句子也可以比较一下,顺便观察不定词片语后面配合现在分词(to be Ving)表达进行状态的用法: + +I don’t want [to be sitting here all day]. +S V O 减化名词子句 +(我不希望整天一直在这里枯坐。) + +I don’t want you to be sitting here all day. +S V O C +(我不希望你整天一直在这里枯坐。) + +第 1 句可以还原为: + +I don’t want [that I should be sitting here all day]. +S V O 名词子句 + +名词子句(中括弧内的部分)当中用到现在分词 sitting 来表达进行状态(意思是「一直坐」),动词部分仍然有语气助动词(should)。减化的做法是省略掉重复的主词 I,动词片语 should be 减化为不定词片语 to be,再省略掉连接词 that,整个名词子句减化为不定词片语 to be sitting here all day 取代原本的名词子句当受词使用,结果就是上列第 1 句 I don't want to be sitting here all day。第 2 句则可以还原如下: + +I don’t want [that you should be sitting here all day]. +S V O 名词子句 + +名词子句(中括弧内的部分)当受词使用,里面用到现在分词(sitting)来表达进行状态。因为这个名词子句的主词是 you,和主要子句并不重复,所以把它安插在受词位置保留下来。动词片语 should be 仍然减化为不定词片语 to be,放在受词补语位置(当形容词使用),整个句子变成 S + V + O + C 的句型(I don't want you to be sitting here all day,上列第 2 句)。 + +接下来看看不定词片语配合过去分词(to be Ven)表达被动语态的用法: + +I want [that this should be done as soon as possible]. +S V O 名词子句 +(我希望这件事情尽快办妥。) + +中括弧内的部分是个名词子句,扮演及物动词 want 的受词角色,里面用到过去分词 done 来表示被动语态(意思是「被做好」)。这个名词子句的主词 this 和主要子句并不重复,可以安插在受词位置保留下来。动词片语 should be 减化为不定词片语 to be,整个片语 to be done as soon as possible 放在受词补语位置、当形容词使用,如下: + +I want this to be done as soon as possible. +S V O C + +#### 补语位置 + +The best plan is [that we should wait]. +S V C 名词子句 +(最佳计画就是我们应该按兵不动。) + +主要子句的补语是个名词子句(中括弧内的部分)。这个名词子句的主词是 we,如果上下文够清楚的话可以省略,如果不够清楚则要用介系词片语 for us 来安插主词。语气助动词 should 减化为 to,再把连接词 that 省掉,结果就是: + +The best plan is [to wait]. +S V C 减化名词子句 + +再看一个例子: + +[What he hopes] is to win First Place in the competition. +S 名词子句 V C +(他希望的是能够在比赛中拿第一名。​​) + +主要子句的主词是名词子句 what he hopes(中括弧内的部分)。这个名词子句本身的主词是复合关系代名词 what,可以拆开成为先行词 the thing 与关系代名词 that。主要子句的补语部分是个不定词片语(to win First Place in the competition),可以视为名词子句 that he can win First Place in the competition 的减化。整个句子可以把省略与减化的部分还原如下: + +The thing [that he hopes] is [that he can win First Place in the competition]. +S 关系子句 V C 名词子句 + +名词子句(第二个中括弧内)的减化方式是省略掉重复的主词 he、助动词 can 减化为表示不定词的 to。 + +请注意:如果采用的是类似 what one does is (to) V 这种特别的分裂句来强调动词(见第十九章),那么 be 动词后面的补语位置可以用不定词片语、也可以用原形动词。例如: + +I only asked him a simple question. +S V O O +(我只不过是问他一个简单的问题而已。) + +如果要强调的是动词部分(asked),可以改写为分裂句如下: + +All [(that) I did] was (to) ask him a simple question. +S 关系子句 V C + +这个分裂句采用笼统的 all 当主要子句主词,后面用关系子句 that I did 修饰它。主要子句的动词是 was,后面采用不定词片语(to ask)或原形动词(ask)当主词补语。要能够采用原形动词当主词补语,先决条件是主要子句主词部分的修饰语有包括助动词 do 在内。再看一个例子: + +The only thing left to do is (to) admit failure openly. +S V C +(只剩下一件事要做,就是公开承认失败。) + +主词 the only thing 后面有分词​​片语 left to do 修饰,里面包含助动词 do,所以 be 动词后面可以选择用不定词片语(to admit)或原形动词(admit)。 + +不定词的完成式(to have Ven) + +名词子句减化而来的不定词片语,有可能采用完成式状态(to have Ven),例如: + +I hope to have finished this book by next weekend. +S V O 减化名词子句 +(我希望在下个周末之前可以看完这本书。) + +这个句子,受词部分是个减化名词子句,可以还原如下: + +I hope [that I will have finished this book by next weekend]. +S V O 名词子句 + +名词子句里面采用的是未来完成式(will have finished),减化之后就会变成完成式的不定词片语(to have finished)。 有时候,不定词里面采用完成式(to have V)还是简单式(to V),代表的意思不同。例如: + +It will be a pity to miss the show. +S V C 减化名词子句 +(要是没赶上表演就太可惜了。) + +这个句子的主词 it 是个虚字,真正扮演主词角色的是后面那个减化名词子句,可以还原如下: + +It will be a pity [that we should miss the show]. +S V C 名词子句 + +从主要子句的动词 will be 与名词子句的动词 should miss 来看,两个子句都属于条件语气,表达的是「不确定」的状况。也就是说:还来得及赶到,万一赶不上的话才会可惜。下面这个句子的情况就不同了: + +It is a pity to have missed the show. +S V C 减化名词子句 +(当时没能赶上表演,真是太可惜了。) + +这个句子,减化子句部分采用的是不定词的完成式(to have missed),可以还原如下: + +It is a pity [that we should have missed the show]. +S V C 名词子句 + +主要子句动词 is 采用叙述事实的直说语气,名词子句中用 should have missed 这种完成式来表示「过去时间」,这都表示「已经没赶上,来不及了」。 + +有时候,不定词片语中采用完成式(to have Ven)还可以表达「非事实」的假设语气,例如: + +It would be wonderful to have studied under that master in high school. +S V C 减化名词子句 +(高中时候要是能够在那位大师教导下求学,那该多好。) + +这个句子的主词是虚字it,真正扮演主词角色的是后面的减化名词子句。在减化子句中采用完成式的不定词片语 to have studied,一方面表示「相对过去时间」,另一方面也表示「非事实」的假设语气,也就是「事实上高中时并没有能够如此」。可以还原如下: + +It would be wonderful [that we could have studied under that master in high school]. +S V C 名词子句 + +名词子句中的动词片语采用过去拼法的语气助动词 could 配合完成式的 have studied,表示「过去时间非事实」。 + +### 来自疑问句的名词子句 + +来自疑问句的名词子句,又可分成 Information Question(具有疑问词)与 Yes/​​No Question(没有疑问词)这两种(详第十七章)。这两种名词子句只要有语气助动词在内,都可以减化为不定词片语。以下分别说明。 + +#### Information Question + +I’ll tell you [what you should do]. +S V O O 名词子句 +(我来告诉你该怎么做。) + +句中这个名词子句(中括弧内的部分)有两种诠释方式,可以导致两种不同的减化子句结果。如果视句中的 what 为疑问词,那么 what you should do 就是来自 What should I do? 这个疑问句,减化的方式是省略掉主词 you、语气助动词 should 减化为表示不定词的 to,如下: + +I’ll tell you [what to do]. +S V O O 减化名词子句 + +另外,what 也可以视为复合关系代名词,由先行词 the thing 加上关系代名词 that 合并而成。由此出发,可以先还原如下: + +I’ll tell you the thing [that you should do]. +S V O O 关系子句 + +这个关系子句的减化,首先是把扮演受词角色的关系代名词 that 省略。然后再省略掉重复的主词 you、语气助动词 should 减化为表示不定词的 to,如下: + +I’ll tell you the thing [to do]. +S V O O 减化形容词子句 + +接下来请比较下列三句: + +I’ll tell you [what to do]. +S V O O 减化名词子句 +(我来告诉你该怎么做。) + +I’ll tell you [when to do the job]. +S V O O 减化名词子句 +(我来告诉你什么时候该做这件工作。) + +I’ll tell you [what to do the job with]. +S V O O 减化名词子句 +(我来告诉你用什么来做这件工作。) + +这三个句子,主要子句的句型相同(都是 S + V + O + O),句中的第二个受词同样都是减化名词子句,而且减化出来的不定词片语中都是用采同一个原形的及物动词 do。但是第 1 句在 to do 后面没有受词,第 2 句在 to do 后面有受词(the job),第 3 句还在 to do the job 后面有介系词(with)。其间的差别,如果只是把不定词视为片语看待,无法解释清楚,必须视为减化子句、还原之后就可以看出差别在哪里了。 + +上列句 1 中的 what to do 是 what you should do 这个名词子句的减化,来自这个疑问句: + +A. What should I do? +O S V + +句 2 中的 when to do the job 是 when you should do the job 这个名词子句的减化,来自这个疑问句: + +B. When should I do the job? +S V O + +比较一下A与B这两个问句不难发现:句 A 的 what 是疑问代名词、本身扮演及物动词 should do 的受词角色,句 B 的 when 则是疑问副词(来自时间副词 then),所以及物动词 should do 另需受词 the job,句型才算完整。 + +上列句 3 中的 what to do the job with 可以视为名词子句 what you can do the job with 的减化,来自下面这个疑问句: + +C. What can I do the job with? +S V O + +这个疑问句中,及物动词 do 的受词是 the job,而疑问代名词 what 是介系词 with 的受词。 + +接下来这几个例子的情况都差不多: + +I’ll show you [which way to go]. +S V O O 减化名词子句 +(我来告诉你该往哪边走。) + +句中第二个受词(中括弧内的部分)是个减化名词子句,可以还原为来自疑问句的名词子句 which way you should go,当中 which 是疑问词。 + +He doesn’t know [when to stop]. +S V O 减化名词子句 +(他不知道何时该罢手。) + +句中的受词(中括弧内的部分)是个减化名词子句,可以还原为来自疑问句的名词子句 when he should stop,当中 when 是疑问词。 + +[Where to spend the night] is unimportant. +S 减化名词子句 V C +(晚上该在哪睡,这个问题并不重要。) + +句中的主词(中括弧内的部分)是个减化名词子句,可以还原为来自疑问句的名词子句 where can we spend the night,当中 where 是疑问词。 + +Only he knows [how to start the machine]. +S V O 减化名词子句 +(只有他知道这部机器该怎么发动。) + +句中的受词(中括弧内的部分)是个减化名词子句,可以还原为来自疑问句的名词子句 how one can start the machine,当中 how 是疑问词。 + +#### Yes/No Question + +来自 Yes/No Question 的名词子句会加上从属连接词 whether。如果子句中有语气助动词,就会变成 whether to 的形状,例如: + +[Whether to go on or not] will have to be decided soon. +S V C +(是否该继续下去,这个问题得尽快做个决定。) + +句中的主词(中括弧内的部分)是个减化名词子句,可以还原为名词子句 whether we should go on or not。这个名词子句来自没有疑问词的疑问句 Should we go on or not?,必须加上 whether 才能变成名词子句。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/NounPhrases.md b/corejava第9版/EnglishGrammarBook-master/docs/NounPhrases.md new file mode 100644 index 0000000..75d387c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/NounPhrases.md @@ -0,0 +1,682 @@ +# 第二章 名词片语 + +名词片语由三个部分构成:限定词+形容词+名词这三个部分当中每一个部分都有可能从缺。 + +英文写作最容易犯的错误之一就是名词片语的错误,尤其是经常会少掉该有的**限定词(determiner)**、或者在名词字尾该加复数而没有加。所以,要想养成英文写作的良好习惯、避免错误,最好要有这样的认定:英文句子中凡是用到名词,一定是以「名词片语」的形态出现,也就是一定有三个部分:限定词+ 形容词+ 名词。这三个部分当中,形容词是可有可无的修饰语。所以,形容词的位置从缺并不会影响到名词片语的正确性。限定词的部分,如果后面的名词是复数、或者不可数,就可以采用**零冠词(the zero article)**、也就是不加冠词,这种情况下限定词也有可能从缺。零冠词的观念,在本章下文有进一步的说明。甚至名词部分,只要够清楚的话也有可能省略掉。因此,句子当中出现的名词,哪怕只有一个字,也要视为由三个部分构成的名词片语看待。 + +另外,名词片语中的形容词上面还可以附加上副词来修饰它。形容词与副词这两种词类,就是英文中的两种修饰语,本书会安排在后面的章节详加讨论。这一章所探讨的主题在于名词片语中的名词与限定词这两个部分。 + +请先看看下列这些名词片语的例子: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| a | good | teacher | 一位好老师 | +| some | troublesome | students | 几个问题学生 | +| their | very pretty | garden | 他们那座非常漂亮的花园 | + +## 名词 + +首先来看看名词片语中的名词部分。这个部分,在写作时比较须要注意的是「可数、不可数」的问题。 + +可数名词有单、复数之分。单数可数名词,在前面限定词位置可以加上冠词 a 或 an 来表示「一个」,如: + +a book 一本书 +an apple 一个苹果 + +也可以加上其他的限定词,如: + +my book 我的书 +the apple 这个苹果 + +复数的可数名词则要在字尾加上 `–s`(或其它不规则的复数变化)来表示「两个以上」,如: + +books 书 +apples 苹果 + +它前面也可以选择加上 `a` 以外的一些限定词,如: + +my books 我的书 +the apples 这些苹果 + +可以这样来了解:冠词 `a` 或 `an`,以及复数字尾 `–s`,都是用来表示「可数名词」的符号。冠词 a 或 an 表示是单数的可数名词(一个)、复数字尾 `–s` 则表示是复数的可数名词(多个)。如果这个名词是复数、后面作了复数字尾的表示,前面就不能再用单数的冠词 a 或 an。这时候文法学家就说这个名词前面采用了「零冠词」。有了零冠词,那么不必再加其它限定词也能构成一个完整的名词片语。 + +至于不可数名词,并没有复数形。而且,不可数名词既然无法计算「几个」,当然也就不能加上表示「一个」的冠词 a 或 an。可以这样来了解:不可数名词不需要做单、复数的表示。它的字尾不能加复数、前面也不能加 a 或 an。这种「不需要冠词」的情况就称为零冠词,如: + +money 钱 +water 水 + +另外也可以选择加上 a 以外的一些限定词,如: + +my money 我的钱 +the water 这些水 + +### 一.可数名词 + +可数名词主要有两大类: + +#### 1). 具有固定形状的物体 + +具有固定形状的物体,可以数得出有几个,就是可数名词。用在句子中,可数名词如果是复数,前面的限定词位置可以采用零冠词。如果是单数,则必须有限定词。例如: + +a boy 一个男孩 +dogs 狗 +the flower 这朵花 +those tables 那些桌子 + +#### 2). 度量衡单位 + +度量衡单位虽然是抽象、无形的,但是既然当作单位使用,就必须能够用来计算。所以,度量衡单位都是可数名词。例如: + +a pound 一磅 +20 feet 二十英尺 +an hour 一小时 +15 cents 十五美分 + +### 二.不可数名词 + +不可数名词可以分成四类,如下。 + +#### 1). 物质名词 + +一般的气体、液体、以及没有固定形状的固体,大都属于物质名词。因为没有固定形状,所以不可数,前面可以采用零冠词。例如: + +water 水 +air 空气 +gold 黄金 +paper 纸 + +请比较一下:像「书」这种东西,有固定形状,属于可数名词,如果是单数就必须交代是「一个」(a book)、复数就得加上–s(books)。所谓「有固定形状」,可以做个小实验:如果从书上撕一页下来,这一页并不能叫做「书」,因为它不符合「书」的固定形状。但是,如果是「纸」(paper)这个名词,撕一块下来还是叫做「纸」,所以 paper 没有固定形状、属于不可数名词,前面可以采用零冠词。 + +物质名词如果要计算,通常是数它的单位,例如: + +three bottles of water 三瓶水 +a liter of air 一公升空气 +two ounces of gold 两盎司黄金 +a sheet of paper 一张纸 + +如果看到物质名词前面加了 `a` 或者后面加了 `–s`,那么这个名词已经不是物质名词、而是当作可数的普通名词使用了。例如: + +I have a paper to write tonight. +(今天晚上我有一份报告要写。) + +句中的名词片语 a paper 不是「一张纸」而是「一份报告」,所以是可数名词。 + +Drinking a couple of beers a day won't do you any harm. +(每天喝两瓶啤酒对你不会有什么坏处。) + +句中的 beers 用复数形,是因为直接用 a beer 表示「一瓶啤酒」、当可数名词使用。 + +Several essential foods have risen in price lately. +(最近有几种重要食品都涨价了。) + +一般的用法, food 是物质名词,可以采用定冠词。但是上句中的名词片语 several essential foods 前面加了表示「几个」的限定词 several、名词 foods 采复数形,这都是把 a food 当「一种食品」解释,所以它就是可数名词。许多不可数的物质名词,如果当「种类」解释时都可以当可数名词使用。 + +#### 2). 抽象名词 + +代表抽象概念的名词,看不到、摸不着,都没有具体的形状,所以也都数不出「几个」。这些都属于不可数名词,可以采用零冠词。例如: + +cowardice 胆怯 +ugliness 丑陋 +wisdom 智慧 +eternity 永恒 + +如果看到抽象名词前面加了 a、或者后面加了复数的 –s,那就是把它当成可数的普通名词使用,意思往往不同。例如: + +Your sister is a rea​​l beauty. +(你妹妹是个大美人。) + +一般的用法,beauty 是抽象名词、不可数。上句中的 a rea​​l beauty 意思是「一个大美人」,指的是个具体、有形的「人」,那就是可数名词。 + +#### 3). 动名词 + +大部分的动名词(Ving)代表「动作」或「事情」,都是不可数名词、可以采用零冠词。例如: + +Smoking is harmful to health. +(吸烟有害健康。) + +动名词 smoking 意思是「吸烟」这件事,属于不可数名词、采用零冠词。 + +I love swimming. +(我爱游泳。) + +动名词 swimming 意思是「游泳」这种运动,属于不可数名词、采用零冠词。 + +有少数的动名词可以当可数名词使用,例如: + +There were three weddings at this restaurant yesterday. +(这家餐厅昨天办了三场婚礼。) + +句中的 three weddings 虽然也是动名词,但是a wedding 指的是「一场婚礼」,所以是可数名词。 + +#### 4). 专有名词 + +像人名、地名之类,一个名词只代表单一的一个对象,称为专有名词。专有名词代表的对象既然只有一个,自然也就属于不可数名词。例如: + +Neil Armstrong was the first man that landed on the moon. +(阿姆斯壮是头一位登上月球的人。) + +人名Neil Armstrong 是专有名词、不可数,所以没有复数形。专有名词因为只代表单一 的一个对象,不须要限定范围就已经很清楚了,所以前面不加限定词。 + +I used to live in London. +(我从前在伦敦住过。) + +地名London 是专有名词、不可数,也不加限定词。如果有两个人以上共用一个名字,那么这个名字就不再是专有名词、变成可数名词了。例如: + +I'd like to invite the Armstrongs over for dinner. +(我想请阿姆斯壮一家人过来吃晚餐。) + +人名 Armstrong 虽然是专有名词,但是这一家子都用这个名字,所以可以有复数、前面也可以加限定词 the。有关专有名词与限定词的关系,下文将会详述。 + +## 复合名词 + +名词片语中间的位置应该放的是形容词。如果这个位置直接放进另一个名词来当做形容词使用,这种构造称为**复合名词(compounds)**。例如: + +The dishwasher is not working well. +(洗碗机不大正常。) + +Who is the best pole-vaulter on your team? +(你们队上最佳撑竿跳选手是谁?) + +The flower shop is not far from here. +(花店离这儿不远。) + +复合名词有三种写法。第一是像 the dishwasher 这样:两个名词写在一起成为一个单字。前面的 dish 是名词当形容词使用、意思是「洗碗盘的」,所以要遵照形容词的用法、不能用复数(英文的形容词没有复数)。第二种是像 the pole-vaulter,两个名词之间有个连字符号(hyphen)连接。同样的,前面那个名词 pole 现在当形容词使用、不能用复数。第三种是像 the flower shop,两个名词分开。前面的名词 flower 一样是当形容词使用(意思是「卖花的」)、没有复数形。接下来看看几个例子: + +He’s got some coins in his trouser pocket. +(他长裤口袋里有几个铜板。) + +像 trousers(长裤)、pants(短裤)、glasses(眼镜)、scissors(剪刀)这种名词,英文的习惯是永远采复数形。但是,即便是这种永远采复数形的名词,放在复合名词里面当做形容词使用时,仍然要遵照形容词的用法,也就是要改为单数,如 his trouser pocket。 + +Have you got a clothes hanger for my jacket? +(有沒有衣架可以給我掛外套?) + +名词片语 a clothes hanger(衣架)中间的形容词位置本来是不容许有复数的,但是如果把 clothes 改为单数,成为 a cloth hanger,意思会变成(布架)。碰到这种情况,名词片语中间的形容词位置就必须采复数形了,否则意思会弄错。 + +另外有一些复合字,习惯采用复数形的形容词,例如: + +He drives a sports car to school. +(他开跑车上学。) + +You should write to the admissions office to inquire. +(你应该写信到主管入学许可的单位去询问。) + +像 `sports`, `admissions` 这些,通常就是用复数形的形容词。 + +### 复合名词的复数 + +一般的复合名词,复数的 `–s` 是加在最后面的名词位置上,例如: + +There are three gift shops in my neighborhood. +(我家附近有三间礼品店。) + +名词片语 `three gift shops` 是复数,中间的 `gift` 当形容词使用所以维持单数形,只有后面的名词 `shops` 要采复数形。 + +I have two brothers-in-law. +(我有两个姐夫。) + +名词片语 `two brothers-in-law` 当中有个比较不一样的复合名词:`brother-in-law` 里面是个介系词片语 `in law` 修饰名词 brother、再用 hyphen 串连成复合字,可以看出主要的名词是 brother。这时候复数应该加在 brother 这个名词上,成为 three brothers-in-law。 + +The soldiers do 100 push-ups every day. +(这些兵每天要做一百个伏地挺身。) + +名词片语 100 push-ups 当中也有一个比较特别的复合名词:push-up 是由动词 push 串连上介副词 up 构告而成的复合名词。这种复合名词并没有哪个位置是主要的名词所在(不像 brother-in-law ),所以它的复数还是加在字尾(push-ups)。 + +## 副词 + +名词片语中也可以有复词。例如 their very pretty garden 这个名词片语, 除了限定词 (their) + 形容词 (pretty) + 名词(garden) 这三个部分之外,可以看到在形容词前面附加了 very 这个字。 Very 属于**加强语气的副词 (intensifier)**​​, 用在这里是当作修饰形容词 pretty 的修饰语使用, 是个可有可无的元素。再看个类似的例子: + +that rather old jacket 那件蛮老旧的外套 + +这个名词片语也是一样,除了限定词(that)+ 形容词(old)+ 名词(jacket)这三个部分之外,还在形容词 old 前面加了 rather 这个**程度副词(adverb of degree)**来修饰它。 + +## 形容词 + +请观察一下这个名词片语: + +these juicy Japanese apples 这几个多汁的日本苹果 + +限定词是 these,名词是 apples,中间形容词的位置则是放进了两个形容词:juicy 和 Japanese。由此可见:名词片语中间的形容词位置,可以放的形容词不只一个。再看一个例子: + +all healthy young girls 所有健康的年轻女孩 + +在限定词 all 和名词 girls 之间放了 healthy 和 young 这两个形容词。 + +有关形容词与副词的用法,本书将分别在第四章、第五章讨论。 + +## 名词片语的省略 + +在词片语「限定词+ 形容词 + 名词」这三个部分当中,每个部分都有可能从缺。例如在 a good teacher 这个名词片语中,即使拿掉形容词 good,只剩下 a teacher,这个名词片语还是正确的。甚至,在 the smartest kid 这个名词片语中,如果拿掉最重要的名词 kid,只剩下 the smartest,也一样是正确的,例如: + +Of all the kids in my class, Jack is the smartest. +(我班上所有的学生就属 Jack 最聪明。) + +读者可以从上下文中清楚了解 the smartest 就是 the smartest kid 的省略。更有什者,在 these juicy Japanese apples 名词片语中,还可以把两个形容词(juicy, Japanese)和名词一起都拿掉,只剩下限定词 these,仍然是正确的名词片语。比如说,你指着一堆苹果对老板说: + +I want these. +(我要这几个。) + +老板也会知道你要的是什么。这时候,these 取代了后面的名词、升格成为代名词。 + +在名词片语的三个位置之中,只有限定词位置不能省略。如果看到名词片语的限定词位置从缺,那么这个名词片语就是采用了零冠词、必须符合零冠词的条件。 + +### 省略名词 + +名词片语如果要省略掉最重要的名词,必须有一个前提:省略之后读者要很清楚你省掉的是什么、不能让读者猜不出来。这就得符合习惯用法了。 + +传统文法经常会列出一条规则:the + 形容词 = 复数名词。但这种规则,一方面没有必要、另一方面也可能造成学习者套用错误。传统文法中所谓的规则大多都是这种层次,没有必要去记它。我们看看这个例子: + +The rich are not always happier than the poor. +(有钱人不见得就比穷人快乐。) + +套用文法规则:the rich 是「the + 形容词」,等于一个复数名词,当主词使用时要采用复数动词如 are。但是只要花点脑筋想想,很容易可以看出来:在名词片语的三个部分(限定词+ 形容词+ 名词)当中,the rich这个名词片语只具有前面两个部分,第三个部分(名词)则被省略掉了。那么,省略的是哪个名词呢?从意思上来判断,the rich「有钱的」后面省掉的当然就是「人」,而英文泛指「一般人」的字就是 people。所以,the rich 如果把省略的部分还原回去就是 the rich people 这个名词片语。因为名词部分的 people 是个复数名词,所以它当然是个复数。只要看出这一点,那么「the + 形容词 = 复数名词」这条规则就可以不用背了。 + +反之,如果死背规则,很有可能会套错。为了避免套错规则,那么在背规则的同时又得背一大堆的「例外」。例如下面这两个句子: + +The new is not always better than the old. +(新东西不见得就比旧的好。) + +The unknown is often feared. +(未知的事物经常令人畏惧。) + +如果套用文法规则,那么 the new 和 the unknown 都符合「the + 形容词」的构造,但是都不能解释为复数名词,而应该是单数。为什么?因为从意思上很容易判断出来:这两个名词片语省略掉的部分不再是 people,而是 thing。如果还原回去,分别是 the new thing 和 the unknown thing 这两个名词片语,那么当然是单数而非复数。 + +## 限定词的种类 + +限定词的分类,依其性质可以分成**限制性(definite)**限定词如 the, those, John's、以及**非限制性(indefinite)**限定词如 a, some, fifty。若依其限定范围来划分,可以分成**部分性(partitive)**限定词如 some、以及**全称性(universal)**限定词如 all。不过,与英文写作比较密切相关的一种分类是以限定词在名词片语中出现的位置来划分:可以分成**前位限定词(predeterminers)**、**中位限定词(central determiners)**以及**后位限定词( postdeterminers)**。先看看下面几个例子: + +| 前位 | 中位 | 後位 | 形容詞 | 名詞 | +| --- | --- | --- | --- | --- | --- | +| all | these | many | brave | soldiers | 这许多英勇士兵全数 | +| half | your | twenty | expensive | houses | 你那二十栋豪宅的半数 | +| both | the | first | heroic | explorers | 第一批两位英雄探险家都在内 | + +### 一.前位限定词 + +在限定词中排第一顺位的称为前位限定词。与中位限定词共同使用时,前位限定词一定要放在前面。包括 all, both, half, one-third, one-fifth, double, twice, three times, such 等等都属于前位限定词。例如: + +| 前位限定詞 | 中位限定詞 | 名詞 | +| --- | --- | --- | --- | +| all | the | girls | 这些女生全数 | +| both | those | cars | 那两辆车 | +| half | an | hour | 半个小时 | +| double | the | sum | 总数的两倍 | +| twice | my | salary | 我薪水的两倍 | +| one-third | the | time | 时间的三分之一 | +| such | a | surprise | 这么大的惊奇 | + +### 二.后位限定词 + +后位限定词用在名词片语中要排在后面的顺位。如果和前位限定词或中位限定词共同使用时,后位限定词一定要放在最后面(当然,它的位置仍然在形容词的前面)。后位限定词包括所有的数目字(three, 200)、序数(first, second, 300th, last),以及表示「多、少」的 many, much, little, few 等等。例如: + +| 中位限定詞 | 後位限定詞 | 名詞 | +| --- | --- | --- | --- | +| my | three | children | 我的三个小孩 | +| the | seventh | day | 第七天 | +| the | last | month | 最后一个月 | +| a | few | people | 少数几个人 | +| those | many | difficulties | 为数众多的那些问题 | + +### 三.中位限定词 + +限定词当中出现频率最高的是中位限定词,包括冠词(a, an, the以及零冠词)、指示限定词(this, that, these, those)、不定限定词(some, any, either)、否定限定词(no, neither)、全称限定词(every, each)与所有格(my, your, John's)等等都属于中位限定词。例如: + +| 中位限定詞 | 名詞 | +| --- | --- | --- | +| a | book | 一本书 | +| an | egg | 一枚蛋 | +| the | money | 这笔钱 | +| this | question | 这个问题 | +| that | man | 那名男子 | +| these | kids | 这些孩子 | +| those | places | 那些地方 | +| some | time | 一段时间 | +| any | trouble | 任何麻烦 | +| either | bank | 两家银行之中隨便哪一家 | +| no | problem | 没有问题 | +| neither | boy | 两个男孩之中沒有一個 | +| every | student | 每一个学生 | +| each | worker | 每一位工人 | +| my | home | 我家 | +| your | car | 你的车 | +| John’s | daughter | John 的女儿 | + +请注意:前位限定词、中位限定词与后位限定词可以共同出现在一个名词片语中,只要顺序别搞错。例如:all(前) my(中) many(后) friends。但是,如果同样属于中位限定词,那么彼此之间具有排他性,也就是只能采用一个。换言之,如果把两个中位限定词写在一起就是错误。例如下面这几个名词片语都犯了这个错误: + +the same boy (误) +any my car (误) +neither John’s sister (误) +every some mistake (误) + +## 名词片语里面的名词片语 + +名词片语的构造具有「限定词+ 形容词+ 名词」这三个位置。其中「限定词」的位置与「名词」的位置都可以分别再装一个名词片语进去。以下分别介绍。 + +### 一.限定词位置的名词片语 + +看看下面这个名词片语的例子: + +| 限定词 | 名词 | +| --- | --- | --- | +| a dog’s | ears | 狗耳朵 | + +这个名词片语中,限定词位置是个所有格 a dog's。细看这个所有格,可以发现它是由名词片语 a dog(限定词 a 加名词 dog)加上表示所有格的 's 而构成。所以,限定词位置也可能有个名词片语以所有格的形态躲在里面。类似的例子还有: + +the school’s history 学校的历史 +a man’s honor 人的荣誉 +my father’s company 我父亲的公司 + +这几个名词片语也是一样,分别都有另外一个名词片语(the school, a man, my father)以所有格的形态躲在限定词的位置。 + +### 二.名词位置的名词片语 + +名词片语末尾的名词位置,也可以塞一个完整的名词片语进去。例如: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| an | unbelievable | 200 million dollars | 难以置信的二千亿元 | + +乍看之下有点奇怪:名词是复数的 dollars,前面为什么还可以加单数的冠词 an ? + +其实,an 并不是 dollars 的冠词。在上面这个名词片语中,名词位置的 200 billion dollars 本身又是一个名词片语:200 billion 这个数目字是限定词、dollars 是复数名词。但是,把整个名词片语 200 billion dollars 塞进另一个名词片语的名词位置、前面再加个形容词 unbelievable,那么更前面又产生了一个新的限定词位置。结果就出现了一个更大的名词片语:限定词是 an、形容词是 unbelievable,名词位置是 200 billion dollars。这种情况,末尾位置的名词片语虽会包含一个数目字、是可数的复数名词,但是是作为整体看待,故最前面还是要加限定词,例如冠词an。再看一个例子: + +The meeting dragged on for a tiresome 15 days. +(这场会议拖了令人疲惫的15天之久。) + +在 a tiresome 15 days 这个名词片语中,名词位置本身又是个名词片语 15 days(15是限定词、days是名词)。因为前面加了个形容词 tiresome,所以在更前面又出现了一个限定词位置,需要一个冠词 a。类似的例子还有: + +an amazing 500 miles 惊人的500英里之远 +a mere 20 soldiers 区区20名士兵 + +再看一个稍有不同的例子: + +The construction will take another 30 days. +(营造工程还要另外再花个30天。) + +在 another 30 days 这个名词片语中,30 days本身是个复数的名词片语(限定词 30 加上名词 days),但是整个再塞入另一个名词片语的名词位置、前面加上限定词 another,就变成了 another 30 days 这个新的名词片语(单数)。 + +## 形容词位置探讨 + +名词片语的构造是「限定词+ 形容词+ 名词」。在限定词位置可以塞一个名词片语进去(采所有格)、在名词位置也可以放一个完整的名词片语进去。那么,中间的形容词位置呢?这个位置能不能放名词片语?答案是:不能。这个位置太小,只容纳得下单字、放不下片语。看看下面这个例子: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | +| a | flower | shop | + +这个名词片语,在形容词位置放的是 flower 这个字。字典上会告诉你:flower 是名词。但是,flower放在这里是借名词来当做形容词使用:一家「卖花的」店。我们在前面提过:应该养成良好的写作习惯,在英文句子中出现的名词一律当作名词片语看待。但是,像 a flower shop 中间的这个 flower 不能算是名词。从功能来看,它只是个形容词:flower 没有自己的限定词、也没有复数,这种情况它算不上是名词,只是个名词拿来当做形容词使用。像 a flower shop 这种构造,拿名词 flower 来当作形容词使用,一般称为「复合名词」。 + +形容词位置如果要放名词片语进去,这个名词片语必须先改造成为形容词的单字才行。片语改造成单字,做法是动用连字符号(hypnen)串连起来。而且,既然是改造为形容词的单字,英文的形容词是没有复数形的,所以原本名词片语中的复数都要改为单数。例如: + +My uncle lives in a three-story mansion. +(我叔叔住在一栋三层华厦中。) + +名词片语 a three-story mansion 中,形容词位置放的是这个复合形容词 three-story「三层高的」,来自名词片语 three stories「三层楼」。这个名词片语要改造为形容词单字,除了动用 hyphen 串连成一个字之外,还要把复数字尾拿掉、改为单数,因为 three-story 是个形容词单字、没有复数形。 + +## 名词与限定词一致性 + +名词片语还有一个地方要注意:名词与前面的限定词在可数、不可数方面必须一致。例如: + +| 限定词 | 名词 | +| --- | --- | +| many | books | +| much | time | +| some | books/time | + +可数名词 books 要配合可数的限定词 many、不可数名词 time 要配合不可数限定词 much 使用,只有像 some 之类的限定词才是可数名词与不可数名词都可以使用。 + +名词与限定词的一致性是非常简单的观念,但是因为中文里面并不需要表达可数或不可数,所以我们在做英文写作时很容易忘记这项要求。而且,有一些限定词是连英美人士都经常会用错的,例如该用 fewer 的地方经常会误植为 less。看看下面的例子: + +Today I interviewed for no less than four jobs, but didn't get any definite answer. (不佳) +(今天我面谈的工作多达四个,但是没有任何明确的回应。) + +大家都知道,表示「多」的限定词 many(可数)和 much(不可数),比较级同样是 more,例如 more books 与 more time 都是正确的。但是,表示「少」的限定词有 few 和 little 之分,其中 few 应配合可数名词使用、比较级是 fewer,而 little 应配合不可数名词使用、比较级是 less。也就是说:fewer 和 less 这两个限定词一个可数、一个不可数,不可混为一谈。上面那个例子中,no less than four jobs 有个错误在于:jobs 是复数可数名词,前面的限定词不能用不可数的 less,应该改为 fewer,如下: + +Today I interviewed for no fewer than four jobs, but didn’t get any definite answer. + +## 冠词 + +以使用频率而言,最常看到的限定词就是冠词(属于中位限定词),可分为不定冠词 a 或 an、定冠词 the,以及零冠词。这也是英文写作最容易出错的地方之一:有时该加冠词的地方没有加、有时该用 a 或 an 却用上了 the 之类。以下就三种冠词分别探讨。 + +### 一.不定冠词 a 或 an + +要了解不定冠词 a 或 an 的用法,不妨从这个观察切入:a 或 an 就是 one 的弱化结果。事实上,a 或 an 是中古英文,来源就出自古英文中表示 one 的古字。 + +根据以上的观察,不定冠词 a 或 an 的用法,最简单的判断方式就是:可以用 one 的地方(可以说「一个」什么东西)才可以用 a 或 an。反之,如果不能用 one,就可以把限定词位置空下来(称为零冠词)。例如: + +Black-faced spoonbills are an endangered species. +(黑面琵鹭是濒临绝种的品种。) + +在名词片语 black-faced spoonbills 中,只有形容词(black-faced)和名词(spoonbills)两个部分,看不到限定词。这是因为名词位置的 spoonbills 是复数,前面限定词位置自然不能再说 one,也就是不能加 a 这个不定冠词。这时就可以选择把限定词位置空下来(称为零冠词)。反之,在 a bird 这样名词片语中,名词 bird 是单数,而且是可数名词,可以说「一只」(one),因此需要有冠词 a。 + +### 二. 零冠词 + +文法学家创造出**零冠词(the zero article)**这个观念,主要是为了便于诠释名词片语,同时也可以提醒使用者在写名词片语的时候不要忘了加限定词。 + +如果说: 名词片语前面一定有个限定词, 那么就会碰到一些例外。例如 new books,这是一个正确的名词片语,但是只有形容词 new 和名词 books, 并没有限定词在前面。为了避免这种不规则的情况出现,文法学家就说: new books 这个名词片语前面还是有个限定词的, 只不过看不到、叫作「零冠词」。 + +英文的冠词,如果只有不定冠词(a, an)和定冠词(the)这两种,拿来诠释名词片语尚嫌不敷使用。加上零冠词这个观念,把冠词扩充为三种:不定冠词、定冠词、以及零冠词,诠释起来就比较周延了。 + +名词片语前面的限定词位置,可以用不定冠词 a 或 an 来表示后面是个单数的可数名词,也可以用零冠词(不加冠词)来表示后面可能是复数、也可能是不可数名词。 + +添加了零冠词这个观念,名词片语的构造就比较能够统一了: + +名词片语有三个位置:限定词+ 形容词 + 名词。当中形容词属于修饰语、可有可无。名词位置视情况可以省略,如 the rich people 可以省略为 the rich,而 those yellow flowers 更可省略为 those(这时候those升格为代名词)。只有限定词位置不可或缺。如果看到名词片语的限定词位置空了下来,就表示用上了零冠词。也就说,这个名词或者是复数、或者是不可数,前面放不下 a 或 an。 + +#### 零冠词的适用范围 + +复数名词前面都可以选择采用定冠词。除了复数以外,抽象名词(如bravery, exhaustion)没有具体形状、不能以 one 来表示(前面不能加 a 或 an )。物质名词(如 gold, air )虽然是具体的东西,可是它的形状不固定,仍然不能以 one 来表示。这些不能以 a 或 an 来限定的名词就可以把限定词位置空下来、采用零冠词。例如: + +Bravery is a necessary quality in a soldier. +(勇敢是士兵必备的条件。) + +这个句子的主词 bravery 虽然只有一个字,仍然要称为「名词片语」,因为它是「零冠词加名词」的构造。抽象名词 bravery 前面放不下冠词a,这时候就可以说它前面放的是零冠词。但是,像 soldier 这个名词如果单独出现就是个错误,因为它是个单数的可数名词、是可以加 one 在前面的东西。如果单数可数名词前面限定词的位置少掉了,光是 soldier,没有做任何单、复数的表示,并不能构成一个正确的名词片语。这是写作时常犯的错误之一。再看一个例子: + +Air is invisible, but people can't live without it. +(空气看不到,但人没有它不能活。) + +这个句子里的 air 是正确的名词片语,采用了零冠词(air 是抽象名词,不必作单复数的表示)。另外,people 也是正确的名词片语,因为它是复数的「人们」,已经做了复数的表示,所以前面采用零冠词。 写作时为了避免名词片语的错误,应该养成习惯:英文句子中的名词一定以名词片语的形状出现,也就是必须有限定词,包括零冠词。 + +### 三.定冠词the + +定冠词 the 也是中古英文,来自古英文中表示 that 的字。所以,要了解 the 的用法可以由这个观察切入:the 是 that 或 those 的弱化,在可以用 that 或 those 的地方才可以用 the。 That 或 those 也是限定词的一种,或称「指示形容词」。凡是可以用 that 或 those 的地方都具有指示性,也就是指出是「那个」或「那些」。因为 the 是 that 或 those 的弱化,所以凡是可以用 the 的地方,不论是明指还是暗示,也都具有指示性。例如: + +There's a dog in his front yard, but it's not the dog I saw last time. +(他家前院里有条狗,但不是上回我看到的那条。) + +前面的 a dog 相当于 one dog,「一条狗」,上下文并无指示是「哪一条」。后面的 the dog 相当于 that dog,因为下文有 I saw last time 这个关系子句指出是我上回看到的「那条」。 + +要判断该用不定冠词 a 或 an 还是该用定词词 the,最简单的方法就是分别把 a 或 an 解读为 one「一个」、把 the 解读为 that 或 those「那个或那些」,并从句意中揣摩应该说「一个」还是应该​​说「那个」。例如: + +John is a very tall player, but he's not the tallest player on the team. +(约翰是个蛮高的球员,但他还不是队上最高的那个。) + +前面的 a very tall player 上下文并无指示,只说是「一个」很高的球员,相当于 one player,所以该用不定冠词 a。后面则有指出是队上最高的「那个」,相当于 that player,所以该用定冠词 the。一般文法书说「最高级要加定冠词」,原因即在此。 + +### 最高级要加定冠词? + +文法书喜欢列规则,但是文法规则既不容易背、又充满例外。与其去背规则,不如设法理解文法规则背后的道理何在。只要了解背后的道理,既知其然又知其所以然,写作时就不怕会用错了。就拿「最高级要加定冠词」这条规则来说,如果去死背它可能会制造出不少问题。例如,最高级却不加定冠词的例子在所多有: + +Most books in my library are science fiction. +(我图书室里头大部分的书都是科幻小说。) + +名词片语 most books 当中,most 是不折不扣的最高级:限定词 many(原形)、more(比较级)、most(最高级)。但是,它在这个名词片语中扮演限定词的角色,功能只在于限定这个名词的范围:是图书室里头「大部分」的书,并没有指出是「哪几本」。既然缺乏指示性、不​​具有 that 或th ose 的功能,也就不能使用定冠词 the。 + +这个情况和 the most expensive books in my library 不同,后者这个名词片语用最高级形容词 most expensive 来指出图书室里头最贵的「那几本」,具有明确的指示意味,所以该采用定冠词 the。 + +而且,就算是普通的形容词,最高级也不一定就要加 the。例如: + +Mangoes are most expensive in early summer, when they first come out. +(芒果在初夏最贵,那是刚上市的时候。) + +上句中的 most expensive 就是形容词 expensive 的最高级,但就是没有加 the。因为:这个形容词并非放在名词片语中,而是放在主词补语位置。定冠词 the 属于限定词的一种,应该和名词共同出现,除非是省略掉名词(如上文提过的 the rich, the poor, the new, the unknown 等等)。像上句中的情况,most expensive是个纯粹的形容词补语,修饰主词 mangoes。因为形容词后面根本没有名词,当然也就不会有要加冠词 the 的问题。 + +不过,刚才那个句子,如果这样说也是可以接受的: + +Mangoes are the most expensive in early summer, when they first come out. + +加上定冠词也不算错,主要是因为太多人都这样说,而符合大部分人的习惯用法就是可以接受的用法,虽然不大符合逻辑(语言本来就不是很合乎逻辑的东西)。还有: + +John runs (the) fastest among all the boys in my class. +(我班上所有男生就属John跑得最快。) + +这个句子中的 fastest 是副词,修饰前面的动词 runs。它只是个修饰语、依附在动词上面,照理说根本谈不上冠词的问题(名词片语中才会有冠词)。但是上面那个例子就是可以加 the。语言是约定俗成的事情,有些用法虽然不尽合理,但是大家都这样用就是对的。 + +再回来看看「最高级要加定冠词」这条规则,它似乎也暗示「比较级不要加定冠词」。但是这也不一定。例如: + +This is too expensive; do you have a cheaper room? +(这间太贵了,有没有便宜一点的房间?) + +I'll take the cheaper of the two rooms. +(这两间房间,我要比较便宜的那间。) + +第1句中的 a cheaper room 里面有比较级形容词 cheaper,意思是 one cheaper room,「一间」便宜一点的,所以用的是不定冠词a。但是,第2句中的 the cheaper of the two rooms 虽然也是比较级形容词 cheaper,但是它指出来了两间房间之中比较便宜的「那间」,所以应该用定冠词 the。再看下面的例子: + +Modern British architecture leaves a lot to be desired, says Charles. +(现代英国建筑还有许多有待改进之处,查尔斯王子表示。) + +名词片语 modern British architecture 前面没有加 a,是因为名词 architecture 是不可数的抽象名词、不能加 one。它前面也没有加 the,是因为上下文并无指示性:形容词位置的 modern 与 British 都是修饰语,不具指示功能。 + +The architecture of modern China is characterized by boldness. +(现代中国的建筑,特色在于大胆。) + +在名词片语 the architecture 后面有介系词片语 of modern China 当形容使用、指出是现代中国的「那种」建筑,所以前面要加定冠词 the。不过,形容词是否具有指示性,和它「放在名词前面或后面」并无一定的关系,应该要从意思上去判断才准确。例如: + +Of these chips, the blue ones are worth 100 dollars each, the red ones 50, and the yellow ones 10. +(这些筹码当中,蓝色的每枚值100元、红色50元、黄色10元。) + +The blue ones, the red ones, the yellow ones 这三个名词片语,都是用名词前面的形容词来指出是蓝色「那种」、红色「那种」等等。所以,名词前面的形容词也可以有指示作用、采用定冠词。反之: + +He picked up a chip in that pile and gave it to the waitress. +(他在那堆筹码里面拿起一枚赏给了女侍。) + +名词片语 a chip 后面虽然有介系词片语 in that pile 修饰它,但是这时候并无指示性:「一堆筹码里面」并没有指出是「哪一枚」,所以只能说 a chip,代表 one chip。 + +综上所述,不定冠词 a 或 an 与定冠词 the 的判断,可以说牵涉到相当复杂的各种情况,不是靠背规则就可以涵盖周延的。与其去背规则,还不如回到原点:不定冠词 a 或 an 来自于 one、定冠词 the 来自于 that 或 those,然后用句意来判断,这样在写作时比较不会出错。 + +## 专有名词 + +人名(如 Bill Gates)、地名(如 California)等等都是专有名词。至于 a man 和 a place 则属于普通名词。所谓普通名词,是一种通称(universal)的概念。亦即:天下间任一个男性都可以称为 a man,而世界上任一个地方也都可以称为 a place。这就是通称、也就是普通名词。正因为普通名词是通称、有许多对象都可以适用,这才需要去「限定」它:是 this man 还是 that man?是 one man 还是 many men?所以:普通名词才需要限定词。 + +至于专有名词如 Bill Gates 与 California,则是属于特称(particular)的概念。亦即:大家都知道微软那位世界首富名叫 Bill Gates。只要讲到 Bill Gates,大家都已经知道这个人是谁。这就是特称、也就是专有名词。而因为专有名词是特称、只有一个对象可以适用,一说出来就己经清楚是谁了,那么并没有「限定」它的必要,所以不能加限定词。因为 Bill Gates 这种名词本来就只有一个对象,所以并没有「一个」还是「两个」的问题、也没有「这个」还是「那个」的问题。因此在 Bill Gates 前面不能加 a、也不能加 the。 + +如果看到好像专有名词的字前面加了冠词(a, an 或 the),那么只有一个解释:它并不是真的专有名词。 + +### 假专有名词 + +真正的专有名词是「特称」,不能加冠词。但是又有一条文法规则说:专有名词不加定冠词 the,但有以下例外:河流、群山、群岛、船只、报纸、杂志、旅馆等等专有名词必须加定冠词。 + +the Danube 多瑙河 the Himalayas 喜马拉雅山 the Maldives 马尔地夫群岛 the Titanic 铁达尼号 the Newsweek 新闻周刊 the Ritz 丽池饭店 + +乍看之下,好像真的是一堆专有名词加了定冠词。但是仔细看看,名词片语有三个位置:限定词 + 形容词 + 名词。如果对比一下前面那份名单中的英文与中译,可以发现英文都少了一个部分:名词部分都被省略了。这个部分可以还原如下: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | +| the | Danube | River | +| the | Himalaya | Mountains | +| the | Maldive | Islands | +| the | Titanic | Liner | +| the | Newsweek | Magazine | +| the | Ritz | Hotel | + +这样就可以看得很清楚:以上这些传统文法中所谓的例外,其实没有一个真的是专有名词,因为所谓的专有名词(如 Danube, Himalaya 等等)其实都是放在形容词位置,真正名词位置放的都是普通名词(如 river, mountains 等等),所以这种名词片语前面当然可以加定冠词。一旦名词位置被省略,看起来才好像是专有名词加了定冠词。 + +省略的时候要注意:够清楚才能省。例如the Pacific Ocean 可以省掉 Ocean,别人还是知道你讲的是「太平洋」。但是 the Dead Sea 就不能省略 Sea,不然别人会以为你说的是​​「死人」。 + +还有,省略掉的名词如果是复数,那么复数字尾的 –s 往往会移到前面的形容词上,因为这时候形容词会升格为代名词、复数要交由它来表示,例如 the Maldive Islands 可以省略掉 Islands 成为 the Maldives,要在 Maldive 后面加个 –s 才对。 + +另一种专有名词是某些「国名」,看看两个例子: + +| 限定词 | 形容词 | 名词 | +| --- | --- | --- | --- | +| the | Dominican | Republic | +| the | United | States | of America | + +The Dominican Republic「多明尼加共和国」是国名,乍看之下是专有名词,但是仔细看看:名词位置是 Republic,这是个普通名词,属于通称:有许多国家都叫作 republic,所以它也是个假专有名词、可以加 the。再看「美国」:名词部分是 States,不仅是普通名词,甚至还是个复数!所以它也是个假专有名词。只有它后面那个介系词片语 of America 里头的 America 才是真正的专有名词,前面没有限定词。另外还有一种常见的情况: + +What do you make of the Johnsons, your new neighbors? +(你觉得你们的新邻居 Johnson 一家是怎么样的人?) + +这句中的 the Johnsons 也是假专有名词,是 the Johnson family 的省略:名词部分 family 是集合名词而非专有名词,代表「家人」时是复数,所以省略之后要在中间的 Johnson 字尾加上 –s 来取代。 + +### 专有名词普通化 + +如果看到专有名词前面加了冠词、或者后面加了复数字尾,那就表示这个专有名词在此已经被拿来当做普通名词使用、成为通称而不再是特称。例如: + +The producers of North Country hoped Charlize Theron could pull off a Julia Roberts. +(《北国性骚扰》的片商希望莎莉赛隆能演出一招和茱莉亚罗勃兹一样的手法。) + +茱莉亚罗勃兹在《永不妥协》一片中饰演挑战大企业的单亲妈妈,该片创下极高的票房。莎莉赛隆在《北国性骚扰》中同样饰演挑战大企业的单亲妈妈,片商希望她能再创茱莉亚罗勃兹的卓越成就。所谓 pull off a Julia Roberts,这种讲法是把 Julia Roberts 这个人名当做普通名词使用了:不再代表这个人、而是代表这个人所创下的成就。类似的成就,别人也可以再创,所以不只一个。这时就可以加 a 来表示是「一个」。这是专有名词当普通名词使用的结果。再看一个例子: + +This is not the Chicago I remember. +(这不是我记忆中的那个芝加哥。) + +如果此人在睽违多年之后重返芝加哥、感觉完全陌生,就可以这样说。这时候在此人眼前有一个今天的芝加哥、在此人记忆中有一个多年以前的芝加哥,所以芝加哥对此人而言有两个,因此就不再符合专有名词「特称」的要求、变成了普通名词,可以指「这个」还是「那个」了。这时就可以加上定冠词、用 the Chicago 来指出「我记忆中的那个」。这也是专有名词当做普通名词使用的例子。 + +### 普通名词专有化 + +反之,有时候也可以把普通名词当做专有名词使用、前面不加冠词。例如放在补语位置的普通名词,如果符合一些特定条件,就可以视同专有名词看待,也就是前面不加限定词。 + +这个问题可以从下面这个角度来理解。以主词补语为例,因为补语和主词之间具有全等关系,如果主词是个专有名词(例如人名),那么它的补语既然和它全等,便也可以视同专有名词看待。但是还要符合一个条件:在补语位置的这个名词必须符合专有名词「只有一个」的特性,才能够把它视同专有名词使用。例如: + +Bill Gates is Chairman of Microsoft. +S V C +(比尔盖兹是微软公司董事长。) + +本句中的 Bill Gates 是个专有名词,前面不加限定词。在补语位置上的 Chairman 本来只是个普通名词,因为并非只有微软公司才有董事长,很多别的公司也都有董事长。而且,Chairman 除了「董事长」之外还可以是「主席、系主任」等等,所以世界上的 Chairman 比比皆是。也就是说,Chairman 是普通名词(通称)、Bill Gates 是专有名词(特称),这两个名词的性质并不相同。可是,因为在这个句子中 Chairman 是 Bill Gates 的补语,可以和专有名词 Bill Gates 划上一个全等号,所以可以选择把 Chairman 也视同专有名词看待。再者,微软公司现任的董事长确实只有 Bill Gates 一人,因此把「微软公司董事长」视同专有名词看待也有道理。所以,上例中 Chairman 这个名词片语前面并没有限定词,这就是把它当作专有名词看待的结果。当然,这种情况如果选择仍旧把 Chairman 当作普通名词、在它前面加上定冠词 the,这样处理也是正确的,如: + +Bill Gates is the Chairman of Microsoft. + +再看下例: + +Bill Gates, according to some, is a better Chairman than Craig Barrett. +S V C +(有人说比尔盖兹当董事长比克雷格贝瑞特更在行。) + +贝瑞特是英特尔公司董事长。拿贝瑞特和微软公司董事长比尔盖兹相比较,就有两位董事长了。这时候,补语位置的 Chairman 虽然仍旧和主词位置的专有名词 Bill Gates 全等、似乎可以视同专有名词看待,但是在这个上下文中 Chairman 已经有两位了,所以不再符合专有名词「只有一个」的特性,因此不能把 Chairman 视为专有名词,而必须加限定词,成为 a better Chairman 这个普通名词片语。还有: + +Bill Gates is also a trustee of the Bill & Melinda Gates Foundation. +S V C +(比尔盖兹也是比尔与梅琳达盖兹基金会的一名信托人。) + +这个句子的主词补语 trustee 仍然和当主词的专有名词 Bill Gates 全等,似乎也可以把它当作专有名词看待。但是,「比尔与梅琳达盖兹基金会」有三名信托人:比尔盖兹、夫人梅琳达盖兹,以及股神华伦巴菲特。所以,这个补语 trustee 并不符合专有名词「只有一个」的要求、不能视同专有名词看待。因此还是要加上限定词成为 a trustee「一名信托人」。 + +### 同位格位置 + +另外,专有名词的同位格也有可能视同专有名词处理,例如: + +Ban Ki-moon, Secretary General of the UN, is a very powerful man. +(潘基文,联合国秘书长,是个很有权势的人。) + +句中的 Secretary General of the UN 一般称为同位格,其实就是 who is Secretary General of the UN 这个形容词子句的减化。其中 who 代表 Ban Ki-moon,而 Secretary General 则是主词补语,和 Ban Ki-moon 是全等关系,而且符合专有名词「只有一个」的条件,所以可以选择视同专有名词处理,不加限定词。 + +### 受词补语位置 + +主词补语位置要注意该补语是否为专有名词,受词补语位置也是一样。例如: + +Queen Elizabeth made Charles Prince of Wales. +S V O C +(伊莉莎白女王封查尔斯为威尔斯亲王。) + +细看一下 Prince 这个字,严格讲起来它是普通名词,因为许多国家都有 Prince,甚至同一个国家里面可以有好几个 Princes。在英国,威尔斯亲王是指定的王位继承人,同一时间只能有一人。上面这个句子中的 Prince of Wales 前面并没有加限定词,是当作专有名词使用。这是因为它是 Charles 这个专有名词的受词补语,和 Charles 是全等关系。而且威尔斯亲王确实只有一人,符合专有名词的要求,所以它可以视同专有名词使用、不加限定词。 + +## 普通名词抽象化 + +在一些特定的介系词片语中,可以看到单数的普通名词却没有加限定词,那是把普通名词当做抽象名词来使用、采用零冠词的结果。例如: + +You can contact him by phone. +(你可以打电话和他联系。) + +Are you actually going around the lake on foot? +(你真的打算徒步环湖一周吗?) + +I always go to church on Sundays. +(我礼拜天一定上教堂。) + +Mangos are not in season now. +(芒果现在时令不对。) + +You can go to the island by plane or by boat. +(那个岛可以搭飞机或搭船去。) + +以第一个例子来说,介系词片语 by phone 当中的名词 phone 是个可数的普通名词,而且是单数。这种情况应该可以放得下冠词 a,因此一般说来并不适用零冠词,换句话说应该要有限定词才对。可是在 by phone 这个片语中,phone 就是没有加限定词而用上了零冠词。这是因为:用在 by phone 这个介系词片语中,phone 已经从普通名词转为抽象名词使用了。换句话说,用在这里它的意思并不是一具电话或两具电话、也不是这具电话或那具电话,而是以 by phone 这个介系词片语表示「采用打电话的方式」。亦即,phone 用在这个介系词片语中已经由普通名词抽象化、代表一种「方式、手段」,视同不可数的抽象名词看待,所以可以采用零冠词。 + +第二个例子中的介系词片语 on foot 也是一样:并不表示一只脚或两只脚、这只脚或那只脚。亦即:foot 用在这里并不是当普通名词使用,而是以 on foot 这个片语来表示「采徒步的方式」,foot 已经由普通名词抽象化、视同抽象名词使用,因而可以采用零冠词。另外几个例子的道理也是一样,读者可以举一反三。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Participles.md b/corejava第9版/EnglishGrammarBook-master/docs/Participles.md new file mode 100644 index 0000000..eb6e15f --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Participles.md @@ -0,0 +1,187 @@ +# 第八章 分词 + +## 分词视为形容词 + +**过去分词(Ven)**,如果前面配合助动词 have,成为 have + Ven,这种构造应视为完成式的动词片语看待。除了这种情况之外,过去分词与现在分词(Ving),这两种分词都可以当作形容词看待。 + +如果分词的构造单纯(例如只有一个单字),可以直接视为动词的词类变化看待:把限定动词变成现在分词或过去分词,就是把动词的词类转变成形容词来使用。如果是比较庞大的分词片语(例如里面还有受词、补语、副词等等),那么采用减化子句来诠释会比较完整,这是后话。 + +先前在第四章介绍形容词时提过,形容词有两种主要的位​​置:名词片语中、以及补语位置。观察一下不难发现:这两个位置都可以放进分词,由此可见分词确实可以当做形容词使用。以下就形容词这两种主要位置分别说明分词的用法。 + +## 一.名词片语中 + +This is a good book. +(这是一本好书。) + +形容词 good 放在限定词 a 与名词 book 中间,这是「名词片语中」的形容词位置,这种形容词称为 attributive adjectives。这个位置也可以放进分词当形容词使用,如下面这两个例子: + +This is a best-selling book. +(这是一本畅销书。) + +现在分词 best-selling 放在「名词片语中」的形容词位置,当作形容词使用。不过现在分词多了一项特色:它的-ing字尾具有「持续、进行」的暗示,所以 best-selling 带有「正在畅销的、一直畅销的」暗示。也就是说,这个现在分词虽然当形容词使用,却还是能够表达「进行」状态。 + +This is a well-written book. +(这是一本写得很好的书。) + +过去分词 well-written 也可以放在「名词片语中」的形容词位置,表示它同样也可以当形容词使用。过去分词也有自己的一项特色:它具有「被动」或「完成」的暗示。所以,well-written 这个过去分词虽然当作形容词使用,却仍然带有「被动」语态(表示「被写得很好」),以及「完成」​​状态(表示「已经写好」)。 + +## 二.补语位置 + +形容词除了放在名词片语中,另一个主要的位置就是补语位置。这个位置的形容词称为 predicative adjectives,例如: + +The book is good. +(这本书很好。) + +形容词 good 放在 is 后面当主词补语使用、修饰主词 the book。这个位置也可以放进分词(现在分词与过去分词),如下: + +The book is selling well. +(这本书卖得很好。) + +依照传统文法的诠释,这个句子的动词应该是 is selling 这个动词片语,称为「现在进行式」。这是正确的诠释。但是如果采用传统文法的诠释方式,动词时态有24种之多,非常复杂。反之,如果另辟蹊径、变通一下,认定 be 动词就是动词、后面的分​​词是形容词补语,那么时态的问题就会变得非常简单。拿上面这个例子来说,简单化的诠释是这样的:动词是 is,它的时态是「现在简单式」,后面 selling well 这个分词片语是形容词片语,当主词补语使用,修饰主词 the book。现在分词的 -ing 字尾表达「进行」状态,所以 selling well 这个形容词片语表示这本书「正在」或「一直」卖得很好。 + +The book is well written. +(这本书写得很好。) + +依照传统文法的诠释,这个句子的动词应该是 is written 这个动词片语,称为「现在简单被动态」。简单化的诠释则是一律认定 be 为动词,后面 well written 这个过去分词片语就当形容词补语看待、修饰主词 the book。过去分词的字尾具有「被动」语态或「完成」状态,所以 well written 这个形容词片语表示这本书「被写」或「已经写」得很好。 + +## 分词的动词用法与形容词用法比较 + +如上所述,复杂的动词时态要想简单化,可以认定 be 为动词、后面的分​​词为形容词补语。这是取其简单化的看法,忽略掉比较细微的差别。事实上,分词可以当动词使用、也可以当形容词使用,两种用法之间是有一些差异的。要先了解有哪些差别存在,然后才可以放心地忽略这些差别。先来看看过去分词的用法。 + +### 一.过去分词 + +看看下面的例子: + +The man was dressed by his valet this morning. +(此人今天早上是由他的仆人伺候穿衣的。) + +He is dressed in blue. +(他身穿蓝色衣服。) + +第 1 句是个被动语态的句子,动词是被动态的动词片语 was dressed,后面有被动态专用的介系词 by 表示「被谁」。时间副词 this morning 是过去时间,因此动词采用过去式的 was dressed,表示穿衣服的「动作」发生在过去。这些观察在在都表示这个句子的动词是 was dressed,过去分词 dressed 属于动词片语中的一部分。 + +第 2 句的情况就不一样了。动词 is 用的是现在式,表示时间是「现在」。后面的过去分词 dressed 是形容词,用来「描述」此人目前的穿着,而非表示穿衣的「动作」(那是发生在过去的事情,应采用过去式)。采用过去分词 dressed,表示的是「完成」状态:描述此人「穿了」蓝衣服。 + +以上的观察显示,dressed 当作动词使用和当作形容词使用,两种用法之间确有差别,这项差别是文法学家必须了解的。不过这项差别非常细微,从语言学习者的角度来看,忽略这项差别也没有什么关系。换句话说,包括上列第 1 句也可以认定 was 为动词、后面的分​​词 dressed by his valet 为形容词片语作为主词补语,句型诠释和第 2 句相同。这种诠释方式虽不十分严谨,但是有简单化的好处。 + +再看一个例子: + +I was annoyed by mosquitoes all night last night. +(我昨晚被蚊子吵了一整夜。) + +I am very annoyed with him. +(我对他相当反感。) + +第 1 句的时间是过去(last night),动词采用过去式的被动态动词片语 was annoyed,后面有 by 引导的介系词片语来表示「被谁」。这些观察显示这个句子的动词是 was annoyed,过去分词 annoyed 属于动词片语中的一部分。 + +第 2 句的情况不同。在过去分词 annoyed 前面可以加上强调语气的副词 very,这表示 annoyed 在此是当形容词使用,作为主词补语、修饰主词I。这个句子的句型和 I am very angry with him 类似,annoyed 和 angry 同样都是当形容词补语使用。 + +以上是详细的区分。不过,从语言学习者的角度来看,忽略上述的差别,一律认定 be 为动词、后面的过去分词为形容词补语,这种简单化的诠释也可以行得通。例如上列第1句,也可以选择把 was 视为动词、后面的分​​词 annoyed by mosquitoes 视为形容词补语。这是为了求其简单与统一,把第 1 句和第 2 句的句型作相同的诠释。过去分词 annoyed 本身具有「被动」语态,表示「被打扰」。 + +> be + Ven = 被动态? + +传统文法列出公式「be + Ven = 被动态」,这一类的公式有一些共同的缺点。首先,传统文法中的公式太多,一个小小的变化就可以产生出一条公式,结果造成语言学习者背不胜背、记忆力不堪负荷。其次,这些公式往往都是以偏盖全,语言学习者在套公式时经常会套错,因此每一条公式又会衍生出若干条「例外」。学习者不只是背公式就算了,还得把一堆例外统统背起来才行。这种学习方式徒然增加学习者的负担,令许多学习者闻文法而色变、对文法望而却步,坦白说是相当拙劣的学习方式。将动词时态归纳为多达24种,就是很不科学的学习方法。 + +比较聪明的方法是不要管那些无穷无尽的公式,而是设法去理解诸如现在分词、过去分词等少数几个「元件」的性质与用法,再加以排列组合就可以应用在各式各样的情境中。这种情况有如学单字:一个个单字去死背,那么有数十万个单字要背;反之,如果熟悉了一、两百个字根字首,再用排列组合的方式来诠释单字,记忆的负担就可大幅减轻。以「be + Ven = 被动态」这条公式而言,学习者如果能够掌握过去分词的特质,知道它可以当形容词使用、本身具有「被动」语态或「完成」状态,就能充分运用它在英文写作中、不必去背那些公式。例如: + +My wallet was stolen last night. +(我的皮夹昨晚被偷了。) + +传统文法认定 was stolen 为被动态的动词片语。比较简单的看法则是一律认定 be 为动词(时间是 last night 所以采用过去式的 was),后面的过去分词 stolen 认定为形容词补语、本身具有「被动」语态,表示「被偷」,用来修饰主词 my wallet。以这种方式来诠释,就不必去背「be + Ven = 被动态」这条公式了。请比较一下这个句子: + +I found my wallet stolen. +S V O C +(我发觉我的皮夹被偷了。) + +传统文法对这个句子的诠释,也必须认定 my wallet 是受词,后面的过去分词 stolen 是形容词、当受词补语使用。当然,上面这个句子就是下面这句的减化: + +I found that my wallet was stolen. +S V O(名词子句) + +其中的名词子句 my wallet was stolen,句型和上列第 1 句完全相同。如果把 was 视为动词,后面的 stolen 视为形容词、当主词补语使用,那么由此减化为上面第 2 句 I found my wallet stolen(my wallet 成为受词、stolen 成为受词补语)就是顺理成章的变化。 + +「be + Ven = 被动态」这条公式不仅没有必要去背它,有时还会有误导之嫌。因为,过去分词放在 be 动词后面成为 be + Ven 的形态,有时并不表示被动语态。而且,过去分词就算不放在be动词后面,经常还是要加上被动语态来解释。所以,「be + Ven = 被动态」这条公式实在没有多大的意义。看看下面的例子: + +I can’t find my wallet. It’s gone. +(我找不到皮夹。不见了。) + +后面那一句的动词如果认定为 is gone,就符合 be + Ven 的构造,但是它并非被动态。因为 go 这个动词是个不及物动词,并没有被动态可言。过去分词 gone 虽然放在 is 后面成为 be + Ven 的构造,仍不能作被动态动词解释,而应该把 gone 当作形容词使用,解释为「跑掉了,不见了」,也就是作「完成」状态解释。前面说过,过去分词可以表示「被动」语态或「完成」状态,这里就是解释为「完成」状态的一个例子。再看看下面这个句子: + +I’m done. It’s all yours. +(我用完了。交给你了。) + +比方你在提款机前面办完了手续,让给排在后面的人使用时就可以加上这么一句。这里的动词 do 是个及物动词,但是 am done 虽然符合「be + Ven」的构造,却仍然不能作被动态解释。因为它在这里的意思显然不是说我「被做掉」,而是说我「已经做完」。所以,过去分词 done 在这里要当作形容词看待,不表示被动语态而是表示「完成」状态,也就是「已经」做完的意思。还有一个明显的例子: + +The leaves are fallen. +(叶子都落光了。) + +同样的,are fallen 也符合「be + Ven」的构造,但是仍然不能解释为被动态,因为动词 fall 是不及物动词、并没有被动态可言。这时候过去分词 fallen 必须当形容词解释,表示「完成」状态,也就是说叶子「已经」掉落。 + +看了上面几个例子,全部都是 be + Ven 却都不能当作被动态解释。所以,「be + Ven = 被动态」这条规则显然并不可靠。反之,过去分词就算没有放在 be 动词后面,却经常要作被动态解释,例如: + +spilt milk 洒出来的牛奶 +a wounded soldier 伤兵 +burnt-down houses 被烧毁的房子 + +这三个例子都是名词片语。其中 milk 是物质名词、不可数,前面采用了零冠词。中间形容词位置放的是过去分词 spilt,表示「被洒出来」和「已经洒出来」,兼具被动语态与完成状态。 A wounded soldier 这个名词片语在中间形容词位置放的是过去分词 wounded,表示「被打伤」和「已经受伤」,也是兼具被动语态与完成状态。最后一个例子中的 houses 是复数、前面采用了零冠词,中间形容词位置放的是过去分词的复合字 burnt-down,表示「被烧毁」和「已经烧毁了」,兼具被动语态与完成状态。由这三个例子可以看出:过去分词没有放在 be 动词后面,仍然可以有被动语态。 + +由以上观察可知,be + Ven 不一定是被动语态,反而单独的 Ven 也能够表达被动语态。所以「be + Ven = 被动态」这种公式不是很有意义,不如分开来理解:be 是动词、后面的过去分词是形容词补语,Ven 本身可以表示被动语态或完成状态。 + +### 二.现在分词 + +和过去分词一样,现在分词也有动词用法与形容词用法的差别,但也可以选择忽略这个细微的差别。先看看下面的例子: + +The dog was sleeping under the car then. +(那只狗当时正在汽车底下睡觉。) + +The story is rather interesting. +(这个故事蛮有意思的。) + +第 1 句中的动词是过去进行式 was sleeping,表示「正在睡觉」或「一直睡觉」。现在分词 sleeping 属于动词片语中的一部分,所以是当动词使用。第 2 句的动词则是现在简单式的 is,后面的现在分词 interesting 是个形容词、当作主词补语。有一个比较明显的线索是在 interesting 前面有个程度副词 rather 修饰它,可以看出 interesting 不是动词、而是形容词。 + +从上面两个句子可以看出,现在分词有时​​候是动词片语的一部分、当动词使用,也有时候独立当作形容词使用。这两种用法之间确实有差别。不过,其间的差别相当细微,从语言学习者的角度来看可以忽略。换句话说,包括上列第 1 句也可以认定 was 为动词、后面的现在分词sleeping为形容词作为主词补语,句型诠释和第 2 句相同。现在分词字尾的 -ing 本身就可以表达「进行」状态。这是求其简单化的诠释。 + +> be + Ving = 进行式? + +传统文法还有一条基本规则是「be + Ving = 进行式」。这条规则也不是很有意义。因为,be + Ving 不一定是进行式。反之,没有 be 动词时,独立的 Ving 还是可以表达进行状态。例如: + +The movie was really boring. +(这部电影真的很无聊。) + +这个句子里面虽然有 be + Ving(was boring),却不是进行式。句中的动词是过去简单式的 was,后面的现在分词 boring 是形容词,当作主词补语、修饰主词 the movie。反之: + +drifting leaves 随水漂流的树叶 +singing birds 在唱歌的鸟 +a sinking ship 逐渐沉没的船只 + +这三个名词片语,中间都有现在分词当作形容词。这三个现在分词都没有放在be动词后面、却都表现出「进行」状态:drifting 是「正在」漂流、singing 是「正在」唱歌、sinking是「正在」沉没。 + +另外,即使是传统文法认定的进行式,如果换个角度诠释,把 be 视为动词、后面的现在分词视为具有「进行」状态的形容词,也都可以讲得通,句型的变化也会比较灵活。例如: + +I saw that the tree was swaying in the breeze. +S V O(名词子句) + +I saw the tree swaying in the breeze. +S V O C (我看到树在风中摇摆。) + +第1句的受词子句中,动词是 was swaying 这个过去进行式的动词片语,现在分词 swaying 是动词中的一部分。但是,这个句子一旦减化成为第2句,传统文法也不得不改变诠释,将现在分词 swaying 视为形容词、当作受词补语看待。既然如此,为何不直接把第 1 句中 the tree was swaying 的 swaying 也视为形容词补语、was 视为动词?简单的看法是:凡是 be 动词都认定为动词、后面的分​​词(不论现在分词还是过去分词)视为形容词补语,这样做至少有驾简驭繁的好处。动词时态也会相对变得简单许多。更重要的是,以这种方式诠释各式各样的减化子句,包括分词构句、同位格、动名词、不定词片语等等,都会很容易理解。 + +再看一个比较复杂的例子: + +We found that he was teaching his son English at home. +S V O + +We found him teaching his son English at home. +S V O C (我们发现他在家里教儿子英文。) + +第 1 句中的受词子句,传统文法一般是如此诠释: + +he was teaching his son English at home +S V O1 O2 + +动词是过去进行式的动词片语was teaching,现在分词 teaching 属于动词的一部分,后面的 his son 与 English 分别是两个受词。不过,如果采简单化的诠释一以贯之,一律认定 be 为动词、后面的分​​词片语为形容词补语,那么这个名词子句的构造如下: + +he was teaching his son English at home +S V C + +这时候动词就是 was,过去简单式,后面的 teaching his son English at home 是现在分词片语,当形容词补语使用(主词补语),修饰主词he。现在分词 -ing 字尾表达「进行」状态,所以有「正在」教的意思。这种诠释方式除了简单化,还有一项好处:很容易由此减化成为上列的第 2 句 We found him teaching his son English at home。在第2句中,teaching his son English at home是现在分词片语,当形容词补语使用(受词补语),修饰受词 him。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Prepositions.md b/corejava第9版/EnglishGrammarBook-master/docs/Prepositions.md new file mode 100644 index 0000000..7a9e15e --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Prepositions.md @@ -0,0 +1,529 @@ +# 第七章 介系词 + +**介系词(prepositions)**,从造字来看是 pre- 加上 position,意思是「放在前面的东西」。介系词的用法就是放在名词前面、与名词(称为它的受词)共同构成一个意义单元、称为介系词片语,当作修饰语使用。介系词片语这种修饰语可以当形容词或副词使用,是最有弹性、使用频率最高的一种修饰语。可以用来修饰名词、动词、形容词、副词等各大词类。以下是介系词片语修饰各种词类的例子: + +The company is in trouble. +名词 介系词片语 +(公司有困难了。) + +介系词片语 in trouble 当形容词使用,在句中充当主词补语、修饰主词 the company(名词)。 + +I leave for Hong Kong tomorrow. +动词 介系词片语 +(我明天动身到香港去。) + +介系词片语 for Hong Kong 当地方副词使用,修饰动词 leave。 + +The country is rich in mineral wealth. +形容词 介系词片语 +(这个国家富含矿物资源。) + +介系词片语 in mineral wealth 当副词使用,修饰形容词 rich。 + +The new janitor works half-heartedly at best. +副词 介系词片语 +(新来的工友做起事情来,充其量只能说是兴趣缺缺。) + +介系词片语 at best 当副词使用,修饰副词 half-heartedly。 + +## 介系词与介副词 + +有一种词类,看起来和介系词一模一样,但是后面却没有受词,而是直接当做副词使用。这种词类称为**介副词(particles)**,应该当作副词看待。例如: + +Come in. +(请进。) + +The soldier stood up. +(士兵站了起来。) + +第 1 句中的 in 看起来像介系词,后面却没有受词,而是直接当地方副词使用,修饰动词 come,称为介副词。第 2 句中的 up 也是介副词,直接修饰动词 stood。 + +介副词还经常和介系词共同使用,例如: + +The plumber went down to the basement. +(水管工人下到地下室去。) + +句中的 down 是个介副词,后面没有受词、直接修饰动词 went。它后面的 to 才是介系词,后接名词片语 the basement 当受词、构成一个介系词片语 to the basement,当地方副词使用,修饰动词 went。 + +He has gone over to your house. +(他已经跑到你家去了。) + +句中的 over 是介副词,直接修饰动词 has gone。后面的 to 才是介系词,后接名词片语 your house 当受词、构成一个介系词片语 to your house,当地方副词使用、修饰动词 has gone。 + +## 介系词与片语动词 + +请比较一下底下这两个句子: + +The man slept on the couch. +(这名男子睡在长沙发上。) + +The man turned on the light. +(这名男子打开了灯。) + +乍看之下两句的构造非常相似,但是句型其实并不一样。第 1 句是 S + V 的句型,如下: + +The man slept on the couch. +S V 介系词片语 + +句中的动词是 slept,后面的 on the couch 是个介系词片语,当地方副词使用、修饰动词 slept 的地方。第 2 句就不同了,是 S + V + O 的句型,如下: + +The man turned on the light. +S V O + +这时候应该把 turned on 当一个动词来看(称为片语动词),后面的 the light 是动词 turned on 的受词。因为,如果第 2 句仍然采用第 1 句的句型来诠释,成为: + +The man turned on the light. (误) +S V 介系词片语 + +那么,介系词片语 on the light 是个地方副词(在灯上),用来修饰动词 turned,整个句子的意思就会变成:「这名男子在灯上旋转」。这样解释显然讲不通。而是应该把 turned on 合在一起当成动词看待,意思是「打开」。 + +类似 turn on 这种情况,在动词后面加上介副词、由两个以上单字构成一个意义单元、应该当做一个动词来诠释,这种构造称为**片语动词(phrasal verbs)**。 + +## 片语动词的种类 + +片语动词可分成及物动词与不及物动词,而及物动词中又可分成可以拆开的片语动词和不可拆开的片语动词。所以片语动词大致可以分成以下几种。 + +### 一.及物动词、不可拆开(受词必须放在片语后面) + +#### get over 康复,痊愈 + +It's only a cold; you'll get over it soon enough. +(只不过是小感冒,很快就会好了。) + +像 get over 这种片语动词属于及物动词,应该要有受词。而 get over 这种片语不可拆开,意思是说它的受词只能放在后面(如 get over it),而不能放在 get 与 over 的中间。如果看到 get it over with 这种构造,那是另一个不同的片语,意思变成「趁早把事情了结」。接下来几个例子都和 get over 属于同一类(及物、不可拆开),请读者自行体会。 + +#### look into 调查,了解 + +The manager will look into your complaint at once. +(经理将就您的抱怨立即进行了解。) + +#### take after 类似,像 + +Henry takes after his father. +(Henry很像他爸爸。) + +#### stand by 支援 + +Don’t worry; I’ll stand by you. +(别担心,我会支援你。) + +如果看到 stand by 后面缺乏受词,那么表示这是另一个片语动词,属于不及物,意思是「等待,准备」。例如: + +Your team is next; please stand by. +(下一个轮到你们这队了,请准备。) + +### 二.不及物动词 + +#### come about 發生 + +How did this all come about? +(這件事是怎麼發生的?) + +不及物的片語動詞,後面當然不會有受詞。 + +#### fall off 下跌 + +Business has fallen off badly since the SARS epidemic. +(自從SARS疫情以來,生意慘跌。) + +#### go off 爆炸 + +The bomb went off in the middle of the night. +(炸彈半夜爆炸了。) + +#### turn up 出現,出席 + +The meeting was postponed because too few people turned up. +(會議延期了,因為出席的人太少。) + +### 三.及物动词、可以拆开(受词可放在片语后面、也可开放在中间) + +#### bring up 抚养长大 + +That woman brought up eight children. +That woman brought eight children up. +That woman brought them up. +(那个女人抚养八个小孩长大。) + +像 bring up 这种片语动词属于及物动词,它的受词 eight children 可以放在 bring up 的后面、也可以把 bring 与 up 拆开来放在中间。像这一类的片语动词,如果受词是代名词(如them)就不适合放在后面,而必须把片语动词拆开、受词放中间(如brought them up)。原因在于:后面的位置是比较重要的位置,念起来重音也会落在这个位置。但是代名词是比较不重要的东西,不宜念成重音。所以,只要片语动词是可以拆开的那种、而受词又是代名词,就必须拆开来把代名词放在中间、把后面要念成重音的位置留给片语动词中的介副词(如 brought them up)。 + +#### call off 取消 + +The boss has called off the meeting. +The boss has called the meeting off. +The boss has called it off. +(老板已经取消了会议。) + +#### turn down 拒绝 + +I’m going to turn down his offer. +I’m going to turn his offer down. +I’m going to turn it down. +(我将拒绝他的提议。) + +#### make up 捏造,编造 + +He made up a long story. +He made a long story up. +He made it up. +(他编造了一个很长的故事。) + +如果看到 make up 的后面缺乏受词,那表示它是另一个片语动词,属于不及物,意思是「合好」,例如: + +He and his separated wife finally made up. +(他和分居的老婆终于合好了。) + +### 四.三个字以上的片语动词,及物、不可拆开(受词应放在后面) + +#### catch up with 赶上 + +He's slowly catching up with his classmates in exam grades. +(他的考试成绩渐渐赶上同班同学了。) + +从前的文法书称片语动词为「双字动词」(two-word verbs),但是这个名称不很贴切,因为片语动词有时候不只两个字,例如 catch up with。片语动词如果是三个字,通常第一个是动词(如catch)、第二个是介副词(如 up)、第三个是介系词(如 with)。因为第三个是介系词,后面必须有受词,所以凡是这种三个字以上的片语动词都是及物动词,而且都不可拆、受词一定要放在后面。以下几个例子都是同样的情况。 + +#### drop out of 退出,中辍 + +John hurt his leg and had to drop out of the race. +(John腿受伤,不得不退出比赛。) + +#### get away with 侥幸逃脱,全身而退 + +If you take the money, you can't expect to get away with it. +(你要是敢拿钱,就别想全身而退。) + +#### go back on 食言,说话不算 + +I promised my kid a new notebook, so I can't go back on my word n​​ow. +(我答应小孩要买一台新笔电,现在不能说了不算。) + +以上所做的主要是分类的工作,介绍一下片语动词有哪些种类。在此有限的空间当然无法列举周全。片语动词的情况和介系词类似,最好是经过广读、广泛地接触吸收,慢慢就会知道该怎么用。 + +## 空间介系词 + +表示空间的介系词可以分成点、线、面、体四个角度来探讨。所谓点、线、面、体,都是主观的认定。亦即,同一个空间,只要说话者在这句话中把它当成一个点看待,就要采取表示「点」的介系词。换一个句子,把同一个空间当成立体来看待,就该采取表示「体」的介系词。 + +### 一、点:at + +The bus will stop at the dock to pick up passengers. +(巴士在码头将停下来载客。) + +在巴士的行驶路线上,码头是一个「点」、来到这个点要停。属于「点」的空间概念,通常用 at 这个介系词来表示。 + +We have arrived at our destination. +(我们已经抵达了我们的目的地。) + +在旅程中,目的地是个「终点」。 + +The sniper is aiming at the kidnapper. +(狙击手在瞄准绑票犯。) + +用枪瞄准目标时,这个目标就是一个「瞄准点」。 + +The instructor points to the poster on the wall and says, “Never point your gun at anybody.” +(教官指向墙上的海报,说:「绝不要用枪瞄准任何人。」) + +如果是「指向某个方向」,应该说 point to,这个介系词 to 相当于 toward 的用法。如果说「瞄准」,那是把目标当成一个定点,就该说 point at。 + +### 二、线:on, along + +The student memorized 10 new words on his way to school. +(这个学生在上学途中记了十个新单字。) + +从家里到学校是一条「线」状的路程。属于「线」的空间观念通常以 on 或 along 来表现。 + +There are many beautiful villas along the beach. +(沿着海滩有许多美丽的别墅。) + +海滩可以视为海与陆地交界的一条「线」,介系词采用 along 或者 on 都可以。 + +I see three bookstores on this street. +(我看到这条街上有三家书店。) + +一条街,是「线」形的构造,介系词可用 along 或 on。 + +### 三、面:on + +I strained my eyes but couldn't see any ship on the sea. +(我亟目眺望,但是海面上看不到有船。) + +「海面」是个平面。在平面上,通常用 on 这个介系词来表示。 + +There’s a picture hanging on the wall. +(墙上挂了张画。) + +「墙面」也是个平面,所以用 on 这个介系词。 + +The speaker is standing on the platform. +(演说者站在讲台上。) + +讲台的上面是个平面,所以用 on 表示。 + +### 四、体:in + +I like to stay in my office because it's quiet there. +(我喜欢待在自己办公室里头,因为很安静。) + +所谓「点、线、面、体」的认定,其实是主观的。上面这个句子表示「办公室里头很安静」,那是把办公室视为一个具有长、宽、高的立体看待,所以介系词用in。但是下面这个例子就不一样了: + +We'll go our separate ways, and meet at my office at three. +(我们各走各的,三点钟在我办公室碰面。) + +这个句子是在约碰面的「地点」,所以是把办公室视为一个「点」看待,因此介系词用 at。 + +I think I'll walk; there are too many cars in the street. +(我想我走路好了,街上车子太多了。) + +如果把街道视为一条线,介系词应该用 on 或 along。但是上面这个句子是把街道视为一个立体空间,说里头的车子太多了,这时就该用 in。 + +### 比喻用法 + +空间介系词有时候是用来作比喻,并不是真正用来表示空间。例如: + +That shameless man is beneath contempt. +(那个无耻的人简直太令人瞧不起了。) + +介系词片语 beneath contempt 字面上是「比轻蔑更低」,这是空间介系词的比喻用法,表示「令人瞧不起」。 + +What the lecturer is saying is quite beyond my comprehension. +(演讲人所说的话我完全听不懂。) + +介系词片语 beyond my comprehension 字面上是「超越我理解的范围之外」,这也是空间介系词的比喻用法,表示「不懂」。 + +His objection is quite beside the point. +(他的反对意见完全离题了。) + +介系词片语 beside the point 字面上是「偏离了重点」,以此比喻「离题、与主题无关」 + +It's sometimes difficult to live within one's income. +(要量入为出,​​有时候很困难。) + +介系词片语 within one's means 字面上是「在个人收入范围之内」,这是用空间介系词来比喻「不透支」。 + +## 时间介系词 + +比较常用的时间介系词有 in, on, at 这些。如果表达的是一个时间的「定点」、非常短的时间,通常用 at 这个介系词,例如: + +I’ll meet you at six o’clock. +(我们六点钟见。) + +「六点钟」是个时间上的「定点」,介系词应该用 at。类似的例子有:at noon, at midnight, at dinner, at sunrise, at sunset 等等。比较特别的是 at night:虽然「夜晚」的时间比较长,但仍要使用 at 这个介系词。这没有什么道理可讲,而是语言习惯使然。 + +如果是一段比较长的时间,通常用 in 这个介系词来表示,例如: + +I do most of my work in the morning. +(我大部分的事情都是在早上处理。) + +「早上」是「一段时间」,介系词应该用 in。类似的例子有:in the evening, in M​​ay, in summer, in 2007 等等。 + +如果表示出来「哪一天」,如星期、日期、节日等等,通常要用 on 这个介系词,例如: + +My birthday is on January 23. +(我的生日是元月23日。) + +讲出「元月23日」这天,介系词应该用 on。另外像 on Monday, on New Year's Day 等等,介系词都要用 on。甚至包括与 the morning, the evening 之类并用时,只要有讲出哪一天,介系词仍然是用 on。例如: + +The accident happened on the morning of June 20. +(意外发生在六月20日早上。) + +## 其他介系词 + +除了时间、空间之外,还有一些介系词用于表达其他的观念。比较值得注意的有以下这些。 + +### apart from 除了…之外 + +这个介系词有两种不同的用法。它可以相当于 except for,表示「除了……之外就没了」,例如: + +We had no trouble on the way apart from(= except for) a flat tire. +(我们一路都没碰到问题,除了一枚轮胎没气。) + +但是它也可以相当于 in addition to,表示「除了……之外还有」,例如: + +Apart from(= in addition to) a flat tire, we also ran out of gas. +(除了轮胎没气之外,我们还用光了汽油。) + +### as for 至于 + +这个介系词在写作时很好用,可以用在逐条列举、也可以用来列举呈对比的项目,例如: + +I don't blame you. As for your friend, he has behaved very badly. +(我并不怪你。至于你的朋友,他的行为就很差劲。) + +### for 为了…,以(价钱),支援 + +这是个常用的介系词,有好几种解释。 + +This document is for your information only. +(本文件只供你个人参考之用) + +I bought the book for 200 dollars. +(这本书是我花200元买的。) + +Are you for the tax cut? +(你支援减税案吗?) + +### of ……的 + +这是出现频率最高的介系词之一,有好几种用法。 + +These shoes are made of rubber. +(这双鞋是橡胶做的。) + +Holland is a part of Europe. +(荷兰是欧洲的一部分。) + +I think of you often. +(我经常会想念你。) + +The arrival of the train caused a big stir on the platform. +(火车的抵达在月台上掀起一阵骚动。) + +### at 以(价钱或速度) + +We joined the tour at $3,000 per person. +(我们以每人3,000元的价格参加了旅行团。) + +The car was going at 90 km per hour. +(车子当时以每小时90公里的速度行进。) + +### but 除了 + +通常 but 是对等连接词,但也可以当介系词使用,用法相当于 except。 + +No one but(= except) a fool would accept a challenge like that. +(除了傻瓜,没有人会接受这样的挑战。) + +### in 以(表达方式) + +How do you say that in English? +(这句话用英文怎么说?) + +He signed his name in black ink. +(他以黑墨水签下名字。) + +### up to 由 …… 决定,可以胜任,在从事(或计画) + +这个介系词有好几种不同的意思,请读者由例句中自行判读。 + +It’s not up to me to decide. +(这件事不是由我来决定的。) + +I’m not up to this job. +(我个工作我胜任不了。) + +Do you know what Tom has been up to recently? +(你知道汤姆最近在搞什么鬼吗?) + +### between / among 在 … 之间 + +一般文法书说 between 用于表示两者之间,among 则是三者以上。这个区别大致说来是可以接受的,可是要拿它当规则来背,就会有例外。其实这两个介系词的差别主要不在两个与多个之差,而在于:between 有标示位置的功能(意思是「夹在中间」),among 则没有(只表示「其中,之中」 )。例如: + +The Rhine flows between France and Germany. +(莱茵河流经法国与德国中间。) + +「两个中间」用 between,这个例子刚好是法国和德国这「两个」,所以用 between。不过,采用between真正的理由并不在于「两个」、而在于「夹在中间」:莱茵河夹在法国德国中间,所以要用 between。换句话说,在这里采用 between 是因为具有标示位置的功能。 + +Among the major cities in the world, Shanghai is probably developing most rapidly. +(在世界各大城市之中,上海很可能是目前发展最快速的。) + +「三个以上」用 among,这个例子提到的 the major cities in the world 有许多个,所以用 among。不过,这里采用 among 的真正理由也不在于「三个以上」,而是在于:这个上下文完全没有标示位置的功能,只表示「其中、之中」。请看下例: + +Switzerland lies between France, Germany, Austria, and Italy. +(瑞士位于法国、德国、奥地利与义大利中间。) + +在这个例子中,between 后面有四个国家,可是仍然要用 between,主要是因为现在是用这四个国家来标示位置,把瑞士「夹在中间」,而不是笼统地表示「其中、之中」。既然有标示位置的功能,就应该用 between。 + +### except / except for 除了…… + +一般的情况下,except for 和 except 的用法与意思都差不多。但是放在句首时只能用 except for,不能用 except。 + +You can all go except George. +You can all go except for George. +Except for George, you can all go. +(大家都能去,除了乔治。) + +### on / about (谈论)关于… + +文章或演说的主题,如果采比较正式的口吻、比较专业或学术化,就应该用 on 这个介系词来表示。如果是非正式的口吻,用 about 就行了。 + +He has written a book on the temples of the Upper Nile. +(他写了一本书论尼罗河上游的庙宇。) + +He’s talking about his childhood. +(他在谈他的童年。) + +### over 关于… + +如果是「争论」的话题,通常要用 over 这个介系词来表示,例如: + +They're arguing over their share of the property. +(他们在争这份财产要怎么分。) + +### through 经由……,靠…… + +这个介系词可以表示「途径」或「手段」,例如: + +He achieved fame through sheer hard work. +(他纯粹是靠苦干而成名的。) + +## 普通名词抽象化 + +在第二章介绍名词片语时,我们提过「普通名词抽象化」这个观念,例如: + +I think I’ll go by bus. +(我想我搭巴士去好了。) + +用在 go by bus 这个片语中,bus 已经不再是一辆具体、有形的车辆,而是代表一种「交通方式」。这是把普通名词 bus 当作抽象名词使用,因此可以采用零冠词。但是,如果在 bus 前面有形容词、构成一个名词片语,那么它又会恢复普通名词的身分、必须有限定词,例如: + +I’ll go by the 5:30 bus. +(我搭五点半那班巴士好了。) + +说出是五点半「那班」,这是明确指出要搭「哪一班」巴士,所以还是要加定冠词 the。 + +He usually goes to bed before 11:00. +(他通常是十一点之前就寝。) + +He’s going toward the bed. +(他向床走过去。) + +第 1 句里面的 go to bed是 个特定的片语,表示「上床睡觉」,这时候 bed 这个普通名词要采抽象化处理、加零冠词。但是如果介系词换成 toward、成为 go toward the bed,意思就不再是「上床睡觉」,而是「朝那张床走过去」。这时候 bed 仍然是个普通名词,必须有限定词。 + +I love to travel by sea. +(我喜欢航海旅行。) + +I have a small house by the sea. +(我在海边有栋小房子。) + +第 1 句中的 travel by sea 是个特定片语,表示「以航海的方式旅行」,这时候 sea 不再是普通名词,而是以 by sea 来表示某种交通方式,因此 sea 可以视为抽象名词看待、前面用零冠词。但是,如果意思是「在海边」,那么 sea 不再是一种抽象的「交通方式」、而是具体的「海洋」,就需要有限定词。 + +## 介系词片语的位置 + +如上所述,介系词片语是很有弹性的修饰语,可以当作形容词或副词使用。介系词片语在句中的位置,通常是放在它所修饰对象的后面作后位修饰语使用,例如: + +I love to read books with pictures in my leisure time. +(我有空的时候很喜欢阅读有插画的书。) + +介系词片语 with pictures 当形容词使用,修饰名词 books,放在名词后面的位置。另一个介系词片语 in my leisure time 当时间副词使用,修饰 read 的时间,放在句尾位置。 + +使用介系词片语和使用其他的修饰语一样,都得小心不要犯模棱两可的错误。例如: + +The secretary had to retype the letter which she had been working on under the order of the manager. (不佳) + +这个句子写得不好,因为介系词片语 under the order of the manager 放的位置既是全句的句尾、又是关系子句的句尾,所以它可以修饰主要子句的动词 had to retype 、也可以修饰关系子句的动词 had been working on,造成模棱两可的结果。可以分别修改如下: + +Under the order of the manager, the secretary had to retype the letter which she had been working on. +(在经理命令之下,秘书不得不重打那封她一直在处理的信件。) + +The secretary had to retype the letter which, under the order of the manager, she had been working on. +(秘书必须重打那封她奉经理之命一直在处理的信件。) + +再看一个例子: + +I saw that many houses were destroyed by fire on TV. (不佳) + +介系词片语 by fire 放在被动态的动词 were destroyed 后面修饰它,意思很清楚(「被火烧毁」)。但是另一个介系词片语 on TV 是个地方副词,放在这个位置一方面是全句的句尾、另一方面又是名词子句(that子句)的句尾,所以它可以修饰主要子句的动词 saw、也可以修饰名词子句的动词 were destroyed,造成模棱两可的结果。应修改如下: + +On TV I saw that many houses were destroyed by fire. +(在电视上我看到许多房子被火烧毁。) + +把介系词片语 on TV 移到句首,它就只能够修饰主要子句的动词 saw,意思也就变清楚了。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Pronouns.md b/corejava第9版/EnglishGrammarBook-master/docs/Pronouns.md new file mode 100644 index 0000000..73fc6d2 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Pronouns.md @@ -0,0 +1,88 @@ +# 第三章 代名词 + +## 代词(pro-forms) + +请先看看几个例子: + +Mary is pretty; so is her sister. +(Mary很漂亮,她妹妹也一样。) + +Mary speaks French; so does her sister. +(Mary说法文,她妹妹也一样。) + +Mary is pretty; she is also smart. +(Mary很漂亮,她还很聪明。) + +第 1 句当中以副词 so 替代前面的形容词 pretty 以避免重复。第2句当中以助动词 does 替​​代动词 speak 以避免重复。第3句则是以代名词 she 替代名词 Mary 以避免重复。像 so, do, she 这些用来取代他人以避免重复的字,可以笼统称为**代词(pro-forms)**。各种代词当中,写作时比较容易出错、因而也比较值得探讨的,就是**代名词(pronouns)**。 + +代名词是用来代替名词片语以避免重复的一种词类。例如: + +The dog ate the bone. +(狗吃了骨头。) + +He liked it. +(觉得很好吃。) + +句 2 中的 he 与 it 就是代名词,分别代替句 1 中的名词片语 the dog 与 the bone 以避免重复。 the dog 与 the bone 称为**先行词(antecedents)**。 + +代名词算是比较简单的一种词类,不过在写作时还是经常出现代名词的错误,所以接下来我们整理出一些代名词使用时最常出现错误的地方,提醒读者注意。 + +## 代名词与先行词人称须一致 + +People often think that our difficulties are unique. (不佳) +(大家经常以为我们碰到的困难是独一无二的。) + +句中的代名词 our,代表的先行词是 people。但是,people是第三人称、our却是第一人称,并不一致。下面两种改法都符合一致性的要求,可以接受: + +People often think that their difficulties are unique. +We often think that our difficulties are unique. + +## 代名词与先行词单复数须一致 + +If the campaign succeeds in raising huge sums, the sponsors will devote it all to disaster relief. (误) +(如果宣传运动成功募得巨款,主办单位将全数用于救灾。) + +代名词 it 是单数,它代替的先行词 huge sums 却是复数,不一致。下面两种改法都可以: + +If the campaign succeeds in raising huge sums, the sponsors will devote them all to disaster relief. + +If the campaign succeeds in raising a huge sum, the sponsors will devote it all to disaster relief. + +## 代名词的性别考量 + +When a teacher takes his students on a field trip, he is fully responsible and must bring every one of them safely back to school with him. (不佳) +(老师带学生做户外旅行时要负全责,必须把每一名学生安全带回学校。) + +这里面有一个写作时会碰到的问题。如果先行词是某人、性别不清楚,从前的做法是一律视为男性、代名词使用 he 这一类。但是自从女权运动兴起、一些女权运动先驱率先解构语言文字,就不再适合把上述的情况一律视为男性,而应该用 he or she 这个比较男女平等的片语做代名词。不过,he or she 这种用法有时会显得很笨重。像上面那句话,尊重女权的话可能要这样讲才行: + +When a teacher takes his or her students on a field trip, he or she is fully responsible and must bring every one of them safely back to school with him or her. (不佳) + +这种说法仍然不佳,因为实在太啰嗦了。如果碰到这种情况,最好的办法是干脆一律视为女性,可以平衡一下: + +When a teacher takes her students on a field trip, she is fully responsible and must bring every one of them safely back to school with her. + +## 代名词必须有一个先行词 + +Although the new regulations allow them to do it, high school graduates seldom go abroad for higher education. (不佳) +(虽然新规定允许这样做,但是高中毕业生还是很少出国深造。) + +代名词 it 必须有一个先行词,而且这个先行词应该是名词片语。但是整句话中找不到 it 的先行词是什么。从意思上判断的话似乎代表的是 go abroad for higher education,但那是以动词 go 为主的「述部」、并非名词片语,所以不宜使用代名词 it 来替代。应该改写如下: + +Although the new regulations allow them to do so, high school graduates seldom go abroad for higher education. + +改成 do so,没有了代名词、变成助动词 do 加上副词 so,「这样做」,代表的就是后面 go abroad for higher education 这个部分。 + +## 代名词只能有一个先行词 + +代名词只能有一个合理的先行词。如果一个代名词有两个以上的先行词、而且都说得通,那么这个句子就没有把话讲清楚、是不好的句子。例如: + +When tourists first arrived in this new resort, the locals thought they were very lucky people. (不佳) +(观光客初抵这个新渡假区时,当地人认为他们是非常幸运的人。) + +这个句子不好,因为没把话讲清楚。代名词 they 有两个可能的先行词:tourists 与 the locals。这种情况就会造成模棱两可。如果 they 的先行词是 tourists,这个句子的意思是「当地人认为这些观光客是幸运儿」——可能是羡慕这些观光客有钱有闲。反之,如果 they 的先行词是 the locals,这个句子就得解读为「当地人认为自己是幸运儿」——可能是想到可以发一笔观光财了。两种说法都讲得通,表示这个句子并没有把话讲清楚。代名词如果有两个可能的先行词,就会造成这样的结果,而这又是写作时经常犯的毛病,要特别注意。 + +上面这个句子应该避免使用代名词,不然无法避免模棱两可的缺点。两种意思可以分别修改如下: + +When tourists first arrived in this new resort, the locals thought these outsiders were very lucky people. + +When tourists first arrived in this new resort, the locals considered themselves very lucky people. \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/ReducedClauses.md b/corejava第9版/EnglishGrammarBook-master/docs/ReducedClauses.md new file mode 100644 index 0000000..fb7c49b --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/ReducedClauses.md @@ -0,0 +1,97 @@ +# 第二十二章 减化子句 + +传统文法动用了各式各样的名称来说明一种概念,结果都未能说明清楚。这些名称包括动状词(含现在分词、过去分词、动名词、不定词片语、原形动词)、非限定动词、非限定子句、同位格、分词构句、独立片语等等。其实,所有这些名称都可以用同一个观念来理解:**减化子句(reduced clauses)**。 + +## 何谓减化子句 + +减化子句的概念,其实就是一个「省略」的概念。句子从最基本的单句进入比较复杂的复句时,前后两个子句之间往往会有重复的元素存在。所谓减化子句,就是把从属子句当中所有重复的、空洞的元素压缩省略掉,只剩下最精简的构造。例如: + +I avoid something. +S V O +(我避免一件事。) + +I am caught. +S V C +(我被逮到。) + +I am unprepared. +S V C +(我没做好准备。) + +这三个句子若分成三个单句来表述如上,很明显句型缺乏变化、风格不够成熟,而且表达力差。另一个选择是把三句合在一起写成一个复句,如下: + +I avoid [that I am caught] [when I am unprepared.] +S V O 名词子句 时间副词子句 + +在句 2 这个直述句前面加上没有意义的连接词 that 成为名词子句 that I am caught、放在句 1 中当作动词 avoid 的受词使用。然后在句 3 前面加上表示时间的从属连接词 when 成为副词子句 when I am unprepared,用来修饰动词 am 的时间,结果就是上面这个复句。 + +比较起来,这个复句固然要比前面三个单句更有变化、表达力更强,但它仍然不是修辞效果最好的说法,因为它不够简洁:主要子句的主词、名词子句的主词、时间副词子句的主词三个都是I,重复三次,相当浪费篇幅。 + +叙述一件事情时,保持前后句​​子的主词相同是个好习惯,因为这样的叙述比较有连贯性、因此也就比较清楚。但是,主词的重复却又违反了简洁的要求。要想同时顾到清楚性以及简洁性、消除掉所有重复的元素,最好的办法就是采用减化子句:压缩掉所有重复、空洞的元素,将句子减化如下: + +I avoid being caught unprepared. +S V O + +这个句子总共只有五个字,却包含了三个句子的意思在内。它能够那么简洁,就是因为采用了减化子句、压缩掉了所有重复、空洞的元素。这种讲法的修辞效果最佳,因为它能够兼顾简洁与清楚的双重要求。 + +## 从属子句减化的基础观念 + +本书从第一章:单句的五种基本句型开始,就已经在为减化子句打基础。至目前为止,我们已经建立了一些重要的观念,是为处理减化子句的基础观念: + +一.视 be 为动词,后面的部分包括现在分词、过去分词、不定词片语、形容词、名词、介系词片语等等一律视为主词补语。 + +二.现在分词视为形容词,字尾 -ing 有「持续、进行」的暗示。 + +三.过去分词视为形容词,字尾 -en 有「被动、完成」的暗示。 + +四.不定词片语具有不确定语气,和语气助动词的语气相同。 + +五.语气助动词都可以改写为 be + to,意思大致不变。 + +从属子句的减化,就要建立在上述这几点观念上。 + +## 从属子句减化的共同做法 + +从属子句,不论是名词子句、形容词子句、还是副词子句,减化的原则都是一样的。所有的从属子句,共同的减化方式是省略掉主词与 be 动词、只剩下补语部分来取代原来的子句。从属子句的主词如果和主要子句相同、或者是个空洞无意义的字,通常可以省略而不会影响到句子的意思。如果从属子句的动词又是没有叙述能力的 be 动词,那么省略掉 be 动词之后句子的意思仍然不会受到伤害。从属子句省略掉主词与 be 动词、把叙述的工作完全交给补语来做,这就是减化子句的共同做法。没有了主词与限定动词,原本的限定子句也就变成了非限定子句,原来的连接词也就不再需要。因此,除非为了保留连接词的字意,不然这些连接词也都可以一并省略。 + +请注意:在所有的动词当中,只有be动词是空的、没有意义,可以减化掉而不伤害到句子的意思。从属子句减化时,动词的处理方式可以依据下列的原则进行: + +若有 be 动词,省略 be 动词。 + +若有语气助动词,将语气助动词减化为表示不定词的 to。 + +若无 be 动词也无语气助动词、只有普通动词,一律加上 -ing。 + +所有的从属子句减化,动词部分都可以依照这三项原则办理。举例说明如下: + +### 1\. 省略 be 动词 + +[While he was taking a bath], Archimedes discovered the principle of buoyancy. +副词子句 S V O +(当他在泡澡的时候,阿基米德发现了浮力原理。) + +主要子句的主词是 Archimedes。副词子句(中括弧内的部分)的主词 he 也是代表同一个人。这个主词位置的重复就有了减化的空间,可以把副词子句中重复的主词省掉、再删掉空洞的 be 动词,只留下补语部分,而将副词子句减化如下: + +While taking a bath, Archimedes discovered the principle of buoyancy. +减化副词子句 + +这里所谓的省略 be 动词,包括一般所谓的进行式与被动态在内。如上例中的副词子句 while he was taking a bath,一般文法书的诠释都是说 was taking 是过去进行式的动词片语。如果采取简单化的认定,视 be 动词为动词、后面的分​​词片语为形容词补语,那么这个副词子句经过减化、省掉主词与 be 动词之后,留下的就是 taking a bath 这个有「进行」意味的现在分词片语。至于原来的连接词 while,它的文法功能是引导一个时间副词子句。如今这个副词子句已经减化为非限定子句,这个连接词也不再有需要、可以省略。不过,while 除了连接词的文法功能之外,还有「当…时候」的字意在内。如果要保留这个字意,也可以选择把 while 留下来。 + +### 2\. 语气助动词改写为表示不定词的 to + +I expect [that I can finish the book on the way]. +S V O 名词子句 +(我预期可以在路上看完这本书。) + +中括弧内是名词子句,当作主要子句动词 expect 的受词使用。名词子句里面的主词 I 和主要子句的主词 I 相同,因而有减化的空间。做法是将名词子句中重复的主词 I 省略、再将动词减化。名词子句中的动词片语是 can finish,而所有的语气助动词都可以改写为 be + to、意思仍然接近,所以可以先这样修改:把 I can finish the gook 改写为 I am to finish the book,然后再将无意义的 be 动词连同重复的主词一起省略,整个名词子句就减化为不定词片语 to finish the book on the way。原来的连接词 that 只有文法功能、没有意义。在句子减化之后,这种连接词自然会一并省略,整个句子减化结果如下: + +I expect [to finish the book on the way]. +S V O 减化名词子句 + +### 3\. 普通动词加 -ing + +## 连接词的处理 + +从属子句减化之后,因为不再有限定子句了,所以也就不再需要有连接词。因此,无意义的连接词如名词子句外加的 that、以及重复的连接词如关系词,在减化子句中都不会留下来。至于疑问句改写而来的名词子句,减化之后原来的疑问词是有意义的连接词,会保留下在减化子句中。还有就是副词子句外加的连接词都有意义,在副词子句减化之后如果有需要,可以选择把连接词留下来以保留字意。反之,如果意思够清楚,副词子句原来的连接词在减化子句中也可以省略。 + +以上是从属子句减化的一些共通原则。接下来的章节分成关系子句减化、名词子句减化、副词子句减化等分别处理。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/RelativeClauses.md b/corejava第9版/EnglishGrammarBook-master/docs/RelativeClauses.md new file mode 100644 index 0000000..07ced86 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/RelativeClauses.md @@ -0,0 +1,1107 @@ +# 第十九章 关系子句 + +从属子句,除了前面介绍过的名词子句与副词子句之外,还有最后一种就是形容词子句。 + +所有的形容词子句,一定都是用关系词充当连接词。所以,凡是当作形容词使用的子句,从构造上来说一定都是关系子句。反过来说,除非经过省略,不然的话所有的关系子句也都是当作形容词使用、都是形容词子句。亦即:关系子句与形容词子句是同一个东西的两种名称。从构造上认定:因为用到关系词充当连接词,所以叫作关系子句。从功能上认定:因为这种子句都是当形容词使用,所以都叫作形容词子句。 + +## 关系子句的构造 + +名词子句和副词子句的连接词都是外加的:直述句改造成名词子句要外加一个没有意义的连接词 that,副词子句则要外加一个有意义、表达逻辑关系的连接词如 because 之类。关系子句的构造和这两种子句都有很大的不同:关系子句并没有外加连接词,而是将一个内含的重复元素改写为关系词。 + +要制造关系子句有一个前提:这个子句和主要子句之间必须要「有关系」,也就是两个子句之间必须要有一个重复的元素产生关系、在这个重复点上改写为关系词,才能够制造出关系子句。两个句子之间如果没有任何交集、没有关系,就无法写成关系子句。 + +这个交集点,在主要子句中称为**先行词(antecedent)**。在关系子句中则可能是代名词改写为关系代名词、也可能是副词改写为关系副词。主要子句中的先行词一定是名词类。而在从属子句中,不论用的是关系代名词还是关系副词,它所引导的关系子句一定是形容词子句、用来修饰先行词。先看一个例子: + +I know something which nobody else knows. +S V O 关系子句 +(我知道一件事,那是没有别人知道的。) + +这个复句中,关系子句 which nobody else knows 并没有外加连接词,而是由「内含」的重复元素改写而来。可以拆开为下面这两个单句来理解: + +I know something. +Nobody else knows it. + +前后两个句子因为先行词 something 与代名词 it 产生交集而建立关系,符合了关系子句「必须有关系」的前提,可以制造关系子句。做法是将句 2 的交集点那个代名词 it 改写为关系代名词 which,再将 which 移到句首扮演连接词的角色、成为 which nobody else knows 这个关系子句。把这个关系子句放在先行词 something 后面当形容词子句来修饰它,结果就是前面那个复句。 + +## 关系代名词 + +主要子句中的先行词如果是「人」,那么从属子句中与其重复而建立关系的元素应该是同样的名词、或者是代名词 he, she, they 之类,这些代名词改写为关系代名词就是 who (单复数拼法相同,另外还有受格 whom、所有格 whose )。反之,主要子句中的先行词如果是「事、物」,那么关系子句中与其重复而建立关系的元素应该是同样的名词、或者是代名词 it, they 之类,这些代名词改写为关系代名词就是 which(单复数拼法相同,受格仍是 which、所有格借用 whose)。另外,不论先行词是人还是物,关系子句只要具有「指示」功能(指出「哪一个、哪一些」),那么关系代名词(who, whom 或 which)都可以采用由指示代名词衍生出来的 that 来取代。以下分别说明。 + +### Who的用法(包括whom, whose, that) + +如果主要子句中的先行词是「人」,那么从属子句中的交集点改写为关系词时应该采用 who 这一类。以下依表示「人」的关系代名词在关系子句中出现的几种位置分别说明。 + +#### 主词位置 + +People who live in glass houses shouldn't throw stones. +(住在玻璃屋里的人不该乱扔石头。) + +这个复句是一句英文谚语,画底线部分( who 子句)就是关系子句,修饰先行词 people。可以拆开为以下两句来了解: + +People shouldn’t throw stones. +They live in glass houses. +S V + +第 2 句中的主词 they 就是第1句中的 people, 由此产生交集而建立关系,可以把代名词 they 改写为关系代名词 who,制造出关系子句 who live in glass houses 成为一个形容词子句、放在先行词 people 后面修饰它,结果就是前面那个复句。 + +关系词是和先行词重复的元素。如果从修辞的角度来考量,只要是重复都有可能是累赘,应该尽量精简。所以,关系词经常会被省略掉以避免重复。以关系代名词而言,能不能省略要看省略之后的句子是否够清楚而定。如果会造成不清楚,就不能省略关系代名词。拿上面那个例子来说, 关系代名词 who 在关系子句中扮演主词的角色,如果省略掉它,结果如下: + +People live in glass houses shouldn’t throw stones. (误) + +这个句子,读者看不出来有省略掉关系词 who,看到的印象是 people 是主词、live 是动词,后面又有第二个动词 shouldn’t throw,因而是个错误的句子。所以: 关系代名词在关系子句中当主词使用时不能省略。 + +另外,在 People who live in glass houses shouldn't throw stones 这个复句中,关系子句 who live in glass houses 具有指示功能(指出是「哪一种」人), 所以关系代名词 who 也可以改写为来自指示代名词的 that (表示「那种」),如下: + +People that live in glass houses shouldn’t throw stones. + +#### 受词位置 + +代表「人」的关系代名词,主格是 who、受格是 whom。但是大部分情况下都可以选择忽略主格受格的差别、一律采用 who 来表示。只有在关系代名词直接放在介系词后面的时候(如 to whom, with whom 之类)才必须采用受格 whom,因为这个位置是非常明显的受词位置,这一点在下文将有进一步的分析。现在先来看看关系代名词的省略问题。 + +文法书列出规则:关系代名词当受词使用时可以省略。这条规则一般说来是没错。但是,这是否表示关系代名词「只有」当受词使用时才可以省略、扮演其他角色时都不能省略?还有,关系代名词当受词时为什么就可以省略?我们来设法理解一下。 + +关系代名词在关系子句中如果扮演受词的角色,必须先移到句首让它发挥连接词的功能。这时候,虽然它仍是受词,但是已经脱离了原来的受词位置,可以自由选择拼成 who 或 whom。亦即:关系代名词虽然是在关系子句中当受词使用,但是拼成主格的 who 与受格的 whom 都正确。只有一种情况必须拼成受格的 whom:整个介系词片语(如 with whom, to whom 等)一起移到句首时。关系代名词 whom 直接置于介系​​词后面当受词,整个介系词片语移到句首之后关系词还是放在受词位置,这时候就必须采用受格 whom。反之,如果把介系词片语拆开,只移动关系代名词到句首、介系词留在句尾,这时候拼成主格的 who 与受格的 whom 都可以。例如: + +Jack is a man. +(Jack是个人。) + +I trust the man completely. +S V O +(我完全信赖这个人。) + +这两个句子在名词 man 产生交集而建立关系。第 2 句中的 the man 是动词 trust 的受词,如果改成普通代名词的话应该是受格的 him,再改成关系代名词就是 whom。接下来必须把 whom 移到句首成为关系子句 whom I trust completely、放在第 1 句的先行词 a man 后面当形容词子句来修饰它,结果就成为这个复句: + +(A) Jack is a man [whom I trust completely]. +先行词 O S V + +中括弧内是关系子句,请注意关系代名词的部分。它虽然是受词,但是脱离受词位置、移到句首之后,就可以选择忽略受格、拼成 who,所以也可以这样说: + +Jack is a man who I trust completely. + +另外,这个关系子句具有指示功能、指出先行词是「哪一种」人,所以关系代名词也可以用来自指示代名词的 that 来取代,如下: + +Jack is a man that I trust completely. + +最后,关系代名词 who、whom 或 that 在关系子句内扮演受词的角色,如果选择把它省略掉以避免重复,句子仍然够清楚,如下: + +Jack is a man I trust completely. + +读者仍然看得出来 Jack is a man 是主要子句、后面的 I trust completely 是关系子句,所以这仍然是个正确的句子。因此,关系代名词在关系子句中扮演受词角色时可以选择省略(前提是这个关系子句不能放在括弧式的逗点内,这点将在下文说明)。 + +#### 介系词的受词位置 + +Jack is a man. +You should talk to him. +介系词片语 +(你应该和此人谈谈。) + +第 2 句中的代名词 him 现在是介系词 in 的受词。把它改写成关系代名词,应该采用受格 whom。如果选择把介系词片语拆开、只把关系代名词 whom 移到句首,结果就是底下这个复句: + +Jack is a man [whom you should talk to]. +受词 介系词 + +因为介系词片语被拆开来、关系代名词 whom 脱离了介系词后面的受词位置,所以也可以选择拼成 who 的主格,如下: + +Jack is a man who you should talk to. + +这个关系代名词在关系子句中扮演受词的角色,可以选择把它省略掉。另外,因为这个关系子句具有指示功能、指出先行词是「哪一种」人,所以关系代名词也可以采用that来取代,如下: + +Jack is a man you should talk to. +Jack is a man that you should talk to. + +还有一种做法:如果选择不拆开、而是把整个介系词片语一起移到句首,就会成为下面这个复句: + +Jack in a man [to whom you should talk]. +介系词片语 + +只有在这种情况,whom 仍然置于明显的受词位置,才有必要采用受格。而且,这种情况既不能省略 whom、也不能改成 that,所以没有什么别的变化。 + +#### 补语位置 + +After the stroke, John is not the man who he used to be. +先行词 关系子句 +(中风之后,John 的情况比从前差多了。) + +字面上是「John 不再是从前那个男人了」。这个复句可以拆开为下面这两句来理解: + +After the stroke, John is not the man. +He used to be the man. +S V C + +第 2 句中的 the man 和第 1 句重复。如果是用普通的人称代名词来避免重复,应该采用主格的 he,因为 the man 在第 2 句中是当主词补语使用而不是受词,因此是主格而非受格。再由he改写为关系代名词,当然也是主格(who),所以正确的关系子句是 who he used to be。关系代名词 who 虽然是补语,但是省略掉它之后两个子句仍然可以区分清楚,所以也可以选择省略 who。另外,关系子句 who he used to be 具有指出「哪一种人」的指示功能,因此关系代名词也可以改写为 that,如下: + +After the stroke, Joh is not the man he used to be. +After the stroke, Joh is not the man that he used to be. + +#### 所有格 + +如果先行词是人、从属子句中与其交集的是人称代名词的所有格(如 his, her, their 之类),那么改写成关系代名词就是 whose,例如: + +Jack is a man. +先行词 + +I trust his judgment. +S V O +(我信赖他的判断。) + +第 2 句是以所有格 his 和第 1 句中的先行词 a man 产生交集建立关系,改写成关系代名词的话就是 whose,如下: + +Jack is a man whose judgment I trust. +先行词 关系子句 + +所有格的关系代名词 whose 无法改写为其他形式、也不能省略。 + +### Which的用法(包括that) + +如果先行词是「物」,关系代名词应该采用 which(改写自人称代名词 it 或 they)。它引导的关系子句如果具有指示功能(关系子句前后没有用一对逗点隔开),那么这个关系代名词也可以改写为来自指示代名词的 that。以下就关系代名词 which 用在关系子句中的几种位置分别举例说明。 + +#### 主词位置 + +I like movies. +先行词 + +The movies make me think. +S V O C + +两句因为 movies 的重复而建立关系,可以选择制造关系子句来连接。做法是把第 2 句中的重复点 the movies 改写为关系代名词 which,成为 which make me think 这个关系子句,置于第 1 句的先行词 movies 之后,结果就是: + +I like movies which make me think. +先行词 关系子句 +我喜欢看会令我思考的电影。 + +这个复句中的关系子句因为具有指出「哪种」电影的功能,所以关系代名词也可以借用指示性的 that,如下: + +I like movies that make me think. + +关系代名词 who, which, that 并无单复数的拼法差别。本句中的先行词 movies 是复数,那么关系代名词 which 或 that 就是复数,后面必须用复数的动词如 make。另外,关系代名词当主词使用时不得省略。 + +#### 受词位置 + +The movie was excellent. +先行词 + +I saw the movie last night. +S V O + +两句因 the movie 的重复而建立关系,可以制造关系子句来连接。做法是把句 2 的重复点改写为关系代名词 which、移到句首充当连接词,成为 which I saw last night 这个关系子句,然后把关系子句置于句1的先行词 the movie 之后,成为下面这个复句: + +The movie which I saw last night was excellent. +S 关系子句 +(我昨晚看的那部电影好极了。) + +这个复句中的关系子句有指出「哪一部」电影的功能,因此关系代名词可以改写为 that。另外,关系代名词 which 或 that 在关系子句中当受词使用,所以也可以省略,如下: + +The movie that I saw last night was excellent. +The movie I saw last night was excellent. + +#### 介系词的受词位置 + +My favorite movies are these. + +All ends well in those movies. +S V 介系词片语 + +句 1 中的 those 代表的就是 those movies (省略掉名词 movies),和句 2 中的 those movies 重复而建立关系,可以制造关系子句来连接。做法是把句 2 中的重复点 those movies 改写为关系代名词 which,然后把整个介系词片语 in which 移到句首充当连接词,成为关系子句 in which all ends well, 再把这个关系子句放在句 1 的先行词 those 后面当形容词使用,成为下面这个复句: + +My favorite movies are those in which all ends well. +先行词 关系子句 +(我最喜欢的电影是最后皆大欢喜的那种。) + +句中的介系词片语 in which 不适宜拆开,所以也就没有进一步的变化可言。另外看一个可以拆开的例子: + +That chair is an antique. +先行词 + +You are sitting on that chair. +S V C 介系词片语 + +两个句子在 that chair 上重复而建立关系,可以把句 2 中的 that chair 改写为关系代名词 which,制造关系子句。这个关系代名词 which 是介系词 on 的受词,可以选择把整个介系词片语移到句首充当连接词、也可以把介系词片语拆开而只移动关系代名词 which,就会产生两种不同的结果: + +That chair on which you are sitting is an antique. +先行词 关系子句 + +That chair which you are sitting on is an antique. +先行词 关系子句 +(你现在坐的那张椅子是古董。) + +如果是句 1, on which 连在一起,就不会有进一步的变化可言。如果是句 2,把介系词 on 留在句尾、关系代名词 which 移到句首,则可以选择把当受词使用的 which 省略掉。另外,因为这个关系子句具有指示功能(指出是「哪张」椅子),所以也可以借用来自指示代名词的 that。因此,句 2 可以进一步变化如下: + +That chair you’re sitting on is an antique. +That chair that you’re sitting on is an antique. + +#### 补语位置 + +The name is a rea​​lly odd one. +先行词 + +John calls his dog the name. +S V O C + +两句在 the name 上产生重复而建立关系,可以制造关系子句。做法是把句 2 中的受词补语 the name 改写为关系代名词 which,然后移到句首充当连接词,成为关系子句 which John calls his dog,然后放在句 1 的先行词 the name 后面当形容词子句使用,成为这个复句: + +The name which John calls his dog is a rea​​lly odd one. +先行词 关系子句 +(John 给他那条狗取的名字真的很怪。) + +这个关系子句具有指示功能(指出是「哪个」名字),所以关系代名词 which 也可以改写为 that(表示「那个」)。另外,关系代名词 which 或 that 在关系子句中扮演补语的角色,省略掉句子还是看得清楚,因此也可以选择省略,如下: + +The name that John calls his dog is a rea​​lly odd one. +The name John calls his dog is a rea​​lly odd one. + +#### 所有格 + +代表「物」的关系代名词 which 并无主格受格之分,这一点比较方便。但是,which 也缺乏所有格,这一点就比较麻烦了。 Which 本身缺乏所有格,它的所有格有两种变通的表示方式:一是借用 who 的所有格 whose、一是采用无生物的所有格方式 of which 来表示,例如: + +I saw a mountain. +先行词 +(我看到一座山。) + +Its top was completely covered in snow. +(山顶覆满白雪。) + +The top of the mountain was completely covered in snow. +(山顶覆满白雪。) + +第 2 句中的所有格 its 和第 1 句的先行词 a mountain 交集,应改写为关系词。但是无生物的 which 缺乏所有格,只能借用表示「人」的 whose,成为: + +I saw a mountain whose top was completely covered in snow. +先行词 关系子句 + +如果是用第 3 句来改写关系子句,又回复到两个名词 mountain 交集的情况,所以关系代名词仍然是 which,成为: + +I saw a mountain the top of which was completely covered in snow. +先行词 关系子句 + +也可以选择把 of which 移到句首充当连接词,成为: + +I saw a mountain of which the top was completely covered in snow. + +### Which 为限定词 + +关系代名词which有时候扮演的是限定词的角色,代表this或that。例如: + +You can marry any daughter of mine. +You like that (daughter). +S V O + +句 2 中的名词片语 that daughter 可以省略掉名词部分(daughter)只剩下限定词 that,再由 that 与先行词 any daughter of mine 的重复而建立关系。改写为关系代名词时,限定词 that 应该改写为 which 而不是 who,成为 which you like 这个关系子句,放在先行词 any daughter of mine 后面成为如下的复句: + +You can marry any daughter of mine which you like. +先行词 关系子句 +(我的女儿,你爱哪个就可以娶哪个) + +这时候,先行词虽然是「人」,但是关系代名词代表的限定词,所以用的仍然是 which。另外,which you like 这个关系子句具有指出「哪一个」的功能,所以可以改写为 that。而且,因为关系代名词 which 或 that 在关系子句中是受词,所以也可以省略,如下: + +You can marry any daughter of mine that you like. +You can marry any daughter of mine you like. + +#### 主要子句为先行词 + +关系子句如果以逗点和主要子句隔开、并且采用关系代名词 which,那么这个关系代名词的先行词有可能是前面整个主要子句。这种状况在写作时很容易产生出模棱两可的句子,是必须小心避免的一个陷阱,应该要注意交代清楚。例如: + +The whole house was overrun with ants, which was rather weird. +(整个房子爬满了蚂蚁,这件事情有点怪异。) + +关系代名词 which 放在这个位置,先行词有可能是它前面的 ants、也有可能是整个主要子句那句话。因为 ants 是复数,但是关系子句的主词 which 后面却用了单数动词 was,所以可以判断 which 的先行词不是 ants。如果把关系子句还原成独立的句子,就是 This was rather weird 这句。换句话说,关系代名词 which 代表的先行词是前面那整句话:怪异的是「这件事情」。 + +The whole house was overrun with ants, which were rather weird. +(整个房子爬满了蚂蚁,这种蚂蚁有点怪异。) + +关系子句的主词 which 后面跟的是复数的动词 were,表示 which 的先行词是复数——也就是 ants。所以这句话的意思不同:怪异的是「这种蚂蚁」。 + +上面那两个句子可以靠动词的单复数来判断。但是如果 which 有两个可能的先行词、又无法判断该是哪一个,那么这种句子就没写清楚、是不好的句子。例如: + +The whole house was overrun with ants, which frightened the visitor. (不佳) + +关系子句的动词 frig​​htened 看不出来是单数还是复数,表示主词 which(以及先行词)单复数都可以。这时候,先行词说是「这件事情」也讲得通、说是「这种蚂蚁」也讲得通。一个句子有两种可能的解释、令读者无法判断作者到底是什么意思,这就是不好的句子。碰到这种情况必须改写到清楚为止。改写的办法很多,有一种很好用的办法是加个同位格在关系代名词 which 前面,例如: + +The whole house was overrun with ants, a sight which frightened the visitor. +(整个房子爬满了蚂蚁,这幅景象吓坏了访客。) + +加个名词片语 a sight 做前面整个主要子句的同位格,那么关系代名词只能代表这个先行词 a sight,所以很清楚:吓人的是「这幅景象」。 + +The whole house was overrun with ants, nasty insects which frightened the visitor. +(整个房子爬满了蚂蚁,这些讨厌的昆虫吓坏了访客。) + +如果要表示吓人的是「蚂蚁」,只要选择蚂蚁的同位格如 nasty insects 就行了。 + +## 指示功能 + +上文说到关系子句具有「指示功能」,那就是一般文法书所谓的**限制用法(restrictive usage)**。因为限制用法和**限定子句(finite clause)**这两个名称太接近、很容易混淆,所以我们换个比较容易理解的名称来说明这个观念。 + +关系子句如果具有指出「哪一个」的功能,我们称为具有指示功能。如果关系子句具有指示功能,关系代名词 who 或 which 才能够借用来自于指示代名词的 that。反之,如果关系子句并不具有指出「哪一个」的功能,而只是个可有可无的补充说明,即一般文法书所谓的**非限制用法(nonrestrictive usage)**,那么这个关系子句通常要在前后加上一对逗点(也有可能是前面加逗点、后面刚好碰上句尾的句点之类)。这一对逗点可以视为一对括弧看待。关系子句放在括弧里面,表示这个关系子句不重要、只是个可有可无的补充说明,同时也表示这个关系子句不具有指示功能。不具有指示功能的关系子句,关系代名词只能用 who 或 which,不能改为 that、而且也不能省略。例如: + +I met a friend who(that) went to the same high school with me. +先行词 关系子句 +(我碰到一个从前的高中同学。) + +I met Jack Wang, who went to the same high school with me. +先行词 关系子句 +(我碰到 Jack 王,他是我从前的高中同学。) + +关系子句有没有指示性,最明显的线索是看它是否放在括弧中(一对逗点中)。放在括弧里(前后打了逗点)的东西不重要、只是补充说明,没有指示的功能。反之,具有指示功能的关系子句是个重要条件、不能放在括弧内,也就是在关系子句前后不能打一对逗点。 + +看看上面第 1 句,关系子句 who went to the same high school with me 并没有用逗点隔开,表示它是一个重要条件、具有指出「哪一个」friend 的功能:「和我上同一所高中的那个」。关系子句具有指出「哪一个」的功能,关系代名词才能改为 that(意思就是「那个」)。 + +接下来看看第 2 句,可以发现有几个地方不同。首先,主要子句中的先行词 Jack Wang 是人名,属于专有名词。专有名词这个概念我们在「名词片语」那一章探讨过:它是「特称」,一个专有名词只能对应单一的对象,所以不能说「这个、那个」──因为总共就只有一个。这是专有名词不能加定冠词the的原因。基于同样原因,专有名词当先行词时,后面的关系子句也并不具有指示功能,只是个可有可无的补充说明。 + +这就要看到第 2 句的另一个不同点了:第 2 句中那个关系子句和先行词 Jack Wang 之间有逗点隔开。这个逗点和句尾的句点共同构成一对括弧、把当作补充说明使用的关系子句放在括弧内。既然这种关系子句不具有指示功能,关系代名词就只能用 who 而不能改写为来自指示代名词的 that。 + +关于「指示功能」,我们还可以做个小实验。如果把第1句改成这样: + +I met a friend who(that) worked at the same company with me. +(我碰到一个从前在同一家公司上班的朋友。) + +具有指示作用的关系子句(前后没有打逗点、关系词可以用 that),如果内容变了(从「高中老同学」变成「老同事」),那么它指向的先行词也就随之变成另一个对象。换句话说,现在碰到的是另一个人。但是,如果把第2句同样修改,如下: + +I met Jack Wang, who worked at the same company with me. +(我碰到Jack王,他是我从前的老同事。) + +不具有指示功能的关系子句就只是个可有可无的补充说明。就算关系子句的内容改变了(高中同学变成老同事),但是先行词的对象并不会变:Jack 王还是 Jack 王。这种可有可无的关系子句应该放在括弧中、也就是用逗点隔开。而且这种关系子句的关系代名词必须用 who 或 which 这一类,不再能够采用具有指示功能的 that。 + +「有没有逗点隔开」,这是判断关系子句「有没有指示功能」最明显的线索。但是要小心别看错。请研究一下这个例子: + +I met a friend, quite by chance, who(that) went to the same high school with me. +(非常巧,我碰到一个从前高中的老同学。) + +先行词 a friend 和关系代名词之间有逗点,但是请看仔细:是一对逗点,把当副词使用的介系词片语 quite by chance 括在中间,而不是把关系子句放在括弧内。这种情况,关系子句仍然具有指示功能,所以关系词仍然可以采用具有指示功能的 that。 + +接下来看看一个关系代名词 which 用在不具指示功能的关系子句中的例子: + +The Harry Potter movies are not as good as the books themselves. +Many people like the Harry Potter movies. + +前后两个句子在 the Harry Potter movies 上面重复而建立关系,可以把句 2 中的重复点改写为关系代名词 which 而制造出关系子句 which many people like。这个关系子句放在句1的先行词 the Harry Potter movies 后面时,应该在关系子句前后打一对逗点,因为这个关系子句缺乏指示功能:它并没有指出是「哪些」电影(先行词 the Harry Potter movies 已经交代清楚是哪些电影了),而只是作个可有可无的补充说明。这种用法的关系子句应该放在一对括弧式的逗点内,如下: + +The Harry Potter movies, which many people like, are not as good as the books themselves. +(哈利波特系列电影,那是许多人很喜欢的,并没有小说本身好看。) + +关系子句放在括弧式的逗点中只是补充说明而不具指示性,因此这个 which 不能借用具有指性作用的 that。而且,which 虽然在关系子句中扮演受词角色(是及物动词like的受词),但是因为在关系子句前后有一对逗点,所以即使关系代名词 which 是受词也不再能够省略。因此上面那个句子没有进一步的变化可言。 + +### 何时应该用 that + +关系代名词 who 和 which,如果引导的关系子句缺乏指示功能(放在括弧式的逗点中当补充说明使用),就不能改写为具有指示性的 that。反之,如果关系子句具有强烈的指示功能,那么采用具有指示作用的 that 会比采用 who 或 which 来得更好。 + +下列两种情况,关系子句都具有强烈的指示功能: + +一、先行词是 all, anything, everything 之类标示出「明确范围」的字; + +二、先行词有 first, next, last, only 等等限定词在内、或者有最高级修饰语,因而产生明确的指示时。 + +这两种情况相同:同样是因为这些先行词要求在关系子句中做出明确的「指示」,所以关系代名词采用具有指示功能的 that 会优于使用 who 或 which。例如: + +Thirty minutes is all the time that I can spare. +先行词 关系子句 +(我总共就只能花30分钟的时间。) + +先行词 all the time 是个相当明确的范围,后面需要做比较明确的指示,所以关系代名词采用具有指示功能的 that 会比用 which 更好。 + +You are the only person that really understands me. +先行词 关系子句 +(就只有你一个人真正了解我。) + +先行词 the only person 也是个相当明确的范围,后面的关系子句需要做比较明确的指示,所以关系代名词采用具有指示作用的 that 会比用 who 更好。 + +### 何时不能省略 + +如前所述,关系代名词如果是受词,可以选择把它省略掉。但是,关系子句如果是放在括弧性的逗点中作补充说明、不具有指示性,就不再适合省略受词位置的关系代名词。一旦有逗点断开,主要子句和关系子句分别都必须「自给自足」,因此不能再有省略。请看下例: + +My uncle Tom, [whom you met the other night], is quite a character. +先行词 O S V +我叔叔 Tom,你前几天晚上见过,是个很性格的角色。 + +主要子句中的先行词 my uncle Tom 是个独一无二的专有名词,所以后面不能再用关系子句来指是「哪一个」,因此它后面的关系子句必须放在括弧式的逗点中当作一个可有可无的补充说明。这时候,关系代名词 whom(亦可作 who)虽然是受词,但是已经不再能够省略,而且也不能改写为具有指示功能的 that。再看一个 which 的例子: + +I like The Da Vinci Code, [which many people like, too]. +先行词 O S V +(我喜欢《达文西密码》,很多人也都喜欢这本书。) + +先行词是个书名,听的人已经知道是哪本书,所以后面的关系子句属于补充说明的性质、放在括弧性的逗点后面。这时候关系代名词 which 没有指示功能,不能用 that 来取代。而且,一旦打了逗点、和主要子句隔开,关系代名词 which 虽然是受词也不再能够省略。这是因为两个子句已经断开来,不能再共用先行词这个重复点,所以关系子句要有自己的 which 作受词。 + +## 关系子句的位置 + +关系子句是形容词子句,用来修饰先行词。因此,关系子句最常见的位置就是放在先行词后面。这是因为修饰语和它所修饰的对象应该尽量接近,这样才比较清楚。但是,如果列出规则说「关系代名词必须放在先行词后面」(一般文法书都有这条规则),那又太死板了,会碰到例外。关系子句应该放在什么位置,其实要视情况而定:放在什么位置最清楚,就应该放在什么位置。例如: + +I can’t leave a man behind. +S V O C +(我不能把这么一个人抛弃不顾。) + +This man has done so much for my family. +S V O +(此人为我家人做过那么多事。) + +这两个句子在名词 man 上产生交集而建立关系,可以制造关系子句。做法是把句 2 中的重复点 this man 改写为关系代名词 who,成为关系子句 who has done so much for my family。接下来要选择位置来安插这个关系子句。如果套用文法书的规则,那么关系子句必须放在先行词(句 1 中的 a man)后面。结果是下面这个极不清楚的句子: + +I can’t leave a man [who has done so much for my family] behind. (不佳) +先行词 关系子句 + +这个句子不好,是因为关系子句虽然和它修饰的对象(先行词 a man )很接近、够清楚,但是主要子句的受词补语(behind)和受词(a man)之间却隔了一个长长的子句,造成主要子句的句型不清楚:读者很可能会误以为 behind 是属于关系子句的一部分、用来修饰 my family 的。为了避免这种误解、增加句子的清楚性,应该选择把关系子句移到后面,成为: + +I can’t leave a man behind, [who has done so much for my family]. +S V O C 关系子句 + +这样一来,主要子句的句型变清楚了,而关系子句和它修饰的先行词 a man 之间固然是有距离,但是只隔一个地方副词 behind,并不会造成不清楚,所以这样才是比较恰当的处理方式。再看一个例子: + +I found a book in the library. +先行词 +(我在图书馆找到一本书。) + +The book focuses on social relations. +S V O +(这本书的重点在于社交关系。) + +两个句子在 book 这个名词产生交集而建立关系,可以制造关系子句来连接起来。做法是把句 2 中的重复点 the book 改写为关系代名词 which,成为 which focuses on social relations 这个关系子句。接下来要选择位置来安插这个关系子句。如果套用文法规则、把关系子句直接放在先行词 a book 后面,会成为下面这个不清楚的句子: + +I found a book [which focuses on social relations] in the library. (不佳) +先行词 关系子句 + +这个句子不好,是因为句尾的介系词片语 in the library 本来是修饰主要子句动词 found 的,但是中间插入关系子句之后,变成也可以修饰更接近的对象 social relations。因而这个句子可能有两种意思:除了原本的解释「我在图书馆找到一本谈社交关系的书」之外,还可以解释为「我找到一本书,谈的是图书馆内的社交关系」,两种解释大不相同。一个句子可以有两种不同的解释,这就是不好的句子。 + +为了避免这种不清楚的结果,如果把关系子句移到后面去,产生的结果又是另一个不清楚的句子: + +I found a book in the library [which focuses on social relations]. (不佳) +先行词 关系子句 + +这时候,关系代名词 which 和先行词 a book 中间多了另一个可能的先行词 the library,所以看起来 which 的先行词也极有可能是 library。如果是 library 当先行词,这个句子的意思就变成:「我在那个以社交关系为主要内容的图书馆内找到一本书」。所以这个句子仍然有两种可能的解释、结果仍然是不清楚。 + +仔细看一下,会​​发现造成困难的是 in the library 这个介系词片语。这个介系词片语当地方副词使用,卡在中间会造成很多问题。不如把它移到句首,排除了它的干扰之后句子就变清楚了: + +In the library I found a book [which focuses on social relations]. +先行词 关系子句 + +这时候,介系词片语 in the library 只能修饰主要子句动词 found(在图书馆内找到),而关系子句也只能修饰先行词a book(以社交关系为重点的是那本书) ,这样才算把意思交代清楚。 + +## 复合关系代名词 + +关系代名词因为和先行词重复,只要条件符合(例如关系代名词当受词使用),往往会选择把关系代名词省略掉。不过,也不是一定拿关系代名词开刀。如果它的先行词是空洞、无意义的字(如 anybody, something),也可以选择留下关系代名词而省略掉空洞的先行词。但是这样做的时候,关系代名词必须经过特别的处理。 + +一旦省略掉先行词,关系代名词必须改写为「复合关系代名词」来取代它。采用复合关系代名词,等于是把空洞的先行词并入关系代名词中。这时候,关系子句因为兼具形容词子句与先行词两重角色、取代了先行词,所以关系子句会从形容词子句升格为名词子句。 + +复合关系代名词一共只有 what, whatever, whoever(whomever), whichever 四个,以下分别介绍。 + +### 一、what + +You mustn’t let something bother you. +S V O C +(不要让一件事情困扰你。) + +He said something. +S V O +(他说了一件事情。) + +这两个句子在 something 上重复而建立关系,可以把句2中的重复点 something 改写为关系代名词 which 或 that、移到句首当连接词使用,成为关系子句 that he said,然后把这个关系子句置于句 1 中先行词 something 后面,成为复句如下: + +You mustn’t let something [that he said] bother you. +S V O 关系子句 C + +关系子句中的关系代名词扮演受词角色(是动词 said 的受词),可以把它省略掉,如下: + +You mustn’t let something [he said] bother you. +S V O 关系子句 C + +另一种避免重复的方式是选择省略掉空洞的先行词 something。但是先行词 something 是名词、在主要子句中扮演动词 mustn’t let 的受词角色。如果选择将先行词 something 省略掉,那么关系子句中的关系代名词 that 必须改写为复合关系代名词 what,整个关系子句变成 what he said,升格为名词子句取代 something,如下: + +You mustn’t let [what he said] bother you. +S V O 关系子句 C + +这时候 wha​​t 扮演双重角色:它既是先行词 something、又是关系代名词,因而称为复合关系代名词。它引导的关系子句 what he said 也升格成为名词子句、取代了先行词,直接当作动词 mustn’t let 的受词使用。 + +### 二、whatever + +如果关系代名词的先行词是 anything「任何东西」,那么省略先行词时就要采用 whatever「不论任何东西」这个复合关系代名词来取代。例如: + +Anything may be used against you in court. +S V C +(任何事情都有可能在法庭上用来对你不利。) + +You say anything now. +S V O +(你现在说任何事情。) + +这两个句子在 anything 上重复而建立关系,可以把句 2 中的重复点 anything 改写为关系代名词 which 或 that、移到句首扮演连接词角色,成为关系子句 that you say now,置于句1中的先行词 anything 之后,成为复句如下: + +Anything [that you say now] may be used against you in court. +S 关系子句 V C + +主要子句的句型分析我们采取简单化的认定:be 是动词、后面的过去分词 used 是形容词当主词补语。中括弧里面是个关系子句,当形容词子句使用、修饰先行词 anything。这个关系子句中,关系代名词 that 扮演受词的角色(是动词 say 的受词),可以选择把它省略掉。另外,因为先行词 anything 是个空洞无意义的字,也可以选择把先行词省略掉。但是先行词 anything 在主要子句中扮演主词的角色。如果选择把先行词省略掉,就必须把关系代名词 that 改写为复合关系代名词(如 whatever),成为这个复句: + +[Whatever you say now] may be used against you in court. +S 关系子句 V C + +这时候,复合关系代名词 whatever 引导的关系子句因为包含先行词在内,已经升格成为名词子句、直接当做主要子句的主词使用。 + +### 三、whichever + +Any day is fine with me. +S V C +(随便哪一天我都可以。) + +You choose that day. +S V O +(你选择那天。) + +句 2 中的 that day 指的就是句 1 的 any day,经此重复而建立关系,可以制造关系子句。做法是把句 2 中的重复点 that day 改写为关系代名词 which、成为关系子句 which you choose,再将关系子句置于句1中的​​先行词 any day 之后,成为复句如下: + +Any day [which you choose] is fine with me. +S 关系子句 V C + +关系代名词 which 因为扮演受词角色(是动词 choose 的受词),可以选择省略掉。另外也可以选择省略掉先行词。但是先行词 any day 并非空洞无意义:day 是有意义的名词、必须留下来;限定词 any 可以用复合关系代名词 whichever 取代,成为 whichever day you choose 这个关系子句,如下: + +[Whichever day you choose] is fine with me. +S 关系子句 V C + +这时候,复合关系代名词 whichever 引导的关系子句因为包含先行词在内,已经升格成为名词子句、直接当作主要子句的主词使用。 + +### 四、whoever(whomever) + +Any person will win 1,000 dollars. +S V O (任何人都可以赢得一千元。) + +The person reaches the mountaintop first. +S V O (这个人最早爬到山顶。) + +两个句子在 person 上重复而建立关系,可以制造关系子句来连接。做法是把句 2 中的重复点 the person 改写为关系代名词 who、成为关系子句 who reaches the mountaintop first,然后置于句 1 中的​​先行词 any person 之后,成为复句如下: + +ny person [who reaches the mountaintop first] will win 1,000 dollars. +S 关系子句 V O + +因为先行词 any person 没有内容,可以选择省略,只要把关系代名词 who 改写为复合关系代名词 whoever,关系子句 whoever reaches the mountaintop first 升格为名词子句、直接当作主要子句的主词使用,如下: + +[Whoever reaches the mountaintop first] will win 1,000 dollars. +S 关系子句 V O + +再看一个例子: + +The girl will marry any person. +S V O +(这个女孩愿意下嫁任何人。) + +The person gives her a diamond ring. +S V O O +(此人送她一枚钻戒。) + +这两个句子在 person 上重复而建立关系,可以把句 2 的 the person 改写为关系代名词 who、成为关系子句 who gives her a diamond ring,置于句 1 中的​​先行词 any person 之后,如下: + +The girl will marry any person [who gives her a diamond ring]. +S V O 关系子句 + +因为先行词 any person 没有什么内容,可以选择省略,只要把关系代名词 who 改写为复合关系代名词 whoever,如下: + +The girl will marry [whoever gives her a diamond ring]. +S V O 关系子句 + +复合关系代名词 whoever 引导的关系子句 whoever gives her a diamond ring 因为省略了先行词,所以这整个关系子句升格为名词子句、直接当做主要子句动词 will marry 的受词。请注意:这个关系子句虽然是当作主要子句动词 will marry 的受词,但是在这个关系子句里面,whoever 仍然是动词 gives 的主词,所以 whoever 应该采用主格,不能用受格的 whomever。再看一个例子: + +I’ll give 100 dollars to any person. +介系词片语 +(任何人我都会赠送一百元。) + +The person returns first. +S V +(此人最早回来。) + +第 2 句的 the person 就是第 1 句仲介系词的受词 any person,可以改写为关系代名词 who 或 that,制造一个关系子句来写成下面这个复句: + +I’ll give 100 dollars to any person that returns first. +介系词 先行词 关系子句 + +如果要省掉空洞的先行词 any person,关系词必须改写成复合关系代名词 whoever,成为: + +I’ll give 100 dollars to whoever returns first. +介系词 关系子句 + +请注意:一般说来,代表「人」的关系代名词直接放在介系词后面的时候应该采受格 whom 的形态。但是仔细看一下这个句子:介系词 to 的受词并不是 whoever,而是 whoever returns first 这整个关系子句。而在这个子句里面,whoever 仍然扮演动词 returns 的主词的角色,所以还是采用主格才对。像下面这种情况才会用到受格: + +Any person qualifies for the job. +S V +(任何人都有资格干这件工作。) + +You see the person in this room +S V O +(你在这个房间里看到的人。) + +两句在 person 上重复建立关系。句2中的重复点 the person 是动词 see 的受词,可以用关系​​代名词 whom 或 that 连接,如下: + +Any person [whom you see in this room] qualifies for the job. +S 关系子句 V + +关系子句中的关系代名词 whom 或 that 因为扮演受词的角色,可以选择省略掉。但是,如果选择省略的是先行词 any person,那么关系代名词必须改为复合关系代名词 whomever,成为: + +Whomever you see in this room qualifies for the job. +S 关系子句 V + +请注意:主要子句的主词是整个关系子句。而在这个关系子句中,主词是 you、动词是 see,复合关系代名词 whomever 是 see 的受词,所以应该用受格。不过,复合关系代名词 whoever/whomever 的情况跟关系代名词 who/whom 相同:只要搬离开受词位置就可以不必交代受格。像上面这句,受词 whomever 搬到句首当连接词去了,所以可以不管受格、写成 whoever 也是正确的。 + +## 关系副词 + +常用的关系副词有 when, where, how, why 这四个,分别由时间副词 then、地方副词 there、方法状态副词 so、以及表示原因的副词 for what 改写而来。主要子句中的先行词仍是名词,所以关系副词引导的关系子句仍是形容词子句。分别说明如下: + +### 一、when + +The earthquake hit at a time. +(地震在这个时候来袭。) + +Most people were sound asleep then. +S V C 时间副词 +(这时大部分人都睡得正熟。) + +句 2 中的时间副词 then 指的就是句 1 中的先行词 a time,两句在此重复而建立关系,可以将句 2 的时间副词 then 改写为关系副词 when、移到句首扮演连接词的角色,成为关系子句 when most people were sound asleep,然后置于句 1 中的​​先行词 a time 后面修饰它,成为复句如下: + +The earthquake hit at a time when most people were sound asleep. +先行词 关系子句 + +关系子句和先行词之间没有逗点隔开,表示这个关系子句具有指示功能(指出是「那个」时间)。只要关系子句具有指示功能,不论是关系代名词还是关系副词,一律都可以改写成that。所以这个句子也可以写成: + +The earthquake hit at a time that most people were sound asleep. + +而且,关系副词 when 属于可有可无的副词类,只要关系子句没有逗点和先行词隔开,那么有了先行词 a time,关系副词就可以省略以避免重复,成为: + +The earthquake hit at a time most people were sound asleep. + +至于先行词,因为是个名词,不能随便省略。而且,关系子句是形容词子句,必须依附在名词类的先行词后面来修饰它,所以:关系子句的先行词不能随便省略掉。只有在采用复合关系代名词 what, whatever, whichever, who(m)ever 时,关系子句升格为名词子句,才能够省略先行词。如果看到下面这样的句子,请读者换个角度来诠释: + +The earthquake hit when most people were sound asleep. +S V 副词子句 + +这个句子,看起来好像是把包含先行词在内的 at a time 省略掉、只留下关系副词 when 引导的关系子句。但是,关系子句不能没有先行词,而且关系副词也没有资格省略先行词(只有复合关系代名词 what, whatever, who(m)ever, whichever 才能省略先行词)。上面这个句子正确的诠释是把 when 视为从属连接词看待,外加在直述句 most people were sound asleep 的前面、引导一个时间副词子句,直接修饰主要子句动词 hit 的时间。同时,这里的 when 既然是副词子句外加的从属连接词、并非关系词,当然不能够改写为 that。而且,副词子句外加的连接词不是关系副词、不能省略。所以上面那个句子中的 when 也不能省略。 + +关系副词的先行词为何不能省略,看看下面这个句子就了解了: + +Every year the superstar set aside some time [when he can travel incognito with his wife]. +S V O 关系子句 +(每年这位超级巨星都排出一段时间来带着太太匿名出游。) + +关系副词 when 引导的关系子句仍是形容词子句,放在主要子句的先行词 some time 后面修饰它。因为关系子句没有逗点和先行词隔开,是具有指示功能的用法,所以关系副词 when 可以改写为 that,如下: + +Every year the superstar set aside some time that he can travel incognito with his wife. + +另外,因为关系子句没有逗点和先行词隔开,这种情况的关系副词都可以省略,所以也可以选择省略掉关系副词 when,成为: + +Every year the superstar set aside some time he can travel incognito with his wife. + +但是,先行词是重要的名词类,而且关系子句必须依附在先行词上来修饰它,所以是不能省略的。只有在采用复合关系代名词时才能够省略先行词。上面那个句子如果省掉先行词 some time 就是个错误: + +Every year the superstar set aside when he can travel incognito with his wife. (误) + +读者如果看到这样的句子,请换个角度来诠释它: + +The superstar doesn’t know when he can travel incognito with his wife. +S V O 名词子句 + +这位超级巨星不知道什么时候才能和太太匿名出游。 + +这里的 when 是疑问词、并非关系词,整个子句 when he can travel incognito with his wife 是由疑问句改写而来的名词子句。因为 when 是疑问词而不是关系副词,所以并不能改写为 that、也不能省略。但是也有这样的讲法: + +He knows that he can travel incognito with his wife. +S V O 名词子句 + +这并不是把关系副词 when 改为 that,而是在直述句 He can travel incognito with his wife 外面直接加上无意义的连接词 that 变成名词子句,表示「那句话、那件事」,整个名词子句当做动词 know 的受词。 + +### 二、where + +The artist lived in a place. +S V 先行词 +(这位艺术家住在一个地方。) + +It was impossible to work there. +S V C 地方副词 +(那里根本不可能工作。) + +第 1 句中的先行词 a place 和第 2 句中的地方副词 there 重复而建立关系,可以把 there 改写成关系副词 where,制造出下面这个复句: + +The artist lived in a place where it was impossible to work. +先行词 关系子句 + +这个关系子句仍是形容词子句,修饰先行词 a place。因为关系子句并没有用逗点和先行词隔开,是具有指示功能的关系子句,所以关系副词也可以改写为 that,如下: + +The artist lived in a place that it was impossible to work. + +而且,只要关系子句没有用一组括弧性的逗点隔开,这种情况下关系副词都可以省略,如下: + +The artist lived in a place it was impossible to work. + +但是先行词 a place 则不能省略,否则形容词子句会失去可以依附的名词。如果读者看到下面这个句子,请换个角度来诠释: + +The artist lived where it was impossible to work. +S V 副词子句 + +这里的 where 不是改写而来的关系副词,而是外加的从属连接词、引导一个地方副词子句,直接修饰主要子句动词 live 的地方。这时候,where既然不是关系词,当然也就不能改写为 that,而且也不能省略。 + +下面这个例子稍有不同: + +The artist rented an apartment [where he could work]. +S V O 关系子句 + +这个复句中,an apartment 是先行词,where 是关系副词,where he could work 是关系子句、当形容词子句使用,修饰先行词 an apartment。这个关系子句没有逗点和先行词隔开,是具有指示功能的用法,所以关系副词 where 可以改写为指示功能明确的 that、也可以选择省略,如下: + +The artist rented an apartment that he could work. +The artist rented an apartment he could work. + +但是,先行词 an apartment 显然不能省略,不然就会出现这个错误的句子: + +The artist rented where he could work. (误) + +### 三、how + +四个关系副词 when, where, how, why 之中,前面两个(when 与 where)比较麻烦,因为这两个除了当做关系副词来引导关系子句之外,还可以外加在直述句前面来引导时间副词子句与地方副词子句,所以会有比较多的混淆点。后面两个(how 与 why)就比较单纯,因为这两个不能够外加在限定子句外面构成副词子句(没有这种副词子句),所以比较不会搞错。看看例子: + +I never found out the way. +S V O +(我一直没搞懂方法。) + +He escaped so. +S V 副词 +(他脱身就是用的这个方法。) + +第 2 句中表示方法状态的副词 so,意思就是 in this way,和第 1 句中的先行词 the way 有交集而建立关系,可以改写为关系副词 how,移到句首来连接两句,成为这个复句: + +I never found out the way how he escaped. +S V O(先行词) 关系子句 + +关系子句和先行词之间没有逗点隔开,这种子句具有指示功能,所以可以选择用指示性明确的 that 取代 how,也可以选择省略掉 how,如下: + +I never found out the way that he escaped. +I never found out the way he escaped. + +至于关系副词的先行词 the way 则不可省略,否则关系子句会失去依靠。如果看到下面这个句子,那并不是关系子句省略掉先行词,请换个角度来诠释: + +I never found out how he escaped. +S V 名词子句 + +句中的 how he escaped 来自疑问句 How did he escape?,是个有疑问词引导的名词子句,直接当做主要子句动词 found out 的受词。这个 how 是疑问词而非关系副词,所以既不能改写为 that、也不能省略。如果看到这样的句子: + +I never found out (that) he escaped. +S V 名词子句 + +这并不表示名词子句的疑问词 how 可以改写为 that 或可以省略,而是意思不同:that he escaped 来自直述句 he escaped 外加无意义的连接词 that,表示「那件事」,引导一个名词子句。所以整句话的意思是「他逃跑了,这件事情我一直不知道。」 + +### 四、why + +关系副词 why 的情况和 how 差不多,看看例句即可: + +The man didn’t explain the reason. +S V O +(此人并未说明原因。) + +He wanted a divorce for a rea​​son. +S V O 副词 +(他要离婚是有原因的。) + +两个句子在 reason 上重复而建立关系,把第 2 句中的 for a rea​​son 改写为关系副词 why,用来连接两句,便会成为这个复句: + +The man didn’t explain the reason why he wanted a divorce. +先行词 关系子句 + +关系副词 why 引导关系子句 why he wanted a divorce 当形容词子句使用,修饰先行词 the reason。因为没有逗点隔开,关系子句具有指示功能,所以关系副词 why 可以换成指示性明确的 that、也可以选择省略,如下: + +The man didn’t explain the reason that he wanted a divorce. +The man didn’t explain the reason he wanted a divorce. + +不过,关系副词的先行词 the reason 不能省略。读者如果看到下面这个句子,并不表示关系副词的先行词可以省略,请换个角度诠释: + +He didn’t explain why he wanted a divorce. +S V O + +这时候 why 是疑问词,why he wanted a divorce 是疑问词引导的名词子句,由疑问句 Why did he want a divorce? 改写而来,代表一个「问题」,直接当做主要子句动词 didn't explain 的受词使用。 Why 既然是疑问词、不是关系副词,当然不能改写为 that、也不能省略。下面这个句子是另外一个意思: + +He said that he wanted a divorce. +S V O 名词子句 + +That 是直述句 he wanted a divorce 外加的连接词,制造出一个名词子句当做 said 的受词,意思是「那件事」,所以整句话的意思是:「他说他想要离婚。 」 + +有逗点隔开时 + +请注意:一旦有一对括弧式的逗点隔开关系子句,这种关系子句就丧失了指示功能、只是补充说明。所以关系词不再能够改写为 that,而且也不再能够省略。在四个关系副词之中,只有 when 和 where 这两个引导的关系子句可以用逗点和先行词隔开、不具指示功能。例如: + +Written history of America began in 1492, [when Christopher Columbus arrived with his ships]. +先行词 关系子句 +(美洲的正史自1492年开始,当时哥伦布率船抵达。) + +The civilization of ancient Egypt was born along the Nile, [where the soil was kept fertile by annual floodings]. +先行词 关系子句 +(古埃及文明诞生于尼罗河畔,那里的土壤因为每年泛滥而保持肥沃。) + +这两个复句中,先行词(1492 与 the Nile)都是专有名词,所以后面的关系子句都只是补充说明的性质、不具指示功能,因而用逗点和先行词隔开。这种补充说明性质的关系子句没有指示功能,所以关系词不能采用 that。而且这里的 when 和 where 也不能够省略,因为括弧与主要子句切断开来,必须自给自足。 + +### 分裂句 + +有一种句型称为**分裂句(split construction)**,做法是把一个单句套进 it is … that … 的构造而分裂成为一主一从的复句。这种句型的目的是用来加强语气,里面必须动用到关系子句。例如: + +Your friend stole a can of peaches at a 7-11 last night. +S V O 时间副词 地方副词 +(你的朋友昨天晚上在一家7-11偷了一罐水蜜桃。) + +这个句子,里面的主词、受词、时间副词、地方副词等等每一个元素,都可以采用分裂句来强调。甚至动词也都可以用类似分裂句手法来强调,只是采用的句型不同。先看看比较典型的分裂句做法:如果要强调句中某一个元素,只要把它放在 it is … that 这个句型中间的补语位置,然后剩下的部分照抄在 that 的后面,就可以构成分裂句。例如,可以用分裂句来强调上句中的主词 your friend,如下: + +It was your friend [that(or who) stole a can of peaches at a 7-11 last night]. +S V C 关系子句 + +分裂句的主词it是个纯粹的虚字,完全没有内容。只是因为句型上需要有一个主词,因而用 it 这个虚字填充。这个用法和下面这些虚字的用法相同: + +What time is it? +Who is it? +It’s cold today. + +这几个句子都一样:缺乏真正的主词,只用虚字 it 填充主词位置。 + +接下来看动词的部分。这个句子是过去时间(last night),因此分裂句采用 it was … that 的过去式。把原句中需要强调的主词 your friend 拿出来放到 it was 后面的补语位置,剩余的部分照抄在 that 后面,就把原来的单句分裂成 it was your friend 这个主要子句以及 that stole a can of peaches at a 7-11 last night 这个关系子句(中括弧内的部分)。分裂句后面那个关系子句都具有指示功能(不能用逗点隔开),所以关系词一律都可以采用 that。也可以选择用其他的关系词。像上面那个例子,获得强调的先行词是 your friend,后面的关系代名词不用 that 而改用 who 也是正确的。 + +同一个句子,若要强调的是受词、时间副词、或者地方副词,也都可以采用同样的分裂句来处理,如下: + +It was a can of peaches [that(or which) your friend stole at a 7-11 last night]. +S V C 关系子句 + +先行词是 a can of peaches,分裂句中的关系代名词可以用 that 或 which。 + +It was at a 7-11 [that(or where) your friend stole a can of peaches last night]. +S V C 关系子句 + +先行词是 a 7-11,分裂句中的关系副词可以用 that 或 where。 + +It was last night [that(or when) your friend stole a can of peaches at a 7-11]. +S V C 关系子句 + +先行词是 last night,分裂句中的关系副词可以用 that 或 when。 + +### 强调动词的分裂句 + +如要强调的是「动词」这个元素,不能采用一般分裂句 it is … that 的句型,而必须动用类似「what one does is (to) V」的句型。先回到前面那个句子: + +Your friend stole a can of peaches at a 7-11 last night. +S V O 时间副词 地方副词 + +要用分裂句强调句中的动词部分,基本上是采取 what one does is (to) V「某人做(do)的那件事(the thing)是什么」这种句型来强调。就上面这个例子而言,分裂句的主要子句可以采用笼统的 the thing 当主词,后面用关系子句 that your friend did at a 7-11 来修饰主词,关系子句里面用助动词 did 取代原来的动词 stole。接下来用 be 动词 was 当主要子句的动词,后面的补语位置用来安插需要强调的动词 steal。请注意:如果主词部分的修饰语包含助动词 do(如上例关系子句中的 did),后面的主词补语部分就可以采用不定词片语(如 to steal)或原形动词(steal)的形态来强调,如下: + +The thing [that your friend did at a 7-11 last night] was (to) steal a can of peaches. +S 关系子句 V C + +上句中的关系代名词 that 和笼统的先行词 the thing 可以合并成为复合关系代名词 what,关系子句 what your friend did at a 7-11 last night 升格成为名词子句当主要子句的主词使用,如下: + +[What your friend did at a 7-11 last night] was (to) steal a can of peaches. +S V C + +另外,主要子句的主词部分也可以采用如下的安排: + +All [(that) your friend did at a 7-11 last night] was (to) steal a can of peaches. +S 关系子句 V C + +The only thing [(that) your friend did last night] was (to) steal a can of peaches at a 7-11. +S 关系子句 V C + +这两句分别采用笼统的 all 与 the only thing 当主要子句的主词,后面用关系子句(中括弧内的部分)修饰主词。因为关系子句中有助动词 did 在,所以后面的补语部分可以采用不定词片语 to steal 或原形动词 steal。 + +强调动词部分的分裂句比较复杂,我们多看几个例子: + +I can hope. +S V + +我可以怀抱希望。 + +这个句子如果要强调动词 hope,可以用 what one does is (to) V 的分裂句来强调如下: + +What I can do is (to) hope. +S V C + +All [(that) I can do] is (to) hope. +S 关系子句 V C + +The only thing [(that) I can do] is (to) hope. +S 关系子句 V C + +要强调动词 hope,就是要把句型改写成「我可以做(do)的事情(the thing)就是 hope」。先选择用笼统的 the thing, all, 或 the only thing 当主要子句的主词。后面用关系子句 that I can do 来修饰主词(the thing 和 that 亦可合并为复合关系代名词 what)。主要子句的动词用 be 动词 is,后面的补语部分可以用不定词片语 to hope,也可以直接用原形动词 hope。再看一个例子: + +The program backs up important files. +S V O + +这个程式是备份重要档案用的。 + +以同样的方式,可以制造出强调动词的分裂句如下: + +[What the program does] is (to) backup important files. +S V C + +主词部分亦可作 all that the program does 或 the only thing that the program does。请注意:主词部分的修饰语必须有助动词 do 在内,后面的补语才可以直接采用原形动词。没有助动词 do 就不能用原形动词。例如: + +All [(that) I wanted] was to help him. +S 关系子句 V C + +我想要做的只不过是要帮他而己。 + +主要子句的主词仍是笼统的 all,后面仍有关系子句修饰它,但是里面并没有助动词 do。这种情况,后面就不能采用原形动词当主词补语,只能用不定词片语 to help him。下面这个句子就不同了: + +All [(that) I wanted to do] was (to) help him. +S 关系子句 V C + +主要子句的主词 all 后面有关系子句修饰它,里面有助动词 do。后面补语位置就可以选择采用原形动词 help 了。 + +## 厘清混淆点 + +关系子句比较麻烦,因为它和名词子句之间、和副词子句之间都有许多容易混淆的地方。以下整理出三类混淆点,提醒读者注意。 + +### 一、Wh-的混淆 + +拼成 wh- 形状、具有连接词功能的字,可以分成三种: + +1. 关系词,包括关系代名词(who, which)与关系副词(when, where, how, why)。关系词引导的子句是关系子句,也就是形容词子句,修饰先行词。例如: + +#### 关系代名词 + +My father is a man [who always keeps his word]. +先行词 关系代名词 关系子句 +(我父亲是言出必行的人。) + +Paris, [which has a long history], is a legendary city. +先行词 关系代名词 关系子句 +(巴黎市历史悠久,是个充满传奇色彩的都市。) + +#### 关系副词 + +I’ll never forget my high school days, [when life seemed so simple]. +先行词 关系副词 关系子句 +(我忘不了我的高中时代,当时人生似乎好单纯。) + +Let’s spend the weekend at Tommy’s, [where we can be quite free]. +先行词 关系副词 关系子句 +(我们到Tommy家过周末吧,在那里可以自由自在。) + +Please show me the way [how I can start this motorcycle]. +先行词 关系副词 关系子句 +(请教我一下这辆机车要怎么发动。) + +Money is one reason [why I don’t take any vacations]. +先行词 关系副词 关系子句 +(我不休假,原因之一是为了钱。) + +1. 疑问词(who, which, what, when, where, how, why)。疑问词引导的子句是由疑问句改写而来的名词子句。例如: + +[Who stole the money] will be revealed soon. +疑问词 名词子句 +(钱是谁偷的,这个问题即将揭晓。) + +Tell me [which of the two designs is prettier]. +疑问词 名词子句 +(请告诉我这两幅设计哪一幅比较漂亮。) + +The question is [what you’re going to do about it]. +疑问词 名词子句 +(问题在于,你要怎么因应。) + +Nobody knows [when he will return]. +疑问词 名词子句 +(没人知道他什么时候会回来。) + +I have a pretty good idea [where he may be hiding]. +疑问词 名词子句 +(他会躲在何处,我颇有把握。) + +The most important thing in fishing is [how you prepare the bait]. +疑问词 名词子句 +(钓鱼最重要的一点就是鱼饵如何调配。) + +That is [why I need your help]. +疑问词 名词子句 +(这就是我要你帮忙的原因了。) + +1. 外加的从属连接词(when, where)。这种从属连接词引导的子句是副词子句,修饰动词的时间与地方。例如: + +The game ended [when he hit a homerun]. +动词 连接词 副词子句 +(比赛在他击出全垒打时结束。) + +The ship is to boldly go [where none has gone before]. +动词 连接词 副词子句 +(这艘船将勇敢航向无人曾到之处。) + +二、Wh​​-ever 的混淆 + +拼成wh-ever形状、具有连接词功能的字,可以分成两种: + +1. 复合关系代名词(what, whatever, whoever, whichever),解释为 anything that, anyone that 等等,包含先行词在内。复合关系代名词引导的子句是名词子句,例如: + +[What(ever)(= Anything that) he says] can’t be true. +复合关系代名词 名词子句 +(不论他说什么都不是真的。) + +I sincerely envy [whoever(= anyone that) lives in that grand mansion]. +复合关系代名词 名词子句 +(我真的很羡慕住在那幢华厦里的人,不管是谁。) + +I’ll buy [whichever car(= any car that) you recommend]. +复合关系代名词 名词子句 +(你推荐哪辆车我就买哪辆。) + +1. Whoever, whichever, whatever, whenever, wherever, however,用法相当于在疑问词 who, which, what, when, where, how 的前面外加 no matter 表示「让步」语气。这种连接词引导的子句是副词子句,例如: + +[Whoever(= No matter who) told you that story], don’t believe it. +疑问词外加no matter 副词子句 +(不管是谁告诉你的,请勿相信。) + +There will be difficulties [whichever way(= No matter which way) you go]. +疑问词外加no matter 副词子句 +(不论你走哪条路都会碰到困难。) + +[Whatever(= No matter what) you do], just don’t stay put. +疑问词外加no matter 副词子句 +(不论你怎么做都行,就是不能原地不动。) + +[Whenever(= No matter when) he gets angry], he counts to 10. +疑问词外加no matter 副词子句 +(只要他生气,他就先从一数到十。) + +You’ll never find a place like home, [wherever(= No matter where) you may go]. +疑问词外加no matter 副词子句 +(不论你到何处,永远找不到跟家一样的地方。) + +He can never beat his rival, [however hard(= No matter how hard) he tries]. +疑问词外加no matter 副词子句 +(他永远打不败他的对手,不论多么努力。) + +三、that的混淆 + +拼成 that、具有连接词功能的字,可以分成三种情况: + +1. 直述句外加单独无意义的连接词 that,引导的是名词子句,例如: + +Are you sure [that everything is all right]? +连接词 名词子句 +(你确定一切都没事吗?) + +1. 外加(so that, such that, in order that, in that)等有意义的连接词,引导的是副词子句,例如: + +He started work early [so that he could finish on time]. +连接词 副词子句 +(他提早开始工作,目的是想准时完成。) + +It was such a great meal [that everyone of us ate too much]. +连接词 副词子句 +(那一餐太棒了,结果我们每一个都吃太多。) + +1. That 是关系词,改写自关系代名词(who, which)与关系副词(when, where, how, why),引导的子句没有逗点和先行词隔开、是具有指示功能的关系子句(形容词子句),修饰先行词。例如: + +He’s the man [that I told you about]. (that 相当于 who) +先行词 关系代名词 关系子句 +(我跟你说的就是这个人。) + +What’s the best movie [that you’ve ever seen]? (that 相当于 which) +先行词 关系代名词 关系子句 +(你看过最棒的电影是什么?) + +The accident happened at a time [that traffic was heaviest]. (that 相当于 when) +先行词 关系代名词 关系子句 +(车祸就发生在车流量最大的时候。) + +That restaurant is a place [that most gourmets in town go]. (that 相当于 where) +先行词 关系代名词 关系子句 +(城里的老饕大都是去那家餐厅。) + +I’ve found several ways [that I can be of help to you]. (that 相当于 how) +先行词 关系代名词 关系子句 +(我发现有几种方式我可以帮上你的忙。) + +Is this the reason [that he left so early]? (that 相当于 why) +先行词 关系代名词 关系子句 +(他那么早就离开,就是这个原因吗?) + +## 结语 + +关系子句的特色在于关系词不是外加、而是由内含的重复元素改写而来。所有的关系子句都是形容词子句。只有复合关系代名词引导的子句,因为取代了先行词,所以升格为名词子句。关系子句与先行词之间若有逗点隔开,表示这个子句是放在括弧内作补充说明之用、也就是不具指示功能。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/RelativeClausesReduced.md b/corejava第9版/EnglishGrammarBook-master/docs/RelativeClausesReduced.md new file mode 100644 index 0000000..231488a --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/RelativeClausesReduced.md @@ -0,0 +1,459 @@ +# 第二十三章 关系从句减化 + +从属子句减化的共同做法是省略掉主词与be动词、只留下补语部分,关系子句的减化也不例外。关系子句的减化,通常都是因为关系代名词刚好就是关系子句的主词,因为和先行词重复而产生了可以减化的空间。只要省略掉关系子句中这个重复的主词以及空洞的be动词、留下补语,就是典型的关系子句减化。 + +关系子句如此减化之后,剩下来的就是原来的主词补语部分,可以分成现在分词片语、过去分词片语、形容词、名词等几种情况。 如果关系子句当中的动词片语有语气助动词在内,减化的结果会变成不定词片语。这种情况的关系子句,主词部分有比较大的弹性:可以是关系代名词当主词、也可以是关系代名词当受词,甚至可以是关系副词当连接词、主词另有其人。 + +以下依几种不同的减化结果,分别说明关系子句的减化情况。 + +## 简化为分词 + +关系子句最常见的变化情况就是简化为现在分词片语或过去分词片语。这种情况, 关系子句的主词应该就是关系代名词, 与先行词重复。关系子句的动词如果是一般文法所谓的**进行式(be + Ving)**, 省略掉 be 动词之后就会剩下现在分词。如果动词是一般文法所谓的**被动态(be + Ven)**, 省略掉 be 动词之后剩下的就是过去分词。如果关系子句的动词是普通动词,则需要加上 -ing 进行词类变化、变成现在分词。先看看减化为现在分词的情况。 + +### 现在分词 + +The man [who wants to see you] is waiting outside. +先行词 关系子句 +(想见你的那个人在外头等着。) + +中括弧内是个关系子句,它的主词 who 就是关系代名词,代表的就是前面的先行词 the man、在此与主要子句产生重复。关系子句减化的做法,第一步是把重复的主词 who 省略掉,第二步应该是省掉 be 动词。但是这个关系子句只有普通动词 wants。如前所述,如果动词是普通动词,没有 be 动词也没有助动词,那么减化的方式是一律加 -ing 作词类变化,所以动词就减化为 wanting 这个现在分词。结果如下: + +The man [wanting to see you] is waiting outside. +减化形容词子句 + +关系子句如果有逗点和先行词隔开,这种关系子句缺乏指示功能、只是个补充说明。它减化的做法还是一样的,例如: + +My Encyclopedia Britannica, [which is lying on the bookshelf and gathering dust], has seldom been used. +先行词 关系子句 +(我那套大英百科全书,摆在书架上积灰尘,没用过几次。) + +这个关系子句前后有一对逗点隔开,等于是放在一对括弧里面做补充说明之用、缺乏指示功能。它的减化方式还是相同。关系代名词 which 就是关系子句的主词,与先行词重复。关系子句的动词是 be 动词 is。只要省略掉这个重复的主词与空洞无内容的 be 动词,剩下的补语部分 lying on the bookshelf and gathering dust 这个现在分词片语就是成功的减化形容词子句,可以充分取代原来那个关系子句,同样修饰先行词、表达同样的意思: + +My Encyclopedia Britannica, [lying on the bookshelf and gathering dust], has seldom been used. +先行词 减化形容词子句 + +如果关系子句中的动词是**完成式(have + Ven)**,减化的做法还是加 -ing 做词类变化,成为 having + Ven 这种形状的现在分词片语而保留下来。例如: + +Anyone [that has visited Bali once] will want to return. +先行词 关系子句 +(只要是来过峇里岛一次的人都会想要​​再来。) + +关系子句的主词 that 就是关系代名词(相当于 which)、与先行词重复,减化时可以省略。动词 has visited 是完成式,减化时必须加上 -ing 作词类变化才能保留下来,如下: + +Anyone [having visited Bali once] will want to return. +先行词 减化形容词子句 + +### 过去分词 + +接下来看看减化成过去分词的情况。 + +Grapes [that are grown in the Champagne area] make the best wines. +先行词 关系子句 +香槟区种出来的葡萄酿的葡萄酒最好。 + +关系子句(中括弧内)修饰的先行词是 grapes。这个关系子句中,关系代名词 that(就是 which)就是主词,和先行词重复。动词是 be 动词 are。只要省略掉重复的主词、空洞的 be 动词,关系子句就可以减化为过去分词片语 grown in the Champagne area,仍然是修饰先行词 grapes,原句的意思完全没有损失。如下: + +Grapes [grown in the Champagne area] make the best wines. +先行词 减化形容词子句 + +关系子句如果前后打了一对逗点,就是当作可有可无的补充说明使用、不具指示功能。这种关系子句的减化方式还是一样: + +Microsoft, [which is accused of monopolizing the OS market], will have to change its business practices. +先行词 关系子句 +(微软公司(它被指控垄断作业系统市场)必须改变它的商业作风。) + +关系子句放在一对逗点中作补充说明之用、修饰先行词 Microsoft。关系子句的主词就是关系代名词 which,与先行词重复。动词是空洞的 be 动词 is。这个关系子句减化的方式仍然是省略掉重复的主词 which 与空洞的 be 动词,剩下补语部分 accused of… 这个过去分词片语,如下: + +Microsoft, [accused of monopolizing the OS market], will have to change its business practices. +先行词 减化形容词子句 + +如果关系子句中的动词是 be 动词的完成式 have been,后面用过去分词当作被动语态的补语,那么减化子句有两种做法: + +A student [who has been trained at this school] is guaranteed to excel in any exam. +先行词 关系子句 +(经过本校训练出来的学生保证任何考试都会表现优异。) + +关系子句中的主词就是关系代名词 who、与先行词 a student 重复,减化时可以省略。动词是 be 动词的现在完成式 has been。 Be 动词本身固然没有内容,但是这个完成式 has been 表达出完成状态,也就是「已经、曾经」,并不是完全没有内容。如果选择要保留 has been,那么必须加上 -ing 做词类变化,成为 having been 这个现在分词片语,如下: + +A student [having been trained at this school] is guaranteed to excel in any exam. +先行词 减化形容词子句 + +不过,如果在 having been 后面有过去分词(如上例中的 trained),那么这个 having been 省略掉的话也不会影响到句意,如下: + +A student [trained at this school] is guaranteed to excel in any exam. +先行词 减化形容词子句 + +这是因为:过去分词(如 trained)本身就具有「完成状态」的暗示。过去分词 trained 除了「被训练」的被动语态,也具有「已经训练过」的完成状态在内。而 having been 中间的 be 动词没有意义,整个现在分词片语 having been 只能够表达完成状态。既然后面的过去分词已经能够表达完成状态,那么 having been 就是可有可无了。 + +## 简化为复合形容词 + +形容词只有两种主要的位​​置:名词片语中以及补语位置。关系子句的位置通常是放在先行词的后面来修饰它。有一种减化的方式是把关系子句减化为一个复合形容词,然后放进名词片语中的形容词位置。这种复合形容词,通常是以现在分词或过去分词的形态出现,以下分别介绍。 + +### 复合现在分词 + +“Big John” is a machine. +(「大约翰」是一种机器。) + +The machine drills tunnels. +S V O +(这种机器用于钻凿隧道。) + +这两个句子在 machine 一字有交集而建立关系,可以改写成关系代名词,制造关系子句如下: + +“Big John” is a machine that drills tunnels. +先行词 关系子句 + +关系子句 that drills tunnels 若要进行减化,有一种特别的做法是把它改写成复合形容词。关系子句的主词 that 和先行词 machine 重复,可以省略。述部的 drills tunnels 可以制造出一个复合形容词 tunnel-drilling。请注意:tunnel 放在复合形容词里面就要当做形容词看待,也就是不再有复数、必须改为单数。 Tunnel-drilling 基本上是个现在分词,可以直接放进 a machine 这个名词片语中间的形容词位置,成为这个单句: + +“Big John” is a tunnel-drilling machine. + +再看一个例子: + +That magazine is for women. +(那本杂志是妇女杂志。) + +That magazine looks beautiful. +S V C +(那本杂志看起来很漂亮。) + +这两个句子经由 magazine 的交集建立关系,可以改写为关系代名词、制造出这个复句: + +That magazine which looks beautiful is for women. +先行词 关系子句 + +这个关系子句若要减化,可以先省略掉与先行词重复的主词 which。述部 looks beautiful 可以改写为 beautiful-looking 这个复合形容词,然后放进 the magazine 这个名词片语中,成为如下的单句: + +That beautiful-looking magazine is for women. + +下面这个例子的情况也差不多: + +I’m enjoying the sunset. +(我在欣赏夕阳。) + +The sunset is vanishing fast. +S V C +(夕阳快速消失。) + +这两个句子在 sunset 建立关系,可以写成这样的复句: + +I’m enjoying the sunset, which is vanishing fast. +先行词 关系子句 + +关系子句 which is vanishing fast 可以这样减化:省略掉与先行词重复的主词 which、空洞的 be 动词 is 之后,剩下的补语 vanishing fast 再改写为复合形容词 vast-vanishing,放入 the sunset 这个名词片语中,成为如下的单句: + +I’m enjoying the fast-vanishing sunset. + +### 复合过去分词 + +关系子句减化为复合形容词,如果原来是被动语态,往往会成为复合过去分词的形态,例如: + +I love these high peaks. +(我喜欢这些高峰。) + +These high peaks are covered with snow. +S V C +(这些高峰被白雪覆盖。) + +这两个句子在these high peaks建立关系,可以改写为关系代名词、制造出下面这个复句: + +I love these high peaks, [which are covered with snow]. +先行词 关系子句 + +关系子句 which are covered with snow 可以如此减化:除去与先行词重复的主词与空洞的 be 动词,剩下的补语 covered with snow 进一步制造出一个复合过去分词 snow-covered,放进 these high peaks 这个名词片语中,成为这个单句: + +I love these high, snow-covered peaks. + +再看一个例子: + +These apples are beginning to rot. +这些苹果开始腐败。 + +These apples were bitten by frost. +S V C +这些苹果被霜冻坏了。 + +这两个句子可以用关系​​子句连接、改写为下面这个复句: + +These apples, [which were bitten by frost], are beginning to rot. +先行词 关系子句 + +其中的关系子句,一般的减化方式是省掉与先行词重复的主词 which 与空洞的 be 动词 were,留下补语部分,成为: + +These apples, [bitten by frost], are beginning to rot. +先行词 减化形容词子句 + +但是 bitten by frost 这个形容词片语如果不放在减化子句的补语位置,也可以制造成复合形容词 frost-bitten 而改放在 these apple 这个名词片语中的位置,如下: + +These frost-bitten apples are beginning to rot. + +## 简化为形容词 + +如果关系子句是 S + V + C 的句型,主词补语是形容词,那么减化过程中省略掉主词和 be 动词之后,剩下的就是单纯的形容词补语。例如: + +A chimpanzee is an animal [that is capable of reason]. +先行词 关系子句 + +黑猩猩是一种具有理性能力的动物。 + +关系子句中的主词就是关系代名词 that(相当于 which)、与先行词 an animal 重复。动词是 be 动词,后面是用形容词片语 capable of reason 当主词补语。减化的做法是省略掉重复的主词与空洞的 be 动词,剩下的补语部分就是简单的形容词片语,如下: + +A chimpanzee is an animal [capable of reason]. +先行词 减化关系子句 + +这个减化关系子句仍然具有指示功能,指出先行词是「哪种」动物。再看一个例子: + +The boy, [who is usually tall and heavy for his age], wants to be a sumo wrestler. +先行词 关系子句 + +这个男孩,以他的年龄来说长得特别高大,想当相扑选手。 + +关系子句的主词就是关系代名词 who,和先行词 the boy 重复。动词是 be,后面的主词补语是形容词片语 unusually tall and heary for his age。这个关系子句前后有一对逗点隔开,不具有指示性,所以关系代名词不能用 that。减化的方式仍然相同:省略掉重复的主词 who 和空洞的 be 动词,剩下的减化子句就是单纯的形容词补语,如下: + +The boy, [usually tall and heavy for his age], wants to be a sumo wrestler. +先行词 减化关系子句 + +这个减化关系子句前后打一对逗点隔开,因为它是不具指示功能的补充说明。 + +## 简化为名词 + +如果关系子句是 S + V + C 的句型,而主词补语是个名词片语,那么在减化过程中省略掉主词与 be 动词之后,剩下的部分就是那个名词片语。这个名词片语是原来的主词补语,也就是传统文法所谓的同位格。例如: + +The Great Wall of China, [which is the largest man-made structure on earth], no longer serves a military function. +先行词 关系子句 +中国的长城(世界最大的人造结构)已经不再具有军事功能。 + +关系子句的主词是关系代名词 which,与先行词重复。动词是 be,后面的主词补语是名词片语 the largest man-made structure on earth。减化的做法是省略掉主词和 be 动词、留下补语部分,成为: + +The Great Wall of China, [the largest man-made structure on earth], no longer serves a military function. +先行词 减化关系子句 + +原来的关系子句放在一对括弧式的逗点中,不具有指示功能、只是个补充说明。减化之后剩下来的主词补语(所谓的同位格)仍然放在一对逗点里面作补充说明使用。再看一个例子: + +This movie features Tom Hanks, [who is my favorite movie star]. +先行词 关系子句 + +这部电影主打汤姆汉克斯,那是我最喜爱的影星。 + +关系子句的主词就是关系代名词 who,和先行词重复。这个关系子句放在一对逗点里面,属于补充说明的性质、不具指示功能。减化的方式是把重复的主词和空洞的be动词省略,剩下的主词补语是名词片语 my favorite movie star,也就是传统文法所谓的同位格,如下: + +This movie features Tom Hanks, [my favorite movie star]. +先行词 减化关系子句 + +## 简化为不定词 + +本章至此整理的情况都有一个共同点:都是用关系代名词当关系子句的主词,在进行减化时将这个与先行词重复的主词省略掉。不过,关系子句如果是减化为不定词片语,那么关系子句的主词可以有比较大的弹性:不一定是关系代名词当主词,而是只要够清楚就可以减化。而且也不一定都是用关系代名词当关系词,关系副词也有可能。 + +关系子句要想减化为不定词片语,有一个先决条件:动词片语必须包含语气助动词在内。只要有语气助动词,可以先把语气助动词改写为 be + to,然后在进行减化时仍然是把 be 动词省掉,剩下的就是不定词片语。例如: + +This is not the right thing [which you should do]. +先行词 关系子句 +(你现在该做的不是这件事。) + +关系子句中的关系代名词 which 不再扮演主词的角色,而是动词 should do 的受词。因为关系代名词是受词,可以先行省略,剩下 you should do,再来进行减化:主词 you 省掉的话句意仍然清楚,动词部分有语气助动词 should,减化的结果就是变成表示不定词的 to,如下: + +This is not the right thing [to do]. +先行词 减化关系子句 + +比较简单的看法是直接把 to do 视为动词片语 should do 的词类变化看待:把限定动词 should do 变成不定词片语 to do,就可以当形容词使用、修饰 the right thing。 + +If you want a loan, our manager is the person [whom you should see]. +副词子句 先行词 关系子句 +(如果你要贷款,应该去找的人是我们经理。) + +关系子句中的关系代名词 whom 是动词 should see 的受词,可以先行省略,剩下的 you should see 再来进行减化:省略掉重复的主词 you(与副词子句主词重复)、助动词 should 减化为表示不定词的 to,如下: + +If you want a loan, our manager is the person [to see]. +副词子句 先行词 减化关系子句 + +比较简单的看法是把 to see 直接视为动词片语 should see 的词类变化看待:将限定动词 should see 变成不定词片语 to see,可以当形容词使用、修饰 the person。 + +If you like Cantonese food, I know just the place [where you can go]. +副词子句 先行词 关系子句 +如果你喜欢广东菜,我知道有个地方你可以去。 + +关系子句中的关系词现在是关系词 where。因为这个关系子句没有用逗点和先行词隔开、具有指示功能,所以关系副词 where 可以先行省略,剩下 you can go 再来进行减化:省略掉重复的主词 you(和副词子句主词重复),助动词减化为表示不定词的 to,如下: + +If you like Cantonese food, I know just the place [to go]. +副词子句 先行词 减化关系子句 + +比较简单的看法是直接把 to go 视为 can go 的词类变化看待:把限定动词 can go 变成不定词片语 to go 当形容词使用、修饰名词 the place。 + +This is no time [when you should be fooling around]. +先行词 关系子句 +(这不是可以胡闹的时候。) + +关系子句中的 when 是关系副词,因为没有逗点隔开所以可以先行省略,剩下 you should be fooling around 再来进行减化:省略笼统的主词 you、助动词 should 减化为表示不定词的 to ,如下: + +This is no time [to be fooling around]. +先行词 减化关系子句 + +也可以直接把 to be 视为动词片语 should be 的词类变化看待:变成不定词片语、当形容词来修饰 time。 + +I’ll show you the way [how you can start this machine]. +先行词 关系子句 +(我告诉你该怎么发动这台机器。) + +关系子句的连接词是关系副词 how,因为没有逗点隔开所以可以先行省略。接下来进行减化:省略掉重复的主词 you(与主要子句的受词you重复)、助动词 can 减化为表示不定词的 to,如下: + +I’ll show you the way [to start this machine]. +先行词 减化关系子句 + +也可以直接把 to start 视为 can start 的词类变化看待。 + +I’m glad because I have something [that I can look forward to]. +副词子句 先行词 关系子句 +(我很高兴,因为我有一件可以盼望的事。) + +关系子句中的关系代名词 that(相当于which)是介系词 to 的受词。因为这个关系子句并没有用逗点和先行词隔开,具有指示功能,所以当受词使用的关系代名词that可以先行省略,剩下 I can look forward to 再来进行减化。减化的做法是省掉重复的主词 I、助动词 can 减化为表示不定词的 to,如下: + +I’m glad because I have something [to look forward to]. +副词子句 先行词 减化关系子句 + +当然,也可以直接把 to look 视为 can look 的词类变化看待。不过,光从词类变化的角度不容易解释清楚为什么这个不定词片语的尾巴上有个介系词 to 而缺乏受词。还原成关系子句(that I can look forward to)的话就可以看清楚了:末尾的介系词 to,受词就是关系代名词 that,被省略掉了。 + +### 不定词片语的语态 + +关系子句简化为不定词片语,要注意的是主动或被动语态的判断。例如: + +There’s still one more person to notify. +There’s still one more person to be notified. +(还有一个人要通知。) + +句 1 和和 2 这两种讲法,不定词片语(减化形容词子句)中一个用主动语态、一个用被动语态。两种讲法都是文法正​​确的讲法。这时候,如果光是把不定词视为语气助动词的词类变化看待,那么主动被动语态的问题就很难解释清楚,必须还原为关系子句才能够看懂它的变化。可以把句子拆开成为下面两个单句来理解: + +There’s still one more person. We must notify the person. +先行词 S V O + +后面这一句的受词 the person 就是前一句的先行词 one more person, 可以改写为关系代名词、制造出复句如下: + +There’s still one more person [whom we must notify]. +先行词 关系子句 + +因为关系子句中的关系词 whom 是受词,可以先行省略,成为: + +There’s still one more person [we must notify]. +先行词 关系子句 + +这个关系子句中的主词是 we。如果减化的结果是不定词,那么只要意思够清楚,关系子句的主词就可以省略掉。再把动词 must notify 减化为 to notify(语气助动词都可以减化为表示不定词的 to),即成为上列第 1 句 There's still one more person to notify 的结果,不定词片语中用的是主动语态。反之,如果原先是这两句: + +There’s still one more person. He must be notified. +先行词 S V C + +后句的主词 he 代表的就是前句的 one more person,改写为关系代名词 who 就会成为这个复句: + +There’s still one more person [who must be notified]. +先行词 关系子句 + +这个关系子句来进行减化。主词就是关系代名词 who,和先行词重复。动词 must be 可以减化为 to be,所以关系子句减化的结果会变成 to be notified 这个不定词片语,也就是前面第 2 句 There is one more person to be notified 的结果,不定词片语中采用的是被动语态。 + +### 主动与被动孰优孰劣 + +如前所述,不定词片语有时候采主动与被动皆可。但是,该用主动还是该用被动,其间有优劣之分,这是英文写作时应该要会判断的事。传统文法因为只看到片语的层次,对于这一点一直没有能够讲清楚。必须将不定词片语还原到子句的层次,才能够知其所以然。 + +#### 连贯性原则 + +英文修辞有两大要求:清楚与简洁。清楚性的要求可以表现在许多方面,包括连贯性的原则。例如:前后两个句子、或前后两个子句,如果主词相同、叙事的观点连贯,会是比较清楚的叙述。而且,主词相同时会比较容易进行减化,所以句子又可以变得更简洁、进一步提高句子的修辞价值。例如: + +When John stepped into his office, the boss was seen waiting there by him. +(当 John 步入办公室时,老板被他看到在那儿等着。) + +这个复句当中,前面的副词子句采主动语态,主词是 John;后面的主要子句采被动语态,主词是 boss。前后两个子句的主词不同,造成叙事不连贯,修辞效果较差。观察一下不难发现,主要子句中其实也有一个代表 John 的代名词 him,但是当受词使用。应该修改如下: + +When John stepped into his office, he saw the boss waiting there. +(约翰走进办公室时,看到老板正在等着。) + +把主要子句改成主动语态,主词也变成 he(代表 John),和副词子句的主词相同。前后两个子句的主词相同,因此连贯性增加了、句子也变得比较清楚。不仅如此,主词相同之后又可以进一步减化,如下: + +Stepping into his office, John saw the boss waiting there. +减化副词子句 + +副词子句 When John stepped into his office 的主词和主要子句相同,才可以减化为 Stepping into his office。句子因而变得更简洁,修辞效果也变得更好。关于副词子句减化的方式,将在第二十五章详述。接下来再看一个关于连贯性的例子: + +When John stepped out of his office, a car hit him. +(当 John 步出办公室时,一辆车撞到他。) + +前面的副词子句采主动语态,主词是 John。后面的主要子句亦采主动语态,主词是 a car,前后两个子句的主词不连贯,修辞效果较差。观察一下可以发现,主要子句当中也有一个代表 John 的代名词 him,却是当受词使用。可以修改如下: + +When John stepped out of his office, he was hit by a car. + +把主要子句改成被动语态之后,主词就和副词子句一样。前后两个子句的主词相同,叙事的连贯性增强了、句子也就比较清楚了。同时又可以进一步减化,如下: + +Stepping out of his office, John was hit by a car. +减化副词子句 + +#### 以连贯性原则判断不定词片语的语态 + +不定词片语中如果是采用主动语态和被动语态都可以的情况,那么该用哪一个比较好?这个问题应该把不定词片语还原为限定子句、并且利用连贯性原则来判断。例如: + +I must stay at the office [because I have some people] to notify. +(我必须留在办公室,因为我还有一些人必须通知。) + +这个句子,句尾那个不定词片语 to notify 如果改为被动态的 to be notified,文法仍然正确,但是修辞效果不佳。为什么?这个问题传统文法答不出来,必须采取减化子句的角度才看得清楚。我们先回到原点,把这个复句拆开成为三个单句,如下: + +I must stay at the office. +I have some people. +I must notify them. + +请注意:因为句 1 和句 2 都是以 I 为主词,所以根据连贯性原则,句 3 最好也是用 I 作主词。即然句 3 用 I 当主词,它的动词就必须采主动语态,成为 I must notify them。这三个单句可以合在一起写成一个复句,如下: + +I must stay at the office [because I have some people] whom I must notify. +副词子句 先行词 关系子句 + +观察一下:这个复句当中,主要子句的主词是 I,表示原因的副词子句(中括号内)主词也是 I。为符合连贯性原则,后面的关系子句也选择用 I 当主词,因此动词必须采主动语态,写成 whom I must notify。这个关系子句,可以先把扮演受词角色的关系代名词 whom 省略掉,再开始进行减化:删除掉重复的主词 I、助动词 must 减化为表示不定词的 to,剩下的就是不定词片语 to notify(主动态),如下: + +I must stay at the office because I have some people to notify. + +这个句子当中,句尾的不定词片语采用主动语态比较好,是因为它符合连贯性原则。 + +反观下面这个例子: + +The news can’t be released yet [because there are some people] to be notified first. +(这则新闻还不能发布,因为还有些人必须先行知会。) + +上面这个复句,句尾的不定词片语 to be notified first 用的是被动态。如果改为主动态 to notify first,文法也是正确的,但是修辞效果较差。为什么?要回答这个问题,不妨先把这个复句拆开成为如下三个单句: + +The news can’t be released yet. +There are some people. +These people must be notified first. + +这三个单句当中,第1句的主词是 the news,第2句的主词是 some people。这两句没有共同的元素,因此主词也无法连贯。但是第 2 句的主词 some people 在第3句中也有(these people)。如果第3句也用 people 当主词,至少叙事上和第 2 句是连贯的。既然第 3 句选择以 these people 为主词,动词就必须采被动语态 to be notified。然后,这三个单句可以合在一起写成一个复句,如下: + +The news can’t be released yet [because there are some people] who must be notified first. +副词子句 先行词 关系子句 + +主要子句是 The news can't be released yet,副词子句(中括号内)的主词是 some people,关系子句(画底线部分)的主词 who 也代表 some people,前后两个子句主词相同、符合连贯性原则。这个关系子句如果进行减化,做法是删掉重复的主词、助动词must减化为表示不定词的to,就会成为: + +The news can’t be released yet because there are some people to be notified first. + +句尾的不定词片语采被动语态较好,同样是因为它符合修辞的连贯性原则,比较清楚。 + +#### 不定词片语的主词如何交代 + +如前所述,关系子句如果减化为不定词片语,它的主词不一定是关系代名词、所以也不一定和主要子句有重复。如果这个主词并不重复、也不是笼统的字眼,属于需要交代之列,那么关系子句减化为不定词片语时,原来的主词通常是安插在介系词 for 后面的位置来处理。例如: + +I’m looking for a motorcycle [that my wife can ride]. +先行词 关系子句 +(我在找一辆我太太可以骑的机车。) + +关系子句中的关系代名词 that(相当于 which)是受词,因为没有逗点和先行词隔开所以可以先行省略,剩下 my wife can ride 再来进行减化:主词 my wife 和主要子句之间并无重复,而且 my wife 并不是像 people, somebody 之类含糊笼统的字,所以不能省略。碰到这种情况,助动词 can 仍然减化为表示不定词的 to,而配合不定词片语,原来的主词应该放在介系词 for 后面的受词位置来交代,如下: + +I’m looking for a motorcycle [for my wife to ride]. +先行词 减化关系子句 + +这种情况,还是可以把 to ride 简单视为 can ride 的词类变化。不过,视为关系子句的减化是比较深入的诠释。 + +## 连接词的处理 + +关系子句原本是限定子句,需要有个连接词,而关系词就扮演连接词的角色。关系子句经过减化之后,不再有主词与限定动词了,因此也就不再需要连接词。关系子句的减化,通常都是因为关系代名词就是关系子句的主词、与主要子句的先行词重复,因而可以精简。那么在做减化子句的时候因为要省略主词,关系词自然就会被省略掉。例如: + +Do you know the girl [who is sitting next to John]? +先行词 关系子句 +(你认不认识坐在John旁边那个女孩?) + +关系子句(中括弧内的部分)的主词就是关系代名词 who,在进行减化时会跟 be 动词一并省略,成为: + +Do you know the girl [sitting next to John]? 减化形容词子句 + +所以,关系子句减化之后,连接词(亦即关系代名词)会随着主词一并省略、留不下来。 + +如果减化的结果是变成不定词片语,那么原来的关系子句有可能是用关系代名词当主词、受词,也有可能是用关系副词来连接。不过,关系代名词如果当主词使用,会随着减化时省略主词而一并省略。如果关系代名词当受词使用,在减化之前就会先行省略掉。如果是关系副词,同样会在减化之前先行省略。所以我们可以做一个归纳:关系子句减化之后,原本的连接词(即关系词)都留不下来。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/SimpleSentences.md b/corejava第9版/EnglishGrammarBook-master/docs/SimpleSentences.md new file mode 100644 index 0000000..f44ffff --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/SimpleSentences.md @@ -0,0 +1,288 @@ +# 第一章 基本句型 + +## 单句:五种基本句型 + +现在让我们从单句开始切入。 + +英文的单句,依照动词特性的不同,可以分为五种基本句型。反过来说:必须符合五种句型之一,才是正确的英文单句。这五种句型分别是: + +1. S + V +2. S + V + O +3. S + V + O + O +4. S + V + C +5. S + V + O + C + +``` +S:主语 +V:动语 +O:受词 +C:补语 +``` + +## 主部与述部 + +一个完整的句子,必须能够表达完整的意思。这至少需要两个部分:**主部(subject)**和**述部(predicate)**。主部,是介绍这个句子主词的部分,以主词为核心,告诉读者这个句子「主角是谁」。述部,则是句子中担任叙述工作的部分,以**限定动词(finite verb)**为核心,告诉读者这个主角「怎么样」。 + +所谓「限定动词」,就是会随人称、时态的不同而产生变化的动词(例如主词是第三人称单数时,限定动词的现在式要加-s)。传统文法所谓的动词,指的都是限定动词。至于**非限定动词(nonfinite verb)**,传统文法并不视为动词看待,而是称为**动状词(verbals)**,包括现在分词、过去分词、动名词、不定词片语等等。必须要有限定动词,才能构成一个独立的句子或是限定子句。 + +基本句型之所以会分成五种,主要是因为动词有五种。包括**及物动词(transitive verb)**与**不及物动词(intransitive verb)**、**完全动词(complete verb)**与**不完全动词(incomplete verb)**等等。如果是及物动词,它后面必须有个受词(object)来接受这个动作。反之,不及物动词则不需要受词。另外,如果这个动词是不完全动词,后面就需要有个**补语(complement)**来补足它、才能够产生完整句义。反之,完全动词则不需要补语。以下就五种基本句型分别说明。 + +## 一. S + V + +The dog barked at the mailman. +S V +(狗冲着邮差叫。) + +这个句子的主语是主词 `the dog` 这个名词片语、由它担任主角。所谓名词,指的是「人、 地、事、物」的名称。由这个定义来看,一个句子的主词必须是名词,包括名词片语、代名词、名词子句等等。 + +本句的述部以动词 `barks` 为主,告诉读者说这只狗「叫」。像 bark 这种动词称为不及物动词,可以独力完成而不需要受词来接受这个动作。后面的 at the mailman 是个介系词片语(名词片语 the mailman 加在介系词 at 后作它的受词),这个介系词片语在此当副词使用,依附在动词 barked 上面作修饰语。 + +I got up rather late this morning. +S V +(今天早上我起得很晚。) + +这个句子的主部是 I 这个代名词当主词。述部最重要的是 got up 这个**片语动词(phrasal verb)**。所谓片语,指的是两个以上的单字放在一起、构成一个意义单元(要合在一起解释)。像 get 这个动词,本身并没有「起床」的意思,必须和 up 这个介副词(看起来像介系词, 但后面却没有受词,故而是直接当副词使用)合在一起才是「起床」,所以应该把get up 当作一个片语动词看待。像 get up 这种动作同样也可以独力完成,属于不及物动词(不需要 受词)。后面的 rather late this morning 整个都是时间副词片语,修饰动词got up 的时间,是可有可无的修饰语。 + +以上所举的都是「不及物动词」的例子。接下来看看「及物动词」的用法。 + +## 二. S + V + O + +The dog bit the mailman. +S V O +(狗咬邮差。) + +这个例子中,`bite` 这种动作和 `bark` 很不一样:要做出「咬」的动作,得有个东西「被咬」才行。这种动词称为「及物」动词,后面必须有受词来「接受」这个动作。上例中 bit 就是及物动词,而被咬的 the mailman 就是它的受词。顺便提一下:和主词的情况相同,受词也必须是「人、地、事、物」,所以受词的词类也必须是名词类(包括代名词、名词片语、名词子句等等)。 + +这里有一点必须先说明一下。同一个动词,视用法的不同,经常是有可能当及物动词使用、也有可能当不及物动词使用。就拿刚才看到的那个动词 bite 说,一般的用法应该是及物动词,需要有个受词。但是它也可以这样使用:你看到一条凶恶的斗牛犬没有系链子,连忙闪开一边;这时它的主人却笑咪咪地说: + +Don’t worry. It doesn’t bite. +S V +(别担心。它不咬人的。) + +上面这个句子,主词 it 仍然代表「狗」,动词仍然是 bite,不同的地方在于:这个动词现在没有受词了,也就是当作不及物动词使用。 + +写作的时候,每个英文句子都有动词、也都需要判断这个动词是及物还是不及物,不能用错了句型。研究文法,可以了解总共有哪几种句型、每种句型当中有哪几种元素等等。但是文法并不能告诉我们某一个动词是及物还是不及物。要解决这个问题:必须透过广读,大量阅读英文句子、大量接触,逐渐对一些常用动词的用法会有一些把握,知道它是及物还是不及物、后面该不该有受词。 + +## 三. S + V + O + O + +有一种及物动词可以有两个受词,这种及物动词多半带有「授与」的意思,所以又称为**授与动词(dative verb)**。它后面第一个受词是授与的对象、第二个受词是授与的东西。这种句型可以视为 S + V + O 句型的一种衍生。例如: + +The man’s wife gave him a jar of honey. +S V O O +(此人的老婆给他一瓶蜂蜜。) + +这个句子的主词是 the man's wife 这个名词片语。动词 gave 后面有两个受词:第一个受词 him 是「给的对象」、第二个受词 a jar of heney 是「给的东西」。 + +请注意:S + V + O + O 的句型,两个受词出现的顺序必须是「对象在前、东西在后」,这个顺序和中文的说法相同(给「谁」「什么东西」)。如果「对象」没有放在第一个受词的位置,就会变成 S + V + O 的句型,如下: + +The man’s wife gave a jar of honey to him. +S V O + +第一个受词(对象)的位置从缺,句型会自动转变成 S + V + O。这时如果还要交代「给的对象」,已经没有地方可放,就得加个介系词to、制造出介系词片语to him 来表示(这个介系词片语当副词使用、修饰动词 gave)。再看一个例子: + +I teach my son English. +S V O O +(我教我儿子学英文。) + +动词 teach 有两个受词,第一个受词 my son 是教的「对象」、第二个受词English 是教给他的「东西」。如果第一个受词的位置从缺,那么句型就会变成 S + V + O。如果后面还要交代「对象」的话就得动用介系词片语来交代,如下: + +I teach English to my son. +S V O + +## 四. S + V + C + +「及物动词」需要有受词,「不完全动词」则需要有补语。但是何谓不完全动词、何谓补语,传统文法一直没有说明清楚。最简单的理解方式是:如果动词可以解释为「是」,那这种动词就是空的、不完全的,后面则需要补语。 + +在句子的述部,一般都是由动词来承担最主要的叙述工作、由动词来交代主词「怎么样」。但是,如果动词只解释为「是」,这种动词完全是空的、没有任何叙述能力。所有的叙述都往后转移、在「是」的后面才真正开始叙述主词「怎么样」,那就是「补语」的部分。请看两个例子: + +The dog was a bulldog. +S V C +(那是只斗牛犬。) + +The dog was mean. +S V C +(那只狗很凶。) + +这两个句子,动词 `was` 都没有任何叙述能力,而只是扮演一个「衔接」的功能。述部中真正在做叙述的并不是动词、而是后面的补语,告诉读者这只狗是「斗牛犬」、「很凶」。这种解释为「是」、没有意义的动词,称为**连缀动词(linking verb)**,功能只是把主词和后面的补语串连起来。真正有叙述能力的是连缀动词后面的那个部分,也就是「补语」。 + +请看看下面这些例子: + +That purse looks pretty. (那个包包很好看。) +The question seems easy. (这个问题好像很容易。) +Your friend appears quite a gentleman. (你的朋友似乎是个十足的绅士。) +Your suggestion sounds exciting. (你的提议听起来很刺激。) +The woman feels dizzy. (这个女人感觉头晕。) +The wine tastes sweet. (酒有甜味。) +The man remains single. (此人继续保持单身。) +The player turned professional. (这位球员转入职业。) +The drug proved effective. (药证实有效。) +The actor became a big star. (这位演员成了大明星。) +A school teacher makes a good wife. (娶小学老师当老婆很不错。) + +这些句子都是 S + V + C 的句型,画底线部分都是所谓的连缀动词,真正在做叙述工作的都是动词后面的补语部分。这种句型有一个很简便的检验方法:把动词换成be 动词(纯粹的「是」),意思仍然差不多: + +That purse is pretty. +The question is easy. +Your friend is quite a gentleman. +Your suggestion is exciting. +The woman is dizzy. +The wine is sweet. +The schoolmates were friends for life. +The man is single. +The player was professional. +The drug was effective. +The actor was a big star. +A school teacher is a good wife. + +因为,look「看起来是」、seem「似乎是」、appear「显得是」、become「成为」、prove「证实为」等等,所有的连缀动词其实都是各种各样的「是」。这种动词都和 be 词一样,缺乏叙述能力,只能扮演「连缀」的角色,把主词和补语串连起来。真正的叙述工作要靠后面的补语来做。 + +## 五. S + V + O + C + +The man’s wife called him Honey. +S V O C +(他老婆叫他 Honey。) + +如果在 S + V + O 的后面拖着一个「是」的尾巴、必须交代「是什么」意思才完整,那就是 S + V + O + C 的句型,在受词后面有个受词补语。像 The man’s wife called him 这种句子,如果意思不是「他老婆呼叫他」,而是「他老婆把他叫作(是)…」,那么后面就有需要说明「是什么」,也就是需要受词补语。 + +受词补语(S + V + O + C)的句型也有一个很简单的检验方式:把受词和补语拿出来、中间加个be 动词,如果可以构造出一个 S + V + C 的句型而且意思差不多,那么它就是受词补语的句型。 + +下面这些例子,画底线部分分别是受词(O)与补语(C)。请读者试试看,拿受词出来当主词、中间加个be 动词,后面的补语就变成主词补语。结果将是上一节列出的那些 S + V + C 的句子。 + +I find the purse pretty. (我觉得这个包包很漂亮。) +The tip made the question easy. (因为有提示,所以问题变得很容易。) +I consider the man quite a gentleman. (我认为此是个十足的绅士。) +The boss found your suggestion exciting. (老板觉得你的提议很刺激。) +The bus ride made the woman dizzy. (搭巴士让这个女人感觉头晕。) +I find the wine sweet. (我觉得酒有甜味。 ) +The man’s poverty kept him single. (此人的贫穷使他继续保持单身。) +The victory made the player professional. (这场胜历史这位球员转入职业。) +The doctor proclaimed the drug effective. (医生宣称这种药有效。) +The hit movie made the actor a big star. (这部轰动的电影使这位演员成了大明星。 ) +Most people consider a school teacher a good wife. (大多数人认为小学老师是理想的太太。 ) + +## 补语的词类 + +句子的主词和受词都必须是名词类。至于主词补语和受词补语,这两种补语可以使用的 词类相同,计有名词、形容词、时间副词、地方副词、介副词等五种。分别举例说明如下: + +## 一. 名词补语 + +John is my best friend. +S V C +(John 是我最好的朋友。) + +I consider John my best friend. +S V O C +(我认为 John 是我最好的朋友。) + +补语 `my best friend` 是名词片语,和 `John` 这个名词全等。 + +## 二. 形容词补语 + +John looks happy. +S V C +(John 看起来很高兴。) + +The good news makes John happy. +S V O C +(好消息让 John 高兴。) + +补语 `happy` 是形容词,用来修饰名词 `John`。 + +## 三. 时间副词补语 + +The final game is tonight. +S V C +(决赛在今天晚上。) + +The sponsors set the final game tonight. +S V O C +(主办单位把决赛排在今天晚上。) + +补语 tonight 是时间副词,修饰名词 the final game。 + +## 四. 地方副词补语 + +The key is there. +S V C +(钥匙在哪里。) + +I left the key there. +S V O C +(我把钥匙留在那里。) + +补语 there 是地方副词,修饰名词 the key。 + +五.介副词补语 + +The plane is down. +S V C +(飞机着陆了。) + +The pilot brought the plane down. +S V O C +(驾驶员带领飞机着陆。) + +补语 down 是介副词,修饰名词 the plane。 + +## 基本句型分辨 + +英文单句的五种基本句型,以句中包含的主要元素数目来区分,可以分成两个主要元素(S + V)、三个主要元素(S + V + O 与S + V + C)、以及四个主要元素(S + V + O + O 与 S + V + O + C)等三种类型。如果一个句子一时之间看不出来是哪一种句型,可以先把可有可无的修饰语如介系词片语等排除、看看剩下有几个主要元素,然后再来分辨。以下分别举例说明。 + +## 一. 两个元素的句型 + +The cat meowed pitifully. +(猫叫得很可怜。) + +句尾的 pitifully 是个副词,修饰动词 meowed,是个可有可无的修饰语,不会影响到句型。剩下来的就只有两个元素:主词 the cat 和动词 meowed。而两个元素的句型就只有 S + V 这一种: + +The cat meowed pitifully. +S V + +如果在主词、动词后面跟着一个副词,这个副词又是修饰动词的修饰语,那么这个句子就是两个元素的句型:S + V。 + +## 二. 三个元素的句型 + +The cat caught a mouse. +(猫抓了一只老鼠。) + +这个句子有主词 the cat、动词 caught,以及后面的名词片语 a mouse 这三个元素。而三个元素的句型只有 S + V + O 和S + V + C 这两种。第三个元素 a mouse 是受词还是补语?如果是补语,那么动词改为 be 动词的话意思应该差不多。但是 The cat was a mouse.这个句子显然意思和原句不同,所以 a mouse 不是补语,那它就只能是受词,如下: + +The cat caught a mouse. +S V O + +再看一个例子: + +The cat looked elegant. (猫看起来很优雅。) + +这也是三个元素的句型。主词是名词片语 the cat,动词是 looked,后面的形容词 elegant 是第三个元素。三个元素的句型只有 S + V + O 和 S + V + C 这两种选择,但是受词必须是名词类,形容词 elegant 不能当受词。所以,elegant 就只有一个可能:是补语。而检验主词补语的方式就是把动词换成be 动词试试看:The cat was elegant.意思和原句差不多,所以可以确定原句是 S + V + C 的句型,如下。 + +The cat looked elegant. +S V C + +如果在主词、动词后面还有个形容词,这个形容词应该是主词补语,句型是 S + V + C。如果在主词、动词后面还有个名词,这个名词不是受词就是补语,可以把动词改为 be 动词来检验:意思不变的话就是 S + V + C,否则就是 S + V + O。 + +## 三. 四个元素的句型 + +The man fed the cat canned food. +(此人喂猫吃罐头。) + +这个句子有四个元素:主词 the man、动词 fed、受词 the cat,第四个元素是名词片语 canned food。而四个元素的句型只有 S + V + O + C 和 S + V + O + O 这两种选择,第四个元素不是补语就是另一个受词。是不是受词补语,检验方式是在受词和补语中间加个be 动词看看通不通:the cat was canned food 这个句子显然不通,那么第四个元素就只剩一种可能:是另一个受词,如下: + +The man fed the cat canned food. +S V O O + +再看一个例子: + +The man called the cat “Fatty”. +(此人叫这只猫「胖子」。​​) + +这也是四个元素的句型,第四个元素 Fatty 是个专有名词。它是补语还是第二个受词?可以在中间加个be 动词来检验:The cat was Fatty.,意思和原句差不多,所以 Fatty 就是受词补语,如下: + +The man called the cat “Fatty”. +S V O C + +如果在主词、动词、受词后面还有个形容词,这个形容词应该是受词补语,句型是 S + V + O + C。如果在主词、动词、受词后面还有个名词,这个名词可能是第二个受词、也可能是受词补语。可以把第三、第四个元素拿出来、中间加个be 动词来检验:意思相同的话就是 S + V + O + C,否则就是 S + V + O + O 的句型。 + +## 结语 + +五种基本句型,最不容易判断的是有「补语」在内的两种。所谓「补语」,就是交代「是」什么,检验主词补语(S+ V + C)的方式是把动词换成是动词,检验受词补语(S + V + O + C)的方式是在受词和补语之间加个是动词。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/SubjectVerbAgreement.md b/corejava第9版/EnglishGrammarBook-master/docs/SubjectVerbAgreement.md new file mode 100644 index 0000000..8170149 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/SubjectVerbAgreement.md @@ -0,0 +1,487 @@ +# 第二十章 主词动词一致性 + +动词该采用单数还是复数,当然是视主词而定。英文句子的主词必须是名词,包括名词片语、代名词、动名词、不定词片语、以及名词子句。以占大宗的名词片语来看,名词片语当中的名词有些字只有单数形、有些字只有复数形。有些字看起来像单数却要用复数动词、有些是看起来像复数却要用单数动词、还有一些则是采用单数复数动词皆可。 + +只有单数形的名词就是不可数名词,包括专有名词(Bill Gates, New York);物质名词(gold, air);抽象名词(information, courage)等等,这些名词当主词时只能采用单数的动词。只有复数形的名词如 ruins「废墟」;remains「遗体」;outskirts「郊区」,这些名词当主词时只能采用复数的动词。 + +另外还有一些名词,单数与复数分别代表不同的意思。像 damage 是「损害」,不可数名词、只有单数;damages 则是「赔偿」,可数名词、只有复数。 + +上面介绍的几种名词如果掌握得不够熟练,写作时很容易出错。不过,严格讲起来那是属于名词本身的问题——对这些名词的认识够不够清楚——而非主词动词一致性的问题。也就是说,写作的问题可能是出在不知道 gold 不能加 -s、remains 不能没有 -s;一旦采用了 gold 与 remains 当主词,自然知道前者要配合单数动词、后者要配合复数动词。主词动词一致性的要求就在于这个单复数配合的动作。以下整理出一些处理主词动词一致性需要注意的地方。 + +## 单数形用复数动词 + +有些名词看起来像单数、意思却是复数,必须采用复数动词。例如: + +There are people waiting outside to see you. +(外头有人等着要见你。) + +名词 people 解释为「人们」,虽然没有 -s 字尾却是复数、必须采用复数动词。如果 people 解释为「民族」,用法则不同,例如: + +Three aboriginal peoples live along this river. +(有三支原住民民族沿这条河居住。) + +这时候 a people 是「一支民族」、单数;three peoples 是「三支民族」、复数。 + +Many fish in this lake live on algae. +(这座湖里头有许多鱼都靠吃藻类维生。) + +名词 fish 是「单复数同形」。一条鱼是 a fish,要用单数动词;许多条鱼是 many fish,要用复数动词。如果看到 fishes 这种拼法,通常表示「种类」。像上面那个例句,如果把主词改成 many fishes,意思是「许多种鱼」,动词当然还是用复数。 + +## 复数形用单数动词 + +有些名词看起来像复数,却要当单数解释、用单数动词。例如: + +Mathematics is an exacting science. +(数学是门很严谨的科学。) + +名词 mathematics 的字尾 -ics,许多表示「学问、学科」的名词都是这种字尾,虽然有 -s 却属于抽象名词、要用单数动词。类似的名词还有 civics「公民学」、ethics「伦理学」、physics「物理学」、metaphysics「形上学」等等,都要采用单数动词。 + +Mumps is not a serious disease. +(腮腺炎并不是什么大病。) + +名词 mumps 的字尾有 -s 却是单数、应采单数动词。许多表示「疾病」的名词例如 h​​epatitis「​​肝炎」、meningitis「​​脑膜炎」等等都是这样的用法。 + +## 单位 + +度量衡单位与时间、货币单位等等当主词时,往往是复数形态却应采单数动词,例如: + +Seven thousand dollars is a lot of money to spend in one evening! +(七千块钱一个晚上花掉可不是笔小数目!) + +主词 seven thousand dollars 是个名词片语,前面的 seven thousand 是限定词、后面的 dollars 是加了 -s 的复数名词。从任何角度看它都是复数,但是动词却应采用单数的 is。这是因为:像 dollars 这种钱币单位虽然是复数形态,意思却是「一笔钱」。例如 seven thousand dollars「七千元」,这个名词片语和 seven houses「七栋房屋」与 a thousand books「一千本书」不同。 Houses 与 books 都是实物,一千本便是一千个一本。 dollars 则只是个计算单位,七千元代表的并非七千个一元,而是「一个数目」的钱。所以 seven thousand dollars 当主词时,动词要用单数。下面几个例子的情况相同,都是以复数的单位为主词、动词却采单数形: + +Two hours and 28 minutes is the total length of the movie. +(两小时28分是这部电影的总长度。) + +Five kilometers is not too long a distance to walk in one hour. +(一小时要走五公里,这个距离​​不算太长。) + +Three pounds of brown sugar is quite enough for now. +(三磅红糖目前来说足够了。) + +## 单复数动词皆可 + +有一些名词当主词时,动词采单数或复数形态皆可。例如: + +The media has been(or have been) reporting this murder for days. +(媒体持续报导这宗谋杀案已经好几天了。) + +名词 media「媒体」是复数,单数是 medium。但是这个字通常都是用复数形,很少用 medium 的拼法。因此,media 当主词时,动词用单数或复数皆可。 + +再看一个例子: + +This data is(or These data are) quite out-of-date. +(这个资料老早过时了。) + +Data「资料」的单数是 datum,但是一般都只用复数形。 Data 当主词时,动词采单数复数皆可。 + +类似的字还有 bacteria「细菌」(单数 bac​​terium)、whereabouts「下落」(单数 whereabout)、headquarters「总部」(单数 whereabout)。这些字同样都是惯常只用复数形,但是可以采用单数或复数动词。 + +其中 statistics 这个字要注意:解释为「统计学」时它是不可数的抽象名词,应采单数动词。例如: + +Statistics draws heavily on mathematics. +(统计学大量运用数学。) + +但是,解释为「统计资料」,单数是 statistic、复数是 statistics。例如: + +This statistic is quite accurate. +(这笔资料相当正确。) + +These statistics are mostly accurate. +(这些资料大抵正确。) + +### 集合名词 + +集合名词如 family「家庭」, crew「全体机员、船员」, committee「委员会」, staff「幕僚」, faculty「全体教职员」, team「队」, police「警方」, government「政府」等等,如果指的是一个「单位」,应采单数动词。但是如果意思是单位中的「人们」,就要用复数动词。例如: + +The police is working on this case. +(警方正在办这件案子。) + +The police are here. +(警察来了。) + +第 1 句中把 the police 视为一个单位,因此用复数。第 2 句中则是用 the police 代表一些员警,因此用复数。 + +集合名词该用单数还是复数动词,通常视个人选择、两种都可以。但有时候要配合意思决定。例如: + +The committee was founded in 1980, so it has quite a bit of history now. +(委员会成立于1980年,所以现在算是颇有历史了。) + +The committee are mostly seated now, and they are impatient to begin. +(委员们大多已经就座,而且急着想开始。) + +第 1 句说到委员会的成立,显然是把它当一个「单位」看待,所以意思是单数,应采单数动词,代名词也应该用单数的 it。反之,第 2 句说到就座、想开始之类,显然是把 committee当「这些人」看待,所以意思是复数,应采复数动词,代名词也应该用复数的 they。再看一对例子: + +My family is large. +(我家是个大家庭。) + +My family are all highly educated intellectuals. +(我家人都是教育水平很高的知识份子。) + +第 1 句从主词补语 large 来看,显然是把 family 视为一个单位,所以要用单数动词 is。 + +第 2 句从主词补语 highly educated intellectuals 来看,family 显然是当「家人」看待,所以要用复数动词 are. + +主词是名词片语时,除了从名词本身来判断单复数,还有一个可资判断的线索是限定词。 + +### 由限定词研判 + +All the students have gone on the trip. +(学生都旅行去了。) + +All the money has been put in the bank. +(钱全都存进银行了。) + +如果是 all the students 这个名词片语当主词,当然很容易判断出来是复数:all the 是限定词,名词部分 students 很明显是复数。同样的,all the money 当主词时也是很容易判断:限定词仍然是 all the,名词部分是不可数的 money,所以当然是单数。 + +比较需要注意的是 all of 这种情况: + +All of the students have gone on the trip. +All of the money has been put in the bank. + +像 all of the students 这种构造有两种诠释。如果将 all 视为代名词、后面的 of the students 视为介系词片语,那么就得说明为什么介系词片语里面的受词如果是 the students 就能够决定主词 all 是复数、是 the money 就能够决定主词 all 是单数。因为,主词后面的介系词片语通常不会影响到主词的单复数,只是可有可无的修饰语而已。一种可以接受的说明是:主词如果是空的代名词(就是一些表示「全部、部分」的字,如 all, part, some, a lot, half, a third 之类),看不出是什么东西,这时候就得看它后面的介系词片语才知道它是什么。像 all of the students,主词 all 这个代名词是空的,要看后面 of the students:因为 students 是复数名词,它的「全部或部分」也应该是复数名词,所以 all 就是复数、应采复数动词(如 have gone)。反之,主词如果是 all of the money,在空的主词 all 后面是 of the money 这个介系词片语,而 money 是单数,它的「全部或部分」仍然是单数,所以 all of the money 这个主词也是单数、应采单数动词(如 has been)。 + +另一种诠释则是把 all of 合在一起视为前位限定词看待(predeterminer)、the 是中位限定词,students 或 money 则是名词。这种看法也有道理,因为 all of 表示「全部」,它的功能就在于限定名词的范围,所以可以把它当限定词看待。如果 all of 是限定词,那么问题就简单化了:all of the students 这个名词片语只要看名词部分就知道是复数、all of the money 只要看名词部分就知道是单数。 + +Part of the difficulty lies in communication. +(部分的困难在于沟通。) + +将 part of the 视为限定词,那么 part of the difficulty 这个名词片语的名词部分就是抽象名词 difficulty,当然是单数。下面几个例子都是一样,可以把 some of, most of, one-third of 等等表示「范围」的字视为限定词看待,比较容易诠释: + +One-third of the products were defective. +(三分之一的产品有瑕疵。) + +Half of the participants have finished the marathon now. +(一半的参加者现在已经跑完了马拉松。) + +Some of the time was spent on looking for tools. +(有些时间花在找寻工具上头。) + +Most of my high school classmates are in college now. +(我大部分的高中同学现在都在上大学。) + +More of the blame is on me than on you. +(我的错比你多。) + +#### Less, fewer + +限定词和名词之间也有一致性的要求:可数名词应配合可数的限定词,如 many books;不可数名词则应配合不可数的限定词,如 much time。这个问题一般并不难判断,但是有几个字很容易出错。就拿上面表示「多」的 many 和 much 来说,这两个限定词的比较级都是 more,所以 more 可以配合可数名词与不可数名词使用,如 more books, more time。 + +反之,表示「少」的限定词有可数的 few 如 few days,以及不可数的 little 如 little faith。请注意:few 的比较级是 fewer,不可数的 little 比较级才是 less。例如: + +Less money was spent on education than on national defense. +(花在教育上的钱比花在国防上的钱要少。) + +Fewer people go to the U.S. to study now than 10 years ago. +(现在去美国留学的人比十年前少了。) + +Money 是不可数名词,表示「很少」应采用不可数的限定词 little,成为 little money 这个名词片语。 Little 的比较级是 less,所以「更少钱」是 less money。但是,people 是可数名词,表示「很少」则应该采用可数的限定词 few,成为 few people。 Few 的比较级是 fewer,所以「更少人」应该说 fewer people 而不是 less people。可数名词如果用 less 来修饰就是错误,如 less days, less products。这种错误偏偏很常见,读者写作时要特别小心。 + +#### A lot of, lots of + +A lot of mistakes were made because of the time pressure. +(出了许多错误,都是因为时间压力造成的。) + +Lots of the credit goes to the project manager. +(许多功劳都是专案经理的。) + +把 a lot of 和 lots of 这种表示范围的片语也视为前位限定词看待。这两个限定词都是可以配合可数名词与不可数名词使用的。上面第1句,a lot of 配合的是复数名词 mistakes,动词用复数。第 2 句则是用 lots of 配合单数名词 credit,动词用的是单数。 + +#### None of + +None of the meat was left. +(肉一点也不剩。) + +None of the sandwiches was fresh. +(三明治没有一个新鲜的。) + +None of the restaurants were open. +(餐厅一家都没开门。) + +None of 这个限定词可以配合不可数名词,如第 1 句的 meat,动词用单数。它也可以配合复数可数名词,但是因为 none 本身是 not one 的合并、带有单数意味(一个都没有),所以,none of 配合复数可数名词时,后面的动词可以是单数(如第2句)、也可以是复数(如第3句)。 + +#### A number of, the number + +A number of major earthquakes happen every year. +(每年都要发生数起大地震。) + +The number of major earthquakes last year was five. +(去年大地震的数目是五起。) + +第 1 句中的 a number of 意思是「若干个」,功用在于限定后面名词 earthquakes 的范围,所以是限定词。因为 number 的意思是「数目」,必须配合可数名词使用,所以 a number of 这个限定词后面一定是复数的可数名词。换句话说,它的动词一定是复数,如 happen。 + +第 2 句中的 the number 意思是「这个数字」,是个具有实体内容的名​​词、并非限定词。它后面的 of major earthquakes 视为介系词片语。因为数得出数目,所以 the number 后面应该配合复数可数名词如 earthquakes。但是,一般的介系词片语并不会影响主词的单复数。以 the number「这个数字」为主词时,代名词应该是单数的 it,动词也应该是单数动词如 was。 + +#### A pair + +英文中像是 trousers「长裤」、glasses「眼镜」、scissors「剪刀」、pliers「钳子」、shoes「鞋子」这些名词,习惯都采复数形。请比较下列用法: + +A pair of shoes is left outside the door. +(一双鞋放在门外。) + +Three pairs of shoes are left outside the door. +(三双鞋放在门外。) + +These shoes were new. +(鞋子是新的。) + +A pair「一双」是个具有实体内容的名​​词片语、并非限定词。它后面的介系词片语 of shoes 并不会影响到它的单复数。像第 1 句,主词是 a pair,动词就是单数。第2句的主词是 three pairs,动词就是复数。第 3 句的 these shoes 这种说法看不出来是一双还是几双,因为同样都用复数表示。它的动词也要用复数。 + +#### Every, each, either, neither, many a + +凡是解释为「一」的限定词,应该配合单数名词使用、动词也是单数动词。如果把名词省略、限定词升格成为代名词,当主词使用时也要采用单数动词,如下: + +Every day is a new beginning. +(每一天都是新的开始。) + +Each participant is entitled to a memorial pin. +Each of the participants is entitled to a memorial pin. +(每一名参加者都有权领一枚纪念章。) + +* They have to pay five dollars each to enter the theme park. +(他们必须每人交五元才能进入那座主题公园。) + +(句中的主词 they 是复数,因而采用复数动词 have to pay,而 each 只是个修饰语,不影响到主词的单复数。) + +Either way is fine with me. +Either of the ways is fine with me. +(两种做法,随便哪一种我都没意见。) + +Neither solution looks attractive. +Neither of the solutions looks attractive. +(两种解决方案,没有哪一种看起来很好。) + +Many a student has felt the urge to cheat in exams. +(许多学生都曾感觉到想要考试作弊的冲动。) + +Many a 是比较特别的限定词,后面必须配合可数名词的单数、采单数动词。 + +### 主词后加介系词片语 + +句子的主词如果有介系词片语跟在后面修饰它,通常要把介系词片语忽略掉,因为介系词片语只是可有可无的修饰语,不会影响到动词。例如: + +John together with his family is on vacation in Florida. +(约翰和家人一起到欧洲渡假去了。) + +主词是 John,后面的 with his family 只是可有可无的修饰语、可以忽略,动词应采单数形 is。 + +The list of Presidential candidates is in today’s newspapers. +(总统候选人的名单登在今天的报纸上。) + +主词是 list 而非 candicates,所以动词用单数的 is。 + +Monkeys in this national park are a menace to visitors. +(这个国家公园内的猴子对游客是一大威胁。) + +主词是复数的 mokeys 而非 park,所以动词用复数的 are。 + +当然,如果主词是表示「全部、部分」的一些空的字眼,如 all, part, some, a lot, a third, most 之类,看不出来是什么东西,这时候就要看后面的介系词片语是什么了。如果片语中是复数(如 all of the books)那么主词就是复数、片语中是单数(如 a third of the money)那么主词就是单数。 + +## 对等连接词 + +主词位置如果有对等连接词,必须仔细研判到底谁是主词。以下依主要的对等连接词分别探讨。 + +### And + +正常的情况,A and B 的构造表示 A 和 B 两个都是主词,应该是复数,例如: + +A digital camera and an expensive watch were stolen. +(一架数位相机和一支名表失窃。) + +A digital camera 和 an expensive watch 这两个名词片语用对等连接词 and 连接起来放在主词位置,这很明显是两样东西,所以动词采用复数的 were。不过,两个名词片语用连接词 and 连接,也有必须当作单数的例子,例如: + +All work and no play makes Jack a dull boy. +(只有工作没有休闲,会变成书呆子。) + +这是句英谚,all work 和 no play 都是由「限定词 + 名词」构成的名词片语,用 and 连接起来当主词,看起来应该是复数才对,但是动词却要用单数的 makes。这是因为:all work(全部时间用于工作)和 no play(没有任何休闲时间)虽然是两个名词片语,但是叙述的却是同一件事,可以说是一体的两面,用反覆陈述的方式来加强语气,所以还是应该视为单数看待。再看一个例子: + +Every man and every woman has to make sacrifices for the war. +(不分男女,每一个人都必须为战争做出牺牲。) + +句中的主词是 every man 和 every woman 这两个名词片语,看起来似乎应该是复数。但是,「每一个男人」和「每一个女人」这种说法,意思并不是说有「两个人」,而是以这种反覆陈述的方式来强调「每一个人,不分男女」,所以还是要用单数动词(has to make)。 + +另外,如果主词是一个名词片语,对等连接词 and 在名词片语内部连接两个形容词或两个名词,那么这个名词片语有可能是单数。例如: + +A black and white cat is perched on the windowsill. +(有一只黑白两色的花猫坐在窗台上。) + +主词 a black and white cat 只有一个限定词(a),所以只有一个名词片语。对等连接词 and 连接的是 black 和 white 两种颜色,所以 a black and white cat 还只是一只猫,因此动词该采单数(is)。 + +A black and a white cat are chasing after a mouse. +(一只黑猫、一只白猫在追老鼠。) + +主词 a black and a white ca t因为有两个限定词(不定冠词 a),可以看出来是两个名词片语 a black cat 和 a white cat,用对等连接词 and 连接起来,然后省略掉一个名词 cat。所以,这个主词是复数,应采复数动词(are)。 + +The famous poet and philosopher is giving a lecture tonight. +(这位名诗人兼哲学家今晚将发表演说。) + +主词 the famous poet and philosopher 只有一个限定词(the),所以是一个名词片语,famous 是形容词,名词位置则有 poet 和 philosopher 两个、用对等连接词 and 连接起来。这种构造,表示这是一个人、具有两重身分,所以动词还是采用单数(is)。 + +A knife and fork is wrapped up in a paper towel. +(一套刀叉包在纸巾内。) + +主词 a knife and fork 只有一个限定词(a),表示这是一个名词片语。名词位置有 knife 和 fork 两个,用对等连接词 and 连接起来。这种构造是把「刀叉」视为「一套」看待,所以是单数,应采单数动词 is。 + +如上所述,主词到底是一个名词片语还是两个,可以靠观察限定词来认定。不过,别忘了还有看不见的零冠词,例如: + +Oil and water do not mix. +(油和水混不起来。) + +这是一句英谚,用来描述两个人或两件事情不相容。主词 oil and water 是两个名词片语:oil 和 water 都是不可数的物质名词,因此都采用零冠词。既然是两个名词片语,就是两样东西,因此要用复数动词(do not mix)。 + +### Both … and + +像 both … and 这组对等连接词,很明确地表示有两个,所以 both A and B 当主词时,动词应该采复数,例如: + +Both the poet and the philosopher are giving a lecture tonight. +(诗人和哲学家两位,今晚都要发表演说。) + +### Or + +主词如果是 A or B,要在 A 或 B 之间选一个当主词。通常要选的是接近动词的那个来当主词。如果不知如何选择,可以视这种构造为对等子句的省略,先还原成完整的形状再来判断。例如: + +John is going to bring the wine or his friends are going to bring the wine. + +这是两个对等子句,用对等连接词 or 连接。前、后两个对等子句,主词一个是 John、一个是 his friends,并不相同。动词则同样是 be 动词,动词以降的部分也都相同,因此可以选择把划底线部分省略,就成为: + +John or his friends are going to bring the wine. +(John 或者他的朋友会带酒来。) + +但如果是疑问句,情况又不大一样,例如: + +Is John going to bring the wine or are his friends going to bring the wine? + +对等连接词 or 连接两个疑问句,前后有许多重复的元素可以选择省略。但因为它是疑问句,必须留下句首的 Is 来表示,所以选择省略掉的 be 动词变成是后面那个 are,成为: + +Is John or his friends going to bring the wine? +(是John还是他的朋友要带酒来?) + +### Either … or, neither … nor + +Either … or 和 neither … nor 这两组对等连接词,一个是肯定、一个是否定,都是从 or 变化出来的,用法也都和 or 类似:动词应该选择靠近的那个当主词。例如: + +Either one red pill or two white pills are going to stop the pain. +(或者一粒红药丸、或者两粒白药丸可以止痛。) + +这个句子可以视为下面这组对等子句的省略: + +Either one red pill is going to stop the pain or two white pills are going to stop the pain. + +省略掉画底线部分,结果就是前面那个句子。不过,如果是疑问句,为了保留疑问句的形态,应该选择保留前面的动词而省略后面的,例如: + +Is either one red pill going to stop the pain or are two white pills going to stop the pain? + +画底线的就是可以省略的部分。 + +Neither the mayor nor his advisors support the taxcut proposal. +(市长与他的顾问群都不支援减税案。) + +前面 the mayor 的部分可以还原为 the mayor supports the taxcut proposal 这个对等子句,用 neither … nor 这组对等连接词和后面的对等子句连接,然后省略掉与后面重复的部分(supports the taxcut proposal),结果就会成为前面那句。 + +### But + +这个连接词具有否定意味。 A but not B 当主词时,很明显是肯定 A 而否定 B,所以动词应该和 A 一致。例如: + +The eggs but not the hen were stolen. +(是蛋被偷了,而不是母鸡。) + +这个句子的主词看得出来是复数的 eggs,所以动词应该用复数(were)。另外,but 的用法有时相当于介系词 except,这时候它也不会影响到动词的单复数。例如: + +All but one of the students were able to pass the exam. +(所有学生除了一个以外,全都考及格了。) + +All but one 的用法与意思都类似 all except one,所以 all but one of the students 相当于 all of the students except one,而 except one 是可有可无的介系词片语,所以这个句子的主词等于是 all of the students,因而动词应该采复数(were)。 + +### Not only … but also + +Not only A but also B 当主词时,动词应该和接近的那个主词一致,这是因为省略造成的结果。例如: + +Not only my friends but also I am against the plan. +(不仅我的朋友们,就连我自己也反对这项计画。) + +可以先还原为 My friends are against the plan 和 I am against the plan 这两个单句,然后用 not only … but also 连接起来成为对等子句。接下来省略掉前面重复的部分(are against the plan),结果就是上面那个句子。 + +除了上述这些对等连接词之外,主词的单复数有时候要从句型来研判。值得注意的句型有比较级、关系子句,以及分裂句。 + +## 比较级 + +As well as 和 no less than 可以视为副词子句外加的连接词。但是从来源来看,这两个构造都是比较级。比较级的句子有对称的要求,而前后对称工整的时候难免就会有重复,所以也经常会有省略。如果主词的单复数不容易判断,把省略的东西还原之后就比较容易看得出来。 + +### as well as + +France other nations in the EU has adopted the Euro. +(法国和欧盟其他国家一样都已经采用了欧元。) + +可以先还原为下面两个单句来理解: + +France has adopted the Euro. +Other nations in the EU have adopted the Euro. + +这两个句子用比较级的连接词 as well as 连接起来,可以造出比较级的复句如下: + +France has adopted the Euro, as well as other nations in the EU have adopted the Euro. + +前面是主要子句,as well as 后面引导的是副词子句(第二个 as 是从属连接词)。接下来可以进行减化,省略掉副词子句中重复的元素(have adopted the Euro),如下: + +France has adopted the Euro, as well as other nations in the EU (have). + +副词子句中也可以选择把重复的助动词 have 留下来,更清楚性地告诉读者 other nations in the EU 是主词、和主要子句主词 France 比较。另外也可移动一下位置、把 other nations in the EU 和 France 放在一起,并且省略助动词 have,如下: + +France, as well as other nations in the EU, has adopted the Euro. + +单数动词 has adopted 和单数主词 France 一致。至于 other nations in the EU, 它是副词子句的主词,它的动词 have 已经被省略掉了。 + +再看一个例子,请读者自行研判为什么要采用单数动词: + +The museum, as well as all the paintings in it, has been burnt up in the fire. +(博物馆和所有的画一样都被大火烧掉了。) + +### no less than + +No less than 和 as well as 一样是比较级的连接词,主词动词一致性的研判方式也相同。例如: + +The numerous stories behind it, no less than the painting itself, have fascinated viewers for ages. +(它背后众多的传说,不下于这幅画作本身,多年来一直令观众着迷。) + +可以拆开成为下面两个句子来理解: + +The numerous stories behind it have fascinated viewers for ages. +The painting itself has fascinated viewers for ages. + +这两个句子可以用 no less than 这组比较级的连接词连接起来,然后省略掉从属子句中(从属连接词 no less than 后面)重复的部分,成为复句如下: + +The numerous stories behind it have fascinated viewers for ages no less than the painting itself (has). + +如果进一步把重复的助动词 has 也省掉,并把 no less than the painting itself 移到前面直接和 the numerous stories behind it 比较,就会成为: + +The numerous stories benind it, no less than the painting itself, have fascinated viewers for ages. + +动词 have fascinated 采复数,因为它的主词 the numerous stories 是复数。至于连接词 no less than 后面那个从属子句,主词 the painting 是单数,它的动词 has 已经被省略掉了。 + +再看一个例子,请读者自行研判为何采用单数动词: + +The coach, no less than all the players, deserves praise. +(教练和所有球员一样都值得夸奖。) + +## 分裂句 + +分裂句是一种强调语气的句型(见第十九章)。标准的分裂句以 it is … that … 的句型呈现,当中主要子句的主词 it 是个虚字,它的动词必须采单数形。后面的 that 子句是个关系子句,如果子句的主词是关系代名词,子句的动词就要视先行词的单复数而定。例如: + +It is those friends of yours [that are to blame for the accident]. +S V C 关系子句 +(是你那些朋友该为这次意外负责。) + +这个分裂句来自于单句 Those friends of yours are to blame for the accident,将单句的主词 those friends of yours 拿出来放在分裂句的补语位置以强调语气。分裂句当中,主要子句的主词是虚字 it,动词必须采用单数(如 is)。后面的关系子句,主词就是关系代名词 that(亦可作 who)。它的先行词是复数的 those friends of yours,因此它的动词应采复数形(如 are)。 + +## 动名词,不定词片语,名词子句 + +如果主词是动名词、不定词片语、名词子句等文法结构,那么动词通常要用单数,例如: + +Smoking is an awful habit. +(抽烟是个坏习惯。) + +To see her is to love her. +(看到她一定就会爱上她。) + +What I need is your word. +(我需要的是你的承诺。) \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/VerbTenses.md b/corejava第9版/EnglishGrammarBook-master/docs/VerbTenses.md new file mode 100644 index 0000000..291d264 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/VerbTenses.md @@ -0,0 +1,512 @@ +# 第九章 动词时态 + +英文动词的时态,可以分成现在、过去、未来等三种**时间(times)**,简单式、完成式、进行式、完成进行式等四种**状态(aspects)**。如果再加上主动、被动两种**语态(voices)**,那么动词时态变化多达24种。扣掉一、两种很少使用的,实际上经常用到的时态也有22至23种之多。 + +时态的变化很多、很复杂。但是每一个英文句子都有动词、都会牵涉到时态的判断。如果时态的观念不清楚,英文写作一定会碰到层出不穷的问题。要想驾简驭繁、轻松建立起时态的观念、打好英文写作的基础,有一个变通的办法可以让时态问题变得很简单。做法是在句型诠释上转变一下:视 be 为动词、后面的分​​词片语视为形容词补语。从这个角度来看句型,时态问题就很简单了,只剩下「简单式」与「完成式」两种变化。能够区分简单式与完成式,就能够轻松掌握动词时态。 + +英文动词的时态,如果认定 be 为动词,那么就只剩下**简单式(simple aspect)**与**完成式(perfect aspect)**这两种状态。只要能够区分清楚这两种状态,英文动词时态就没问题了。 + +## 静态动词 + +要想把传统文法中列出的 24 种时态简约到只需要了解「简单式」与「完成式」这两种变化,那么除了上述「视 be 为动词、视其后的分词为形容词补语」这种变通的诠释方法之外,还需要了解静态动词(static verbs)这个观念。 + +英文动词当中有一批相当「名不符实」,虽然叫做动词却并没有「动作」在里头。真正名符其实的动词如 hit, kill, eat, run, talk, jump, swim 等等,代表的都是某种「动作」。以传统文法的分类来说,这种「动态」的动词才能够有所谓的「进行式」,也就是说只有动态动词才适合加上 -ing 字尾变成现在分词、用来表示「正在做」或「一直在做」某个动作。例如: + +He is eating breakfast now. +(他现在正在吃早餐。) + +The dog was swimming toward the shore then. +(狗当时正在朝岸边游。) + +如果依照传统文法的诠释,第 1 句的动词是 is eating、「现在进行式」;第2句的动词是 was swimming、「过去进行式」。关键在于 eat 和 swim 都是属于「动态动词」、代表的是「动作」,所以才可以有进行式,表示「正在做」或「一直做」这个动作。 + +简单化的看法是:第 1 句的动词是 is、现在简单式,后面的 eating breakfast 是现在分词片语,当形容词补语使用,表达出进行状态、解释为「正在吃早饭」,修饰主词 he。第 2 句的动词是 was、过去简单式,它后面 swimming toward the shore 这个现在分词片语当形容词补语看待,表达出进行状态,意思是「正在朝岸边游」,修饰主词 the dog。关鉴在于:表示「动作」的动态动词如 eat 与 swim 等等才可以有现在分词的形容词 eating 与 swimming、表示这个动作「正在进行中」。 + +反之,如果动词是「静态动词」、并不代表「动作」,自然也就没有所谓的「正在做」或「一直做」的进行状态可言。因此,以传统文法的角度来说:静态动词不能用于进行式。换言之,静态动词不适合加上-ing字尾成为现在分词的形容词。 + +## 几个常见的静态动词 + +以下举一些常见的静态动词为例,请读者一句句思考一下:句中画底线的部分都是动词,但没有一个真正代表「动作」(像 kill, eat 那种动作),所以都不能采用表示「正在做、一直做」的 -ing 字尾(也就是不能采用进行式)。 + +I am busy; I have a lot of work to do. +(我很忙;我有一堆工作要做。) + +This camera belongs to me. +(这架相机属于我。) + +George resembles his father a lot. +(乔治很像他爸爸。) + +I believe his story. +(我相信他的故事。) + +I like milkshakes. +(我喜欢奶昔。) + +I consider him a true friend. +(我认为他是真正的朋友。) + +以上这些句子中的动词如 have, belong, resemble, believe, like, consider,思考一下就会发现都不是真正的「动作」,所以都不适合说「正在做」或「一直做」,因此也都不适合采用现在分词的进行状态。不过,同样的静态动词如果改变用法、拿来表示「动作」时,就可以加 -ing 字尾、可以有所谓的进行式了。例如,「是」(be)、「有」(have)和「认为」(consider)都不是真正的动作、属于静态动词。但是,如果 be 解释为「表现」、have 解释为「吃」、consider 解释为「研究」,那就变成了动作,可以用 -ing 来表示「正在表现」、「正在吃」或「正在研究」 : + +When I said she looked 25, I was being nice. +(我说她看起来像25岁,那是在表现礼貌。) + +He was having lunch when I called. +(我打电话去的时候他正在吃午餐。) + +The committee is considering your proposal. +(委员会正在研究你的提案。) + +## 简单式 + +简单式状态,主要用于交代动作发生在什么时间内。所以,除非上下文已经有暗示、对方已经知道是什么时间,否则必须要明确说出动作发生的时间。举一个例子: + +I saw the movie last week. +(那部电影我是上礼拜看的。) + +当然,所谓 last week 严格讲起来有七天之久,而「看电影」的动作可能花不到两个小时。不过,简单式的情况通常就是这样:说出一段时间(如 last week),动作只要落在这段时间之内就行。 + +### 一.过去时间 + +简单式状态可以用图像的方式来理解:它标示出来的时间呈括弧形状,动作就落在括弧里面。如果这个括弧是在过去,就应采用过去简单式。例如: + +The U.S. declared independence in 1776. +(美国在1776年宣告独立。) + +图示: + +![images chapter_9 2_1](../images/chapter_9/2_1.jpg) + +这个句子的时间副词是 in 1776 这个介系词片语,标示出一个过去时间的括弧,动作落在这个括弧内,所以动词应采过去简单式 declared。 + +The dynamite was invented by the Chinese. +(火药是中国人发明的。) + +图示: + +![images chapter_9 2_2](../images/chapter_9/2_2.jpg) + +这个句子里面找不到时间副词,但是从句意来看,它描述的事情发生在久远以前,所以它的时间是个过去的括弧,动词应该是过去简单式。复杂的动词时态一定会有 be 动词在内。认定 be 为动词,它的过去简单式就是 was。后面的过去分词 invented 视为形容词,表达出「被动」语态,解释为「被发明」,作主词补语使用、修饰主词 dynamite。这就是一般文法书所谓的过去简单被动态。 + +I was playing a video game when the power suddenly went out. +(我正在打电动,忽然停电了。) + +图示: + +![images chapter_9 2_3](../images/chapter_9/2_3.jpg) + +这个句子的时间副词是 when 引导的那个副词子句。从副词子句里面的过去简单式动词 went out 来看,它的时间是一个过去的括弧——而且是个极小的括弧:从「有电」变成「没电」的那一刹那。以这个时间副词子句修饰主要子句的动词(我们一律认定 be 为动词),那么主要子句也应该是过去简单式,所以动词是 was。后面的现在分词片语 playing a video game 是动词play加受词 a video game 的构造,加上 -ing 字尾变成现在分词片语之后就是一个形容词片语,当作主词补语使用、修饰主词 I 。现在分词的 -ing 字尾表达进行状态,相当于中文的「正在」(短时间)或「一直」(长时间)。就上面这个例子而言,playing a video game 应解释为「正在打电动」。这就是一般文法书所谓的过去进行式。 + +I was working on my paper throughout last week +. (上周一整个礼拜我都在写论文。) + +图示: + +![images chapter_9 2_4](../images/chapter_9/2_4.jpg) + +这个句子的时间副词 throughout last week 是个介系词片语,表现出一个过去时间的括弧。动词因而要采过去简单式 was。后面的现在分词片语 working on my report 视为形容词片语,-ing 字尾表达进行状态,因为是长时间所以就解释为「一直」在写论文,当作主语补语使用、修饰主词 I。 + +The house was being renovated when it collapsed on the workers +. (这栋房子正在翻修,突然塌下来压到工人。) + +图示: + +![images chapter_9 2_5](../images/chapter_9/2_5.jpg) + +这个句子的时间副词是 when 引导的那个副词子句,子句中过去简单式的动词 collapsed 显示它的时间是个过去的括弧。所以,主要子句的动词也应该是过去简单式,因此就是was。后面的分词片语 being renovated 含有现在分词 being 与过去分词 renovated,整个分词片语当形容词补语使用、修饰主词the house。现在分词 being 里面的 be 无意义、不须解释,字尾的 -ing 表达进行状态,因为是短时间所以解释为「正在」。过去分词 renovated 表达被动语态、解释为「被翻修」。整个片语 being renovated 仍视为现在分词片语,意思是「正在被翻修」。这就是一般文法书所谓的过去进行被动态。 + +### 二.现在时间 + +现在简单式,它的时间就是以 now 为中心​​的一个括弧。所有的简单式都是括弧形状的时间,但是过去简单式的括弧在 now 之前、未来简单式的括弧在 now 之后,所以括弧的大小都受到限制。只有现在简单式的括弧是以 now 为中心​​,它的大小不受限制,可以大到无限大、包含过去未来的一切时间。传统文法列出规则说「真理、事实等要用现在简单式」,原因就在此。看看几个例子: + +I have a headache. +(我头痛。) + +图示: + +![images chapter_9 2_6](../images/chapter_9/2_6.jpg) + +这个句子虽然没有时间副词,但是现在简单式的动词 have 清楚表示时间就是 now。 + +Wang Chien-Ming pitches for the Yankees. +(王建民为洋基队投球。) + +图示: + +![images chapter_9 2_7](../images/chapter_9/2_7.jpg) + +这一句并没有时间副词,不过暗示是「现在」。王建民几年前不是洋基队的投手、几年后他也可能不再是。这个句子的时间是一个以 now 为中心​​的比较大的括弧,仍然该用现在简单式。 + +Our summer house is located on the lake. +(我们的避暑别墅座落在湖边。) + +图示: + +![images chapter_9 2_8](../images/chapter_9/2_8.jpg) + +这个句子同样也没有时间副词,但是现在简单式的动词 is 表示它的时间是一个以 now 为核心的括弧。后面的过去分词片语 located on the lake 是形容词补语,表达出被动语态:字面上是「被摆在湖边」,也就是「座落在湖边」。这就是一般文法书所谓的现在简单被动态。 + +Please be quiet, because everybody is sleeping now. +(请安静,因为大家都在睡觉。) + +图示: + +![images chapter_9 2_9](../images/chapter_9/2_9.jpg) + +Because 引导的这个表示原因的副词子句,时间是 now,动词用的是现在简单式 is。后面的现在分词 sleeping 视为形容词补语,表达出「进行」状态,解释为「正在」睡觉。这就是一般文法书所谓的现在进行式。 + +This store is selling everything at a 30% discount this week, to celebrate its 20th anniversary. +(这家店本周全面打七折、庆祝20周年。) + +图示: + +![images chapter_9 2_10](../images/chapter_9/2_10.jpg) + +这个句子的时间副词是 this week,这是一个包含 now 在内的括弧,所以动词用的是现在简单式的 is。后面的 selling everything at a 30% discount 这个现在分词片语视为形容词补语,现在分词 selling 表现出进行状态。因为时间长(有一周),所以 selling 应解释为「一直卖」。这就是一般文法书所谓的现在进行式。 + +This road is closed to traffic now because it is being widened. +(这条路目前封闭,因为正在拓宽。) + +图示: + +![images chapter_9 2_11](../images/chapter_9/2_11.jpg) + +主要子句的时间副词 now 是标准的现在时间括弧,所以动词用的是现在简单式 is。后面的过去分词片语 closed to traffic 当形容词补语看待,过去分词 closed 表达出被动语态,解释为「被封闭」。另外在 because 引导的副词子句中,因为是同样的时间,所以动词也同样采取现在简单式 is。后面的 being widened 这个现在分词片语视为形容词补语。其中的现在分词 being 表达出进行状态、解释为「正在」(be 动词无意义、不须解释),过去分词 widened 表达出被动语态、解释为「被拓宽」。这就是一般文法书所谓的现在进行被动态。 + +### 三.未来时间 + +简单式的时间都是括弧形状。如果括弧在未来,就应该采取未来简单式。未来的事情由于尚未发生,牵涉到比较多的不确定因素,所以它的表达方式也比较多样。未来时间的简单式动词,整理一下有6种方式可以表达: + +John will leave tomorrow. +John is going to leave tomorrow. +John is to leave tomorrow. +John is leaving tomorrow. +John will be leaving tomorrow. +John leaves tomorrow. + +时间副词 tomorrow 是一个放在未来的括弧,应采未来简单式。一般文法书所谓的未来简单式是指上述的第 1 种:will leave。这种使用到助动词 will 的讲法,具有最浓厚的「不确定」语气,表示「到时候将会、可能会」,语气的重点放在未来。 + +第 2 种讲法 is going to leave 和第 1 种 will leave 相当接近,不过它比较口语化、比较不正式。而且 is going to leave 这种说法的语气比较偏重在「现在」的意图、打算、征兆等等。例如: + +Because the weatherman says it will rain this afternoon, I’m going to bring an umbrella. +(因为气象报告说下午会下雨,我打算带把雨伞出门。) + +句中的 it will rain this afternoon 讲的是「未来时间将会如何」,采用第 1 种讲法 will rain 来表示;至于 I'm going to bring an umbrella 讲的则是「现在打算到时候将如何」 ,采用第 2 种讲法 am going to bring 来表示。 + +第 3 种讲法 is to leave 和第 4 种讲法 is leaving 都可以视为第 2 种 is going to leave 的变化。 + +如果把动词改一下,从 leave 换成 go,可以看得更清楚: + +John is going to go tomorrow.(第2种) + +像 is going to go 这种讲法,里面的 going 和 to go 产生重复,是比较拙劣的说法。为了避免重复,可以省掉 going 只留下 to go,就会成为: + +John is to go tomorrow.(第3种) + +反之,如果省掉的是 to go、只留下 going,就会成为: + +John is going tomorrow.(第4种) + +这两种省略的说法分别相当于前述 6 种说法中的第 3 种和第 4 种。所以:第 3 种未来式 John is to leave tomorrow 和第 4 种未来式 John is leaving tomorrow 都可以视为第 2 种未来式 John is going to leave tomorrow 的省略。第 5 种变化则是在第 4 种前面再加一个 will,成为 John will be leaving tomorrow,意思还是差不多。 + +而且,最适合采用第 3、第 4、第 5 种讲法来表达的未来式动词,大都是一些和 go 有点关连的字,像是 go, come, leave, arrive, begin, end 等等。这些表示「来、去、离开、到达、开始、结束」的字眼,往往代表一种「目前的规画或打算」,这和第 2 种 be going to V 代表「目前的规画或打算」的讲法是同样的性质。为了避免重复,所以经常省略成为 be to V(第3种)、be Ving(第4种),或 will be Ving(第5种)。例如: + +The weatherman says a Typhoon is coming this way. +(气象报造说台风要来了。) + +The train is leaving in 10 minutes. +(火车再过十分钟要开。) + +We will be arriving in Shanghai soon. +(我们快要抵达上海了。) + +The final game is to start in five minutes. +(决赛再过五分钟即将开始。) + +至于第 6 种讲法 John leaves tomorrow,完全是把未来才要发生的事情当做「事实」、采用现在简单式来叙述。这是语气最肯定的一种讲法。例如: + +The train leaves at 2:30. +(火车两点半开。) + +World Cup finals begin tomorrow night. +(世界杯决赛明晚开打。) + +这些句子讲的都是「早已排定」的事情。虽然尚未发生,但是已经非常确定,可以排除掉带有不确定意味的助动词will、直接用现在简单式把它当做事实来叙述。 + +再看一个未来式的例子: + +I will discuss the plan with my boss next week. +(下星期我会和老板谈一下这个计画。) + +图示: + +![images chapter_9 2_12](../images/chapter_9/2_12.jpg) + +时间副词 next week 是一个未来时间的括弧。只要可以括出时间来就是简单式。未来的事情还没发生、尚未确定,所以要加一个助动词 will 在前面,意思是「到时候会」。 + +##### 过去时间的未来 + +如果以某个过去时间为出发点,它的未来式通常要用到过去拼法的 would。例如: + +It was mid-1945; Japan would soon raid Pearl Harbor. +(时间是1945年中;日本即将偷袭珍珠港。) + +图示: + +![images chapter_9 2_13](../images/chapter_9/2_13.jpg) + +日本偷袭珍珠港,这件事情发生在 1945 年底。相对于1945年中,偷袭珍珠港事件还在不久后的未来。但是这整个都是过去的事件,所以应该用过去拼法的 would soon raid 来表示未来式。 + +The weatherman said it would rain, but it didn’t. +(气象报告说会下雨,结果没下。) + +图示: + +![images chapter_9 2_14](../images/chapter_9/2_14.jpg) + +气象报告员在「说」的时候,「会下雨」还在未来。但是从过去式的 said 来看,这整件事情也是发生在过去,所以要采过去拼法的 would rain 来表现未来式。 + +#### 一条文法规则 + +传统文法中列出一条规则:「表示时间或条件的副词子句,用现在式代替未来式」。这个变化在英文写作时确实要能够掌握,否则很容易出现错误。这个问题基本上属于语气(moods)的问题,本书在后面的章节会有更完整的处理,届时我们充分理解之后就不必理会这条规则了。目前我们先初步设法理解这条规则是什么意思。规则中说到「副词子句」,所以首先来看一下名词子句与副词子句的差别,以免套错了规则。 + +##### 副词子句与名词子句 + +规则中所谓「表示时间或条件的副词子句」,我们先把范围缩小到两个连接词:when和if。请比较下面这两句: + +I know when he left the room. +S V O(名词子句) +(我知道他何时离开房间的。) + +He forgot his briefcase when he left the room. +S V O (副词子句) +(当他离开房间的时候,他忘了公事包。) + +句 1 中的 when he left the room 是名词子句,当做动词 know 的受词。连接词 when 来自疑问词、解释为「何时」。原本是这么一个疑问句:When did he leave the room?,把问号拿掉、疑问词 when 转为连接词使用,就会变成 when he left the room 这个名词子句。句 2 中的 when he left the room 看起来完全一样,却是个副词子句,用来修饰动词 forgot 的时间,属于时间副词子句,when 是外加的从属连接词,解释为「当……时候」 。 + +在此作一个小归纳:若连接词 when 是外加的、解释为「当……时候」,它引导的子句就是时间副词子句。若连接词 when 来自疑问词、解释为「何时」,它引导的子句则是由疑问句转变过来的名词子句。 + +接着再比较下面这两句: + +I don't know if he will get the money. +S V O(名词子句) +(我不知道他是否会拿到钱。) + +If he gets the money, he can help us. +(副词子句) S V O +(如果他拿到钱,就能帮我们的忙。) + +句 1 中的 if he will get the money 是名词子句,当做动词 don’t know 的受词。连接词 if 相当于 whether、解释为「是否」。原本是 Will he get the money? 这个疑问句,拿掉问号之后改为 whether/if he will get the money 这个名词子句。句 2 中的 if he gets the moeny 则是副词子句,用来修饰动词 can help 的条件,属于条件副词子句,连接词 if 是外加的、解释为「如果」。 + +作一个小归纳:若连接词 if 是外加的、解释为「如果」,它引导的子句就是条件副词子句。若连接词 if 相当于 whether、解释为「是否」,它引导的子句就是由疑问句转变过来的名词子句。 + +##### 了解文法规则 + +有了上面那两项归纳,我们就可以把前面那条文法规则范围缩小、改写如下:「When 解释为『当……时候』、if 解释为『如果』,这两种连接词引导的副词子句要用现在式代替未来式」。接下来我们要问:为什么? + +When he gets here, the police will be waiting. +(当他来到这里时,警察将在等候。) + +图示: + +![images chapter_9 2_15](../images/chapter_9/2_15.jpg) + +主要子句 the police will be waiting 中的动词 will be 采用的是未来式,表示这是将来的事情。至于 when he gets here 这个子句,外加的连接词 when 解释为「当……时候」,所以它引导的是个时间副词子句。为什么这种子句要用现在式动词gets代替未来式 will get?这是因为:「当……时候」这种子句,语气就是「当做」已经到了「那个时候」。换句话说:这种子句里面要把未来「当做」已经到了、就是「现在」,所以动词要采用现在式。 + +接下来再看看if这个连接词: + +If he gets to the hospital in time, he’ll be able to see his father for the last time. +(如果他及时赶到医院,就能见到他父亲最后一面。) + +图示: + +![images chapter_9 2_16](../images/chapter_9/2_16.jpg) + +主要子句的动词 will be able to see 可以看出来是未来式,表示是未来时间。从属子句 if he gets to the hospital in time,它外加的连接词if解释为「如果」,所以这是一个条件副词子句,里面的动词要用现在式 gets 而不用未来式 will get。为什么? + +因为,所谓的「如果」,语气是把原本还不确定的假设情况当做是事实来叙述,也就是「假如果真」,所以应该采用表达「事实」的现在简单式。我们不知道例句中的「他」到时候能不能够赶得及。但是,所谓「『如果』赶到」,意思就是「当做是『真的』赶到」,里面就该采用事实语气来叙述,把这件事情当做是真的,所以要用现在式而不是未来式。 + +## 完成式 + +简单式的时间是个「括弧」形状,动作落在这个括弧里面。完成式的时间则是个「箭头」形状,指出「截止时间」,动作在这个截止时间之前就已经完成。因此,简单式是比较明确地说明动作发生在什么时间,完成式则没有说得那么清楚,只交代动作在什么时间之前「已经完成」、并没有详细说明到底是在什么时候发生。以下同样分成现在、过去、未来这三种时间来说明完成式。 + +### 一.过去时间 + +完成式的时间是个指出截止时间的箭头,如果指出来的截止时间在过去,就该采用过去完成式,例如: + +Everybody had left before she got to the station. +(在她赶到车站之前,大家都已经先走了。) + +图示: + +![images chapter_9 2_17](../images/chapter_9/2_17.jpg) + +这个句子的时间由 before 引导的时间副词子句来表示。从副词子句的过去式动词 got to 可以看出时间是在过去,再从连接词 before 可以看出,这个时间副词子句表达的时间可以画成一个以过去动作 got to 为截止点的箭头。换句话说,这个时间副词子句并没有清楚交代 leave 这个动作发生在什么时候(没有一个明确的括弧如last week之类来表示),只知道这个动作在 got to 这个过去动作之前已经完成。因此主要子句的动词应该采用过去完成式 had left。再看一个例子: + +More than 60,000 soldiers had been killed when the President finally decided to pull out of the war. +(当总统终于决定撤出战争时,已经有六万多名士兵阵亡。) + +图示: + +![images chapter_9 2_18](../images/chapter_9/2_18.jpg) + +When 引导的时间副词子句中,过去式动词 decided 表示时间是在过去。从句意来揣摩,这六万多名士兵阵亡的时间应该不是「在总统下决定的那一瞬间」、而是在那之前「已经」阵亡。所以这个时间副词子句表达的时间仍然是个箭头形状、指向的截止时间是过去,所以该采用过去完成式 had been。视 had been 为动词,后面的过去分词 illed 视为形容词补语、带有被动语态,用来形容主词 more than 60,000 soldiers「被杀死」。这就是一般文法书所谓的过去完成被动态。 + +所有复杂的动词时态,一定牵涉到 be 动词。如果采用本书的方式,认定 be 就是动词,那么复杂的动词时态就只剩下两种:简单式(be)与完成式(have been)。再看一个例子: + +The students had been preparing for the college entrance exam for three years when the Education Ministry suddenly announced a change of regulations. +(学生一直在准备大学入学考试已经准备了三年,教育部才突然宣布改变规定。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_19.jpg) + +这个句子的时间副词有 for three years 这个介系词片语和 when 引导的时间副词子句。从 when 子句的过去式动词 announced 来看,时间是在过去。再从介系词片语 for three years 来看,它的时间应该是个截止箭头,表示「算到 decided 为止已经有三年」,所以动词应采过去完成式 had been。后面的现在分词 preparing 视为形容词补语,具有「进行」状态,表示这三年的时间学生「一直」都在准备。这就是一般文法书所谓的过去完成进行式。 + +像 for three years 或 since three years ago 之类的介系词片语,分别表示「为期有多久了」或「自从多久之前算起」,代表相同的意义:同样都用来表示「已经」有多久时间,所以通常都要采用完成式的动词。 + +### 二.现在时间 + +如果上下文都没有交代或暗示截止时间为何、只说「已经完成」,那么通常都要采用现在完成式来表示。例如你告诉朋友说「那部电影我已经看过了」,话中虽然没有说明「在什么时候之前」已经看过,但是言下之意自然就是「现在以前」,所以该采用现在完成式,如下: + +I have seen that movie. + +换句话说:除非上下文有明言或者暗示其他的截止时间,否则完成式都应该采用现在完成式。请看几个例子: + +You can’t enter now because the concert has already begun. +(你现在不能进场,因为音乐会已经开始了。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_20.jpg) + +这个句子并没有明确交代音乐会是什么时候开始的,只说「已经」开始。再从主要子句的时间副词 now 来看,截止时间就是现在。换句话说,音乐会是在「现在」之前已经开始,所以该采用现在完成式。再看一个例子: + +Everything that can be done has been done; now we can only wait and see. +(可以做的一切都已经做了,现在我们只能等着瞧。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_21.jpg) + +主要子句的动词采用的是be动词的现在完成式 has been,表示「到现在为止已经」(be 动词本身无意义、不须翻译),后面的过去分词 done 当形容词补语看待、表示「被做完」,形容主词 everything。这就是一般文法书所谓的现在完成被动态。 + +Those marathon runners have been running for two whole hours without stop now. +(那些马拉松选手目前为止已经整整跑了两个小时没有休息。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_22.jpg) + +这个句子的时间副词有 now 以及介系词片语 for two whole hours,意思是「算到现在为止整整有两个小时」,很明显是一个以 now 为截止时间的箭头、应该采用现在完成式,所以动词是 have been。后面的现在分词 running 当形容词补语看待,形容主词 runners。字尾的 -ing 表示进行状态,所以 running 要解释为「一直在跑」。这就是一般文法书所谓的现在完成进行式。 + +完成式动词后面有没有现在分词的补语,有时候并无差别、有时候则会造成不一样的意思。请比较一下这两个句子: + +I have lived here for 20 years. +I have been living here for 20 years. +(我在这(一直)住了20年了。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_23.jpg) + +这两种讲法的意思差不多:后者用现在分词 living 当主词补语、强调「一直住」,前者没有强调,但基本上意思相同。再请比较一下这两个句子: + +I have read your book. +(您的大作我拜读过了。) + +I have been reading your book. +(您的大作我最近一直在看。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_24.jpg) + +前者表示「已经看完了」,后者则强烈暗示「还在看、尚未看完」。这两种讲法就有很大的差别了。 + +### 三.未来时间 + +未来完成式的时间也是一个箭头形状,唯一的差别在于它的截止时间在未来。例如: + +By August I will have worked at the company for 30 years. +By August I will have been working at the company for 30 years. +(到八月为止我将在这家公司(一直)工作满30年。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_25.jpg) + +上面这两个句子相同,时间副词都是介系词片语 by August 与 for 30 years。表达的时间是「到八月为止有30年」,显然是个箭头形状、截止时间在八月(未来时间),所以该采用未来完成式。动词 will have worked 表示「将已经做满」30年。如果动词改为 will have been,意思是「将已经」有30年,后面的现在分词 working 视为形容词、当主词补语使用。字尾的 -ing 表达出进行状态、表示这30年来「一直」在此工作。后者这种说法就是一般文法书所谓的未来完成进行式。 + +Experts estimate that the last of our oil reserves will have been depleted by the middle of this century. +(专家估计,我们最后的石油蕴藏在本世纪中叶之前就会被用光。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_26.jpg) + +这个句子的时间副词是介系词片语 by the middle of this century。介系词 by 表示的是一个截止时间,而这个截止时间在未来,所以动词该采用未来完成式 will have been。后面的过去分词 depleted 当形容词补语看待,形容主词 the last of our oil reserves。过去分词字尾 -ed 表达出被动语态,所以 depleted 应解释为「被用完」。这就是一般文法书所谓的未来完成被动态。 + +In two more minutes, she will have been talking on the phone for three hours! +(再过两分钟,她讲电话就会一直讲了3小时之久。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_27.jpg) + +句中的介系词片语 in two more minutes「再过两分钟」指向未来时间,另一个介系词片语 for three hours「算算已经有3小时」表示一个截止的箭头,所以动词该采用未来完成式 will have been。后面的现在分词 talking 视为形容词、当主词补语来形容主词 she,字尾 -ing 表达出进行状态,意思是「一直」讲话。这就是一般文法书所谓的未来完成进行式。 + +Leave the test papers at the front desk when you have finished the test. +(考完式请把测验卷放在最前面的桌上。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_28.jpg) + +这个句子的主要子句是命令句语气,所以动词 leave 采用原形动词。 When you have finished the test 是个时间副词子句,连接词 when 是外加的从属连接词、解释为「当……时候」。所以,虽然说这句话时考试尚未考完,但是这个时间副词子句中必须「当做已经到了考完的时候」,也就是必须把截止点当做就是现在,因此动词要采用现在完成式 have finished 。一般文法书那条规则「表示时间或条件的副词子句,用现在式代替未来式」就是这个情况。上例是表示时间的副词子句,再举一个表示条件的副词子句为例: + +You can leave early if you have finished the test before the bell rings. +(如果在铃响之前已经写完了测验,就可以先离开。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/2_29.jpg) + +句中的 before the bell rings 是个时间副词子句,以一个截止箭头的形状修饰动词 have finished 的时间,before 是外加的连接词。说这句话时虽然铃尚未响,但是在时间副词子句中必须当做时间已经到了,所以动词要采用现在式的 rings。另外,if you have finished the test 是个表示条件的副词子句,if 是外加的从属连接词、表示「如果」。在这种副词子句中必须把假设的情况当做是真的,所以要用现在完成式 have finished 而不用未来完成式 will have finished。 + +## 时态一致性 + +一个句子当中如果有两个以上的限定子句,就会有两个以上的动词。这些动词在时态方面必须符合一致性:并不表示这些动词的时态必须相同,而是这些动词之间必须符合逻辑关系、并且表达出清楚的意思。例如下面这个句子就有问题: + +Some buildings that were destroyed in the 921 earthquake were poorly constructed. (不佳) + +这个句子可以分成主要子句 some buildings were poorly constructed 与关系子句 that were destroyed in the 921 earthquake。时间副词是 in the 921 earthquake 这个介系词片语,它括出一个过去时间的括弧,所以它修饰的关系子句的动词应采用过去简单式 were。但是,主要子句的时间应该不一样:建筑物被毁的时间是在 921 地震中、是过去时间,但是建筑物建造的时间不可能是在 921地震中、应该是在之前才对。因此,主要子句的动词应该采用过去完成式而非过去简单式,如下: + +Some buildings that were destroyed in the 921 earthquake had been poorly constructed. +(921大地震中被毁的房屋,其中有一些当初建造不良。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/3_1.jpg) + +建筑物被毁的时间是 in the 921 earthquake 这个过去时间的括弧内,因此关系子句的动词应采过去简单式 were,后面用过去分词 destroyed 当形容词补语,表达被动语态、表示「被毁」 。主要子句的动词则应采用过去完成式 had been,表示这些建筑物的建造时间是在 in the 921 earthquake 这个截止时间之前。后面用过去分词 constructed 当形容词补语,同样表达被动语态、表示「被建造」。 + +请观察下面这些例子当中的时态一致性: + +Never before had rescue workers in Taiwan handled so many victims as they did in the aftermath of 921. +(台湾的救难人员从来没有像921过后那样处理过那么多的受害者。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/3_2.jpg) + +这是一个比较级的句子。从属连接词 as 引导的副词子句 as they did in the aftermath of 921,里面的时间副词是 in the aftermath of 921 这个介系词片语,它括出一个过去时间的括弧,所以动词 did(代表handled )采用的是过去简单式。但是主要子句的时间副词 never before 则是画出一个箭头形状、截止时间是过去时间的 in the aftermath of 921,因此它的动词应该采用过去完成式 had handled。 + +Under a provision of the law that has never been applied, the President is required to seek the approval of Congress before leading the country into war. +(依照该法律一项条文的规定(这项条文迄今从未被引用过),总统必须先取得国会的同意才能带领国家参战。) + +图示: + +![images chapter_9 2_19](../images/chapter_9/3_3.jpg) + +关系子句 that has never been applied 中,频率副词 never 画出了一个以 now 为截止时间的箭头,所以动词应采用现在完成式 has been,后面的过去分词 applied 表达被动语态、当形容词补语看待,解释为「被引用」。主要子句叙述的则是法律条文的规定,属于「事实」的性质,动词应采现在简单式,所以用的是 is,后面用过去分词 required 来表达被动语态,意思是「被要求」,当形容词补语使用。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/Voice.md b/corejava第9版/EnglishGrammarBook-master/docs/Voice.md new file mode 100644 index 0000000..0cab49c --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/Voice.md @@ -0,0 +1,171 @@ +# 第十章 语态 + +英文的**语态(voice)**,可以分为**主动(active)**与**被动(passive)**两种。被动语态需要用到**过去分词(Ven)**来表示,这个过去分词经常是跟在 be 动词后面。但是我们在前面探讨过,不一定要「be + Ven」才是被动态;反之,「be + Ven」也不一定就是被动态。所以不如分开来理解:过去分词本身可以表达被动语态、但也可以表达完成状态。 + +## 基本句型的被动态 + +所谓被动态的句子,可以这样来理解:把句中的受词拿出来当主词,句子就要改写为被动态。而在五种基本句型中,有以下三种使用及物动词的句型包含受词在内: + +S + V + O +S + V + O1 + O2 +S + V + O + C + +这三种句型当中有四个受词的位置,分别都可以拿出来当主词、改写被动态的句子。 + +### 1\. S + V + O + +例: + +The US invaded Iraq twice. +S V O +(美国两度入侵伊拉克。) + +句中的受词Iraq可以拿出来当主词、改写成被动态的句子如下: + +Iraq was invaded twice (by the US). +S V C + +传统文法是把 be + Ven(如was invaded)当成被动态的动词片语看待,不过比较简单的看法是直接认定be为动词、后面的 Ven 为表达被动语态的形容词补语。原来的主词(如 the US)如果需要交代,可以放在介系词 by 后面当受词、构成一个介系词片语的修饰语(by the US)。这种可有可无的修饰语也可以省略。 + +### 2\. S + V + O1 + O2 + +例: + +Congress gave Bush permission to launch war. +S V O1 O2 +(国会给布​​希许可,可以发动战争。) + +这个句子有两个受词,可以分别拿出来当主词、改成被动态的句子,如下: + +(A) Bush was given permission to launch war (by Congress). +S V C + +这是把第一个受词 Bush 拿出来当主词。动词变成被动态的 was given,第二个受词 permission 与其余的部分(不定词片语 to launch war 当形容词使用、修饰 permission)照抄过来、原来的主词放在介系词 by 后面当受词,就变成被动态的句子。在诠释句型时,仍然认定 be 动词为动词,后面的 given permission 为过去分词片语、当形容词补语使用。 + +如果拿第二个受词 permission 出来当主词,采同样的改写方法,会得到如下的结果: + +(B) Permission was given Bush to launch war (by Congress). +S V C + +不过,如果在 given 后面加个介系词 to,这个句子也是正确的: + +(C) Permission was given to Bush to launch war (by Congress). + +这也是个被动态的句子,由下面这句改写而来: + +(D) Congress gave permission to Bush to lauch war. +S V O + +如果是 S + V + O1 + O2 的句型,那么 O1 的位置必须是给予的对象(如 Bush)、O2 的位置则是给他的东西(如 permission)。假如 O1 的位置从缺,这个句子就会变成只有一个受词的句型:Congress(S) gave(V) permission(O)。另一个受词 Bush 这时候必须以介系词片语 to Bush 的方式来处理,结果就是前面的例句(D)。而如果拿例句(D)来改写被动态,把唯一的受词 permission 拿出来当主词、动词变成被动态的 was given,剩下的部分 to Bush to launch war 照抄,就会变成前面例句(C)的结果。 + +### 3\. S + V + O + C + +例: + +The two invasions made the US an enemy to many Arabians. +S V O C +(两次侵略使得美国成为许多阿拉伯人眼中的敌人。) + +这个句子只有the US这一个受词,因此也只有一种改写被动态的方式,就是把the US拿出来当主词、动词made改写成被动态的was made,其余照抄,成为: + +The US was made an enemy to many Arabians by the two invasions. +S V C + +比较简单的看法仍然是把 was 当动词看,后面的 made an enemy 当过去分词片语看待、作为形容词补语。 + +## 完成式的被动态 + +No one has ever sat on that chair since he died. +S V +(他过世后,还没有人在那张椅子上坐过。) + +这个句子的动词是不及物动词 sit,后面没有受词,本来是不能改写被动态的。但是在介系词片语 on that chair 当中有个受词 that chair,可以拿出来当主词、改写被动态,如下: + +That chair has never been sat on since he died. +S V C + +这种处理方式,等于是把 sit on 视为一个片语形状的及物动词看待,后面的受词 that chair 就可以拿出来改写为被动态了。原句的动词 has sat 是现在完成式,改成被动态后动词仍然是现在完成式 has been,后面用过去分词 sat on 当补语,表示「被坐在上面」。 + +有许多及物的片语动词都可以采同样的方式改写为被动态,例如: + +He had turned off the light before the accident happened. +S V O (他先关掉了灯,然后才发生意外。) + +因为 turn off「关掉」构成一个意义单元,可视为一组片语动词看待,所以后面的 the light 就是及物动词 turn off 的受词,可以改写成被动态如下: + +The light had been turned off before he left. +S V C + +原句的动词 had turned off 是过去完成式,改写被动态时动词仍然采用过去完成式 had been,后面用过去分词 turned off 当补语、表示「被关掉」。 + +## 进行式的被动态 + +依照本书的处理方式,并没有所谓的进行式,而是认定be为动词,后面的现在分词为形容词补语、表示「进行」状态(也就是「正在」或「一直」)。例如: + +They are debating the case in court. +S V C +(他们正在法院辩论这个案子。) + +这个句子看起来没有受词,似乎不能改写为被动态。但是仔细观察可以发现:补语部分 debating the case 是由动词 debate 加受词 the case 构成的,可以把受词 the case 拿出来当主词、改写被动态如下: + +The case is being debated in court. +S V C + +依照本书的认定方式,原句的动词是现在简单式的 are,改写为被动态之后动词仍然是现在简单式(is)。后面的补语部分,原句是用现在分词 debating 表示「正在辩论」,改写之后要变成「正在被辩论」,所以要写成 being debated(以现在分词 being 表示「正在」、过去分词 debated 表示「被辩论」)。 + +## 被动态必须师出有名 + +上节所做的那些改写动作是个基本练习,目的在于熟悉被动态的句型变化。许多具有受词的句型都可以改写为被动态,但是这并不表示这些句子都应该改写为被动态。以英文的使用习惯而言,一般都是使用主动态。会动用到被动态,必须师出有名。亦即:如果采用被动态能够增加修辞效果,加强句子的连贯性、清楚性、或者简洁性,才应该采用被动,否则一律使用主动态。以下分别说明。 + +### 连贯性 + +The chairman should step down for now because the court is investigating him for a possible crime. (不佳) +(董事长应该暂时下台,因为法院正在调查他可能涉及犯罪。) + +这个句子,主要子句的主词是 the chairman,从属连接词 because 引导的副词子句主词却是 the court。当然,前后两个子句的主词并不是一定要相同。不过,副词子句中确实有代名词 him 代表 the chairman,表示前后两个子句中确实有重复的元素。如果能够改成两个子句的主词相同,那么这个句子的叙述就会感觉比较连贯、修辞效果会加强。做法就是把副词子句中的 him 拿出来改写成被动态,如下: + +The chairman should step down for now because he is being investigated for a possible crime. + +改成被动态之后,前后两个子句都以同一个人(the chairman)为主词,连贯性增强、叙事的效果也就变得更好了。因为师出有名,所以这个句子采用被动态是正确的选择。再看一个例子: + +The chairman is not available now because a meeting is being presided over by him. +(董事长现在没空,因为一场会议正在被他主持。) + +主要子句的主词 the chairman,在 because 引导的副词子句中也有出现。但是因为这个副词子句采用被动态,所以句中的主词变成了 a meeting,代表 the chairman 的 him 则变成了受词。这种情况,采用被动态反而造成主词不连贯,可谓自找麻烦,应该还原为主动态比较通顺: + +The chairman is not available now because he is presiding over a meeting. + +### 清楚性 + +They speak Portuguese in Brazil. +(在巴西说的是葡萄牙语。) + +这个句子采取主动态来叙述,因此必须用到一个含糊笼统的字如 they, people 之类当主词。这种字本身缺乏精确的内涵,在文章中应该尽量避免使用。如果改成被动态,如下: + +Portuguese is spoken in Brazil. + +就可以完全避开这种含糊不清的主词、增加句子的清楚性。再看一个例子: + +Someone stole my wallet. +(有人偷了我的皮夹。) + +同样的,这个句子采取主动态时,也必须用到像 someone, somebody 这些缺乏明确内容的字来当主词。如果改为被动态就可以避免这种问题,如下: + +My wallet was stolen. + +采用被动态能够增加用字的清楚性,就是师出有名。 + +### 简洁性 + +Because the nurse told him to wait outside, the man found a chair and sat down. (不佳) +(因为护士叫他在外面等,这名男子就找了张椅子坐下。) + +在 because 引导的副词子句中,him 是受词,但是在主要子句中 the man 却是主词。这两个子句中的主词不一致,造成叙事不连贯,可以采用被动态改写如下: + +Because he was told to wait outside, the man found a chair and sat down. + +两个子句改成主词相同之后,连贯性增强了,所以采用被动态是师出有名。不过,被动态的修辞效果还不止于此。一旦主词变成相同,副词子句就可以进成减化,如下: + +Told to wait outside, the man found a chair and sat down. + +这么一来,句子当中消除掉重复的元素,变得更为简洁、修辞效果就更好了。如果不先采用被动态造成两个子句主词相同的结果,就很难进行这样的减化。有关减化子句的做法,本书在后面相关的章节将会详述。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/guide.md b/corejava第9版/EnglishGrammarBook-master/docs/guide.md new file mode 100644 index 0000000..6d73a0f --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/guide.md @@ -0,0 +1,149 @@ +# 广读学英语 + +以台湾的环境而言,要想把英文学好,最好的办法莫过于广读。以现代知识份子的需求而言,最有效的英文学习方法仍然是广读。广读所需的工具,一是字源分析、一是句型分析。妥善运用这两项工具、持续进行大量的广读,可以突破英文学习的瓶颈,在听、说、读、写各方面都会有显著的进步。 + +先来看看英文教学法的历史沿革,以便了解广读在其中扮演的角色。 + +TESOL ( Teaching English to Speakers of Other Languages​​ )领域中正统的英文教学方法,主要有文法翻译法( Grammar Translation )、句型练习法( Pattern Practice )、沟通法( Communicative Approach )、阅读法( Reading Approach ) 、综合法( General Approach )等五种。以下分别说明。 + +## 文法翻译法 + +这是在英语教学史上沿用最久、影响最大的一种教学法。这种方法产生自十六世纪──自十六世纪起才有英文文法,在那之前只有拉丁文法。而一旦有了英文文法,就开始有人采用文法翻译法来进行英文教学。做法是教师在课堂上用母语教授一套完整的文法系统,讲解范文时则大量采用母语翻译。 + +文法翻译法对文字英文(读与写)有很大的帮助。不过,这种方法对口语英文(听与说)似乎帮助不大。以这种方法训练出来的学生,英文的读写能力通常不错,听讲能力却往往不足。 + +## 句型练习法 + +二次大战时,美军派驻世界各地,必须能够和当地人沟通。各国采用的英文教学法长期以来都是以文法翻译法为主,英语听讲能力普遍薄弱,结果军中翻译官人才严重不足。美国国防部于是委托美国语言学专家规划设计出一套针对听讲能力的速成训练课程,希望能够由美军带到世界各地去、在短期内训练出足够的当地人才充当军中翻译官。当时设计出来的那套产物就是句型练习法。 + +就美国国防部而言,句型练习法的好处在于可以操之在我:避开母语、完全采用英语教学。它每次的课程分成上、下两节课:上节进行代换练习( Substitution Drills ),下节进行实况会话。 + +句型练习法的教学完全舍弃文法翻译,而是把英文句子整理归纳成为有限的几种句型。学生在课堂上先采用代换练习的方式来熟悉某个句型。到了下半节课,教师就要动用教材教具、设计一些情境,让学生分组去进行实况会话的练习,借以活用刚才学会的句型。句型练习法的理论基础是「内化」( internalization ):学生经由句型练习与实况会话,将某个句型「内化」(也就是「习惯成自然」)。将来碰到相关的会话情境,只要将恰当的单字代入已经内化的句型中,就能够充份表达各式各样的意思。 + +句型练习法经过美军在世界各地的使用,成功训练出一批军中翻译官,这种教学法也因而风靡一时。一九七○年代我在师大英语系念书,我的班导师陈须姬教授教我们的就是这一套她从夏威夷大学取经回来的教学法。另外,像Intensive Course in English 以及English 900 等等一直使用至今的教材,也是这套教学法的产物。而且,各级学校纷纷兴建语音实验室( language labs ),这个风潮也是句型练习法造成的。因为句型练习法中的代换练习部分是「一个提示、一个反应」,师生之间的互动相当机械化,可以用机器取代人力,所以才要兴建语音实验室来取代教师。 + +不过,句型练习法虽然盛极一时,日久之后仍然曝​​露出一些弊病。首先,它的代换练习部分太过死板,很难引起学生的兴趣。另外更严重的是:新一批的学者经过实验,推翻了句型练习法的「内化」理论。换言之,句型练习法的基本理论有问题,应该不是一种有效的学习方法。可是,当初采用句型练习法确实获得了成功。学者观察这中间的矛盾,因而注意到句型练习法的「实况会话」部分,一种新的英语教学法也就应运而生。 + +## 沟通法 + +句型练习法的课程分成代换练习与实况会话两个部分。既然代换练习的部分,理论上有问题,那么句型练习法的成功是不是因为下半节课的实况会话造成的?学者于是仔细研究实况会话,因而研发出了沟通法。 + +所谓沟通法,强调语言以沟通为目的、语言的学习也在沟通中进行。它把语言的使用,区分为一些「功能」( functions )。学习者由最简单的功能开始,学习如何用英文进行沟通,逐步进展到越来越复杂的功能。教师在课前要准备大量的教材教具与设计活动,上课时教师则居于从旁辅导的角色,让学生积极参与活动而达到学习目标。例如,「如何在自助餐厅点菜」就是语言学习者必须学习的重要功能,因为他很可能每天都会用到。教师先教一些必要的单字与用语,然后让学生在模拟情境中真正用英文去点菜、结账。下课之后学生可能就得真正上阵、到自助餐厅去自行点菜。 + +沟通法是英国研发出来、在美国发扬光大的英语教学法。它和句型练习法一样,注重的是口语英文(听与说)。不同点在于:句型练习法是针对EFL环境设计出来的教学法,沟通法则是针对ESL环境设计的方法。 + +ESL ,代表English as a Second Language 「英语作为第二语」。例如一个刚从台湾搬到美国的新移民,英语对他来说已经不再是外语,但也不是他的母语,而是「第二语」。他可以选择参加美国政府为新移民办的Adult English Program 「成人英语课程」,在课堂上接触到的很可能就是沟通法这种针对ESL环境设计的方法。重点在于:学生在课堂上学会了譬如「自助餐厅点菜」这种功能之后,下了课真正得进入一家自助餐厅去用英文点菜。课堂所学可以提供一些基本用语,但是不足以应付所有的可能状况──这位新移民最爱吃的一道菜可能就不知道英文该怎么说。但是,他在课堂所学至少让他不致于饿肚子。而且,每天要进自助餐厅点菜,迟早他会知道那道菜的英文是怎么说的。 + +在台湾的情况就不同了。虽然政府朝向双语国家在努力、想要制订英文为第二语,但是事实上英文在台湾还是外国语,台湾的英文学习环境仍然是EFL ( English as a Foreign Language )「英语作为外语」的环境。我们的教育部虽然大力在台湾各级学校推行沟通法,但是这种作法忽略了一件事实:沟通法是英美国家的ESL教学法,并不适用于台湾EFL的学习环境。换句话说:在台湾的学校采用沟通法、教学生「自助餐厅点菜」这种语言功能, + +下课后学生却找不到可以用英文点菜的地方。他在课堂上所学都变成无用武之地,不仅无法在反覆使用中去拓展学习,反而是现学现忘。上课时师生打成一片、玩得很开心,一下课就全忘光了,下回来上课又是一片空白。在台湾,真正采用沟通法上课的教室,不论是学校还是补习班,大部分面临的就是这种恶性循环。在台湾这种EFL的学习环境中硬要套用英美的ESL学习方法,若无配套措施,往往是徒劳无功。 + +## 阅读法 + +要弥补EFL环境的不足,必要的配套措施就是阅读法。学生在外头的环境找不到练习听讲的机会,但可以很容易进入文字英文的世界。这个世界比口语英文的世界更广大、更丰富。而且,因为英文是拼音文字,所以文字英文的世界可以涵盖口语英文的世界。只要方法正确,阅读法可以一举解决英文听、说、读、写的问题。 + +阅读法的作法,是将英文阅读分成四个步骤:精读( Intensive Reading )、广读( Extensive Reading )、略读( Skimming )、扫描( Scanning )。第一步是精读:借助文法翻译和句型分析,把一篇文章从单字到句型、甚至是文章的组织结构与时代文化背景,各方面全部要弄清楚。 + +精读是很重要的基础,但并不代表阅读的全部。大部分人阅读英文一直都停留在精读的阶段,所以阅读速度缓慢,阅读的份量因而也相当有限。结果就是一直有个无法突破的瓶颈,听、说、读、写各方面一直无法达到真正「流利」的程度。 + +要突破这个瓶颈,以台湾的环境与现代知识份子的需求而言,最有效的办法就是进入阅读法的第二阶段:广读。所谓广读,简单讲就是跟随个人兴趣,持续进行大量、快速、不求甚解的阅读。作法将在下文中详述。 + +阅读法的第三个阶段是略读,也就是快速翻阅一本书或一篇文章、抓重点。如果你为了写论文在找资料,在图书馆中找到五十本书、或者在网路上找到五百篇文章,想要快速了解一下哪几本书、哪几篇文章对你写论文有帮助,值得借阅或印出,那么你就得略读这些书籍或文章、快速掌握它的主题。阅读法的第四个阶段是扫描。这个工作很像搜寻引擎的搜寻功能:以最短时间在一本书或一篇文章当中搜寻出你要找的内容在何处。考试时(如阅读测验)扫描能力会很有帮助。略读与扫描都是后话,最重要的工作还是广读。 + +## 综合法 + +综合法,简单讲就是「因材施教,因地制宜」。它强调的是,每一个学生都有自己的学习风格( learning style ),不能勉强要求学生适应同一种教法,而是要针对学生设计适合他个人的学习方法。 + +采用综合法的教学理论,学生第一步的工作是要了解自己的学习风格。可以上网用Learning Style Test做关键字进行搜寻,就能找到一些免费的学习风格测验。在网上自我测验一下,就可以了解自己的学习风格是内向还是外向、是文字导向还是口语导向等等。 + +以你周遭接触过的朋友、同学为例。有些人很擅长看书、背单字,考试都能考得很好,但就是不敢开口讲英文。另外有些人看到书就想睡觉、考试常常不及格,但是喜欢听英文歌、到天母的pub交老外朋友,英文会话没有问题。这两种学生分别属于两种类型,学习风格不同。勉强前者去开口讲话,就跟勉强后者去看书一样,都是很痛苦而事倍功半的事。 + +综合法不排斥任何一种学习方法,但是要求学生了解自己的学习风格、认识本身的需求与环境的限制,然后顺势而为。老师还得了解自已的教学风格。 + +以上是 TESOL 五种正式教学法的简介。接下来看看广读的作法。 + +## 广读的定义 + +网路上有一份给英文教师看的期刊JALT ,里面给广读下了一个不错的定义: + +“ Our working definition of 'extensive reading' as a language teaching/learning procedure is that it is reading (a) of large quantities of material or long texts; (b) for global or general understanding; (c) with the intention of obtaining pleasure from the text. Further, because (d) reading is individualized, with students choosing the books they want to read, (e) the books are not discussed in class.” ( JALT ) + +## 广读的做法 + +从这个定义来看,广读是大量的、长篇的阅读,不求甚解,一切以兴趣为依归。 + +常常有学生要我推荐广读的材料。我在下文会列出几个网站供读者参考,但是并不特别推荐哪些书。因为,广读要能持久进行才会看到效果,而要想持续的话就绝对不能有丝毫勉强,必须读得「津津有味」才行。所以,广读的材料必须是读者个人喜爱的东西。每个人的兴趣不同。有人喜欢小说类、有人喜欢知识类。同样是小说类,又分成文艺、侦探、惊悚、科幻等等类别,各有其喜好者。什么样的内容能够吸引你持续阅读下去,这只有读者自己知道。 + +要注意的是,广读的材料在难易度方面必须适合读者的程度。一般学生因为从前受的是文法翻译与精读的训练,习惯于阅读超出自己程度的文章。靠着逐一查单字、分析文法句型,慢慢把一个个句子翻译成中文来了解。这是精读的作法。广读的作法不同,必须读得快、读得多,而且要能够长期维持阅读的习惯。基本上,广读时不查单字、不求甚解,只要大致看得懂文章在说什么、能够维持阅读的兴趣就好。在这个前提之下,广读的材料不能太难。如果阅读的文章超出自己的程度太多,必须大量查单字、分析句型才能够了解,那又会变成精读。 + +要判断一篇文章的难易度是否适合自己做广读之用,不妨先翻开第一页试读一下:不查单字、不暂停、不回头,从头到尾一气呵成把这一页文字看完(这就是广读的作法)。如果根本不知道它在讲什么,那么这篇文章对你来说太难。如果有几个单字不认识、有几个句子看不懂,但是基本上看得出来文章在讲什么,这就是适合你使用的广读文章。可以采用这种方式来检验:你觉得这篇文章好看吗?如果以不查单字、不求甚解的广读方式阅读,仍然觉得它好看、能够吸引你继续看下去,那么它就是适合你的广读材料。 + +## 广读的材料 + +优良的广读材料,内容方面要五花八门、适合各式各样读者不同的兴趣,程度方面又不能太难。市面上有一些供人作广读使用的材料,包括小说类与非小说类,采用的单字句型难度都有经过筛选,读者可以考虑购买。不过,广读的动作一旦开始进行,消耗阅读材料的速度相当快,如果全都要靠购买的话可能经济方面会不胜负荷。其实在网路上就有一些免费的广读材料可以使用,以下介绍几种给读者参考。 + +#### VOA Special English + +VOA 是 Voice of America ,美国之音广播电台。它肩负美国政府对外宣传的任务,冷战时代曾大量对铁幕国家播音。为了达到宣传的效果, VOA 有许多节目采用 special English 播出,也就是经过改写、单字与句型特别简单、念得既慢又清楚的广播,务期让英文不是很好的听众也能够听得懂。 + +VOA 的网站就是配合广播电台的网站,站内Special English的部分有大量的文章,分成各式各样的主题,大约都是半小时一篇的报导,有文字档与声音档可以免费下载。因为它的主题无所不包,读者很容易找到自己感兴趣的话题。而且它的英文难度有控制,很适合一般程度的读者拿来当作广读的材料。 + +#### CDLP + +CDLP 代表 California Distance Learning Project ,由加州政府教育部出资、加州州立大学系统经营主办, Sacramento县政府负责网路版的管理营运。 + +这份网路杂志旨在推广成人教育,采用的英文也是低难度、适合广读的英文,主题分成工作、法政、家庭、学校……等计十一项,底下各有许多文章。主题丰富、难度适中,很适合广读之用。 + +#### The Key + +这是 Milwaukee Area Technical College 这所大学专门为所谓的 new readers 出版的杂志的网路版,里面的文字也都控制在比较低的难度,适合作为广读材料之用。缺点是更新的频率不是很高,不过也累积了相当份量的archives可供使用。 以上三种都是改写为Special English 、便利阅读的版本。读者花一段时间看这些东西、逐渐提升自己的阅读速度与理解能力之后,便可以尝试去阅读一些未经改写的英文原著了。有一个网站值得介绍给各位读者: + +Project Gutenberg ( [http://www.gutenberg.org/](http://www.gutenberg.org/) ) + +这是规模最大的一座网路电子图书馆,完全免费。缺点是它的东西大都比较旧。国际版权法规定版权保护时间大都是作者身故之后七十年。七十年之后,著作品的版权自动消失、进入公共财的领域。 Project Gutenberg里面大都是这种已经没有版权的东西。这座图书馆不但欢迎免费下载,还可以向它索取寄送光碟片──里面有它全数几万本藏书的电子版。 + +Project Gutenberg 里的东西虽然比较旧,但是主题方面无所不包,读者感兴趣的题材都可以找得到。缺点是里面的藏书都是原著、没有经过简化,一般程度的读者很可能会看不懂。请先通过前面介绍的三种Special English的广读训练,然后再来尝试挑战 Project Gutenberg 。 + +## 广读与知识份子的需求 + +台湾教育部推广的沟通法,一方面不适合台湾EFL的学习环境、一方面也不适合现代知识份子的需求。因为,沟通法蜕变自句型练习法,都是以口语英文为主要学习重点。但是口语英文的领域其实相当贫乏。身为一个现代知识份子,需要的不只是英文听讲的能力──任何一个美国文盲都具备这个能力──更重要的是读写的能力。 + +网际网路上的资讯,有八成以上都是以英文储存的。现代人要查任何资料,最快的做法就是上网。为了写篇报告或论文而上网查资料,不怕找不到,怕的是消化不完──动辄查出几千几万笔资料,不知该从何看起。这时候,坚强的阅读能力──尤其是广读与略读──就显得特别重要了。一个现代知识份子要有能力在短时间消化掉大量的文字资料、从中拮取出自己需要参考或引述的部分,然后加上个人的观点而写出自己的报告或论文。这种能力,不是简单的会话训练可以应付得了的。必须经过大量的广读、吸收大量的资讯、培养出扎实的广读与略读能力,才能够在竞争激烈的职场或学术界胜出。 + +## 广读与听讲 + +读者可能要问:广读做的是文字英文的训练,那么口语英文要怎么办?其实这是无谓的担心。只要广读做得够多,口语英文的问题也会同时迎刃而解。 + +听讲能力不足,可能分成两种情况。一种是听不懂、但是写下来慢慢看可以看得懂。这个问题在于理解的速度太慢,可以靠广读来克服。正确的阅读,速度应该比开口说话要快得多。但是一般人习惯的都是精读,一个句子要翻来覆去看好几遍。如果养成了广读的习惯,阅读速度会比一般人讲话速度更快,这时候你已经在进行英文思考──这种速度并不容许自己有时间把每个句子变成中文。打通了阅读速度的瓶颈,也就打通了英文思考的瓶颈。而且,英文是拼音文字,阅读的时候所有的声音都在里面。只要能够习惯广读的速度,听力理解的速度自然就一并解决。 + +另一种情况是:听不懂、写下来慢慢看还是看不懂。这表示整体的英文程度还不够。要怎样提升自己的英文程度呢?在台湾的EFL学习环境之下,最好的方法仍然是──广读! + +## 发音的问题 + +用广读来学英文,只有一个盲点:没有练习到口语的发音。大量阅读而没有机会开口讲话,造成的结果很可能是发音不够标准。 + +不过,因为英文已经成为国际语,各国人士讲英文带有自己本国、本地的口音,其实是再自然不过的事。英文发音标准,顶多是让别人误会你是个ABC ,没有什么好处。与其追求发音的标准,不如去追求表达的流利通畅。语言只是个沟通的工具。能够通畅无阻地表达意见,目的就已经达到了,带点口音又何妨?各位应该都听过BBC 、CNN 的记者操着标准的英式、美式英文去采访专家,那些专家讲的英文往往都很难听,口音重、发音又不标准。但他们是专家──因为他们看过很多书,这比较重要。 + +## 广读与单字 + +广读的作法是不查单字、不求甚解。读者可能要问:不查单字,那么单字不是永远都不认识吗?这倒不用担心,只要学会了字源分析,不必查单字也可以看懂英文、学会单字。 + +英文单字大约有六十万个,这是牛津英文大字典第二版( OED II )里面收的单字总数。不过,六十万单字当中有许多都是没有用的冷僻字。以台湾教育部颁布的高中英文单字表为准,高中毕业生应该认识的单字大约有七千多字。 + +美国大学毕业生平均的阅读速度是每分钟250字。以这种速度阅读,每小时可以看进一万五千字,足足是高中英文单字表的两倍!这只是一个小时的阅读量。如果养成了广读的习惯,经年累月累积下来,看到的单字量会相当惊人。 + +广读时碰到的单字,如果是没有用的冷僻字,那么没有必要去查它。它反覆出现的频率甚低,去查它也没什么用,因为以后这个字你用不到。如果碰到的单字是常用字,那么也没有必要去查它。因为所谓的常用字,顾名思义就是经常使用,所以只要你广读的工作持续下去、每小时看到一万五千个单字,那么有限的常用字(如七千多个高中英文单字)你一定会经常接触到。 + +广读时看到的单字都有上下文、出现在句子中,所以可以依据上下文去「猜」这个字大约是什么意思。另外,如果读者受过字源分析的训练,就能够把不认识的单字「拆」开成为字根、字首的组合来理解。在「猜」与「拆」之间,就算是陌生的字也会有个笼统的概念。如果这是个常用字,那么只要你广读的动作持续做下去,这个字你一定会碰到十次、二十次,甚至一、两百次。看到这么多个例句,再加上字根字首的拆解,这个字的意思与用法你一定会很快熟悉。所以,广读与字源分析的组合是克服英文单字的最佳利器。不必查单字、不必背单字,你认识的英文单字还是会自动地、持续不断地增加,而且一再复习、不会忘记。 + +## 广读与写作 + +俗话说,「熟读唐诗三百首,不会吟诗也会诌」。读与写是一体的两面,阅读的量累积到够大,自然就知道该怎么写。 + +不过,能够写是一回事,写得好又是一回事。美国人一生中大都做过大量的阅读,但是英文写得好的人并不多。大多数美国人写的英文都是错误百出,不符合高级知识份子学院派的要求。要想写得好,必须受过良好的文法句型训练。 + +文法句型的训练对精读有很大的帮助:碰到看不懂的句子,借助文法句型的分析,往往可以推敲出句子的意思来。另外,文法句型的训练帮助最大的就是英文写作。 + +在听、说、读、写这四项工作中,写作是最后、也是最困难的一项。如果你没看过几篇英文文章,那么到任何地方去上写作课也没用──那等于是在做无米之炊。正确的作法是先做一段时间的广读,累积许多的input ,自己就会有感觉英文该怎么写才对。然后还要通过文法句型的训练,建立起从单句到复合句到减化子句的架构,写出来的句子才能够正确又富于变化。 + +正如广读与字源分析是征服英文单字的最佳组合,广读与文法句型分析就是征服英文写作的最佳组合。字源分析与文法句型分析可以上课学、可以买书看,广读的工作则要靠自己去做。只要跟着自己的兴趣去阅读,不查单字、不求甚解,一旦体会出了阅读的趣味,那么不再需要任何人的鞭策,你自然会一路走下去,英文也自然会越来越好。 \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/preface.md b/corejava第9版/EnglishGrammarBook-master/docs/preface.md new file mode 100644 index 0000000..2427ef4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/preface.md @@ -0,0 +1,29 @@ +

    我学英语的经验

    +

    教了二十几年英文,接触到的学生算是不少了。常有学生问我是国外哪所大学毕业 +的。听到我回答从来没有出国念过书,往往会十分讶异,接着就追问我英文是怎么学的。其实学英文只要方向正确,并不一定得出国才能学好。读者有兴趣看这本文法书,应该是想把英文学好。在此提供我个人的经验供读者参考,或许能帮读者节省一点时间,少走些冤枉路。

    +

    我是进了初中才开始接触到英文。初一的班导师是英文老师,他叫我们要勤查字典,我也就乖乖地查了三年字典,背了些单字,也生呑活剥地记了些文法规则。在那种年纪,记忆力好,理解力差,也不会想去把文法弄懂,背起来就算了!

    +

    启蒙的老师及文法书

    +

    高中读的是新竹中学,高一的班导师也是英文老师,他要我们开始使用英英字典,于是我就查了三年英英字典。这在高中阶段我觉得是不错的训练,可以避免在两种完全不同语系的单字间硬套,同时也可以训练阅读,以及培养用英文思考的习惯。

    +

    当时我们用的文法书是汤廷池老师编的,对我的帮助很大。汤老师是新竹中学的学 +长,也在竹中任教过,我进竹中时他已离开了,不过我一直自认为是汤老师的学生,因为他的文法书可以说是我英文观念的启蒙。那套文法书整个是用英文写的,系统严密、深入浅出,解决了我对文法的许多疑惑,也建立了一套完整的文法观念。一本好的文法书,对学英文的人有多么大的帮助!汤老师那套文法书就是这样的好书。只不过完全用英文写成,要自习不大容易。此后我再也没有看过一本够好的文法书。虽然书店里有上百本,可是都抄来抄去,写的人大概也不懂那些「规则」的道理何在。这种文法对一个心智发育成熟、有理解需求的学习者实在没有多大帮助。所以我才会想要写一本偏重理解、能够自习的文法书。

    +

    大学我念的是师大英语系,大一班导师当然也是英文老师。他要我们丢开字典、大量阅读,要有一个晚上看完一本小说的能力。我一听正中下怀。查了六年字典,我仍然视查字典为苦差事,可是不查又不放心。现在有老师说可以不查字典,眞是深获我心。另外,我选择读英文系的原因,主要就是我爱看小说。读英文系,看小说就是我的功课,那是多美的事,而且又不必查字典!

    +

    大学教育

    +

    大学四年,我看了不少书。我们用的英国文学史和美国文学史,和美国大学英文系用的是同样的版本,两本加起来有几千页。包括中古英文,有从古到今、各式各样的文学作品精华。老师上课的时候只是蜻蜓点水,有些部分完全不提,有些只能作些背景介绍,最多是节选一些段落出来讲讲。我当时有颇强的沙文主义偏见,对盛行的留学风很不以为然,认为中国人为什么非要到外国念书不可?所以我打定主意在国内念研究所。而研究所考试的专业科目主要就是英史与美史,所以我不管老师上课时怎么跳,晚上一定把书本逐字逐句看完。当然有看不懂的,也有不认识的字。不过我是以「看完」为目的,不懂也就算了。除了课本,另有一些重要的典籍与作品,像是圣经、希腊罗马神话与经典小说等等,我都到图书馆去借来看。好在这些东西都是经过时间试炼的名作,不必勉强自己,看下去自然会欲罢不能。看这些东西,感官刺激虽不如看电影,可是它比电影多一层想像的空间,韵味无穷,是电影无法企及的。就这样,我轻松愉快地念完了大学。

    +

    研究所我读的是台大外文研究所。考研究所之前我先教了一年高中——那是师大公费 +生的义务实习,教完才有考研究所的资格。这一年中我几乎没有时间准备考试,只是到时候拿枝笔就进考场了。台大外文研究所笔试的满分是六百分,考试结果我以第一名录取,分数是五百多分,第二名录取者是三百多分——跟我的分数差了接近两百分,我自己也吓了一跳。我想这是我「不求甚解」式读书方法见到效果了。

    +

    一个晚上看一本小说

    +

    念研究所时値得一提的是学位考试(Comprehensive)。当时我选的两张书单分别是十九世纪英国文学与二十世纪英国文学。书单上分成小说、戏剧、诗歌、散文、文学批评等五类。光讲小说的部分,两张加在一起有四十五本,每本平均是三、四百页。我记得当时是花了两个月的时间把这四十五本小说全部看完——扣掉出去玩的日子,大概一个晚上要看一本。这一段时间的密集阅读对我的英文能力有「很大」的帮助。小说是最优美丰富的文字,戏剧用的是口语(不过十九世纪的口语和现在颇不相同),诗歌是最浓缩的语言,散文比较平易近人,文学批评则是非常学术化的文体。这些东西看了一堆下来,大概各式各样的英文都可以应付了。

    +

    研究所毕业后,在元培医专、新竹科学园区实验中学教了一阵子的书,又回到台北,进入淡江英文系任教,并就近去读淡江的美国研究所博士班。在美研所所学,与其说对英文有什么帮助,不如说是进一步了解了美国的社会、政治、文化背景。话说回来,要眞正懂一个语言,不了解那个国家和人民的话是办不到的,这一方面也就是我读美研所的收获。

    +

    到现在我教过的学校包括国中、高中、专科、大学,补习班有 YMCA、留学补习班等等。现在还在我女儿读的鄕下小学自告奋勇,每周三天,利用早自习时间去教小孩子英文——这是我做过最有挑战性的工作!

    +

    享受阅读乐趣的第一步——不求甚解

    +

    教学的经验给我的帮助也很大。在从前教托福、GRE、GMAT 这些留学英文测验时,开始接触到字源分析,了解到英文单字的构成,也体认到字源分析是学习单字效果宏大的工​​具《TIME中文解读版》「资讯播报员」单元中的字源分析以及 TIME Studies《学习时代》中的「字源大挪移」这两个单元,就是这段教学经验的产物。这本《文法俱乐部》,整理出我从大量阅读中观察、归纳出来的心得,以及我个人架构出来的文法句型系统。它偏重理解,预先设想学习者可能有的疑惑,也针对最常犯的错误加以解说,这些都是我教英文二十多年经验的累积。

    +

    同时,为了教学所需,我以在师大学的教材教法为基础,再去阅读新的 ESL/EFL 教学理论,发现我误打误撞的那套「不求甚解」式阅读,竟然就是五种教学法之中最适合国内学习者需求的「阅请法」 (the Reading Approach)。这种方法不需要外在有英语环境,只​​要找来适合自己程度的英文文章,由浅入深阅读下去,常见的英文单字与常用的文法句型自然会大量出现,从上下文中就可以学会新的单字与用法,不需借助字典。有字源分析的工具当然会更好。冷僻的单字去查也没用——因为不是常常看得到,查了也背不起来。更重要的是,摆脱​​了字典的累赘,你就会发现阅读的乐趣,让你爱读的文章来牵引你,不必有丝毫勉强,自然能持续下去,每天都有进步。我的托福考了满分 677 分,GRE 语文部分拿到 720 分(在以美国大学毕业生为主的全世界考生中名列前3% ),可以证明「阅读法」效果宏大。

    +

    读到一个程度,累积了足够的 input,就会有 output 出来——可以拿起笔来写了。不过,写的要求比读的要求高出很多,没有好的文法句型观念是写不出好文章的。文法倶乐部、缪司作文班此时就是你的好朋友。

    +

    TIME的挑战

    +

    我学英文的经验,还有一个挑战要提—— TIME。从前我只是偶尔看一下 TIME,一九八〇年代我开始在补习班讲授 TIME。这时候不是看看就算了,而是要完全弄懂才能去教。细看之下我发现我的英文还是有盲点我是受正统英文系教育出身,学院派的英文、老旧的英文看得很多,眞正今天用的英文接触得还不够,而TIME喜欢创新,玩文字花样,同时新闻体的英文讲究简洁,文字高度精简,和慢条斯理的十九世纪英文大不相同。另外,Time的内容无所不包,典故、影射、双关语等大量使用。古典的典故还难不倒我,一些当今人物,尤其是美国人才熟悉、外人无从接触的人物,用在典故、影射中就会无法意会。

    +

    一九九五年七月我开始参与《TIME中文解读版》的筹备工作,到现在接近三年的时间,仔细阅读、翻译、评注了大量的 TIME 文章,也审阅了大批译稿,其间不断要查资料、打电话、上网找答案,社里也聘了美籍顾问帮忙,这一段时间最大的收获应是更深入了解美国社会文化、国际局势,也丰富了各方面的知识背景,同时 TIME 的文体也对我的英文写作风格产生了影响,让我更趋于精简,用字比较精准,句型也更有变化。

    +

    懒人英文学习法

    +

    英文只是个工具,但是这个工具的学习可以说是永无止境。现代英文教学法中的the General Approach主张学习者应认清自己的学习风格,该怎么学是因人而异,要选择最适合自己学习风格的方法。我学习英文的经验也许不是每个人都适合,不过我觉得,好逸恶劳是大部分人的通病。如果你曾痛下决心把英文学好,却半途而废,不能持之以恒,那么我这套懒人的方法可能也适合你。只要找你爱看的书来,不必查字典,不求甚解,知道大概在说什么,能维持你阅读的兴趣就好了。或者找简单点的东西来看,或者找《TIME 中文解读版》这类有深度、优美的文字来看,利用翻译、注解等等来了解文章在说什么就够了。这样你自然能持续阅读下去,在不知不觉中吸收有意义的input。只是茶余饭后看看闲书,没有丝毫勉强,假以时日你的英文就有进步。

    +

    字源分析是你征服单字的最佳工具,《文法倶乐部》是你理解句型最好的帮助。祝你阅读愉快。

    +

    《TIME 中文解读版》总主笔 +旋元佑

    \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/docs/terminology.md b/corejava第9版/EnglishGrammarBook-master/docs/terminology.md new file mode 100644 index 0000000..1ce4556 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/docs/terminology.md @@ -0,0 +1,43 @@ +# 台湾大陆术语比较 + +| 台湾 | 大陆 | 英文 | +| ------ | ------ | ------ +| 单字 | 单词 | Word | +| 文法 | 语法 | Grammar | +| 代名词 | 代词 | Pronouns| +| 连接词 | 连词 | Conjunctions| +| 对等连接词 | 并列连词 |Coordinating Conjunction| +| 所有格代名词 | 物主代词 |Possessive Pronouns| +| 介系词 | 介词 | Preposition| +| 片语 | 短语 | Phrases | +| 名词片语 | 名词短语 | Noun Phrases | +| 动词片语 | 动词短语 | Verb Phrases | +| 介系词片语 | 介词短语 | Prepositional Phrases| +| 主词 | 主语 |Subject| +| 受词 | 宾语 |Object| +| 子句 | 从句 | Clause | +| 受格 | 宾格 | Objective Case| +| 主词子句 | 主语从句 | | +| 受词子句 | 宾语从句 | | +| 形容词子句 | 表语从句 | | +| 副词子句 | 状语从句 | | +| 连缀动词 | 系动词 | | +| 行动动词 | 行为动词 | | +| 个别动词 | 单个动词 | | +| 简单式 | 一般时 | | +| 进行式 | 进行时 | | +| 完成式 | 完成时 | | +| 简单现在式 | 一般现在时 | | +| 简单未来式 | 一般将来时 | | +| 过去未来式 | 过去将来时 | | +| 现在进行式 | 现在进行时 | | +| 过去进行式 |过去进行时 | | +| 现在完成式 | 现在完成时 | | +| 过去完成式 | 过去完成时 | | +| 是否疑问句 | 一般疑问句 | | +| 讯息疑问句 | 特殊疑问句 | | +| 不定词 | 不定式 | | +| 母音 | 元音 | | +| 子音 | 辅音 | | +| 无声子音 | 清辅音 | | +| 有声子音 | 浊辅音 | | \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_1.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b31effb6ead8bff3a36265c2488473afac376a8 GIT binary patch literal 4536 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_11.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85ce92d0b59f82fb051f9950acdde088a3205697 GIT binary patch literal 3272 zcmcIk2~<;88h&Ayt)yWSw4@J22$1j+h$ONMlAtUB!4L?G7LoudWFZNQ2sn;~yRvRWxp#3G0~fNVtvYmr586hVteG7pBuPOIb0asHFM{P(`^`~KzrH?lt2 zFrZIO;D!T$n;QmD0ai`+1VB<^Sy8(I1fT$K+XH}XSl%L1A`y~tIKCJg$`*uiuq*)& zmk=t%L0D@XVDFS53}r=eBl zQ7jT0baF)7Cy*0(LLNsFica7~^Tp%@2XIlG4Eqb)I1s%EkwiIw&I?h|0krLC7lDX_ zw#5>xSk@4PCK9objV+M~S)%dQ5FTd@e~4C)4cV4R#&1F|83;!cvBSx}6xXF#@X7&P zDk?rc9ve@<3Pce&h(sbSXyEZyFv3c_n=c7Xu;Po2mlY@+F-yc1O1J_(dOymmbmP9=YoGH7Y8SUTR7Oa4tjYDo}LAFWo+Ta z%HVVO@U)BIv6f8%nv25$6)2fhdQz*0I33a zAiMy{1_Uqu3Xz& z;wJ5h7D~^Q4e|!#N?REnHzZ)-Q$5_=#=F5AJzZ~0eV)@;CXG3)4VK7qDQ<=d9eLB* zF+2NJ81cNcSzMSjonD#udXO<+*U)z}yR+_w{>da$JL3MWTJO*7w{MYUlR1M2YT7H$ zX8BvCJ!^j5`9IQAcZViGu+i3#xoGbyFH#c7W(1sTjlvlK-p zUw~#_zjSF!^R~eM^B>U+LMFzkoJ(Uq&N%A$<}CA}huPiq?#g26U0wVTz9=Z0{6pDx zm7rST&y&mpr#pe6D_&pMO+P>t1t6S1s zAhCUB=ef2N_krr2=jl%vQ$7Wk2dez~?iFxvt~EhYdAF5B6luTDSAp~(ILNg67(s$9<*>UCm&TqwGo6@R?w$WK z!{Nf@B#1qf7sEC5r!|y}jYyX(AGW;pd#TmZF_XLe`Il$18T|tr{pjUqqsPM=^N#dr zWZ})%Tr8VVuJ$>9*l+X9cy$#OK~Ec$d!p9G$4UoA*86b;f9}((gW>-XQkrd;9=X^y*@+A>~{* zNUfN`nEy@v8C9}#*1`w%eBZbePJB~sz|rwRljfh^xsK4KrvG>L~!pxV*vS}@3=t+TdR9+)f1_~(#!`@1)1y0JX_~~MrY;qpR627jhokM zr`)SE^PHHc>xz|flo0uL( z9sLpaUB%IWI8)ONdeIMb%DvVOXL2o@KD-p$Nf!TH1+Vf>ZPM$KGLE-YF*CI-I-v2h zs{Uume~o}9YPi`cM)rG7r1Xlc(jM}=g19$c`EIKkH;=ttDFXs$a>1v>`pZ};NMLtn zjTuYVq_!m0Qtu=dr#v&SMHz&%o=@k=0I&R)aU(Y4o$XB+j* zjW^l|p4^GTOOpWuxrsTmn9eiDOH&_vmAY1JrA$7YwREa$9BK$FxRBm47l(hjd3GuY ZWh8ks)VDSF+U4As4{y(ZLMqGp{|Td6le7Q; literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_12.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..337ab4845f8e33d3676c76eac3e7df1941c918ba GIT binary patch literal 5059 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_13.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1277930de8bce9c81905d5a1ff6f52429fc0e9e7 GIT binary patch literal 5470 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_14.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a67a9e60c57dba2c8fbc96e781442b4385a07de9 GIT binary patch literal 4532 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_16.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a5d997de898ece666ffa93a84645be99c561d18 GIT binary patch literal 5245 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 ZMcm-DEf-|pA{`k1qK5y&n=+!_e*$cs)HeVC literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_19.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_19.jpg new file mode 100644 index 0000000000000000000000000000000000000000..39b5af120f370999a283e9a86a54fd83bf050da0 GIT binary patch literal 6114 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_2.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46675b1317ab198e869f665716cfd5f4f1004442 GIT binary patch literal 3313 zcmcImdo+~!8-HIjE?c9F!3yn8BNfHWkcr7`KMbL!G7N*2pShG_ZabGXqS`LIiP9>g zpNJ4@Ed53`P7!S`CAGUWC|W9QH6)oIQE2vMqxN^UJ^isg=Y7w4zR&mbe4fkuJm~TtNV1d}mjHkO95Qdo2a&cth@OU(V;Dlf4N+94@pq+7eXDkkS2#)xbL{|dQc@_GNV4!Fs))pd_?E5Ab zbRuEi6cryI?-cLiBoJ-I;@#cdr#PIQ9U+9HIDs#TmO1jpwlfT5wwNj62qhc=A3enw z%@9Z>Bn*`4A0_aFv$TKNt9O7D%HKnIyr~9E(~2cj_S<~_l2{y^AY@~yY_UKpVzME) z?Ub{S=q+MLO9Y}|fq*;H#Z55+i9j495Td<<2jPd2GI9#+UWh zm+)TSsZrnwp~z&mi1Rg@sH~Poa5wWc$A=w%lBe*2c z{0uYQygarjB_;J)3b}qgH3)@wJXPHd)~ ziwM=eUUTh{s_CSRl0Edic_R1c@qrqpv}ZUuN1M&5$v&cein_P^?rP&7@4m#{52Byt zw3O121EmjNTn*q1wU)*vxOb;XYp!$RyOj$lHF?EV+uJnmZMn;zUC|tCU~aj1gWGDc z@t}S6#f(m&!q1<^Nji-o`39e8Y$1o<%4i7RX@$MCR0qgaC>C{abJtRq`&dDOSyquP zU#0_W`X^Oe1}K|lAFYSr+$FwAigdaTa2O6xQ`GxJnZ;|gQ7qbcVmgXe+?2fkc#!ES z05GZHhKn@y+sWLNn_>-~w{fwcZzzf#48gvPsf4#)Tw=HB?~+8=hvw5ZXDA2-w?q{s zDFtH}NS&%g>~k2-y*mh%*HN}mrn3F+$CK?Y)%v2en6_X&3L@9FMcr zBdYt-}yI58C5Ff*Y#ANTkKiLssG}&e&28%VW{pxbLP_yy0HmN+WI_GfL zK<|Ux+~nlFVI!4SNJA27ApXXGj@y6MoHLV+g*a<#LjOb}_h=HB8J}BwRn-)KdBKcH zFFO;WUklN5#b9DVM}Ej|YF&|YNt5<`*^sDNwCyFmCij%$Tc`1e-de-86x6EqJXM^A z_ET8*HXZO;mtD`?3pZv$edJ#Jll0(C(Z12f1(9;=>q2Squ!`bf8AKw)Qkau3J9PA&#+&&pt;*!;X z{IWOlW^33t09dpd;a^es#U&bDnIoq11I$WYYK>#xnuW_=n|v-D2ePJgM=?P?T@$RX&l+uhs6my_P`YJtt`QXl*u*SML(!A%02LYzh2lN2yJM!o(-b`|-h^vuTi!^FznUH#fJ)%Z?^@_GuHo5vN7%AfWZFTqW4 mNaIVJ4QZ5v#f{4SOnP#A$sJUSadGUu?dT6L^#72c?#}PDuh;ni literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_20.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_20.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8d2ae3e92e422ea6eee0688854b4fff89317b184 GIT binary patch literal 4261 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 Z++^0RGsKwYJv+Co|E_|31)L=9{2M`FDD40M literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_22.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_22.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d95e96117508345bcb58021d09c2d56c500acd5f GIT binary patch literal 5378 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 z
      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 N&2juMQ`q6~e*i4(q~ZVo literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_26.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_26.jpg new file mode 100644 index 0000000000000000000000000000000000000000..faaf71f64388dedd1e452b298509a6e47fb60dbe GIT binary patch literal 7187 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 NKbZep11AoL{tHQKv?~Ar literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_27.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_27.jpg new file mode 100644 index 0000000000000000000000000000000000000000..392531548ce58399196247b0c9c93c2690c2c22c GIT binary patch literal 7048 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_28.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_28.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3d8400dbfd6bdf337c83c652a9cca592dea5e6b GIT binary patch literal 4952 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_29.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_29.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4adbddb505dadcc86f89599b00a464f73a4f3eec GIT binary patch literal 5047 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 GcKr(#S3Ls& literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_6.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e645d6944cde87825bda7b57ede2938fb6b15f7 GIT binary patch literal 3472 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 URF8VSpShYah4JYD0*N306NFp zs&2r*Jys9~03IGzfCexts(ygLisnVc0Vn{AxSat&)s3+Zm&+w|5=kVpoeve0}XYNEGlHU=YRI-dn z@MwI{)rIIBOOF*wgs_}Lj1@+TWb{}DI7v=N^a(c!Bu<9NBN(9DL{?(3_c|g|EQN^_ zJF+d$9)gHesvWd~LZw1BLM6yZwVRT;>dny-VF~F&& zVq#+KV#s!4>1Gl{qtPZf92{(s2wPd4NY07170Jw}8CbB4ClyHK0Qeb*NA{F@Q;0ncNqit@n3{W&UvznB)t~#L-e7jD(v{fF*RM z6z0gqQh%{Ha(asE!o_m2ELo8c4t%E$ZllT3bKR!G?pdiMGIk(d>YH2#Zo?tomd5- z1j)>TrGhOmpDh&&iIXkU1)s0Q;j?^GSpMg0A%7N2LW&_xeAtgZ^t21vo(XkkZ4qN; z@nI3N?NVf|Rj&a2|WD(qTY0$t-sbm3pbr6lc1qJ33#U;JRhg-Gpl*UyL!sbE1+Fr z*|4a=hy0Z6>UyiG_W9F}0k%vpD1#ESq4gKjht7vKE{x9kM;h%SJ0!U}v1X*@2t{!w zI%e}g)wd~LrQ@#{wE6)5+XBr$sO6L6ISHY4qM!Kcb$|bESvw)<>Jr_AIR;PHMjYx) z%zd`|jLE>RC4<+UgRoSQGj5;#QAauz=+cL1b!-__vDLe1mnPeZ&#{6$xYN6MA z&n#)-a>1q|Y)-a+5)Ny{aNDZ9a=B8@kF-&kXBpOPzjRIWNp<{oCt)6MmwN<#Ja_cm zOno6~cNTVKN&0h*_Zc?|pX=jm*Vm$*hx5-ZdgXxfZpnrG-Dmo20-2&Y zDWydrzGJ2IQ^kY7p4*esm(JZ{Se?YWoQ-p>GU{*2AImM58CEZH%8adhuHWC>b2de->FpA2~J@MFD~ zuW{HdHY3Y^Y41!roR}Kk^t3-7nh#Bn4+3K9U_G z2s!cB;0)GYLU3_F(uei~E`}FE^PI92Tj{xVMng|}+e!{|9HIEKxMQ8oiw-(A--zr4 zo4zJAE;-RTr+#$Hm8iiBF9~CJ-v8w&J`YEL^ytOICeL1Zc?Sj*T^s4YV$%npyk&Ll z{Mx0ax)!vO7kdw6rVLgjwtcO-)T} z)KQwn*v~fnsYcn#9L&oJugo+}@k~N11h3O5E<-(Jn9l zs?MqbG5(BV&FqoIk`^Ywg3D52Y1w_g`dqtgFL*Aqj`JJ@bN>tEyLn? z5XI>l`ph`oeb;A z-Z-=-%fwKbncQ1Xsh8O&@0C`L2S{mS18dg`;-jvl9XL~68W#n3z3%?dyKMBO&xWq@ zL+%@vc>4D4#A|wh%;;s`*jNSKeQ07qE&7>JoB8X5ckh&MM_iWs8C!UcZhqePqHVmW yx&F~G3wHGnJZiGN_WBn)@mdBF&gsaNLN-*;&pxG*!n#veTORq}{L`qbI(`FQw05@u literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_9.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/2_9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2c9682a5a3737c183db1d801233f12b7f8d1421 GIT binary patch literal 3204 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 V=t5N+7pU{i?~buQ*f84e{}1#yh8O?< literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/chapter_9/3_3.jpg b/corejava第9版/EnglishGrammarBook-master/images/chapter_9/3_3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecd19b5074c4dc36eda8ace9bbe11e5123fe70f5 GIT binary patch literal 5218 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 L9{%@^A{hJ|{+b_N literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/images/magnifier.jpg b/corejava第9版/EnglishGrammarBook-master/images/magnifier.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d339b5b7920553e8b33a18206aece083b29fb6c6 GIT binary patch literal 607 zcmex=uI=H%w(=K}(Mey}1a#RK7?>VxzCA7BvVU=U&uVrCR%U=n0x7G(T?grNZFY-XS% z5rBh@os$s=5F$VpBLkBF0|P4)6FVy>Oo9>Q0XB99!9*cpV-quu4~m9H!A&WmrefmZ z7Bd8a=AxM)Xvp;c76T7Zm`RXXkinkeQg?7prr*NMH1lPj-2ayR+iBdsWv{8ys`l>2 zE~DkXtHaiuO7PC!tRWfd!t%_bzb-;*=8{>x?O`Y5R%AyrDtx@UVW)vm(Uq+x9}o2% zV{#L8d+<`NYfbWsu+>XmEaIGTh}F_PTtQ|-ul7bpH@*J7(?YMz(Oui#uv2XB=i~e< zUxh{aMnp;o?+!S%>Z-WI-CN#US^1LH0u}uNWMhsn7|P0Nz1|*sBl^4Fow!9Sr{yoy z?r?HAaPG2~MVQ$XhZxy#-%XJM;@+#0mMmI+X4w_Sn^PQ29ZU=IYrk*0KXqjs_al4L z>_fk1pXZgcGU$r>(J=qo{nxGKr|*URIlk-O^ycsDz5Obdd|u@K>AlLgZv`g*Zvp@` C0;o~| literal 0 HcmV?d00001 diff --git a/corejava第9版/EnglishGrammarBook-master/index.html b/corejava第9版/EnglishGrammarBook-master/index.html new file mode 100644 index 0000000..195a0a4 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/index.html @@ -0,0 +1,40 @@ + + + + + + + + 旋元佑进阶文法 + + + + + + + + + + + + +
      + +
      back to top
      +
      edit
      +
      Loading ...
      +
      Opps! ... File not found!
      +
      上一章
      下一章
      +
      + + + + + + diff --git a/corejava第9版/EnglishGrammarBook-master/js/ditto.js b/corejava第9版/EnglishGrammarBook-master/js/ditto.js new file mode 100644 index 0000000..865a7ef --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/js/ditto.js @@ -0,0 +1,403 @@ +var ditto = { + // page element ids + content_id: "#content", + sidebar_id: "#sidebar", + edit_id: "#edit", + back_to_top_id: "#back_to_top", + loading_id: "#loading", + error_id: "#error", + + // display elements + sidebar: true, + edit_button: true, + back_to_top_button: true, + save_progress: true, // 保存阅读进度 + search_bar: true, + + // initialize function + run: initialize +}; + +/** + * 获取当前hash + * + * @param {string} hash 要解析的hash,默认取当前页面的hash,如: nav#类目 => {nav:nav, anchor:类目} + * @description 分导航和页面锚点 + * @return {Object} {nav:导航, anchor:页面锚点} + */ +var getHash = function (hash) { + hash = hash || window.location.hash.substr(1); + + if (!hash) { + return { + nav: '', + anchor: '' + } + } + + hash = hash.split('#'); + return { + nav: hash[0], + anchor: decodeURIComponent(hash[1] || '') + } +}; + +var menu = new Array(); + +function initialize() { + // initialize sidebar and buttons + if (ditto.sidebar) { + init_sidebar_section(); + } + + if (ditto.back_to_top_button) { + init_back_to_top_button(); + } + + if (ditto.edit_button) { + init_edit_button(); + } + + // page router + router(); + $(window).on('hashchange', router); +} + +function init_sidebar_section() { + $.get(ditto.sidebar_file, function (data) { + $(ditto.sidebar_id).html(marked(data)); + + if (ditto.search_bar) { + init_searchbar(); + } + + // 初始化内容数组 + var menuOL = $(ditto.sidebar_id + ' ol'); + menuOL.attr('start', 0); + + menuOL.find('li a').map(function() { + menu.push(this.href.slice(this.href.indexOf('#'))); + }); + $('#pageup').on('click', function() { + var hash = getHash().nav; + for (var i = 0; i < menu.length; i++) { + if (hash === '') break; + if (menu[i] === '#' + hash) break; + } + location.hash = menu[i - 1] + }); + $('#pagedown').on('click', function() { + var hash = getHash().nav; + for (var i = 0; i < menu.length; i++) { + if (hash === '') break; + if (menu[i] === '#' + hash) break; + } + location.hash = menu[i + 1]; + }); + }, "text").fail(function() { + alert("Opps! can't find the sidebar file to display!"); + }); +} + +function init_searchbar() { + var search = '
      '; + $(ditto.sidebar_id).find('h2').first().before($(search)); + // $('input.searchButton').click(searchbar_listener); + // $('input[name=search]').keydown(searchbar_listener); +} + +function searchbar_listener(event) { + // event.preventDefault(); + var q = $('input[name=search]').val(); + if (q !== '') { + var url = 'https://github.com/codeyu/EnglishGrammarBook/search?utf8=✓&q=' + encodeURIComponent(q); + window.open(url, '_blank'); + win.focus(); + } + return false; + /* + if (event.which === 13) { + var q = $('input[name=search]').val(); + if (q !== '') { + var url = 'https://github.com/ruanyf/es6tutorial/search?utf8=✓&q=' + encodeURIComponent(q); + location.href = url; + } + } + */ +} + + +function init_back_to_top_button() { + $(ditto.back_to_top_id).show(); + $(ditto.back_to_top_id).on('click', goTop); +} + +function goTop(e) { + if(e) e.preventDefault(); + $('html, body').animate({ + scrollTop: 0 + }, 200); + history.pushState(null, null, '#' + location.hash.split('#')[1]); +} + +function goSection(sectionId){ + $('html, body').animate({ + scrollTop: ($('#' + sectionId).offset().top) + }, 300); +} + +function init_edit_button() { + if (ditto.base_url === null) { + alert("Error! You didn't set 'base_url' when calling ditto.run()!"); + } else { + $(ditto.edit_id).show(); + $(ditto.edit_id).on("click", function() { + var hash = location.hash.replace("#", "/"); + if (/#.*$/.test(hash)) { + hash = hash.replace(/#.*$/, ''); + } + if (hash === "") { + hash = "/" + ditto.index.replace(".md", ""); + } + + window.open(ditto.base_url + hash + ".md"); + // open is better than redirecting, as the previous page history + // with redirect is a bit messed up + }); + } +} + +function replace_symbols(text) { + // replace symbols with underscore + return text + .replace(/, /g, ',') + .replace(/[&\/\\#,.+=$~%'":*?<>{}\ \]\[]/g, "-") + .replace(/[()]/g, ''); +} + +function li_create_linkage(li_tag, header_level) { + // add custom id and class attributes + html_safe_tag = replace_symbols(li_tag.text()); + li_tag.attr('data-src', html_safe_tag); + li_tag.attr("class", "link"); + + // add click listener - on click scroll to relevant header section + li_tag.click(function(e) { + e.preventDefault(); + // scroll to relevant section + var header = $( + ditto.content_id + " h" + header_level + "." + li_tag.attr('data-src') + ); + $('html, body').animate({ + scrollTop: header.offset().top + }, 200); + + // highlight the relevant section + original_color = header.css("color"); + header.animate({ color: "#ED1C24", }, 500, function() { + // revert back to orig color + $(this).animate({color: original_color}, 2500); + }); + history.pushState(null, null, '#' + location.hash.split('#')[1] + '#' + li_tag.attr('data-src')); + }); +} + +function create_page_anchors() { + // create page anchors by matching li's to headers + // if there is a match, create click listeners + // and scroll to relevant sections + + // go through header level 1 to 3 + for (var i = 2; i <= 4; i++) { + // parse all headers + var headers = []; + $('#content h' + i).map(function() { + var content = $(this).text(); + headers.push(content); + $(this).addClass(replace_symbols(content)); + this.id = replace_symbols(content); + $(this).hover(function () { + $(this).html(content + + ' § ⇧'); + }, function () { + $(this).html(content); + }); + $(this).on('click', 'a.section-link', function(event) { + event.preventDefault(); + history.pushState(null, null, '#' + location.hash.split('#')[1] + '#' + replace_symbols(content)); + goSection(replace_symbols(content)); + }); + }); + + if ((i === 2) && headers.length !== 0) { + var ul_tag = $('
        ') + .insertAfter('#content h1') + .addClass('content-toc') + .attr('id', 'content-toc'); + for (var j = 0; j < headers.length; j++) { + var li_tag = $('
      1. ').html('' + headers[j] + ''); + ul_tag.append(li_tag); + li_create_linkage(li_tag, i); + } + } + } +} + +function normalize_paths() { + // images + $(ditto.content_id + " img").map(function() { + var src = $(this).attr("src"); + if($(this).attr("src").indexOf("../") > -1){ + src = $(this).attr("src").replace("../", ""); + $(this).attr("src", "http://" + location.host + "/" + src); + } + else{ + src = $(this).attr("src").replace("./", ""); + if ($(this).attr("src").slice(0, 4) !== "http") { + var pathname = location.pathname.substr(0, location.pathname.length - 1); + var url = location.hash.replace("#", ""); + + // split and extract base dir + url = url.split("/"); + var base_dir = url.slice(0, url.length - 1).toString(); + + // normalize the path (i.e. make it absolute) + $(this).attr("src", pathname + base_dir + "/" + src); + } + } + }); +} + +function show_error() { + console.log("SHOW ERORR!"); + $(ditto.error_id).show(); +} + +function show_loading() { + $(ditto.loading_id).show(); + $(ditto.content_id).html(''); // clear content + + // infinite loop until clearInterval() is called on loading + var loading = setInterval(function() { + $(ditto.loading_id).fadeIn(1000).fadeOut(1000); + }, 2000); + + return loading; +} + +function router() { + var path = location.hash.replace(/#([^#]*)(#.*)?/, './$1'); + + var hashArr = location.hash.split('#'); + var sectionId; + if (hashArr.length > 2 && !(/^comment-/.test(hashArr[2]))) { + sectionId = hashArr[2]; + } + + if (ditto.save_progress && store.get('menu-progress') !== location.hash) { + store.set('menu-progress', location.hash); + store.set('page-progress', 0); + } + + // default page if hash is empty + if (location.pathname === "/index.html") { + path = location.pathname.replace("index.html", ditto.index); + normalize_paths(); + } else if (path === "") { + path = location.pathname + ditto.index; + normalize_paths(); + } else { + path = path + ".md"; + } + + // 取消scroll事件的监听函数 + // 防止改变下面的变量perc的值 + $(window).off('scroll'); + + // otherwise get the markdown and render it + var loading = show_loading(); + $.get(path, function(data) { + $(ditto.error_id).hide(); + $(ditto.content_id).html(marked(data)); + if ($(ditto.content_id + " h1").text() === ditto.document_title) { + document.title = ditto.document_title; + } else { + document.title = $(ditto.content_id + " h1").text() + " - " + ditto.document_title; + } + normalize_paths(); + create_page_anchors(); + + // 完成代码高亮 + $('#content code').map(function() { + Prism.highlightElement(this); + }); + + var perc = ditto.save_progress ? store.get('page-progress') || 0 : 0; + + if (sectionId) { + $('html, body').animate({ + scrollTop: ($('#' + decodeURI(sectionId)).offset().top) + }, 300); + } else { + if (location.hash !== '' || Boolean(perc)) { + if (!Boolean(perc)) { + $('html, body').animate({ + scrollTop: ($('#content').offset().top + 10) + }, 300); + $('html, body').animate({ + scrollTop: ($('#content').offset().top) + }, 300); + } else { + $('html, body').animate({ + scrollTop: ($('body').height()-$(window).height())*perc + }, 200); + } + } + } + if (location.hash === '' || '#' + getHash().nav === menu[0]) { + $('#pageup').css('display', 'none'); + } else { + $('#pageup').css('display', 'inline-block'); + } + + if ('#' + getHash().nav === menu[(menu.length - 1)]) { + $('#pagedown').css('display', 'none'); + } else { + $('#pagedown').css('display', 'inline-block'); + } + + (function() { + var $w = $(window); + var $prog2 = $('.progress-indicator-2'); + var wh = $w.height(); + var h = $('body').height(); + var sHeight = h - wh; + $w.on('scroll', function() { + window.requestAnimationFrame(function(){ + var perc = Math.max(0, Math.min(1, $w.scrollTop() / sHeight)); + updateProgress(perc); + }); + }); + + function updateProgress(perc) { + $prog2.css({width: perc * 100 + '%'}); + ditto.save_progress && store.set('page-progress', perc); + } + + }()); + + }).fail(function() { + show_error(); + }).always(function() { + clearInterval(loading); + $(ditto.loading_id).hide(); + }); +} diff --git a/corejava第9版/EnglishGrammarBook-master/js/highlight.pack.js b/corejava第9版/EnglishGrammarBook-master/js/highlight.pack.js new file mode 100644 index 0000000..a7acb52 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/js/highlight.pack.js @@ -0,0 +1,2 @@ +/*! highlight.js v9.1.0 | BSD3 License | git.io/hljslicense */ +!function(e){"undefined"!=typeof exports?e(exports):(self.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return self.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return E(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,r=i.length;r>n;n++)if(E(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset"}function u(e){l+=""}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);f.reverse().forEach(o)}else"start"==g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function l(e,t,a,i){function o(e,n){for(var t=0;t";return i+=e+'">',i+n+o}function p(){if(!L.k)return n(M);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(M);r;){e+=n(M.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=h(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(M)}return e+n(M.substr(t))}function d(){var e="string"==typeof L.sL;if(e&&!R[L.sL])return n(M);var t=e?l(L.sL,M,!0,y[L.sL]):f(M,L.sL.length?L.sL:void 0);return L.r>0&&(B+=t.r),e&&(y[L.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){return void 0!==L.sL?d():p()}function v(e,t){var r=e.cN?h(e.cN,"",!0):"";e.rB?(k+=r,M=""):e.eB?(k+=n(t)+r,M=""):(k+=r,M=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(M+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(M+=t),k+=b();do L.cN&&(k+=""),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),M="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(c(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"")+'"');return M+=t,t.length||1}var N=E(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var w,L=i||N,y={},k="";for(w=L;w!=N;w=w.parent)w.cN&&(k=h(w.cN,"",!0)+k);var M="",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),w=L;w.parent;w=w.parent)w.cN&&(k+="");return{r:B,value:k,language:e,top:L}}catch(O){if(-1!=O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function f(e,t){t=t||x.languages||Object.keys(R);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(E(n)){var t=l(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return x.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,x.tabReplace)})),x.useBR&&(e=e.replace(/\n/g,"
        ")),e}function h(e,n,t){var r=n?w[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=i(e);if(!a(n)){var t;x.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):t=e;var r=t.textContent,o=n?l(n,r,!0):f(r),s=u(t);if(s.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=o.value,o.value=c(s,u(p),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=h(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){x=o(x,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=R[n]=t(e);r.aliases&&r.aliases.forEach(function(e){w[e]=n})}function N(){return Object.keys(R)}function E(e){return e=(e||"").toLowerCase(),R[e]||R[w[e]]}var x={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},R={},w={};return e.highlight=l,e.highlightAuto=f,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=E,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[t.inherit(t.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},i={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:t.CNR}],r:0},s={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"}]},r,t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"};return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{bK:"new throw return else",r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,i]},t.CLCM,t.CBCM,s]}]}});hljs.registerLanguage("python",function(e){var r={cN:"meta",b:/^(>>>|\.\.\.) /},b={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},l={cN:"params",b:/\(/,e:/\)/,c:["self",r,a,b]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[r,a,b,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,l,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("makefile",function(e){var a={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};return{aliases:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[a]}}},{cN:"section",b:/^[\w]+:\s*$/},{cN:"meta",b:/^\.PHONY:/,e:/$/,k:{"meta-keyword":".PHONY"},l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,a]}]}});hljs.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"symbol",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link",e:"$"}}]}]}});hljs.registerLanguage("cs",function(e){var t="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",r=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+r+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\s*\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl"],k:t,c:o}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:i,k:t},s={b:"{",e:"}",c:[{cN:"attr",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:r}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return i.splice(i.length,0,s,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"(AV|CA|CF|CG|CI|MK|MP|NS|UI|XC)\\w+"},i={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:i,l:n,i:""}]}]},{cN:"class",b:"("+o.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:o,l:n,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("dts",function(e){var a={cN:"string",v:[e.inherit(e.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[e.BE]},{b:"'\\\\?.",e:"'",i:"."}]},c={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:e.CNR}],r:0},b={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef ifdef ifndef"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[e.inherit(a,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"}]},a,e.CLCM,e.CBCM]},i={cN:"variable",b:"\\&[a-z\\d_]*\\b"},r={cN:"meta-keyword",b:"/[a-z][a-z\\d-]*/"},d={cN:"symbol",b:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},n={cN:"params",b:"<",e:">",c:[c,i]},s={cN:"class",b:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,e:/[{;=]/,rB:!0,eE:!0},t={cN:"class",b:"/\\s*{",e:"};",r:10,c:[i,r,d,s,n,e.CLCM,e.CBCM,c,a]};return{k:"",c:[t,i,r,d,s,n,e.CLCM,e.CBCM,c,a,b,{b:e.IR+"::",k:""}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("xml",function(s){var t="[A-Za-z0-9\\._:-]+",e={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php"},r={eW:!0,i:/]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[r],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[r],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},e,{cN:"meta",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},r]}]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},s=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];r.c=s;var i=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(s)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:s.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",c="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",r={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[r]}),e.C("^\\=begin","^\\=end",{c:[r],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:c},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:c},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var o="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+o+"|"+l+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:c,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("java",function(e){var a=e.UIR+"(<"+e.UIR+"(\\s*,\\s*"+e.UIR+")*>)?",t="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",r="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:r,r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+a+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},a={cN:"meta",b:/<\?(php)?|\?>/},i={cN:"string",c:[e.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},t={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"},a]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},a,c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,i,t]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},i,t]}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",e:/;/,eW:!0,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates key keys kill l language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}}); \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/js/jquery-1.11.0.min.js b/corejava第9版/EnglishGrammarBook-master/js/jquery-1.11.0.min.js new file mode 100644 index 0000000..73f33fb --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/js/jquery-1.11.0.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
        ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f +}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
        a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
        ","
        "],area:[1,"",""],param:[1,"",""],thead:[1,"","
        "],tr:[2,"","
        "],col:[2,"","
        "],td:[3,"","
        "],_default:l.htmlSerialize?[0,"",""]:[1,"X
        ","
        "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("'),a.close(),u=a.w.frames[0].document,s=u.createElement("div")}catch(f){s=n.createElement("div"),u=n.body}function l(e){return function(){var n=Array.prototype.slice.call(arguments,0);n.unshift(s),u.appendChild(s),s.addBehavior("#default#userData"),s.load(r);var i=e.apply(t,n);return u.removeChild(s),i}}var c=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function h(e){return e.replace(/^d/,"___$&").replace(c,"___")}t.set=l(function(e,n,i){return n=h(n),i===undefined?t.remove(n):(e.setAttribute(n,t.serialize(i)),e.save(r),i)}),t.get=l(function(e,n){return n=h(n),t.deserialize(e.getAttribute(n))}),t.remove=l(function(e,t){t=h(t),e.removeAttribute(t),e.save(r)}),t.clear=l(function(e){var t=e.XMLDocument.documentElement.attributes;e.load(r);for(var n=0,i;i=t[n];n++)e.removeAttribute(i.name);e.save(r)}),t.getAll=function(e){var n={};return t.forEach(function(e,t){n[e]=t}),n},t.forEach=l(function(e,n){var r=e.XMLDocument.documentElement.attributes;for(var i=0,s;s=r[i];++i)n(s.name,t.deserialize(e.getAttribute(s.name)))})}try{var p="__storejs__";t.set(p,p),t.get(p)!=p&&(t.disabled=!0),t.remove(p)}catch(f){t.disabled=!0}t.enabled=!t.disabled,typeof module!="undefined"&&module.exports&&this.module!==module?module.exports=t:typeof define=="function"&&define.amd?define(t):e.store=t}(Function("return this")()) \ No newline at end of file diff --git a/corejava第9版/EnglishGrammarBook-master/sidebar.md b/corejava第9版/EnglishGrammarBook-master/sidebar.md new file mode 100644 index 0000000..97e9002 --- /dev/null +++ b/corejava第9版/EnglishGrammarBook-master/sidebar.md @@ -0,0 +1,41 @@ +# [旋元佑进阶文法]() + +作者:[旋元佑](https://book.douban.com/search/%E6%97%8B%E5%85%83%E4%BD%91) + +授权:署名-非商用许可证 + +## 目录 +1. [前言](#README) +1. [序: 我学英文的经验](#docs/preface) +1. [引:广读学英语](#docs/guide) +1. [第一章 基本句型](#docs/SimpleSentences) +1. [第二章 名词片语](#docs/NounPhrases) +1. [第三章 代名词](#docs/Pronouns) +1. [第四章 形容词](#docs/Adjective) +1. [第五章 副词](#docs/Adverb) +1. [第六章 比较句法](#docs/ComparativePattern) +1. [第七章 介系词](#docs/Prepositions) +1. [第八章 分词](#docs/Participles) +1. [第九章 动词时态](#docs/VerbTenses) +1. [第十章 语态](#docs/Voice) +1. [第十一章 语气助动词](#docs/Auxiliaries) +1. [第十二章 语气](#docs/Moods) +1. [第十三章 动名词](#docs/Gerund) +1. [第十四章 不定词片语](#docs/Infinitive) +1. [第十五章 对等连接词](#docs/Conjunction) +1. [第十六章 合句](#docs/CompoundSentences) +1. [第十七章 名词子句](#docs/NounClauses) +1. [第十八章 副词子句](#docs/AdverbClauses) +1. [第十九章 关系子句](#docs/RelativeClauses) +1. [第二十章 主词动词一致性](#docs/SubjectVerbAgreement) +1. [第二十一章 倒装句](#docs/Inversion) +1. [第二十二章 减化子句](#docs/ReducedClauses) +1. [第二十三章 关系从句减化](#docs/RelativeClausesReduced) +1. [第二十四章 名词子句减化](#docs/NounClausesReduced) +1. [第二十五章 副词子句减化](#docs/AdverbClausesReduced) +1. [附录 台湾大陆术语比较](#docs/terminology) + +## 其他 +- [源码](https://github.com/codeyu/EnglishGrammarBook) +- [修订历史](https://github.com/codeyu/EnglishGrammarBook/commits/master) +- [反馈意见](https://github.com/codeyu/EnglishGrammarBook/issues) diff --git a/corejava第9版/gutenberg/alice30.txt b/corejava第9版/gutenberg/alice30.txt new file mode 100644 index 0000000..752bb9d --- /dev/null +++ b/corejava第9版/gutenberg/alice30.txt @@ -0,0 +1,3852 @@ +***This is the Project Gutenberg Etext of Alice in Wonderland*** +*This 30th edition should be labeled alice30.txt or alice30.zip. +***This Edition Is Being Officially Released On March 8, 1994*** +**In Celebration Of The 23rd Anniversary of Project Gutenberg*** + + +Please take a look at the important information in this header. +We encourage you to keep this file on your own disk, keeping an +electronic path open for the next readers. Do not remove this. + + +**Welcome To The World of Free Plain Vanilla Electronic Texts** + +**Etexts Readable By Both Humans and By Computers, Since 1971** + +*These Etexts Prepared By Hundreds of Volunteers and Donations* + +Information on contacting Project Gutenberg to get Etexts, and +further information is included below. We need your donations. + + +Alice's Adventures in Wonderland + +March, 1994 [Etext #11] +[Originally released in January, 1991] + + +*****The Project Gutenberg Etext of Alice In Wonderland***** +******This file should be named alice30.txt or alice30.zip****** + +Corrected EDITIONS of our etexts get a new NUMBER, alice31.txt +VERSIONS based on separate sources get new LETTER, alice30a.txt + + +We are now trying to release all our books one month in advance +of the official release dates, for time for better editing. We +have this as a goal to accomplish by the end of the year but we +cannot guarantee to stay that far ahead every month after that. + +Please note: neither this list nor its contents are final till +midnight of the last day of the month of any such announcement. +The official release date of all Project Gutenberg Etexts is at +Midnight, Central Time, of the last day of the stated month. A +preliminary version may often be posted for suggestion, comment +and editing by those who wish to do so. To be sure you have an +up to date first edition [xxxxx10x.xxx] please check file sizes +in the first week of the next month. Since our ftp program has +a bug in it that scrambles the date [tried to fix and failed] a +look at the file size will have to do, but we will try to see a +new copy has at least one byte more or less. + + +Information about Project Gutenberg (one page) + +We produce about two million dollars for each hour we work. The +fifty hours is one conservative estimate for how long it we take +to get any etext selected, entered, proofread, edited, copyright +searched and analyzed, the copyright letters written, etc. This +projected audience is one hundred million readers. If our value +per text is nominally estimated at one dollar then we produce $4 +million dollars per hour this year as we release some eight text +files per month: thus upping our productivity from $2 million. + +The Goal of Project Gutenberg is to Give Away One Trillion Etext +Files by the December 31, 2001. [10,000 x 100,000,000=Trillion] +This is ten thousand titles each to one hundred million readers, +which is 10% of the expected number of computer users by the end +of the year 2001. + +We need your donations more than ever! + +All donations should be made to "Project Gutenberg/IBC", and are +tax deductible to the extent allowable by law ("IBC" is Illinois +Benedictine College). (Subscriptions to our paper newsletter go +to IBC, too) + +For these and other matters, please mail to: + +Project Gutenberg +P. O. Box 2782 +Champaign, IL 61825 + +When all other email fails try our Michael S. Hart, Executive +Director: +hart@vmd.cso.uiuc.edu (internet) hart@uiucvmd (bitnet) + +We would prefer to send you this information by email +(Internet, Bitnet, Compuserve, ATTMAIL or MCImail). + +****** +If you have an FTP program (or emulator), please +FTP directly to the Project Gutenberg archives: +[Mac users, do NOT point and click. . .type] + +ftp mrcnext.cso.uiuc.edu +login: anonymous +password: your@login +cd etext/etext91 +or cd etext92 +or cd etext93 [for new books] [now also in cd etext/etext93] +or cd etext/articles [get suggest gut for more information] +dir [to see files] +get or mget [to get files. . .set bin for zip files] +GET 0INDEX.GUT +for a list of books +and +GET NEW GUT for general information +and +MGET GUT* for newsletters. + +**Information prepared by the Project Gutenberg legal advisor** +(Three Pages) + + +***START**THE SMALL PRINT!**FOR PUBLIC DOMAIN ETEXTS**START*** +Why is this "Small Print!" statement here? You know: lawyers. +They tell us you might sue us if there is something wrong with +your copy of this etext, even if you got it for free from +someone other than us, and even if what's wrong is not our +fault. So, among other things, this "Small Print!" statement +disclaims most of our liability to you. It also tells you how +you can distribute copies of this etext if you want to. + +*BEFORE!* YOU USE OR READ THIS ETEXT +By using or reading any part of this PROJECT GUTENBERG-tm +etext, you indicate that you understand, agree to and accept +this "Small Print!" statement. If you do not, you can receive +a refund of the money (if any) you paid for this etext by +sending a request within 30 days of receiving it to the person +you got it from. If you received this etext on a physical +medium (such as a disk), you must return it with your request. + +ABOUT PROJECT GUTENBERG-TM ETEXTS +This PROJECT GUTENBERG-tm etext, like most PROJECT GUTENBERG- +tm etexts, is a "public domain" work distributed by Professor +Michael S. Hart through the Project Gutenberg Association at +Illinois Benedictine College (the "Project"). Among other +things, this means that no one owns a United States copyright +on or for this work, so the Project (and you!) can copy and +distribute it in the United States without permission and +without paying copyright royalties. Special rules, set forth +below, apply if you wish to copy and distribute this etext +under the Project's "PROJECT GUTENBERG" trademark. + +To create these etexts, the Project expends considerable +efforts to identify, transcribe and proofread public domain +works. Despite these efforts, the Project's etexts and any +medium they may be on may contain "Defects". Among other +things, Defects may take the form of incomplete, inaccurate or +corrupt data, transcription errors, a copyright or other +intellectual property infringement, a defective or damaged +disk or other etext medium, a computer virus, or computer +codes that damage or cannot be read by your equipment. + +LIMITED WARRANTY; DISCLAIMER OF DAMAGES +But for the "Right of Replacement or Refund" described below, +[1] the Project (and any other party you may receive this +etext from as a PROJECT GUTENBERG-tm etext) disclaims all +liability to you for damages, costs and expenses, including +legal fees, and [2] YOU HAVE NO REMEDIES FOR NEGLIGENCE OR +UNDER STRICT LIABILITY, OR FOR BREACH OF WARRANTY OR CONTRACT, +INCLUDING BUT NOT LIMITED TO INDIRECT, CONSEQUENTIAL, PUNITIVE +OR INCIDENTAL DAMAGES, EVEN IF YOU GIVE NOTICE OF THE +POSSIBILITY OF SUCH DAMAGES. + +If you discover a Defect in this etext within 90 days of +receiving it, you can receive a refund of the money (if any) +you paid for it by sending an explanatory note within that +time to the person you received it from. If you received it +on a physical medium, you must return it with your note, and +such person may choose to alternatively give you a replacement +copy. If you received it electronically, such person may +choose to alternatively give you a second opportunity to +receive it electronically. + +THIS ETEXT IS OTHERWISE PROVIDED TO YOU "AS-IS". NO OTHER +WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, ARE MADE TO YOU AS +TO THE ETEXT OR ANY MEDIUM IT MAY BE ON, INCLUDING BUT NOT +LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +Some states do not allow disclaimers of implied warranties or +the exclusion or limitation of consequential damages, so the +above disclaimers and exclusions may not apply to you, and you +may have other legal rights. + +INDEMNITY +You will indemnify and hold the Project, its directors, +officers, members and agents harmless from all liability, cost +and expense, including legal fees, that arise directly or +indirectly from any of the following that you do or cause: +[1] distribution of this etext, [2] alteration, modification, +or addition to the etext, or [3] any Defect. + +DISTRIBUTION UNDER "PROJECT GUTENBERG-tm" +You may distribute copies of this etext electronically, or by +disk, book or any other medium if you either delete this +"Small Print!" and all other references to Project Gutenberg, +or: + +[1] Only give exact copies of it. Among other things, this + requires that you do not remove, alter or modify the + etext or this "small print!" statement. You may however, + if you wish, distribute this etext in machine readable + binary, compressed, mark-up, or proprietary form, + including any form resulting from conversion by word pro- + cessing or hypertext software, but only so long as + *EITHER*: + + [*] The etext, when displayed, is clearly readable, and + does *not* contain characters other than those + intended by the author of the work, although tilde + (~), asterisk (*) and underline (_) characters may + be used to convey punctuation intended by the + author, and additional characters may be used to + indicate hypertext links; OR + + [*] The etext may be readily converted by the reader at + no expense into plain ASCII, EBCDIC or equivalent + form by the program that displays the etext (as is + the case, for instance, with most word processors); + OR + + [*] You provide, or agree to also provide on request at + no additional cost, fee or expense, a copy of the + etext in its original plain ASCII form (or in EBCDIC + or other equivalent proprietary form). + +[2] Honor the etext refund and replacement provisions of this + "Small Print!" statement. + +[3] Pay a trademark license fee to the Project of 20% of the + net profits you derive calculated using the method you + already use to calculate your applicable taxes. If you + don't derive profits, no royalty is due. Royalties are + payable to "Project Gutenberg Association / Illinois + Benedictine College" within the 60 days following each + date you prepare (or were legally required to prepare) + your annual (or equivalent periodic) tax return. + +WHAT IF YOU *WANT* TO SEND MONEY EVEN IF YOU DON'T HAVE TO? +The Project gratefully accepts contributions in money, time, +scanning machines, OCR software, public domain etexts, royalty +free copyright licenses, and every other sort of contribution +you can think of. Money should be paid to "Project Gutenberg +Association / Illinois Benedictine College". + +This "Small Print!" by Charles B. Kramer, Attorney +Internet (72600.2026@compuserve.com); TEL: (212-254-5093) +*END*THE SMALL PRINT! FOR PUBLIC DOMAIN ETEXTS*Ver.04.29.93*END* + + + + + ALICE'S ADVENTURES IN WONDERLAND + + Lewis Carroll + + THE MILLENNIUM FULCRUM EDITION 3.0 + + + + + CHAPTER I + + Down the Rabbit-Hole + + + Alice was beginning to get very tired of sitting by her sister +on the bank, and of having nothing to do: once or twice she had +peeped into the book her sister was reading, but it had no +pictures or conversations in it, `and what is the use of a book,' +thought Alice `without pictures or conversation?' + + So she was considering in her own mind (as well as she could, +for the hot day made her feel very sleepy and stupid), whether +the pleasure of making a daisy-chain would be worth the trouble +of getting up and picking the daisies, when suddenly a White +Rabbit with pink eyes ran close by her. + + There was nothing so VERY remarkable in that; nor did Alice +think it so VERY much out of the way to hear the Rabbit say to +itself, `Oh dear! Oh dear! I shall be late!' (when she thought +it over afterwards, it occurred to her that she ought to have +wondered at this, but at the time it all seemed quite natural); +but when the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT- +POCKET, and looked at it, and then hurried on, Alice started to +her feet, for it flashed across her mind that she had never +before seen a rabbit with either a waistcoat-pocket, or a watch to +take out of it, and burning with curiosity, she ran across the +field after it, and fortunately was just in time to see it pop +down a large rabbit-hole under the hedge. + + In another moment down went Alice after it, never once +considering how in the world she was to get out again. + + The rabbit-hole went straight on like a tunnel for some way, +and then dipped suddenly down, so suddenly that Alice had not a +moment to think about stopping herself before she found herself +falling down a very deep well. + + Either the well was very deep, or she fell very slowly, for she +had plenty of time as she went down to look about her and to +wonder what was going to happen next. First, she tried to look +down and make out what she was coming to, but it was too dark to +see anything; then she looked at the sides of the well, and +noticed that they were filled with cupboards and book-shelves; +here and there she saw maps and pictures hung upon pegs. She +took down a jar from one of the shelves as she passed; it was +labelled `ORANGE MARMALADE', but to her great disappointment it +was empty: she did not like to drop the jar for fear of killing +somebody, so managed to put it into one of the cupboards as she +fell past it. + + `Well!' thought Alice to herself, `after such a fall as this, I +shall think nothing of tumbling down stairs! How brave they'll +all think me at home! Why, I wouldn't say anything about it, +even if I fell off the top of the house!' (Which was very likely +true.) + + Down, down, down. Would the fall NEVER come to an end! `I +wonder how many miles I've fallen by this time?' she said aloud. +`I must be getting somewhere near the centre of the earth. Let +me see: that would be four thousand miles down, I think--' (for, +you see, Alice had learnt several things of this sort in her +lessons in the schoolroom, and though this was not a VERY good +opportunity for showing off her knowledge, as there was no one to +listen to her, still it was good practice to say it over) `--yes, +that's about the right distance--but then I wonder what Latitude +or Longitude I've got to?' (Alice had no idea what Latitude was, +or Longitude either, but thought they were nice grand words to +say.) + + Presently she began again. `I wonder if I shall fall right +THROUGH the earth! How funny it'll seem to come out among the +people that walk with their heads downward! The Antipathies, I +think--' (she was rather glad there WAS no one listening, this +time, as it didn't sound at all the right word) `--but I shall +have to ask them what the name of the country is, you know. +Please, Ma'am, is this New Zealand or Australia?' (and she tried +to curtsey as she spoke--fancy CURTSEYING as you're falling +through the air! Do you think you could manage it?) `And what +an ignorant little girl she'll think me for asking! No, it'll +never do to ask: perhaps I shall see it written up somewhere.' + + Down, down, down. There was nothing else to do, so Alice soon +began talking again. `Dinah'll miss me very much to-night, I +should think!' (Dinah was the cat.) `I hope they'll remember +her saucer of milk at tea-time. Dinah my dear! I wish you were +down here with me! There are no mice in the air, I'm afraid, but +you might catch a bat, and that's very like a mouse, you know. +But do cats eat bats, I wonder?' And here Alice began to get +rather sleepy, and went on saying to herself, in a dreamy sort of +way, `Do cats eat bats? Do cats eat bats?' and sometimes, `Do +bats eat cats?' for, you see, as she couldn't answer either +question, it didn't much matter which way she put it. She felt +that she was dozing off, and had just begun to dream that she +was walking hand in hand with Dinah, and saying to her very +earnestly, `Now, Dinah, tell me the truth: did you ever eat a +bat?' when suddenly, thump! thump! down she came upon a heap of +sticks and dry leaves, and the fall was over. + + Alice was not a bit hurt, and she jumped up on to her feet in a +moment: she looked up, but it was all dark overhead; before her +was another long passage, and the White Rabbit was still in +sight, hurrying down it. There was not a moment to be lost: +away went Alice like the wind, and was just in time to hear it +say, as it turned a corner, `Oh my ears and whiskers, how late +it's getting!' She was close behind it when she turned the +corner, but the Rabbit was no longer to be seen: she found +herself in a long, low hall, which was lit up by a row of lamps +hanging from the roof. + + There were doors all round the hall, but they were all locked; +and when Alice had been all the way down one side and up the +other, trying every door, she walked sadly down the middle, +wondering how she was ever to get out again. + + Suddenly she came upon a little three-legged table, all made of +solid glass; there was nothing on it except a tiny golden key, +and Alice's first thought was that it might belong to one of the +doors of the hall; but, alas! either the locks were too large, or +the key was too small, but at any rate it would not open any of +them. However, on the second time round, she came upon a low +curtain she had not noticed before, and behind it was a little +door about fifteen inches high: she tried the little golden key +in the lock, and to her great delight it fitted! + + Alice opened the door and found that it led into a small +passage, not much larger than a rat-hole: she knelt down and +looked along the passage into the loveliest garden you ever saw. +How she longed to get out of that dark hall, and wander about +among those beds of bright flowers and those cool fountains, but +she could not even get her head though the doorway; `and even if +my head would go through,' thought poor Alice, `it would be of +very little use without my shoulders. Oh, how I wish +I could shut up like a telescope! I think I could, if I only +know how to begin.' For, you see, so many out-of-the-way things +had happened lately, that Alice had begun to think that very few +things indeed were really impossible. + + There seemed to be no use in waiting by the little door, so she +went back to the table, half hoping she might find another key on +it, or at any rate a book of rules for shutting people up like +telescopes: this time she found a little bottle on it, (`which +certainly was not here before,' said Alice,) and round the neck +of the bottle was a paper label, with the words `DRINK ME' +beautifully printed on it in large letters. + + It was all very well to say `Drink me,' but the wise little +Alice was not going to do THAT in a hurry. `No, I'll look +first,' she said, `and see whether it's marked "poison" or not'; +for she had read several nice little histories about children who +had got burnt, and eaten up by wild beasts and other unpleasant +things, all because they WOULD not remember the simple rules +their friends had taught them: such as, that a red-hot poker +will burn you if you hold it too long; and that if you cut your +finger VERY deeply with a knife, it usually bleeds; and she had +never forgotten that, if you drink much from a bottle marked +`poison,' it is almost certain to disagree with you, sooner or +later. + + However, this bottle was NOT marked `poison,' so Alice ventured +to taste it, and finding it very nice, (it had, in fact, a sort +of mixed flavour of cherry-tart, custard, pine-apple, roast +turkey, toffee, and hot buttered toast,) she very soon finished +it off. + + * * * * * * * + + * * * * * * + + * * * * * * * + + `What a curious feeling!' said Alice; `I must be shutting up +like a telescope.' + + And so it was indeed: she was now only ten inches high, and +her face brightened up at the thought that she was now the right +size for going through the little door into that lovely garden. +First, however, she waited for a few minutes to see if she was +going to shrink any further: she felt a little nervous about +this; `for it might end, you know,' said Alice to herself, `in my +going out altogether, like a candle. I wonder what I should be +like then?' And she tried to fancy what the flame of a candle is +like after the candle is blown out, for she could not remember +ever having seen such a thing. + + After a while, finding that nothing more happened, she decided +on going into the garden at once; but, alas for poor Alice! +when she got to the door, she found she had forgotten the +little golden key, and when she went back to the table for it, +she found she could not possibly reach it: she could see it +quite plainly through the glass, and she tried her best to climb +up one of the legs of the table, but it was too slippery; +and when she had tired herself out with trying, +the poor little thing sat down and cried. + + `Come, there's no use in crying like that!' said Alice to +herself, rather sharply; `I advise you to leave off this minute!' +She generally gave herself very good advice, (though she very +seldom followed it), and sometimes she scolded herself so +severely as to bring tears into her eyes; and once she remembered +trying to box her own ears for having cheated herself in a game +of croquet she was playing against herself, for this curious +child was very fond of pretending to be two people. `But it's no +use now,' thought poor Alice, `to pretend to be two people! Why, +there's hardly enough of me left to make ONE respectable +person!' + + Soon her eye fell on a little glass box that was lying under +the table: she opened it, and found in it a very small cake, on +which the words `EAT ME' were beautifully marked in currants. +`Well, I'll eat it,' said Alice, `and if it makes me grow larger, +I can reach the key; and if it makes me grow smaller, I can creep +under the door; so either way I'll get into the garden, and I +don't care which happens!' + + She ate a little bit, and said anxiously to herself, `Which +way? Which way?', holding her hand on the top of her head to +feel which way it was growing, and she was quite surprised to +find that she remained the same size: to be sure, this generally +happens when one eats cake, but Alice had got so much into the +way of expecting nothing but out-of-the-way things to happen, +that it seemed quite dull and stupid for life to go on in the +common way. + + So she set to work, and very soon finished off the cake. + + * * * * * * * + + * * * * * * + + * * * * * * * + + + + + CHAPTER II + + The Pool of Tears + + + `Curiouser and curiouser!' cried Alice (she was so much +surprised, that for the moment she quite forgot how to speak good +English); `now I'm opening out like the largest telescope that +ever was! Good-bye, feet!' (for when she looked down at her +feet, they seemed to be almost out of sight, they were getting so +far off). `Oh, my poor little feet, I wonder who will put on +your shoes and stockings for you now, dears? I'm sure _I_ shan't +be able! I shall be a great deal too far off to trouble myself +about you: you must manage the best way you can; --but I must be +kind to them,' thought Alice, `or perhaps they won't walk the +way I want to go! Let me see: I'll give them a new pair of +boots every Christmas.' + + And she went on planning to herself how she would manage it. +`They must go by the carrier,' she thought; `and how funny it'll +seem, sending presents to one's own feet! And how odd the +directions will look! + + ALICE'S RIGHT FOOT, ESQ. + HEARTHRUG, + NEAR THE FENDER, + (WITH ALICE'S LOVE). + +Oh dear, what nonsense I'm talking!' + + Just then her head struck against the roof of the hall: in +fact she was now more than nine feet high, and she at once took +up the little golden key and hurried off to the garden door. + + Poor Alice! It was as much as she could do, lying down on one +side, to look through into the garden with one eye; but to get +through was more hopeless than ever: she sat down and began to +cry again. + + `You ought to be ashamed of yourself,' said Alice, `a great +girl like you,' (she might well say this), `to go on crying in +this way! Stop this moment, I tell you!' But she went on all +the same, shedding gallons of tears, until there was a large pool +all round her, about four inches deep and reaching half down the +hall. + + After a time she heard a little pattering of feet in the +distance, and she hastily dried her eyes to see what was coming. +It was the White Rabbit returning, splendidly dressed, with a +pair of white kid gloves in one hand and a large fan in the +other: he came trotting along in a great hurry, muttering to +himself as he came, `Oh! the Duchess, the Duchess! Oh! won't she +be savage if I've kept her waiting!' Alice felt so desperate +that she was ready to ask help of any one; so, when the Rabbit +came near her, she began, in a low, timid voice, `If you please, +sir--' The Rabbit started violently, dropped the white kid +gloves and the fan, and skurried away into the darkness as hard +as he could go. + + Alice took up the fan and gloves, and, as the hall was very +hot, she kept fanning herself all the time she went on talking: +`Dear, dear! How queer everything is to-day! And yesterday +things went on just as usual. I wonder if I've been changed in +the night? Let me think: was I the same when I got up this +morning? I almost think I can remember feeling a little +different. But if I'm not the same, the next question is, Who in +the world am I? Ah, THAT'S the great puzzle!' And she began +thinking over all the children she knew that were of the same age +as herself, to see if she could have been changed for any of +them. + + `I'm sure I'm not Ada,' she said, `for her hair goes in such +long ringlets, and mine doesn't go in ringlets at all; and I'm +sure I can't be Mabel, for I know all sorts of things, and she, +oh! she knows such a very little! Besides, SHE'S she, and I'm I, +and--oh dear, how puzzling it all is! I'll try if I know all the +things I used to know. Let me see: four times five is twelve, +and four times six is thirteen, and four times seven is--oh dear! +I shall never get to twenty at that rate! However, the +Multiplication Table doesn't signify: let's try Geography. +London is the capital of Paris, and Paris is the capital of Rome, +and Rome--no, THAT'S all wrong, I'm certain! I must have been +changed for Mabel! I'll try and say "How doth the little--"' +and she crossed her hands on her lap as if she were saying lessons, +and began to repeat it, but her voice sounded hoarse and +strange, and the words did not come the same as they used to do:-- + + `How doth the little crocodile + Improve his shining tail, + And pour the waters of the Nile + On every golden scale! + + `How cheerfully he seems to grin, + How neatly spread his claws, + And welcome little fishes in + With gently smiling jaws!' + + `I'm sure those are not the right words,' said poor Alice, and +her eyes filled with tears again as she went on, `I must be Mabel +after all, and I shall have to go and live in that poky little +house, and have next to no toys to play with, and oh! ever so +many lessons to learn! No, I've made up my mind about it; if I'm +Mabel, I'll stay down here! It'll be no use their putting their +heads down and saying "Come up again, dear!" I shall only look +up and say "Who am I then? Tell me that first, and then, if I +like being that person, I'll come up: if not, I'll stay down +here till I'm somebody else"--but, oh dear!' cried Alice, with a +sudden burst of tears, `I do wish they WOULD put their heads +down! I am so VERY tired of being all alone here!' + + As she said this she looked down at her hands, and was +surprised to see that she had put on one of the Rabbit's little +white kid gloves while she was talking. `How CAN I have done +that?' she thought. `I must be growing small again.' She got up +and went to the table to measure herself by it, and found that, +as nearly as she could guess, she was now about two feet high, +and was going on shrinking rapidly: she soon found out that the +cause of this was the fan she was holding, and she dropped it +hastily, just in time to avoid shrinking away altogether. + +`That WAS a narrow escape!' said Alice, a good deal frightened at +the sudden change, but very glad to find herself still in +existence; `and now for the garden!' and she ran with all speed +back to the little door: but, alas! the little door was shut +again, and the little golden key was lying on the glass table as +before, `and things are worse than ever,' thought the poor child, +`for I never was so small as this before, never! And I declare +it's too bad, that it is!' + + As she said these words her foot slipped, and in another +moment, splash! she was up to her chin in salt water. Her first +idea was that she had somehow fallen into the sea, `and in that +case I can go back by railway,' she said to herself. (Alice had +been to the seaside once in her life, and had come to the general +conclusion, that wherever you go to on the English coast you find +a number of bathing machines in the sea, some children digging in +the sand with wooden spades, then a row of lodging houses, and +behind them a railway station.) However, she soon made out that +she was in the pool of tears which she had wept when she was nine +feet high. + + `I wish I hadn't cried so much!' said Alice, as she swam about, +trying to find her way out. `I shall be punished for it now, I +suppose, by being drowned in my own tears! That WILL be a queer +thing, to be sure! However, everything is queer to-day.' + + Just then she heard something splashing about in the pool a +little way off, and she swam nearer to make out what it was: at +first she thought it must be a walrus or hippopotamus, but then +she remembered how small she was now, and she soon made out that +it was only a mouse that had slipped in like herself. + + `Would it be of any use, now,' thought Alice, `to speak to this +mouse? Everything is so out-of-the-way down here, that I should +think very likely it can talk: at any rate, there's no harm in +trying.' So she began: `O Mouse, do you know the way out of +this pool? I am very tired of swimming about here, O Mouse!' +(Alice thought this must be the right way of speaking to a mouse: +she had never done such a thing before, but she remembered having +seen in her brother's Latin Grammar, `A mouse--of a mouse--to a +mouse--a mouse--O mouse!' The Mouse looked at her rather +inquisitively, and seemed to her to wink with one of its little +eyes, but it said nothing. + + `Perhaps it doesn't understand English,' thought Alice; `I +daresay it's a French mouse, come over with William the +Conqueror.' (For, with all her knowledge of history, Alice had +no very clear notion how long ago anything had happened.) So she +began again: `Ou est ma chatte?' which was the first sentence in +her French lesson-book. The Mouse gave a sudden leap out of the +water, and seemed to quiver all over with fright. `Oh, I beg +your pardon!' cried Alice hastily, afraid that she had hurt the +poor animal's feelings. `I quite forgot you didn't like cats.' + + `Not like cats!' cried the Mouse, in a shrill, passionate +voice. `Would YOU like cats if you were me?' + + `Well, perhaps not,' said Alice in a soothing tone: `don't be +angry about it. And yet I wish I could show you our cat Dinah: +I think you'd take a fancy to cats if you could only see her. +She is such a dear quiet thing,' Alice went on, half to herself, +as she swam lazily about in the pool, `and she sits purring so +nicely by the fire, licking her paws and washing her face--and +she is such a nice soft thing to nurse--and she's such a capital +one for catching mice--oh, I beg your pardon!' cried Alice again, +for this time the Mouse was bristling all over, and she felt +certain it must be really offended. `We won't talk about her any +more if you'd rather not.' + + `We indeed!' cried the Mouse, who was trembling down to the end +of his tail. `As if I would talk on such a subject! Our family +always HATED cats: nasty, low, vulgar things! Don't let me hear +the name again!' + + `I won't indeed!' said Alice, in a great hurry to change the +subject of conversation. `Are you--are you fond--of--of dogs?' +The Mouse did not answer, so Alice went on eagerly: `There is +such a nice little dog near our house I should like to show you! +A little bright-eyed terrier, you know, with oh, such long curly +brown hair! And it'll fetch things when you throw them, and +it'll sit up and beg for its dinner, and all sorts of things--I +can't remember half of them--and it belongs to a farmer, you +know, and he says it's so useful, it's worth a hundred pounds! +He says it kills all the rats and--oh dear!' cried Alice in a +sorrowful tone, `I'm afraid I've offended it again!' For the +Mouse was swimming away from her as hard as it could go, and +making quite a commotion in the pool as it went. + + So she called softly after it, `Mouse dear! Do come back +again, and we won't talk about cats or dogs either, if you don't +like them!' When the Mouse heard this, it turned round and swam +slowly back to her: its face was quite pale (with passion, Alice +thought), and it said in a low trembling voice, `Let us get to +the shore, and then I'll tell you my history, and you'll +understand why it is I hate cats and dogs.' + + It was high time to go, for the pool was getting quite crowded +with the birds and animals that had fallen into it: there were a +Duck and a Dodo, a Lory and an Eaglet, and several other curious +creatures. Alice led the way, and the whole party swam to the +shore. + + + + CHAPTER III + + A Caucus-Race and a Long Tale + + + They were indeed a queer-looking party that assembled on the +bank--the birds with draggled feathers, the animals with their +fur clinging close to them, and all dripping wet, cross, and +uncomfortable. + + The first question of course was, how to get dry again: they +had a consultation about this, and after a few minutes it seemed +quite natural to Alice to find herself talking familiarly with +them, as if she had known them all her life. Indeed, she had +quite a long argument with the Lory, who at last turned sulky, +and would only say, `I am older than you, and must know better'; +and this Alice would not allow without knowing how old it was, +and, as the Lory positively refused to tell its age, there was no +more to be said. + + At last the Mouse, who seemed to be a person of authority among +them, called out, `Sit down, all of you, and listen to me! I'LL +soon make you dry enough!' They all sat down at once, in a large +ring, with the Mouse in the middle. Alice kept her eyes +anxiously fixed on it, for she felt sure she would catch a bad +cold if she did not get dry very soon. + + `Ahem!' said the Mouse with an important air, `are you all ready? +This is the driest thing I know. Silence all round, if you please! +"William the Conqueror, whose cause was favoured by the pope, was +soon submitted to by the English, who wanted leaders, and had been +of late much accustomed to usurpation and conquest. Edwin and +Morcar, the earls of Mercia and Northumbria--"' + + `Ugh!' said the Lory, with a shiver. + + `I beg your pardon!' said the Mouse, frowning, but very +politely: `Did you speak?' + + `Not I!' said the Lory hastily. + + `I thought you did,' said the Mouse. `--I proceed. "Edwin and +Morcar, the earls of Mercia and Northumbria, declared for him: +and even Stigand, the patriotic archbishop of Canterbury, found +it advisable--"' + + `Found WHAT?' said the Duck. + + `Found IT,' the Mouse replied rather crossly: `of course you +know what "it" means.' + + `I know what "it" means well enough, when I find a thing,' said +the Duck: `it's generally a frog or a worm. The question is, +what did the archbishop find?' + + The Mouse did not notice this question, but hurriedly went on, +`"--found it advisable to go with Edgar Atheling to meet William +and offer him the crown. William's conduct at first was +moderate. But the insolence of his Normans--" How are you +getting on now, my dear?' it continued, turning to Alice as it +spoke. + + `As wet as ever,' said Alice in a melancholy tone: `it doesn't +seem to dry me at all.' + + `In that case,' said the Dodo solemnly, rising to its feet, `I +move that the meeting adjourn, for the immediate adoption of more +energetic remedies--' + + `Speak English!' said the Eaglet. `I don't know the meaning of +half those long words, and, what's more, I don't believe you do +either!' And the Eaglet bent down its head to hide a smile: +some of the other birds tittered audibly. + + `What I was going to say,' said the Dodo in an offended tone, +`was, that the best thing to get us dry would be a Caucus-race.' + + `What IS a Caucus-race?' said Alice; not that she wanted much +to know, but the Dodo had paused as if it thought that SOMEBODY +ought to speak, and no one else seemed inclined to say anything. + + `Why,' said the Dodo, `the best way to explain it is to do it.' +(And, as you might like to try the thing yourself, some winter +day, I will tell you how the Dodo managed it.) + + First it marked out a race-course, in a sort of circle, (`the +exact shape doesn't matter,' it said,) and then all the party +were placed along the course, here and there. There was no `One, +two, three, and away,' but they began running when they liked, +and left off when they liked, so that it was not easy to know +when the race was over. However, when they had been running half +an hour or so, and were quite dry again, the Dodo suddenly called +out `The race is over!' and they all crowded round it, panting, +and asking, `But who has won?' + + This question the Dodo could not answer without a great deal of +thought, and it sat for a long time with one finger pressed upon +its forehead (the position in which you usually see Shakespeare, +in the pictures of him), while the rest waited in silence. At +last the Dodo said, `EVERYBODY has won, and all must have +prizes.' + + `But who is to give the prizes?' quite a chorus of voices +asked. + + `Why, SHE, of course,' said the Dodo, pointing to Alice with +one finger; and the whole party at once crowded round her, +calling out in a confused way, `Prizes! Prizes!' + + Alice had no idea what to do, and in despair she put her hand +in her pocket, and pulled out a box of comfits, (luckily the salt +water had not got into it), and handed them round as prizes. +There was exactly one a-piece all round. + + `But she must have a prize herself, you know,' said the Mouse. + + `Of course,' the Dodo replied very gravely. `What else have +you got in your pocket?' he went on, turning to Alice. + + `Only a thimble,' said Alice sadly. + + `Hand it over here,' said the Dodo. + + Then they all crowded round her once more, while the Dodo +solemnly presented the thimble, saying `We beg your acceptance of +this elegant thimble'; and, when it had finished this short +speech, they all cheered. + + Alice thought the whole thing very absurd, but they all looked +so grave that she did not dare to laugh; and, as she could not +think of anything to say, she simply bowed, and took the thimble, +looking as solemn as she could. + + The next thing was to eat the comfits: this caused some noise +and confusion, as the large birds complained that they could not +taste theirs, and the small ones choked and had to be patted on +the back. However, it was over at last, and they sat down again +in a ring, and begged the Mouse to tell them something more. + + `You promised to tell me your history, you know,' said Alice, +`and why it is you hate--C and D,' she added in a whisper, half +afraid that it would be offended again. + + `Mine is a long and a sad tale!' said the Mouse, turning to +Alice, and sighing. + + `It IS a long tail, certainly,' said Alice, looking down with +wonder at the Mouse's tail; `but why do you call it sad?' And +she kept on puzzling about it while the Mouse was speaking, so +that her idea of the tale was something like this:-- + + `Fury said to a + mouse, That he + met in the + house, + "Let us + both go to + law: I will + prosecute + YOU. --Come, + I'll take no + denial; We + must have a + trial: For + really this + morning I've + nothing + to do." + Said the + mouse to the + cur, "Such + a trial, + dear Sir, + With + no jury + or judge, + would be + wasting + our + breath." + "I'll be + judge, I'll + be jury," + Said + cunning + old Fury: + "I'll + try the + whole + cause, + and + condemn + you + to + death."' + + + `You are not attending!' said the Mouse to Alice severely. +`What are you thinking of?' + + `I beg your pardon,' said Alice very humbly: `you had got to +the fifth bend, I think?' + + `I had NOT!' cried the Mouse, sharply and very angrily. + + `A knot!' said Alice, always ready to make herself useful, and +looking anxiously about her. `Oh, do let me help to undo it!' + + `I shall do nothing of the sort,' said the Mouse, getting up +and walking away. `You insult me by talking such nonsense!' + + `I didn't mean it!' pleaded poor Alice. `But you're so easily +offended, you know!' + + The Mouse only growled in reply. + + `Please come back and finish your story!' Alice called after +it; and the others all joined in chorus, `Yes, please do!' but +the Mouse only shook its head impatiently, and walked a little +quicker. + + `What a pity it wouldn't stay!' sighed the Lory, as soon as it +was quite out of sight; and an old Crab took the opportunity of +saying to her daughter `Ah, my dear! Let this be a lesson to you +never to lose YOUR temper!' `Hold your tongue, Ma!' said the +young Crab, a little snappishly. `You're enough to try the +patience of an oyster!' + + `I wish I had our Dinah here, I know I do!' said Alice aloud, +addressing nobody in particular. `She'd soon fetch it back!' + + `And who is Dinah, if I might venture to ask the question?' +said the Lory. + + Alice replied eagerly, for she was always ready to talk about +her pet: `Dinah's our cat. And she's such a capital one for +catching mice you can't think! And oh, I wish you could see her +after the birds! Why, she'll eat a little bird as soon as look +at it!' + + This speech caused a remarkable sensation among the party. +Some of the birds hurried off at once: one old Magpie began +wrapping itself up very carefully, remarking, `I really must be +getting home; the night-air doesn't suit my throat!' and a Canary +called out in a trembling voice to its children, `Come away, my +dears! It's high time you were all in bed!' On various pretexts +they all moved off, and Alice was soon left alone. + + `I wish I hadn't mentioned Dinah!' she said to herself in a +melancholy tone. `Nobody seems to like her, down here, and I'm +sure she's the best cat in the world! Oh, my dear Dinah! I +wonder if I shall ever see you any more!' And here poor Alice +began to cry again, for she felt very lonely and low-spirited. +In a little while, however, she again heard a little pattering of +footsteps in the distance, and she looked up eagerly, half hoping +that the Mouse had changed his mind, and was coming back to +finish his story. + + + + CHAPTER IV + + The Rabbit Sends in a Little Bill + + + It was the White Rabbit, trotting slowly back again, and +looking anxiously about as it went, as if it had lost something; +and she heard it muttering to itself `The Duchess! The Duchess! +Oh my dear paws! Oh my fur and whiskers! She'll get me +executed, as sure as ferrets are ferrets! Where CAN I have +dropped them, I wonder?' Alice guessed in a moment that it was +looking for the fan and the pair of white kid gloves, and she +very good-naturedly began hunting about for them, but they were +nowhere to be seen--everything seemed to have changed since her +swim in the pool, and the great hall, with the glass table and +the little door, had vanished completely. + + Very soon the Rabbit noticed Alice, as she went hunting about, +and called out to her in an angry tone, `Why, Mary Ann, what ARE +you doing out here? Run home this moment, and fetch me a pair of +gloves and a fan! Quick, now!' And Alice was so much frightened +that she ran off at once in the direction it pointed to, without +trying to explain the mistake it had made. + + `He took me for his housemaid,' she said to herself as she ran. +`How surprised he'll be when he finds out who I am! But I'd +better take him his fan and gloves--that is, if I can find them.' +As she said this, she came upon a neat little house, on the door +of which was a bright brass plate with the name `W. RABBIT' +engraved upon it. She went in without knocking, and hurried +upstairs, in great fear lest she should meet the real Mary Ann, +and be turned out of the house before she had found the fan and +gloves. + + `How queer it seems,' Alice said to herself, `to be going +messages for a rabbit! I suppose Dinah'll be sending me on +messages next!' And she began fancying the sort of thing that +would happen: `"Miss Alice! Come here directly, and get ready +for your walk!" "Coming in a minute, nurse! But I've got to see +that the mouse doesn't get out." Only I don't think,' Alice went +on, `that they'd let Dinah stop in the house if it began ordering +people about like that!' + + By this time she had found her way into a tidy little room with +a table in the window, and on it (as she had hoped) a fan and two +or three pairs of tiny white kid gloves: she took up the fan and +a pair of the gloves, and was just going to leave the room, when +her eye fell upon a little bottle that stood near the looking- +glass. There was no label this time with the words `DRINK ME,' +but nevertheless she uncorked it and put it to her lips. `I know +SOMETHING interesting is sure to happen,' she said to herself, +`whenever I eat or drink anything; so I'll just see what this +bottle does. I do hope it'll make me grow large again, for +really I'm quite tired of being such a tiny little thing!' + + It did so indeed, and much sooner than she had expected: +before she had drunk half the bottle, she found her head pressing +against the ceiling, and had to stoop to save her neck from being +broken. She hastily put down the bottle, saying to herself +`That's quite enough--I hope I shan't grow any more--As it is, I +can't get out at the door--I do wish I hadn't drunk quite so +much!' + + Alas! it was too late to wish that! She went on growing, and +growing, and very soon had to kneel down on the floor: in +another minute there was not even room for this, and she tried +the effect of lying down with one elbow against the door, and the +other arm curled round her head. Still she went on growing, and, +as a last resource, she put one arm out of the window, and one +foot up the chimney, and said to herself `Now I can do no more, +whatever happens. What WILL become of me?' + + Luckily for Alice, the little magic bottle had now had its full +effect, and she grew no larger: still it was very uncomfortable, +and, as there seemed to be no sort of chance of her ever getting +out of the room again, no wonder she felt unhappy. + + `It was much pleasanter at home,' thought poor Alice, `when one +wasn't always growing larger and smaller, and being ordered about +by mice and rabbits. I almost wish I hadn't gone down that +rabbit-hole--and yet--and yet--it's rather curious, you know, +this sort of life! I do wonder what CAN have happened to me! +When I used to read fairy-tales, I fancied that kind of thing +never happened, and now here I am in the middle of one! There +ought to be a book written about me, that there ought! And when +I grow up, I'll write one--but I'm grown up now,' she added in a +sorrowful tone; `at least there's no room to grow up any more +HERE.' + + `But then,' thought Alice, `shall I NEVER get any older than I +am now? That'll be a comfort, one way--never to be an old woman-- +but then--always to have lessons to learn! Oh, I shouldn't like THAT!' + + `Oh, you foolish Alice!' she answered herself. `How can you +learn lessons in here? Why, there's hardly room for YOU, and no +room at all for any lesson-books!' + + And so she went on, taking first one side and then the other, +and making quite a conversation of it altogether; but after a few +minutes she heard a voice outside, and stopped to listen. + + `Mary Ann! Mary Ann!' said the voice. `Fetch me my gloves +this moment!' Then came a little pattering of feet on the +stairs. Alice knew it was the Rabbit coming to look for her, and +she trembled till she shook the house, quite forgetting that she +was now about a thousand times as large as the Rabbit, and had no +reason to be afraid of it. + + Presently the Rabbit came up to the door, and tried to open it; +but, as the door opened inwards, and Alice's elbow was pressed +hard against it, that attempt proved a failure. Alice heard it +say to itself `Then I'll go round and get in at the window.' + + `THAT you won't' thought Alice, and, after waiting till she +fancied she heard the Rabbit just under the window, she suddenly +spread out her hand, and made a snatch in the air. She did not +get hold of anything, but she heard a little shriek and a fall, +and a crash of broken glass, from which she concluded that it was +just possible it had fallen into a cucumber-frame, or something +of the sort. + + Next came an angry voice--the Rabbit's--`Pat! Pat! Where are +you?' And then a voice she had never heard before, `Sure then +I'm here! Digging for apples, yer honour!' + + `Digging for apples, indeed!' said the Rabbit angrily. `Here! +Come and help me out of THIS!' (Sounds of more broken glass.) + + `Now tell me, Pat, what's that in the window?' + + `Sure, it's an arm, yer honour!' (He pronounced it `arrum.') + + `An arm, you goose! Who ever saw one that size? Why, it +fills the whole window!' + + `Sure, it does, yer honour: but it's an arm for all that.' + + `Well, it's got no business there, at any rate: go and take it +away!' + + There was a long silence after this, and Alice could only hear +whispers now and then; such as, `Sure, I don't like it, yer +honour, at all, at all!' `Do as I tell you, you coward!' and at +last she spread out her hand again, and made another snatch in +the air. This time there were TWO little shrieks, and more +sounds of broken glass. `What a number of cucumber-frames there +must be!' thought Alice. `I wonder what they'll do next! As for +pulling me out of the window, I only wish they COULD! I'm sure I +don't want to stay in here any longer!' + + She waited for some time without hearing anything more: at +last came a rumbling of little cartwheels, and the sound of a +good many voices all talking together: she made out the words: +`Where's the other ladder?--Why, I hadn't to bring but one; +Bill's got the other--Bill! fetch it here, lad!--Here, put 'em up +at this corner--No, tie 'em together first--they don't reach half +high enough yet--Oh! they'll do well enough; don't be particular-- +Here, Bill! catch hold of this rope--Will the roof bear?--Mind +that loose slate--Oh, it's coming down! Heads below!' (a loud +crash)--`Now, who did that?--It was Bill, I fancy--Who's to go +down the chimney?--Nay, I shan't! YOU do it!--That I won't, +then!--Bill's to go down--Here, Bill! the master says you're to +go down the chimney!' + + `Oh! So Bill's got to come down the chimney, has he?' said +Alice to herself. `Shy, they seem to put everything upon Bill! +I wouldn't be in Bill's place for a good deal: this fireplace is +narrow, to be sure; but I THINK I can kick a little!' + + She drew her foot as far down the chimney as she could, and +waited till she heard a little animal (she couldn't guess of what +sort it was) scratching and scrambling about in the chimney close +above her: then, saying to herself `This is Bill,' she gave one +sharp kick, and waited to see what would happen next. + + The first thing she heard was a general chorus of `There goes +Bill!' then the Rabbit's voice along--`Catch him, you by the +hedge!' then silence, and then another confusion of voices--`Hold +up his head--Brandy now--Don't choke him--How was it, old fellow? +What happened to you? Tell us all about it!' + + Last came a little feeble, squeaking voice, (`That's Bill,' +thought Alice,) `Well, I hardly know--No more, thank ye; I'm +better now--but I'm a deal too flustered to tell you--all I know +is, something comes at me like a Jack-in-the-box, and up I goes +like a sky-rocket!' + + `So you did, old fellow!' said the others. + + `We must burn the house down!' said the Rabbit's voice; and +Alice called out as loud as she could, `If you do. I'll set +Dinah at you!' + + There was a dead silence instantly, and Alice thought to +herself, `I wonder what they WILL do next! If they had any +sense, they'd take the roof off.' After a minute or two, they +began moving about again, and Alice heard the Rabbit say, `A +barrowful will do, to begin with.' + + `A barrowful of WHAT?' thought Alice; but she had not long to +doubt, for the next moment a shower of little pebbles came +rattling in at the window, and some of them hit her in the face. +`I'll put a stop to this,' she said to herself, and shouted out, +`You'd better not do that again!' which produced another dead +silence. + + Alice noticed with some surprise that the pebbles were all +turning into little cakes as they lay on the floor, and a bright +idea came into her head. `If I eat one of these cakes,' she +thought, `it's sure to make SOME change in my size; and as it +can't possibly make me larger, it must make me smaller, I +suppose.' + + So she swallowed one of the cakes, and was delighted to find +that she began shrinking directly. As soon as she was small +enough to get through the door, she ran out of the house, and +found quite a crowd of little animals and birds waiting outside. +The poor little Lizard, Bill, was in the middle, being held up by +two guinea-pigs, who were giving it something out of a bottle. +They all made a rush at Alice the moment she appeared; but she +ran off as hard as she could, and soon found herself safe in a +thick wood. + + `The first thing I've got to do,' said Alice to herself, as she +wandered about in the wood, `is to grow to my right size again; +and the second thing is to find my way into that lovely garden. +I think that will be the best plan.' + + It sounded an excellent plan, no doubt, and very neatly and +simply arranged; the only difficulty was, that she had not the +smallest idea how to set about it; and while she was peering +about anxiously among the trees, a little sharp bark just over +her head made her look up in a great hurry. + + An enormous puppy was looking down at her with large round +eyes, and feebly stretching out one paw, trying to touch her. +`Poor little thing!' said Alice, in a coaxing tone, and she tried +hard to whistle to it; but she was terribly frightened all the +time at the thought that it might be hungry, in which case it +would be very likely to eat her up in spite of all her coaxing. + + Hardly knowing what she did, she picked up a little bit of +stick, and held it out to the puppy; whereupon the puppy jumped +into the air off all its feet at once, with a yelp of delight, +and rushed at the stick, and made believe to worry it; then Alice +dodged behind a great thistle, to keep herself from being run +over; and the moment she appeared on the other side, the puppy +made another rush at the stick, and tumbled head over heels in +its hurry to get hold of it; then Alice, thinking it was very +like having a game of play with a cart-horse, and expecting every +moment to be trampled under its feet, ran round the thistle +again; then the puppy began a series of short charges at the +stick, running a very little way forwards each time and a long +way back, and barking hoarsely all the while, till at last it sat +down a good way off, panting, with its tongue hanging out of its +mouth, and its great eyes half shut. + + This seemed to Alice a good opportunity for making her escape; +so she set off at once, and ran till she was quite tired and out +of breath, and till the puppy's bark sounded quite faint in the +distance. + + `And yet what a dear little puppy it was!' said Alice, as she +leant against a buttercup to rest herself, and fanned herself +with one of the leaves: `I should have liked teaching it tricks +very much, if--if I'd only been the right size to do it! Oh +dear! I'd nearly forgotten that I've got to grow up again! Let +me see--how IS it to be managed? I suppose I ought to eat or +drink something or other; but the great question is, what?' + + The great question certainly was, what? Alice looked all round +her at the flowers and the blades of grass, but she did not see +anything that looked like the right thing to eat or drink under +the circumstances. There was a large mushroom growing near her, +about the same height as herself; and when she had looked under +it, and on both sides of it, and behind it, it occurred to her +that she might as well look and see what was on the top of it. + + She stretched herself up on tiptoe, and peeped over the edge of +the mushroom, and her eyes immediately met those of a large +caterpillar, that was sitting on the top with its arms folded, +quietly smoking a long hookah, and taking not the smallest notice +of her or of anything else. + + + + CHAPTER V + + Advice from a Caterpillar + + + The Caterpillar and Alice looked at each other for some time in +silence: at last the Caterpillar took the hookah out of its +mouth, and addressed her in a languid, sleepy voice. + + `Who are YOU?' said the Caterpillar. + + This was not an encouraging opening for a conversation. Alice +replied, rather shyly, `I--I hardly know, sir, just at present-- +at least I know who I WAS when I got up this morning, but I think +I must have been changed several times since then.' + + `What do you mean by that?' said the Caterpillar sternly. +`Explain yourself!' + + `I can't explain MYSELF, I'm afraid, sir' said Alice, `because +I'm not myself, you see.' + + `I don't see,' said the Caterpillar. + + `I'm afraid I can't put it more clearly,' Alice replied very +politely, `for I can't understand it myself to begin with; and +being so many different sizes in a day is very confusing.' + + `It isn't,' said the Caterpillar. + + `Well, perhaps you haven't found it so yet,' said Alice; `but +when you have to turn into a chrysalis--you will some day, you +know--and then after that into a butterfly, I should think you'll +feel it a little queer, won't you?' + + `Not a bit,' said the Caterpillar. + + `Well, perhaps your feelings may be different,' said Alice; +`all I know is, it would feel very queer to ME.' + + `You!' said the Caterpillar contemptuously. `Who are YOU?' + + Which brought them back again to the beginning of the +conversation. Alice felt a little irritated at the Caterpillar's +making such VERY short remarks, and she drew herself up and said, +very gravely, `I think, you ought to tell me who YOU are, first.' + + `Why?' said the Caterpillar. + + Here was another puzzling question; and as Alice could not +think of any good reason, and as the Caterpillar seemed to be in +a VERY unpleasant state of mind, she turned away. + + `Come back!' the Caterpillar called after her. `I've something +important to say!' + + This sounded promising, certainly: Alice turned and came back +again. + + `Keep your temper,' said the Caterpillar. + + `Is that all?' said Alice, swallowing down her anger as well as +she could. + + `No,' said the Caterpillar. + + Alice thought she might as well wait, as she had nothing else +to do, and perhaps after all it might tell her something worth +hearing. For some minutes it puffed away without speaking, but +at last it unfolded its arms, took the hookah out of its mouth +again, and said, `So you think you're changed, do you?' + + `I'm afraid I am, sir,' said Alice; `I can't remember things as +I used--and I don't keep the same size for ten minutes together!' + + `Can't remember WHAT things?' said the Caterpillar. + + `Well, I've tried to say "HOW DOTH THE LITTLE BUSY BEE," but it +all came different!' Alice replied in a very melancholy voice. + + `Repeat, "YOU ARE OLD, FATHER WILLIAM,"' said the Caterpillar. + + Alice folded her hands, and began:-- + + `You are old, Father William,' the young man said, + `And your hair has become very white; + And yet you incessantly stand on your head-- + Do you think, at your age, it is right?' + + `In my youth,' Father William replied to his son, + `I feared it might injure the brain; + But, now that I'm perfectly sure I have none, + Why, I do it again and again.' + + `You are old,' said the youth, `as I mentioned before, + And have grown most uncommonly fat; + Yet you turned a back-somersault in at the door-- + Pray, what is the reason of that?' + + `In my youth,' said the sage, as he shook his grey locks, + `I kept all my limbs very supple + By the use of this ointment--one shilling the box-- + Allow me to sell you a couple?' + + `You are old,' said the youth, `and your jaws are too weak + For anything tougher than suet; + Yet you finished the goose, with the bones and the beak-- + Pray how did you manage to do it?' + + `In my youth,' said his father, `I took to the law, + And argued each case with my wife; + And the muscular strength, which it gave to my jaw, + Has lasted the rest of my life.' + + `You are old,' said the youth, `one would hardly suppose + That your eye was as steady as ever; + Yet you balanced an eel on the end of your nose-- + What made you so awfully clever?' + + `I have answered three questions, and that is enough,' + Said his father; `don't give yourself airs! + Do you think I can listen all day to such stuff? + Be off, or I'll kick you down stairs!' + + + `That is not said right,' said the Caterpillar. + + `Not QUITE right, I'm afraid,' said Alice, timidly; `some of the +words have got altered.' + + `It is wrong from beginning to end,' said the Caterpillar +decidedly, and there was silence for some minutes. + + The Caterpillar was the first to speak. + + `What size do you want to be?' it asked. + + `Oh, I'm not particular as to size,' Alice hastily replied; +`only one doesn't like changing so often, you know.' + + `I DON'T know,' said the Caterpillar. + + Alice said nothing: she had never been so much contradicted in +her life before, and she felt that she was losing her temper. + + `Are you content now?' said the Caterpillar. + + `Well, I should like to be a LITTLE larger, sir, if you +wouldn't mind,' said Alice: `three inches is such a wretched +height to be.' + + `It is a very good height indeed!' said the Caterpillar +angrily, rearing itself upright as it spoke (it was exactly three +inches high). + + `But I'm not used to it!' pleaded poor Alice in a piteous tone. +And she thought of herself, `I wish the creatures wouldn't be so +easily offended!' + + `You'll get used to it in time,' said the Caterpillar; and it +put the hookah into its mouth and began smoking again. + + This time Alice waited patiently until it chose to speak again. +In a minute or two the Caterpillar took the hookah out of its +mouth and yawned once or twice, and shook itself. Then it got +down off the mushroom, and crawled away in the grass, merely +remarking as it went, `One side will make you grow taller, and +the other side will make you grow shorter.' + + `One side of WHAT? The other side of WHAT?' thought Alice to +herself. + + `Of the mushroom,' said the Caterpillar, just as if she had +asked it aloud; and in another moment it was out of sight. + + Alice remained looking thoughtfully at the mushroom for a +minute, trying to make out which were the two sides of it; and as +it was perfectly round, she found this a very difficult question. +However, at last she stretched her arms round it as far as they +would go, and broke off a bit of the edge with each hand. + + `And now which is which?' she said to herself, and nibbled a +little of the right-hand bit to try the effect: the next moment +she felt a violent blow underneath her chin: it had struck her +foot! + + She was a good deal frightened by this very sudden change, but +she felt that there was no time to be lost, as she was shrinking +rapidly; so she set to work at once to eat some of the other bit. +Her chin was pressed so closely against her foot, that there was +hardly room to open her mouth; but she did it at last, and +managed to swallow a morsel of the lefthand bit. + + + * * * * * * * + + * * * * * * + + * * * * * * * + + `Come, my head's free at last!' said Alice in a tone of +delight, which changed into alarm in another moment, when she +found that her shoulders were nowhere to be found: all she could +see, when she looked down, was an immense length of neck, which +seemed to rise like a stalk out of a sea of green leaves that lay +far below her. + + `What CAN all that green stuff be?' said Alice. `And where +HAVE my shoulders got to? And oh, my poor hands, how is it I +can't see you?' She was moving them about as she spoke, but no +result seemed to follow, except a little shaking among the +distant green leaves. + + As there seemed to be no chance of getting her hands up to her +head, she tried to get her head down to them, and was delighted +to find that her neck would bend about easily in any direction, +like a serpent. She had just succeeded in curving it down into a +graceful zigzag, and was going to dive in among the leaves, which +she found to be nothing but the tops of the trees under which she +had been wandering, when a sharp hiss made her draw back in a +hurry: a large pigeon had flown into her face, and was beating +her violently with its wings. + + `Serpent!' screamed the Pigeon. + + `I'm NOT a serpent!' said Alice indignantly. `Let me alone!' + + `Serpent, I say again!' repeated the Pigeon, but in a more +subdued tone, and added with a kind of sob, `I've tried every +way, and nothing seems to suit them!' + + `I haven't the least idea what you're talking about,' said +Alice. + + `I've tried the roots of trees, and I've tried banks, and I've +tried hedges,' the Pigeon went on, without attending to her; `but +those serpents! There's no pleasing them!' + + Alice was more and more puzzled, but she thought there was no +use in saying anything more till the Pigeon had finished. + + `As if it wasn't trouble enough hatching the eggs,' said the +Pigeon; `but I must be on the look-out for serpents night and +day! Why, I haven't had a wink of sleep these three weeks!' + + `I'm very sorry you've been annoyed,' said Alice, who was +beginning to see its meaning. + + `And just as I'd taken the highest tree in the wood,' continued +the Pigeon, raising its voice to a shriek, `and just as I was +thinking I should be free of them at last, they must needs come +wriggling down from the sky! Ugh, Serpent!' + + `But I'm NOT a serpent, I tell you!' said Alice. `I'm a--I'm +a--' + + `Well! WHAT are you?' said the Pigeon. `I can see you're +trying to invent something!' + + `I--I'm a little girl,' said Alice, rather doubtfully, as she +remembered the number of changes she had gone through that day. + + `A likely story indeed!' said the Pigeon in a tone of the +deepest contempt. `I've seen a good many little girls in my +time, but never ONE with such a neck as that! No, no! You're a +serpent; and there's no use denying it. I suppose you'll be +telling me next that you never tasted an egg!' + + `I HAVE tasted eggs, certainly,' said Alice, who was a very +truthful child; `but little girls eat eggs quite as much as +serpents do, you know.' + + `I don't believe it,' said the Pigeon; `but if they do, why +then they're a kind of serpent, that's all I can say.' + + This was such a new idea to Alice, that she was quite silent +for a minute or two, which gave the Pigeon the opportunity of +adding, `You're looking for eggs, I know THAT well enough; and +what does it matter to me whether you're a little girl or a +serpent?' + + `It matters a good deal to ME,' said Alice hastily; `but I'm +not looking for eggs, as it happens; and if I was, I shouldn't +want YOURS: I don't like them raw.' + + `Well, be off, then!' said the Pigeon in a sulky tone, as it +settled down again into its nest. Alice crouched down among the +trees as well as she could, for her neck kept getting entangled +among the branches, and every now and then she had to stop and +untwist it. After a while she remembered that she still held the +pieces of mushroom in her hands, and she set to work very +carefully, nibbling first at one and then at the other, and +growing sometimes taller and sometimes shorter, until she had +succeeded in bringing herself down to her usual height. + + It was so long since she had been anything near the right size, +that it felt quite strange at first; but she got used to it in a +few minutes, and began talking to herself, as usual. `Come, +there's half my plan done now! How puzzling all these changes +are! I'm never sure what I'm going to be, from one minute to +another! However, I've got back to my right size: the next +thing is, to get into that beautiful garden--how IS that to be +done, I wonder?' As she said this, she came suddenly upon an +open place, with a little house in it about four feet high. +`Whoever lives there,' thought Alice, `it'll never do to come +upon them THIS size: why, I should frighten them out of their +wits!' So she began nibbling at the righthand bit again, and did +not venture to go near the house till she had brought herself +down to nine inches high. + + + + CHAPTER VI + + Pig and Pepper + + + For a minute or two she stood looking at the house, and +wondering what to do next, when suddenly a footman in livery came +running out of the wood--(she considered him to be a footman +because he was in livery: otherwise, judging by his face only, +she would have called him a fish)--and rapped loudly at the door +with his knuckles. It was opened by another footman in livery, +with a round face, and large eyes like a frog; and both footmen, +Alice noticed, had powdered hair that curled all over their +heads. She felt very curious to know what it was all about, and +crept a little way out of the wood to listen. + + The Fish-Footman began by producing from under his arm a great +letter, nearly as large as himself, and this he handed over to +the other, saying, in a solemn tone, `For the Duchess. An +invitation from the Queen to play croquet.' The Frog-Footman +repeated, in the same solemn tone, only changing the order of the +words a little, `From the Queen. An invitation for the Duchess +to play croquet.' + + Then they both bowed low, and their curls got entangled +together. + + Alice laughed so much at this, that she had to run back into +the wood for fear of their hearing her; and when she next peeped +out the Fish-Footman was gone, and the other was sitting on the +ground near the door, staring stupidly up into the sky. + + Alice went timidly up to the door, and knocked. + + `There's no sort of use in knocking,' said the Footman, `and +that for two reasons. First, because I'm on the same side of the +door as you are; secondly, because they're making such a noise +inside, no one could possibly hear you.' And certainly there was +a most extraordinary noise going on within--a constant howling +and sneezing, and every now and then a great crash, as if a dish +or kettle had been broken to pieces. + + `Please, then,' said Alice, `how am I to get in?' + + `There might be some sense in your knocking,' the Footman went +on without attending to her, `if we had the door between us. For +instance, if you were INSIDE, you might knock, and I could let +you out, you know.' He was looking up into the sky all the time +he was speaking, and this Alice thought decidedly uncivil. `But +perhaps he can't help it,' she said to herself; `his eyes are so +VERY nearly at the top of his head. But at any rate he might +answer questions.--How am I to get in?' she repeated, aloud. + + `I shall sit here,' the Footman remarked, `till tomorrow--' + + At this moment the door of the house opened, and a large plate +came skimming out, straight at the Footman's head: it just +grazed his nose, and broke to pieces against one of the trees +behind him. + + `--or next day, maybe,' the Footman continued in the same tone, +exactly as if nothing had happened. + + `How am I to get in?' asked Alice again, in a louder tone. + + `ARE you to get in at all?' said the Footman. `That's the +first question, you know.' + + It was, no doubt: only Alice did not like to be told so. +`It's really dreadful,' she muttered to herself, `the way all the +creatures argue. It's enough to drive one crazy!' + + The Footman seemed to think this a good opportunity for +repeating his remark, with variations. `I shall sit here,' he +said, `on and off, for days and days.' + + `But what am I to do?' said Alice. + + `Anything you like,' said the Footman, and began whistling. + + `Oh, there's no use in talking to him,' said Alice desperately: +`he's perfectly idiotic!' And she opened the door and went in. + + The door led right into a large kitchen, which was full of +smoke from one end to the other: the Duchess was sitting on a +three-legged stool in the middle, nursing a baby; the cook was +leaning over the fire, stirring a large cauldron which seemed to +be full of soup. + + `There's certainly too much pepper in that soup!' Alice said to +herself, as well as she could for sneezing. + + There was certainly too much of it in the air. Even the +Duchess sneezed occasionally; and as for the baby, it was +sneezing and howling alternately without a moment's pause. The +only things in the kitchen that did not sneeze, were the cook, +and a large cat which was sitting on the hearth and grinning from +ear to ear. + + `Please would you tell me,' said Alice, a little timidly, for +she was not quite sure whether it was good manners for her to +speak first, `why your cat grins like that?' + + `It's a Cheshire cat,' said the Duchess, `and that's why. Pig!' + + She said the last word with such sudden violence that Alice +quite jumped; but she saw in another moment that it was addressed +to the baby, and not to her, so she took courage, and went on +again:-- + + `I didn't know that Cheshire cats always grinned; in fact, I +didn't know that cats COULD grin.' + + `They all can,' said the Duchess; `and most of 'em do.' + + `I don't know of any that do,' Alice said very politely, +feeling quite pleased to have got into a conversation. + + `You don't know much,' said the Duchess; `and that's a fact.' + + Alice did not at all like the tone of this remark, and thought +it would be as well to introduce some other subject of +conversation. While she was trying to fix on one, the cook took +the cauldron of soup off the fire, and at once set to work +throwing everything within her reach at the Duchess and the baby +--the fire-irons came first; then followed a shower of saucepans, +plates, and dishes. The Duchess took no notice of them even when +they hit her; and the baby was howling so much already, that it +was quite impossible to say whether the blows hurt it or not. + + `Oh, PLEASE mind what you're doing!' cried Alice, jumping up +and down in an agony of terror. `Oh, there goes his PRECIOUS +nose'; as an unusually large saucepan flew close by it, and very +nearly carried it off. + + `If everybody minded their own business,' the Duchess said in a +hoarse growl, `the world would go round a deal faster than it +does.' + + `Which would NOT be an advantage,' said Alice, who felt very +glad to get an opportunity of showing off a little of her +knowledge. `Just think of what work it would make with the day +and night! You see the earth takes twenty-four hours to turn +round on its axis--' + + `Talking of axes,' said the Duchess, `chop off her head!' + + Alice glanced rather anxiously at the cook, to see if she meant +to take the hint; but the cook was busily stirring the soup, and +seemed not to be listening, so she went on again: `Twenty-four +hours, I THINK; or is it twelve? I--' + + `Oh, don't bother ME,' said the Duchess; `I never could abide +figures!' And with that she began nursing her child again, +singing a sort of lullaby to it as she did so, and giving it a +violent shake at the end of every line: + + `Speak roughly to your little boy, + And beat him when he sneezes: + He only does it to annoy, + Because he knows it teases.' + + CHORUS. + + (In which the cook and the baby joined):-- + + `Wow! wow! wow!' + + While the Duchess sang the second verse of the song, she kept +tossing the baby violently up and down, and the poor little thing +howled so, that Alice could hardly hear the words:-- + + `I speak severely to my boy, + I beat him when he sneezes; + For he can thoroughly enjoy + The pepper when he pleases!' + + CHORUS. + + `Wow! wow! wow!' + + `Here! you may nurse it a bit, if you like!' the Duchess said +to Alice, flinging the baby at her as she spoke. `I must go and +get ready to play croquet with the Queen,' and she hurried out of +the room. The cook threw a frying-pan after her as she went out, +but it just missed her. + + Alice caught the baby with some difficulty, as it was a queer- +shaped little creature, and held out its arms and legs in all +directions, `just like a star-fish,' thought Alice. The poor +little thing was snorting like a steam-engine when she caught it, +and kept doubling itself up and straightening itself out again, +so that altogether, for the first minute or two, it was as much +as she could do to hold it. + + As soon as she had made out the proper way of nursing it, +(which was to twist it up into a sort of knot, and then keep +tight hold of its right ear and left foot, so as to prevent its +undoing itself,) she carried it out into the open air. `IF I +don't take this child away with me,' thought Alice, `they're sure +to kill it in a day or two: wouldn't it be murder to leave it +behind?' She said the last words out loud, and the little thing +grunted in reply (it had left off sneezing by this time). `Don't +grunt,' said Alice; `that's not at all a proper way of expressing +yourself.' + + The baby grunted again, and Alice looked very anxiously into +its face to see what was the matter with it. There could be no +doubt that it had a VERY turn-up nose, much more like a snout +than a real nose; also its eyes were getting extremely small for +a baby: altogether Alice did not like the look of the thing at +all. `But perhaps it was only sobbing,' she thought, and looked +into its eyes again, to see if there were any tears. + + No, there were no tears. `If you're going to turn into a pig, +my dear,' said Alice, seriously, `I'll have nothing more to do +with you. Mind now!' The poor little thing sobbed again (or +grunted, it was impossible to say which), and they went on for +some while in silence. + + Alice was just beginning to think to herself, `Now, what am I +to do with this creature when I get it home?' when it grunted +again, so violently, that she looked down into its face in some +alarm. This time there could be NO mistake about it: it was +neither more nor less than a pig, and she felt that it would be +quite absurd for her to carry it further. + + So she set the little creature down, and felt quite relieved to +see it trot away quietly into the wood. `If it had grown up,' +she said to herself, `it would have made a dreadfully ugly child: +but it makes rather a handsome pig, I think.' And she began +thinking over other children she knew, who might do very well as +pigs, and was just saying to herself, `if one only knew the right +way to change them--' when she was a little startled by seeing +the Cheshire Cat sitting on a bough of a tree a few yards off. + + The Cat only grinned when it saw Alice. It looked good- +natured, she thought: still it had VERY long claws and a great +many teeth, so she felt that it ought to be treated with respect. + + `Cheshire Puss,' she began, rather timidly, as she did not at +all know whether it would like the name: however, it only +grinned a little wider. `Come, it's pleased so far,' thought +Alice, and she went on. `Would you tell me, please, which way I +ought to go from here?' + + `That depends a good deal on where you want to get to,' said +the Cat. + + `I don't much care where--' said Alice. + + `Then it doesn't matter which way you go,' said the Cat. + + `--so long as I get SOMEWHERE,' Alice added as an explanation. + + `Oh, you're sure to do that,' said the Cat, `if you only walk +long enough.' + + Alice felt that this could not be denied, so she tried another +question. `What sort of people live about here?' + + `In THAT direction,' the Cat said, waving its right paw round, +`lives a Hatter: and in THAT direction,' waving the other paw, +`lives a March Hare. Visit either you like: they're both mad.' + + `But I don't want to go among mad people,' Alice remarked. + + `Oh, you can't help that,' said the Cat: `we're all mad here. +I'm mad. You're mad.' + + `How do you know I'm mad?' said Alice. + + `You must be,' said the Cat, `or you wouldn't have come here.' + + Alice didn't think that proved it at all; however, she went on +`And how do you know that you're mad?' + + `To begin with,' said the Cat, `a dog's not mad. You grant +that?' + + `I suppose so,' said Alice. + + `Well, then,' the Cat went on, `you see, a dog growls when it's +angry, and wags its tail when it's pleased. Now I growl when I'm +pleased, and wag my tail when I'm angry. Therefore I'm mad.' + + `I call it purring, not growling,' said Alice. + + `Call it what you like,' said the Cat. `Do you play croquet +with the Queen to-day?' + + `I should like it very much,' said Alice, `but I haven't been +invited yet.' + + `You'll see me there,' said the Cat, and vanished. + + Alice was not much surprised at this, she was getting so used +to queer things happening. While she was looking at the place +where it had been, it suddenly appeared again. + + `By-the-bye, what became of the baby?' said the Cat. `I'd +nearly forgotten to ask.' + + `It turned into a pig,' Alice quietly said, just as if it had +come back in a natural way. + + `I thought it would,' said the Cat, and vanished again. + + Alice waited a little, half expecting to see it again, but it +did not appear, and after a minute or two she walked on in the +direction in which the March Hare was said to live. `I've seen +hatters before,' she said to herself; `the March Hare will be +much the most interesting, and perhaps as this is May it won't be +raving mad--at least not so mad as it was in March.' As she said +this, she looked up, and there was the Cat again, sitting on a +branch of a tree. + + `Did you say pig, or fig?' said the Cat. + + `I said pig,' replied Alice; `and I wish you wouldn't keep +appearing and vanishing so suddenly: you make one quite giddy.' + + `All right,' said the Cat; and this time it vanished quite slowly, +beginning with the end of the tail, and ending with the grin, +which remained some time after the rest of it had gone. + + `Well! I've often seen a cat without a grin,' thought Alice; +`but a grin without a cat! It's the most curious thing I ever +saw in my life!' + + She had not gone much farther before she came in sight of the +house of the March Hare: she thought it must be the right house, +because the chimneys were shaped like ears and the roof was +thatched with fur. It was so large a house, that she did not +like to go nearer till she had nibbled some more of the lefthand +bit of mushroom, and raised herself to about two feet high: even +then she walked up towards it rather timidly, saying to herself +`Suppose it should be raving mad after all! I almost wish I'd +gone to see the Hatter instead!' + + + + CHAPTER VII + + A Mad Tea-Party + + + There was a table set out under a tree in front of the house, +and the March Hare and the Hatter were having tea at it: a +Dormouse was sitting between them, fast asleep, and the other two +were using it as a cushion, resting their elbows on it, and talking +over its head. `Very uncomfortable for the Dormouse,' thought Alice; +`only, as it's asleep, I suppose it doesn't mind.' + + The table was a large one, but the three were all crowded +together at one corner of it: `No room! No room!' they cried +out when they saw Alice coming. `There's PLENTY of room!' said +Alice indignantly, and she sat down in a large arm-chair at one +end of the table. + + `Have some wine,' the March Hare said in an encouraging tone. + + Alice looked all round the table, but there was nothing on it +but tea. `I don't see any wine,' she remarked. + + `There isn't any,' said the March Hare. + + `Then it wasn't very civil of you to offer it,' said Alice +angrily. + + `It wasn't very civil of you to sit down without being +invited,' said the March Hare. + + `I didn't know it was YOUR table,' said Alice; `it's laid for a +great many more than three.' + + `Your hair wants cutting,' said the Hatter. He had been +looking at Alice for some time with great curiosity, and this was +his first speech. + + `You should learn not to make personal remarks,' Alice said +with some severity; `it's very rude.' + + The Hatter opened his eyes very wide on hearing this; but all +he SAID was, `Why is a raven like a writing-desk?' + + `Come, we shall have some fun now!' thought Alice. `I'm glad +they've begun asking riddles.--I believe I can guess that,' she +added aloud. + + `Do you mean that you think you can find out the answer to it?' +said the March Hare. + + `Exactly so,' said Alice. + + `Then you should say what you mean,' the March Hare went on. + + `I do,' Alice hastily replied; `at least--at least I mean what +I say--that's the same thing, you know.' + + `Not the same thing a bit!' said the Hatter. `You might just +as well say that "I see what I eat" is the same thing as "I eat +what I see"!' + + `You might just as well say,' added the March Hare, `that "I +like what I get" is the same thing as "I get what I like"!' + + `You might just as well say,' added the Dormouse, who seemed to +be talking in his sleep, `that "I breathe when I sleep" is the +same thing as "I sleep when I breathe"!' + + `It IS the same thing with you,' said the Hatter, and here the +conversation dropped, and the party sat silent for a minute, +while Alice thought over all she could remember about ravens and +writing-desks, which wasn't much. + + The Hatter was the first to break the silence. `What day of +the month is it?' he said, turning to Alice: he had taken his +watch out of his pocket, and was looking at it uneasily, shaking +it every now and then, and holding it to his ear. + + Alice considered a little, and then said `The fourth.' + + `Two days wrong!' sighed the Hatter. `I told you butter +wouldn't suit the works!' he added looking angrily at the March +Hare. + + `It was the BEST butter,' the March Hare meekly replied. + + `Yes, but some crumbs must have got in as well,' the Hatter +grumbled: `you shouldn't have put it in with the bread-knife.' + + The March Hare took the watch and looked at it gloomily: then +he dipped it into his cup of tea, and looked at it again: but he +could think of nothing better to say than his first remark, `It +was the BEST butter, you know.' + + Alice had been looking over his shoulder with some curiosity. +`What a funny watch!' she remarked. `It tells the day of the +month, and doesn't tell what o'clock it is!' + + `Why should it?' muttered the Hatter. `Does YOUR watch tell +you what year it is?' + + `Of course not,' Alice replied very readily: `but that's +because it stays the same year for such a long time together.' + + `Which is just the case with MINE,' said the Hatter. + + Alice felt dreadfully puzzled. The Hatter's remark seemed to +have no sort of meaning in it, and yet it was certainly English. +`I don't quite understand you,' she said, as politely as she +could. + + `The Dormouse is asleep again,' said the Hatter, and he poured +a little hot tea upon its nose. + + The Dormouse shook its head impatiently, and said, without +opening its eyes, `Of course, of course; just what I was going to +remark myself.' + + `Have you guessed the riddle yet?' the Hatter said, turning to +Alice again. + + `No, I give it up,' Alice replied: `what's the answer?' + + `I haven't the slightest idea,' said the Hatter. + + `Nor I,' said the March Hare. + + Alice sighed wearily. `I think you might do something better +with the time,' she said, `than waste it in asking riddles that +have no answers.' + + `If you knew Time as well as I do,' said the Hatter, `you +wouldn't talk about wasting IT. It's HIM.' + + `I don't know what you mean,' said Alice. + + `Of course you don't!' the Hatter said, tossing his head +contemptuously. `I dare say you never even spoke to Time!' + + `Perhaps not,' Alice cautiously replied: `but I know I have to +beat time when I learn music.' + + `Ah! that accounts for it,' said the Hatter. `He won't stand +beating. Now, if you only kept on good terms with him, he'd do +almost anything you liked with the clock. For instance, suppose +it were nine o'clock in the morning, just time to begin lessons: +you'd only have to whisper a hint to Time, and round goes the +clock in a twinkling! Half-past one, time for dinner!' + + (`I only wish it was,' the March Hare said to itself in a +whisper.) + + `That would be grand, certainly,' said Alice thoughtfully: +`but then--I shouldn't be hungry for it, you know.' + + `Not at first, perhaps,' said the Hatter: `but you could keep +it to half-past one as long as you liked.' + + `Is that the way YOU manage?' Alice asked. + + The Hatter shook his head mournfully. `Not I!' he replied. +`We quarrelled last March--just before HE went mad, you know--' +(pointing with his tea spoon at the March Hare,) `--it was at the +great concert given by the Queen of Hearts, and I had to sing + + "Twinkle, twinkle, little bat! + How I wonder what you're at!" + +You know the song, perhaps?' + + `I've heard something like it,' said Alice. + + `It goes on, you know,' the Hatter continued, `in this way:-- + + "Up above the world you fly, + Like a tea-tray in the sky. + Twinkle, twinkle--"' + +Here the Dormouse shook itself, and began singing in its sleep +`Twinkle, twinkle, twinkle, twinkle--' and went on so long that +they had to pinch it to make it stop. + + `Well, I'd hardly finished the first verse,' said the Hatter, +`when the Queen jumped up and bawled out, "He's murdering the +time! Off with his head!"' + + `How dreadfully savage!' exclaimed Alice. + + `And ever since that,' the Hatter went on in a mournful tone, +`he won't do a thing I ask! It's always six o'clock now.' + + A bright idea came into Alice's head. `Is that the reason so +many tea-things are put out here?' she asked. + + `Yes, that's it,' said the Hatter with a sigh: `it's always +tea-time, and we've no time to wash the things between whiles.' + + `Then you keep moving round, I suppose?' said Alice. + + `Exactly so,' said the Hatter: `as the things get used up.' + + `But what happens when you come to the beginning again?' Alice +ventured to ask. + + `Suppose we change the subject,' the March Hare interrupted, +yawning. `I'm getting tired of this. I vote the young lady +tells us a story.' + + `I'm afraid I don't know one,' said Alice, rather alarmed at +the proposal. + + `Then the Dormouse shall!' they both cried. `Wake up, +Dormouse!' And they pinched it on both sides at once. + + The Dormouse slowly opened his eyes. `I wasn't asleep,' he +said in a hoarse, feeble voice: `I heard every word you fellows +were saying.' + + `Tell us a story!' said the March Hare. + + `Yes, please do!' pleaded Alice. + + `And be quick about it,' added the Hatter, `or you'll be asleep +again before it's done.' + + `Once upon a time there were three little sisters,' the +Dormouse began in a great hurry; `and their names were Elsie, +Lacie, and Tillie; and they lived at the bottom of a well--' + + `What did they live on?' said Alice, who always took a great +interest in questions of eating and drinking. + + `They lived on treacle,' said the Dormouse, after thinking a +minute or two. + + `They couldn't have done that, you know,' Alice gently +remarked; `they'd have been ill.' + + `So they were,' said the Dormouse; `VERY ill.' + + Alice tried to fancy to herself what such an extraordinary ways +of living would be like, but it puzzled her too much, so she went +on: `But why did they live at the bottom of a well?' + + `Take some more tea,' the March Hare said to Alice, very +earnestly. + + `I've had nothing yet,' Alice replied in an offended tone, `so +I can't take more.' + + `You mean you can't take LESS,' said the Hatter: `it's very +easy to take MORE than nothing.' + + `Nobody asked YOUR opinion,' said Alice. + + `Who's making personal remarks now?' the Hatter asked +triumphantly. + + Alice did not quite know what to say to this: so she helped +herself to some tea and bread-and-butter, and then turned to the +Dormouse, and repeated her question. `Why did they live at the +bottom of a well?' + + The Dormouse again took a minute or two to think about it, and +then said, `It was a treacle-well.' + + `There's no such thing!' Alice was beginning very angrily, but +the Hatter and the March Hare went `Sh! sh!' and the Dormouse +sulkily remarked, `If you can't be civil, you'd better finish the +story for yourself.' + + `No, please go on!' Alice said very humbly; `I won't interrupt +again. I dare say there may be ONE.' + + `One, indeed!' said the Dormouse indignantly. However, he +consented to go on. `And so these three little sisters--they +were learning to draw, you know--' + + `What did they draw?' said Alice, quite forgetting her promise. + + `Treacle,' said the Dormouse, without considering at all this +time. + + `I want a clean cup,' interrupted the Hatter: `let's all move +one place on.' + + He moved on as he spoke, and the Dormouse followed him: the +March Hare moved into the Dormouse's place, and Alice rather +unwillingly took the place of the March Hare. The Hatter was the +only one who got any advantage from the change: and Alice was a +good deal worse off than before, as the March Hare had just upset +the milk-jug into his plate. + + Alice did not wish to offend the Dormouse again, so she began +very cautiously: `But I don't understand. Where did they draw +the treacle from?' + + `You can draw water out of a water-well,' said the Hatter; `so +I should think you could draw treacle out of a treacle-well--eh, +stupid?' + + `But they were IN the well,' Alice said to the Dormouse, not +choosing to notice this last remark. + + `Of course they were', said the Dormouse; `--well in.' + + This answer so confused poor Alice, that she let the Dormouse +go on for some time without interrupting it. + + `They were learning to draw,' the Dormouse went on, yawning and +rubbing its eyes, for it was getting very sleepy; `and they drew +all manner of things--everything that begins with an M--' + + `Why with an M?' said Alice. + + `Why not?' said the March Hare. + + Alice was silent. + + The Dormouse had closed its eyes by this time, and was going +off into a doze; but, on being pinched by the Hatter, it woke up +again with a little shriek, and went on: `--that begins with an +M, such as mouse-traps, and the moon, and memory, and muchness-- +you know you say things are "much of a muchness"--did you ever +see such a thing as a drawing of a muchness?' + + `Really, now you ask me,' said Alice, very much confused, `I +don't think--' + + `Then you shouldn't talk,' said the Hatter. + + This piece of rudeness was more than Alice could bear: she got +up in great disgust, and walked off; the Dormouse fell asleep +instantly, and neither of the others took the least notice of her +going, though she looked back once or twice, half hoping that +they would call after her: the last time she saw them, they were +trying to put the Dormouse into the teapot. + + `At any rate I'll never go THERE again!' said Alice as she +picked her way through the wood. `It's the stupidest tea-party I +ever was at in all my life!' + + Just as she said this, she noticed that one of the trees had a +door leading right into it. `That's very curious!' she thought. +`But everything's curious today. I think I may as well go in at once.' +And in she went. + + Once more she found herself in the long hall, and close to the +little glass table. `Now, I'll manage better this time,' +she said to herself, and began by taking the little golden key, +and unlocking the door that led into the garden. Then she went +to work nibbling at the mushroom (she had kept a piece of it +in her pocket) till she was about a foot high: then she walked down +the little passage: and THEN--she found herself at last in the +beautiful garden, among the bright flower-beds and the cool fountains. + + + + CHAPTER VIII + + The Queen's Croquet-Ground + + + A large rose-tree stood near the entrance of the garden: the +roses growing on it were white, but there were three gardeners at +it, busily painting them red. Alice thought this a very curious +thing, and she went nearer to watch them, and just as she came up +to them she heard one of them say, `Look out now, Five! Don't go +splashing paint over me like that!' + + `I couldn't help it,' said Five, in a sulky tone; `Seven jogged +my elbow.' + + On which Seven looked up and said, `That's right, Five! Always +lay the blame on others!' + + `YOU'D better not talk!' said Five. `I heard the Queen say only +yesterday you deserved to be beheaded!' + + `What for?' said the one who had spoken first. + + `That's none of YOUR business, Two!' said Seven. + + `Yes, it IS his business!' said Five, `and I'll tell him--it +was for bringing the cook tulip-roots instead of onions.' + + Seven flung down his brush, and had just begun `Well, of all +the unjust things--' when his eye chanced to fall upon Alice, as +she stood watching them, and he checked himself suddenly: the +others looked round also, and all of them bowed low. + + `Would you tell me,' said Alice, a little timidly, `why you are +painting those roses?' + + Five and Seven said nothing, but looked at Two. Two began in a +low voice, `Why the fact is, you see, Miss, this here ought to +have been a RED rose-tree, and we put a white one in by mistake; +and if the Queen was to find it out, we should all have our heads +cut off, you know. So you see, Miss, we're doing our best, afore +she comes, to--' At this moment Five, who had been anxiously +looking across the garden, called out `The Queen! The Queen!' +and the three gardeners instantly threw themselves flat upon +their faces. There was a sound of many footsteps, and Alice +looked round, eager to see the Queen. + + First came ten soldiers carrying clubs; these were all shaped +like the three gardeners, oblong and flat, with their hands and +feet at the corners: next the ten courtiers; these were +ornamented all over with diamonds, and walked two and two, as the +soldiers did. After these came the royal children; there were +ten of them, and the little dears came jumping merrily along hand +in hand, in couples: they were all ornamented with hearts. Next +came the guests, mostly Kings and Queens, and among them Alice +recognised the White Rabbit: it was talking in a hurried nervous +manner, smiling at everything that was said, and went by without +noticing her. Then followed the Knave of Hearts, carrying the +King's crown on a crimson velvet cushion; and, last of all this +grand procession, came THE KING AND QUEEN OF HEARTS. + + Alice was rather doubtful whether she ought not to lie down on +her face like the three gardeners, but she could not remember +ever having heard of such a rule at processions; `and besides, +what would be the use of a procession,' thought she, `if people +had all to lie down upon their faces, so that they couldn't see it?' +So she stood still where she was, and waited. + + When the procession came opposite to Alice, they all stopped +and looked at her, and the Queen said severely `Who is this?' +She said it to the Knave of Hearts, who only bowed and smiled in reply. + + `Idiot!' said the Queen, tossing her head impatiently; and, +turning to Alice, she went on, `What's your name, child?' + + `My name is Alice, so please your Majesty,' said Alice very +politely; but she added, to herself, `Why, they're only a pack of +cards, after all. I needn't be afraid of them!' + + `And who are THESE?' said the Queen, pointing to the three +gardeners who were lying round the rosetree; for, you see, as +they were lying on their faces, and the pattern on their backs +was the same as the rest of the pack, she could not tell whether +they were gardeners, or soldiers, or courtiers, or three of her +own children. + + `How should I know?' said Alice, surprised at her own courage. +`It's no business of MINE.' + + The Queen turned crimson with fury, and, after glaring at her +for a moment like a wild beast, screamed `Off with her head! +Off--' + + `Nonsense!' said Alice, very loudly and decidedly, and the +Queen was silent. + + The King laid his hand upon her arm, and timidly said +`Consider, my dear: she is only a child!' + + The Queen turned angrily away from him, and said to the Knave +`Turn them over!' + + The Knave did so, very carefully, with one foot. + + `Get up!' said the Queen, in a shrill, loud voice, and the +three gardeners instantly jumped up, and began bowing to the +King, the Queen, the royal children, and everybody else. + + `Leave off that!' screamed the Queen. `You make me giddy.' +And then, turning to the rose-tree, she went on, `What HAVE you +been doing here?' + + `May it please your Majesty,' said Two, in a very humble tone, +going down on one knee as he spoke, `we were trying--' + + `I see!' said the Queen, who had meanwhile been examining the +roses. `Off with their heads!' and the procession moved on, +three of the soldiers remaining behind to execute the unfortunate +gardeners, who ran to Alice for protection. + + `You shan't be beheaded!' said Alice, and she put them into a +large flower-pot that stood near. The three soldiers wandered +about for a minute or two, looking for them, and then quietly +marched off after the others. + + `Are their heads off?' shouted the Queen. + + `Their heads are gone, if it please your Majesty!' the soldiers +shouted in reply. + + `That's right!' shouted the Queen. `Can you play croquet?' + + The soldiers were silent, and looked at Alice, as the question +was evidently meant for her. + + `Yes!' shouted Alice. + + `Come on, then!' roared the Queen, and Alice joined the +procession, wondering very much what would happen next. + + `It's--it's a very fine day!' said a timid voice at her side. +She was walking by the White Rabbit, who was peeping anxiously +into her face. + + `Very,' said Alice: `--where's the Duchess?' + + `Hush! Hush!' said the Rabbit in a low, hurried tone. He +looked anxiously over his shoulder as he spoke, and then raised +himself upon tiptoe, put his mouth close to her ear, and +whispered `She's under sentence of execution.' + + `What for?' said Alice. + + `Did you say "What a pity!"?' the Rabbit asked. + + `No, I didn't,' said Alice: `I don't think it's at all a pity. +I said "What for?"' + + `She boxed the Queen's ears--' the Rabbit began. Alice gave a +little scream of laughter. `Oh, hush!' the Rabbit whispered in a +frightened tone. `The Queen will hear you! You see, she came +rather late, and the Queen said--' + + `Get to your places!' shouted the Queen in a voice of thunder, +and people began running about in all directions, tumbling up +against each other; however, they got settled down in a minute or +two, and the game began. Alice thought she had never seen such a +curious croquet-ground in her life; it was all ridges and +furrows; the balls were live hedgehogs, the mallets live +flamingoes, and the soldiers had to double themselves up and to +stand on their hands and feet, to make the arches. + + The chief difficulty Alice found at first was in managing her +flamingo: she succeeded in getting its body tucked away, +comfortably enough, under her arm, with its legs hanging down, +but generally, just as she had got its neck nicely straightened +out, and was going to give the hedgehog a blow with its head, it +WOULD twist itself round and look up in her face, with such a +puzzled expression that she could not help bursting out laughing: +and when she had got its head down, and was going to begin again, +it was very provoking to find that the hedgehog had unrolled +itself, and was in the act of crawling away: besides all this, +there was generally a ridge or furrow in the way wherever she +wanted to send the hedgehog to, and, as the doubled-up soldiers +were always getting up and walking off to other parts of the +ground, Alice soon came to the conclusion that it was a very +difficult game indeed. + + The players all played at once without waiting for turns, +quarrelling all the while, and fighting for the hedgehogs; and in +a very short time the Queen was in a furious passion, and went +stamping about, and shouting `Off with his head!' or `Off with +her head!' about once in a minute. + + Alice began to feel very uneasy: to be sure, she had not as +yet had any dispute with the Queen, but she knew that it might +happen any minute, `and then,' thought she, `what would become of +me? They're dreadfully fond of beheading people here; the great +wonder is, that there's any one left alive!' + + She was looking about for some way of escape, and wondering +whether she could get away without being seen, when she noticed a +curious appearance in the air: it puzzled her very much at +first, but, after watching it a minute or two, she made it out to +be a grin, and she said to herself `It's the Cheshire Cat: now I +shall have somebody to talk to.' + + `How are you getting on?' said the Cat, as soon as there was +mouth enough for it to speak with. + + Alice waited till the eyes appeared, and then nodded. `It's no +use speaking to it,' she thought, `till its ears have come, or at +least one of them.' In another minute the whole head appeared, +and then Alice put down her flamingo, and began an account of the +game, feeling very glad she had someone to listen to her. The +Cat seemed to think that there was enough of it now in sight, and +no more of it appeared. + + `I don't think they play at all fairly,' Alice began, in rather +a complaining tone, `and they all quarrel so dreadfully one can't +hear oneself speak--and they don't seem to have any rules in +particular; at least, if there are, nobody attends to them--and +you've no idea how confusing it is all the things being alive; +for instance, there's the arch I've got to go through next +walking about at the other end of the ground--and I should have +croqueted the Queen's hedgehog just now, only it ran away when it +saw mine coming!' + + `How do you like the Queen?' said the Cat in a low voice. + + `Not at all,' said Alice: `she's so extremely--' Just then +she noticed that the Queen was close behind her, listening: so +she went on, `--likely to win, that it's hardly worth while +finishing the game.' + + The Queen smiled and passed on. + + `Who ARE you talking to?' said the King, going up to Alice, and +looking at the Cat's head with great curiosity. + + `It's a friend of mine--a Cheshire Cat,' said Alice: `allow me +to introduce it.' + + `I don't like the look of it at all,' said the King: +`however, it may kiss my hand if it likes.' + + `I'd rather not,' the Cat remarked. + + `Don't be impertinent,' said the King, `and don't look at me +like that!' He got behind Alice as he spoke. + + `A cat may look at a king,' said Alice. `I've read that in +some book, but I don't remember where.' + + `Well, it must be removed,' said the King very decidedly, and +he called the Queen, who was passing at the moment, `My dear! I +wish you would have this cat removed!' + + The Queen had only one way of settling all difficulties, great +or small. `Off with his head!' she said, without even looking +round. + + `I'll fetch the executioner myself,' said the King eagerly, and +he hurried off. + + Alice thought she might as well go back, and see how the game +was going on, as she heard the Queen's voice in the distance, +screaming with passion. She had already heard her sentence three +of the players to be executed for having missed their turns, and +she did not like the look of things at all, as the game was in +such confusion that she never knew whether it was her turn or +not. So she went in search of her hedgehog. + + The hedgehog was engaged in a fight with another hedgehog, +which seemed to Alice an excellent opportunity for croqueting one +of them with the other: the only difficulty was, that her +flamingo was gone across to the other side of the garden, where +Alice could see it trying in a helpless sort of way to fly up +into a tree. + + By the time she had caught the flamingo and brought it back, +the fight was over, and both the hedgehogs were out of sight: +`but it doesn't matter much,' thought Alice, `as all the arches +are gone from this side of the ground.' So she tucked it away +under her arm, that it might not escape again, and went back for +a little more conversation with her friend. + + When she got back to the Cheshire Cat, she was surprised to +find quite a large crowd collected round it: there was a dispute +going on between the executioner, the King, and the Queen, who +were all talking at once, while all the rest were quite silent, +and looked very uncomfortable. + + The moment Alice appeared, she was appealed to by all three to +settle the question, and they repeated their arguments to her, +though, as they all spoke at once, she found it very hard indeed +to make out exactly what they said. + + The executioner's argument was, that you couldn't cut off a +head unless there was a body to cut it off from: that he had +never had to do such a thing before, and he wasn't going to begin +at HIS time of life. + + The King's argument was, that anything that had a head could be +beheaded, and that you weren't to talk nonsense. + + The Queen's argument was, that if something wasn't done about +it in less than no time she'd have everybody executed, all round. +(It was this last remark that had made the whole party look so +grave and anxious.) + + Alice could think of nothing else to say but `It belongs to the +Duchess: you'd better ask HER about it.' + + `She's in prison,' the Queen said to the executioner: `fetch +her here.' And the executioner went off like an arrow. + + The Cat's head began fading away the moment he was gone, and, +by the time he had come back with the Dutchess, it had entirely +disappeared; so the King and the executioner ran wildly up and down +looking for it, while the rest of the party went back to the game. + + + + CHAPTER IX + + The Mock Turtle's Story + + + `You can't think how glad I am to see you again, you dear old +thing!' said the Duchess, as she tucked her arm affectionately +into Alice's, and they walked off together. + + Alice was very glad to find her in such a pleasant temper, and +thought to herself that perhaps it was only the pepper that had +made her so savage when they met in the kitchen. + + `When I'M a Duchess,' she said to herself, (not in a very +hopeful tone though), `I won't have any pepper in my kitchen AT +ALL. Soup does very well without--Maybe it's always pepper that +makes people hot-tempered,' she went on, very much pleased at +having found out a new kind of rule, `and vinegar that makes them +sour--and camomile that makes them bitter--and--and barley-sugar +and such things that make children sweet-tempered. I only wish +people knew that: then they wouldn't be so stingy about it, you +know--' + + She had quite forgotten the Duchess by this time, and was a +little startled when she heard her voice close to her ear. +`You're thinking about something, my dear, and that makes you +forget to talk. I can't tell you just now what the moral of that +is, but I shall remember it in a bit.' + + `Perhaps it hasn't one,' Alice ventured to remark. + + `Tut, tut, child!' said the Duchess. `Everything's got a +moral, if only you can find it.' And she squeezed herself up +closer to Alice's side as she spoke. + + Alice did not much like keeping so close to her: first, +because the Duchess was VERY ugly; and secondly, because she was +exactly the right height to rest her chin upon Alice's shoulder, +and it was an uncomfortably sharp chin. However, she did not +like to be rude, so she bore it as well as she could. + + `The game's going on rather better now,' she said, by way of +keeping up the conversation a little. + + `'Tis so,' said the Duchess: `and the moral of that is--"Oh, +'tis love, 'tis love, that makes the world go round!"' + + `Somebody said,' Alice whispered, `that it's done by everybody +minding their own business!' + + `Ah, well! It means much the same thing,' said the Duchess, +digging her sharp little chin into Alice's shoulder as she added, +`and the moral of THAT is--"Take care of the sense, and the +sounds will take care of themselves."' + + `How fond she is of finding morals in things!' Alice thought to +herself. + + `I dare say you're wondering why I don't put my arm round your +waist,' the Duchess said after a pause: `the reason is, that I'm +doubtful about the temper of your flamingo. Shall I try the +experiment?' + + `HE might bite,' Alice cautiously replied, not feeling at all +anxious to have the experiment tried. + + `Very true,' said the Duchess: `flamingoes and mustard both +bite. And the moral of that is--"Birds of a feather flock +together."' + + `Only mustard isn't a bird,' Alice remarked. + + `Right, as usual,' said the Duchess: `what a clear way you +have of putting things!' + + `It's a mineral, I THINK,' said Alice. + + `Of course it is,' said the Duchess, who seemed ready to agree +to everything that Alice said; `there's a large mustard-mine near +here. And the moral of that is--"The more there is of mine, the +less there is of yours."' + + `Oh, I know!' exclaimed Alice, who had not attended to this +last remark, `it's a vegetable. It doesn't look like one, but it +is.' + + `I quite agree with you,' said the Duchess; `and the moral of +that is--"Be what you would seem to be"--or if you'd like it put +more simply--"Never imagine yourself not to be otherwise than +what it might appear to others that what you were or might have +been was not otherwise than what you had been would have appeared +to them to be otherwise."' + + `I think I should understand that better,' Alice said very +politely, `if I had it written down: but I can't quite follow it +as you say it.' + + `That's nothing to what I could say if I chose,' the Duchess +replied, in a pleased tone. + + `Pray don't trouble yourself to say it any longer than that,' +said Alice. + + `Oh, don't talk about trouble!' said the Duchess. `I make you +a present of everything I've said as yet.' + + `A cheap sort of present!' thought Alice. `I'm glad they don't +give birthday presents like that!' But she did not venture to +say it out loud. + + `Thinking again?' the Duchess asked, with another dig of her +sharp little chin. + + `I've a right to think,' said Alice sharply, for she was +beginning to feel a little worried. + + `Just about as much right,' said the Duchess, `as pigs have to fly; +and the m--' + + But here, to Alice's great surprise, the Duchess's voice died +away, even in the middle of her favourite word `moral,' and the +arm that was linked into hers began to tremble. Alice looked up, +and there stood the Queen in front of them, with her arms folded, +frowning like a thunderstorm. + + `A fine day, your Majesty!' the Duchess began in a low, weak +voice. + + `Now, I give you fair warning,' shouted the Queen, stamping on +the ground as she spoke; `either you or your head must be off, +and that in about half no time! Take your choice!' + + The Duchess took her choice, and was gone in a moment. + + `Let's go on with the game,' the Queen said to Alice; and Alice +was too much frightened to say a word, but slowly followed her +back to the croquet-ground. + + The other guests had taken advantage of the Queen's absence, +and were resting in the shade: however, the moment they saw her, +they hurried back to the game, the Queen merely remarking that a +moment's delay would cost them their lives. + + All the time they were playing the Queen never left off +quarrelling with the other players, and shouting `Off with his +head!' or `Off with her head!' Those whom she sentenced were +taken into custody by the soldiers, who of course had to leave +off being arches to do this, so that by the end of half an hour +or so there were no arches left, and all the players, except the +King, the Queen, and Alice, were in custody and under sentence of +execution. + + Then the Queen left off, quite out of breath, and said to +Alice, `Have you seen the Mock Turtle yet?' + + `No,' said Alice. `I don't even know what a Mock Turtle is.' + + `It's the thing Mock Turtle Soup is made from,' said the Queen. + + `I never saw one, or heard of one,' said Alice. + + `Come on, then,' said the Queen, `and he shall tell you his +history,' + + As they walked off together, Alice heard the King say in a low +voice, to the company generally, `You are all pardoned.' `Come, +THAT'S a good thing!' she said to herself, for she had felt quite +unhappy at the number of executions the Queen had ordered. + + They very soon came upon a Gryphon, lying fast asleep in the +sun. (IF you don't know what a Gryphon is, look at the picture.) +`Up, lazy thing!' said the Queen, `and take this young lady to +see the Mock Turtle, and to hear his history. I must go back and +see after some executions I have ordered'; and she walked off, +leaving Alice alone with the Gryphon. Alice did not quite like +the look of the creature, but on the whole she thought it would +be quite as safe to stay with it as to go after that savage +Queen: so she waited. + + The Gryphon sat up and rubbed its eyes: then it watched the +Queen till she was out of sight: then it chuckled. `What fun!' +said the Gryphon, half to itself, half to Alice. + + `What IS the fun?' said Alice. + + `Why, SHE,' said the Gryphon. `It's all her fancy, that: they +never executes nobody, you know. Come on!' + + `Everybody says "come on!" here,' thought Alice, as she went +slowly after it: `I never was so ordered about in all my life, +never!' + + They had not gone far before they saw the Mock Turtle in the +distance, sitting sad and lonely on a little ledge of rock, and, +as they came nearer, Alice could hear him sighing as if his heart +would break. She pitied him deeply. `What is his sorrow?' she +asked the Gryphon, and the Gryphon answered, very nearly in the +same words as before, `It's all his fancy, that: he hasn't got +no sorrow, you know. Come on!' + + So they went up to the Mock Turtle, who looked at them with +large eyes full of tears, but said nothing. + + `This here young lady,' said the Gryphon, `she wants for to +know your history, she do.' + + `I'll tell it her,' said the Mock Turtle in a deep, hollow +tone: `sit down, both of you, and don't speak a word till I've +finished.' + + So they sat down, and nobody spoke for some minutes. Alice +thought to herself, `I don't see how he can EVEN finish, if he +doesn't begin.' But she waited patiently. + + `Once,' said the Mock Turtle at last, with a deep sigh, `I was +a real Turtle.' + + These words were followed by a very long silence, broken only +by an occasional exclamation of `Hjckrrh!' from the Gryphon, and +the constant heavy sobbing of the Mock Turtle. Alice was very +nearly getting up and saying, `Thank you, sir, for your +interesting story,' but she could not help thinking there MUST be +more to come, so she sat still and said nothing. + + `When we were little,' the Mock Turtle went on at last, more +calmly, though still sobbing a little now and then, `we went to +school in the sea. The master was an old Turtle--we used to call +him Tortoise--' + + `Why did you call him Tortoise, if he wasn't one?' Alice asked. + + `We called him Tortoise because he taught us,' said the Mock +Turtle angrily: `really you are very dull!' + + `You ought to be ashamed of yourself for asking such a simple +question,' added the Gryphon; and then they both sat silent and +looked at poor Alice, who felt ready to sink into the earth. At +last the Gryphon said to the Mock Turtle, `Drive on, old fellow! +Don't be all day about it!' and he went on in these words: + + `Yes, we went to school in the sea, though you mayn't believe +it--' + + `I never said I didn't!' interrupted Alice. + + `You did,' said the Mock Turtle. + + `Hold your tongue!' added the Gryphon, before Alice could speak +again. The Mock Turtle went on. + + `We had the best of educations--in fact, we went to school +every day--' + + `I'VE been to a day-school, too,' said Alice; `you needn't be +so proud as all that.' + + `With extras?' asked the Mock Turtle a little anxiously. + + `Yes,' said Alice, `we learned French and music.' + + `And washing?' said the Mock Turtle. + + `Certainly not!' said Alice indignantly. + + `Ah! then yours wasn't a really good school,' said the Mock +Turtle in a tone of great relief. `Now at OURS they had at the +end of the bill, "French, music, AND WASHING--extra."' + + `You couldn't have wanted it much,' said Alice; `living at the +bottom of the sea.' + + `I couldn't afford to learn it.' said the Mock Turtle with a +sigh. `I only took the regular course.' + + `What was that?' inquired Alice. + + `Reeling and Writhing, of course, to begin with,' the Mock +Turtle replied; `and then the different branches of Arithmetic-- +Ambition, Distraction, Uglification, and Derision.' + + `I never heard of "Uglification,"' Alice ventured to say. `What is it?' + + The Gryphon lifted up both its paws in surprise. `What! Never +heard of uglifying!' it exclaimed. `You know what to beautify is, +I suppose?' + + `Yes,' said Alice doubtfully: `it means--to--make--anything--prettier.' + + `Well, then,' the Gryphon went on, `if you don't know what to +uglify is, you ARE a simpleton.' + + Alice did not feel encouraged to ask any more questions about +it, so she turned to the Mock Turtle, and said `What else had you +to learn?' + + `Well, there was Mystery,' the Mock Turtle replied, counting +off the subjects on his flappers, `--Mystery, ancient and modern, +with Seaography: then Drawling--the Drawling-master was an old +conger-eel, that used to come once a week: HE taught us +Drawling, Stretching, and Fainting in Coils.' + + `What was THAT like?' said Alice. + + `Well, I can't show it you myself,' the Mock Turtle said: `I'm +too stiff. And the Gryphon never learnt it.' + + `Hadn't time,' said the Gryphon: `I went to the Classics +master, though. He was an old crab, HE was.' + + `I never went to him,' the Mock Turtle said with a sigh: `he +taught Laughing and Grief, they used to say.' + + `So he did, so he did,' said the Gryphon, sighing in his turn; +and both creatures hid their faces in their paws. + + `And how many hours a day did you do lessons?' said Alice, in a +hurry to change the subject. + + `Ten hours the first day,' said the Mock Turtle: `nine the +next, and so on.' + + `What a curious plan!' exclaimed Alice. + + `That's the reason they're called lessons,' the Gryphon +remarked: `because they lessen from day to day.' + + This was quite a new idea to Alice, and she thought it over a +little before she made her next remark. `Then the eleventh day +must have been a holiday?' + + `Of course it was,' said the Mock Turtle. + + `And how did you manage on the twelfth?' Alice went on eagerly. + + `That's enough about lessons,' the Gryphon interrupted in a +very decided tone: `tell her something about the games now.' + + + + CHAPTER X + + The Lobster Quadrille + + + The Mock Turtle sighed deeply, and drew the back of one flapper +across his eyes. He looked at Alice, and tried to speak, but for +a minute or two sobs choked his voice. `Same as if he had a bone +in his throat,' said the Gryphon: and it set to work shaking him +and punching him in the back. At last the Mock Turtle recovered +his voice, and, with tears running down his cheeks, he went on +again:-- + + `You may not have lived much under the sea--' (`I haven't,' said Alice)-- +`and perhaps you were never even introduced to a lobster--' +(Alice began to say `I once tasted--' but checked herself hastily, +and said `No, never') `--so you can have no idea what a delightful +thing a Lobster Quadrille is!' + + `No, indeed,' said Alice. `What sort of a dance is it?' + + `Why,' said the Gryphon, `you first form into a line along the sea-shore--' + + `Two lines!' cried the Mock Turtle. `Seals, turtles, salmon, and so on; +then, when you've cleared all the jelly-fish out of the way--' + + `THAT generally takes some time,' interrupted the Gryphon. + + `--you advance twice--' + + `Each with a lobster as a partner!' cried the Gryphon. + + `Of course,' the Mock Turtle said: `advance twice, set to +partners--' + + `--change lobsters, and retire in same order,' continued the +Gryphon. + + `Then, you know,' the Mock Turtle went on, `you throw the--' + + `The lobsters!' shouted the Gryphon, with a bound into the air. + + `--as far out to sea as you can--' + + `Swim after them!' screamed the Gryphon. + + `Turn a somersault in the sea!' cried the Mock Turtle, +capering wildly about. + + `Change lobster's again!' yelled the Gryphon at the top of its voice. + + `Back to land again, and that's all the first figure,' said the +Mock Turtle, suddenly dropping his voice; and the two creatures, +who had been jumping about like mad things all this time, sat +down again very sadly and quietly, and looked at Alice. + + `It must be a very pretty dance,' said Alice timidly. + + `Would you like to see a little of it?' said the Mock Turtle. + + `Very much indeed,' said Alice. + + `Come, let's try the first figure!' said the Mock Turtle to the +Gryphon. `We can do without lobsters, you know. Which shall +sing?' + + `Oh, YOU sing,' said the Gryphon. `I've forgotten the words.' + + So they began solemnly dancing round and round Alice, every now +and then treading on her toes when they passed too close, and +waving their forepaws to mark the time, while the Mock Turtle +sang this, very slowly and sadly:-- + + +`"Will you walk a little faster?" said a whiting to a snail. +"There's a porpoise close behind us, and he's treading on my + tail. +See how eagerly the lobsters and the turtles all advance! +They are waiting on the shingle--will you come and join the +dance? + +Will you, won't you, will you, won't you, will you join the +dance? +Will you, won't you, will you, won't you, won't you join the +dance? + + +"You can really have no notion how delightful it will be +When they take us up and throw us, with the lobsters, out to + sea!" +But the snail replied "Too far, too far!" and gave a look + askance-- +Said he thanked the whiting kindly, but he would not join the + dance. + Would not, could not, would not, could not, would not join + the dance. + Would not, could not, would not, could not, could not join + the dance. + +`"What matters it how far we go?" his scaly friend replied. +"There is another shore, you know, upon the other side. +The further off from England the nearer is to France-- +Then turn not pale, beloved snail, but come and join the dance. + + Will you, won't you, will you, won't you, will you join the + dance? + Will you, won't you, will you, won't you, won't you join the + dance?"' + + + + `Thank you, it's a very interesting dance to watch,' said +Alice, feeling very glad that it was over at last: `and I do so +like that curious song about the whiting!' + + `Oh, as to the whiting,' said the Mock Turtle, `they--you've +seen them, of course?' + + `Yes,' said Alice, `I've often seen them at dinn--' she +checked herself hastily. + + `I don't know where Dinn may be,' said the Mock Turtle, `but +if you've seen them so often, of course you know what they're +like.' + + `I believe so,' Alice replied thoughtfully. `They have their +tails in their mouths--and they're all over crumbs.' + + `You're wrong about the crumbs,' said the Mock Turtle: +`crumbs would all wash off in the sea. But they HAVE their tails +in their mouths; and the reason is--' here the Mock Turtle +yawned and shut his eyes.--`Tell her about the reason and all +that,' he said to the Gryphon. + + `The reason is,' said the Gryphon, `that they WOULD go with +the lobsters to the dance. So they got thrown out to sea. So +they had to fall a long way. So they got their tails fast in +their mouths. So they couldn't get them out again. That's all.' + + `Thank you,' said Alice, `it's very interesting. I never knew +so much about a whiting before.' + + `I can tell you more than that, if you like,' said the +Gryphon. `Do you know why it's called a whiting?' + + `I never thought about it,' said Alice. `Why?' + + `IT DOES THE BOOTS AND SHOES.' the Gryphon replied very +solemnly. + + Alice was thoroughly puzzled. `Does the boots and shoes!' she +repeated in a wondering tone. + + `Why, what are YOUR shoes done with?' said the Gryphon. `I +mean, what makes them so shiny?' + + Alice looked down at them, and considered a little before she +gave her answer. `They're done with blacking, I believe.' + + `Boots and shoes under the sea,' the Gryphon went on in a deep +voice, `are done with a whiting. Now you know.' + + `And what are they made of?' Alice asked in a tone of great +curiosity. + + `Soles and eels, of course,' the Gryphon replied rather +impatiently: `any shrimp could have told you that.' + + `If I'd been the whiting,' said Alice, whose thoughts were +still running on the song, `I'd have said to the porpoise, "Keep +back, please: we don't want YOU with us!"' + + `They were obliged to have him with them,' the Mock Turtle +said: `no wise fish would go anywhere without a porpoise.' + + `Wouldn't it really?' said Alice in a tone of great surprise. + + `Of course not,' said the Mock Turtle: `why, if a fish came +to ME, and told me he was going a journey, I should say "With +what porpoise?"' + + `Don't you mean "purpose"?' said Alice. + + `I mean what I say,' the Mock Turtle replied in an offended +tone. And the Gryphon added `Come, let's hear some of YOUR +adventures.' + + `I could tell you my adventures--beginning from this morning,' +said Alice a little timidly: `but it's no use going back to +yesterday, because I was a different person then.' + + `Explain all that,' said the Mock Turtle. + + `No, no! The adventures first,' said the Gryphon in an +impatient tone: `explanations take such a dreadful time.' + + So Alice began telling them her adventures from the time when +she first saw the White Rabbit. She was a little nervous about +it just at first, the two creatures got so close to her, one on +each side, and opened their eyes and mouths so VERY wide, but she +gained courage as she went on. Her listeners were perfectly +quiet till she got to the part about her repeating `YOU ARE OLD, +FATHER WILLIAM,' to the Caterpillar, and the words all coming +different, and then the Mock Turtle drew a long breath, and said +`That's very curious.' + + `It's all about as curious as it can be,' said the Gryphon. + + `It all came different!' the Mock Turtle repeated +thoughtfully. `I should like to hear her try and repeat +something now. Tell her to begin.' He looked at the Gryphon as +if he thought it had some kind of authority over Alice. + + `Stand up and repeat "'TIS THE VOICE OF THE SLUGGARD,"' said +the Gryphon. + + `How the creatures order one about, and make one repeat +lessons!' thought Alice; `I might as well be at school at once.' +However, she got up, and began to repeat it, but her head was so +full of the Lobster Quadrille, that she hardly knew what she was +saying, and the words came very queer indeed:-- + + `'Tis the voice of the Lobster; I heard him declare, + "You have baked me too brown, I must sugar my hair." + As a duck with its eyelids, so he with his nose + Trims his belt and his buttons, and turns out his toes.' + + [later editions continued as follows + When the sands are all dry, he is gay as a lark, + And will talk in contemptuous tones of the Shark, + But, when the tide rises and sharks are around, + His voice has a timid and tremulous sound.] + + `That's different from what I used to say when I was a child,' +said the Gryphon. + + `Well, I never heard it before,' said the Mock Turtle; `but it +sounds uncommon nonsense.' + + Alice said nothing; she had sat down with her face in her +hands, wondering if anything would EVER happen in a natural way +again. + + `I should like to have it explained,' said the Mock Turtle. + + `She can't explain it,' said the Gryphon hastily. `Go on with +the next verse.' + + `But about his toes?' the Mock Turtle persisted. `How COULD +he turn them out with his nose, you know?' + + `It's the first position in dancing.' Alice said; but was +dreadfully puzzled by the whole thing, and longed to change the +subject. + + `Go on with the next verse,' the Gryphon repeated impatiently: +`it begins "I passed by his garden."' + + Alice did not dare to disobey, though she felt sure it would +all come wrong, and she went on in a trembling voice:-- + + `I passed by his garden, and marked, with one eye, + How the Owl and the Panther were sharing a pie--' + + [later editions continued as follows + The Panther took pie-crust, and gravy, and meat, + While the Owl had the dish as its share of the treat. + When the pie was all finished, the Owl, as a boon, + Was kindly permitted to pocket the spoon: + While the Panther received knife and fork with a growl, + And concluded the banquet--] + + `What IS the use of repeating all that stuff,' the Mock Turtle +interrupted, `if you don't explain it as you go on? It's by far +the most confusing thing I ever heard!' + + `Yes, I think you'd better leave off,' said the Gryphon: and +Alice was only too glad to do so. + + `Shall we try another figure of the Lobster Quadrille?' the +Gryphon went on. `Or would you like the Mock Turtle to sing you +a song?' + + `Oh, a song, please, if the Mock Turtle would be so kind,' +Alice replied, so eagerly that the Gryphon said, in a rather +offended tone, `Hm! No accounting for tastes! Sing her +"Turtle Soup," will you, old fellow?' + + The Mock Turtle sighed deeply, and began, in a voice sometimes +choked with sobs, to sing this:-- + + + `Beautiful Soup, so rich and green, + Waiting in a hot tureen! + Who for such dainties would not stoop? + Soup of the evening, beautiful Soup! + Soup of the evening, beautiful Soup! + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beautiful Soup! + + `Beautiful Soup! Who cares for fish, + Game, or any other dish? + Who would not give all else for two p + ennyworth only of beautiful Soup? + Pennyworth only of beautiful Soup? + Beau--ootiful Soo--oop! + Beau--ootiful Soo--oop! + Soo--oop of the e--e--evening, + Beautiful, beauti--FUL SOUP!' + + `Chorus again!' cried the Gryphon, and the Mock Turtle had +just begun to repeat it, when a cry of `The trial's beginning!' +was heard in the distance. + + `Come on!' cried the Gryphon, and, taking Alice by the hand, +it hurried off, without waiting for the end of the song. + + `What trial is it?' Alice panted as she ran; but the Gryphon +only answered `Come on!' and ran the faster, while more and more +faintly came, carried on the breeze that followed them, the +melancholy words:-- + + `Soo--oop of the e--e--evening, + Beautiful, beautiful Soup!' + + + + CHAPTER XI + + Who Stole the Tarts? + + + The King and Queen of Hearts were seated on their throne when +they arrived, with a great crowd assembled about them--all sorts +of little birds and beasts, as well as the whole pack of cards: +the Knave was standing before them, in chains, with a soldier on +each side to guard him; and near the King was the White Rabbit, +with a trumpet in one hand, and a scroll of parchment in the +other. In the very middle of the court was a table, with a large +dish of tarts upon it: they looked so good, that it made Alice +quite hungry to look at them--`I wish they'd get the trial done,' +she thought, `and hand round the refreshments!' But there seemed +to be no chance of this, so she began looking at everything about +her, to pass away the time. + + Alice had never been in a court of justice before, but she had +read about them in books, and she was quite pleased to find that +she knew the name of nearly everything there. `That's the +judge,' she said to herself, `because of his great wig.' + + The judge, by the way, was the King; and as he wore his crown +over the wig, (look at the frontispiece if you want to see how he +did it,) he did not look at all comfortable, and it was certainly +not becoming. + + `And that's the jury-box,' thought Alice, `and those twelve +creatures,' (she was obliged to say `creatures,' you see, because +some of them were animals, and some were birds,) `I suppose they +are the jurors.' She said this last word two or three times over +to herself, being rather proud of it: for she thought, and +rightly too, that very few little girls of her age knew the +meaning of it at all. However, `jury-men' would have done just +as well. + + The twelve jurors were all writing very busily on slates. +`What are they doing?' Alice whispered to the Gryphon. `They +can't have anything to put down yet, before the trial's begun.' + + `They're putting down their names,' the Gryphon whispered in +reply, `for fear they should forget them before the end of the +trial.' + + `Stupid things!' Alice began in a loud, indignant voice, but +she stopped hastily, for the White Rabbit cried out, `Silence in +the court!' and the King put on his spectacles and looked +anxiously round, to make out who was talking. + + Alice could see, as well as if she were looking over their +shoulders, that all the jurors were writing down `stupid things!' +on their slates, and she could even make out that one of them +didn't know how to spell `stupid,' and that he had to ask his +neighbour to tell him. `A nice muddle their slates'll be in +before the trial's over!' thought Alice. + + One of the jurors had a pencil that squeaked. This of course, +Alice could not stand, and she went round the court and got +behind him, and very soon found an opportunity of taking it +away. She did it so quickly that the poor little juror (it was +Bill, the Lizard) could not make out at all what had become of +it; so, after hunting all about for it, he was obliged to write +with one finger for the rest of the day; and this was of very +little use, as it left no mark on the slate. + + `Herald, read the accusation!' said the King. + + On this the White Rabbit blew three blasts on the trumpet, and +then unrolled the parchment scroll, and read as follows:-- + + `The Queen of Hearts, she made some tarts, + All on a summer day: + The Knave of Hearts, he stole those tarts, + And took them quite away!' + + `Consider your verdict,' the King said to the jury. + + `Not yet, not yet!' the Rabbit hastily interrupted. `There's +a great deal to come before that!' + + `Call the first witness,' said the King; and the White Rabbit +blew three blasts on the trumpet, and called out, `First +witness!' + + The first witness was the Hatter. He came in with a teacup in +one hand and a piece of bread-and-butter in the other. `I beg +pardon, your Majesty,' he began, `for bringing these in: but I +hadn't quite finished my tea when I was sent for.' + + `You ought to have finished,' said the King. `When did you +begin?' + + The Hatter looked at the March Hare, who had followed him into +the court, arm-in-arm with the Dormouse. `Fourteenth of March, I +think it was,' he said. + + `Fifteenth,' said the March Hare. + + `Sixteenth,' added the Dormouse. + + `Write that down,' the King said to the jury, and the jury +eagerly wrote down all three dates on their slates, and then +added them up, and reduced the answer to shillings and pence. + + `Take off your hat,' the King said to the Hatter. + + `It isn't mine,' said the Hatter. + + `Stolen!' the King exclaimed, turning to the jury, who +instantly made a memorandum of the fact. + + `I keep them to sell,' the Hatter added as an explanation; +`I've none of my own. I'm a hatter.' + + Here the Queen put on her spectacles, and began staring at the +Hatter, who turned pale and fidgeted. + + `Give your evidence,' said the King; `and don't be nervous, or +I'll have you executed on the spot.' + + This did not seem to encourage the witness at all: he kept +shifting from one foot to the other, looking uneasily at the +Queen, and in his confusion he bit a large piece out of his +teacup instead of the bread-and-butter. + + Just at this moment Alice felt a very curious sensation, which +puzzled her a good deal until she made out what it was: she was +beginning to grow larger again, and she thought at first she +would get up and leave the court; but on second thoughts she +decided to remain where she was as long as there was room for +her. + + `I wish you wouldn't squeeze so.' said the Dormouse, who was +sitting next to her. `I can hardly breathe.' + + `I can't help it,' said Alice very meekly: `I'm growing.' + + `You've no right to grow here,' said the Dormouse. + + `Don't talk nonsense,' said Alice more boldly: `you know +you're growing too.' + + `Yes, but I grow at a reasonable pace,' said the Dormouse: +`not in that ridiculous fashion.' And he got up very sulkily +and crossed over to the other side of the court. + + All this time the Queen had never left off staring at the +Hatter, and, just as the Dormouse crossed the court, she said to +one of the officers of the court, `Bring me the list of the +singers in the last concert!' on which the wretched Hatter +trembled so, that he shook both his shoes off. + + `Give your evidence,' the King repeated angrily, `or I'll have +you executed, whether you're nervous or not.' + + `I'm a poor man, your Majesty,' the Hatter began, in a +trembling voice, `--and I hadn't begun my tea--not above a week +or so--and what with the bread-and-butter getting so thin--and +the twinkling of the tea--' + + `The twinkling of the what?' said the King. + + `It began with the tea,' the Hatter replied. + + `Of course twinkling begins with a T!' said the King sharply. +`Do you take me for a dunce? Go on!' + + `I'm a poor man,' the Hatter went on, `and most things +twinkled after that--only the March Hare said--' + + `I didn't!' the March Hare interrupted in a great hurry. + + `You did!' said the Hatter. + + `I deny it!' said the March Hare. + + `He denies it,' said the King: `leave out that part.' + + `Well, at any rate, the Dormouse said--' the Hatter went on, +looking anxiously round to see if he would deny it too: but the +Dormouse denied nothing, being fast asleep. + + `After that,' continued the Hatter, `I cut some more bread- +and-butter--' + + `But what did the Dormouse say?' one of the jury asked. + + `That I can't remember,' said the Hatter. + + `You MUST remember,' remarked the King, `or I'll have you +executed.' + + The miserable Hatter dropped his teacup and bread-and-butter, +and went down on one knee. `I'm a poor man, your Majesty,' he +began. + + `You're a very poor speaker,' said the King. + + Here one of the guinea-pigs cheered, and was immediately +suppressed by the officers of the court. (As that is rather a +hard word, I will just explain to you how it was done. They had +a large canvas bag, which tied up at the mouth with strings: +into this they slipped the guinea-pig, head first, and then sat +upon it.) + + `I'm glad I've seen that done,' thought Alice. `I've so often +read in the newspapers, at the end of trials, "There was some +attempts at applause, which was immediately suppressed by the +officers of the court," and I never understood what it meant +till now.' + + `If that's all you know about it, you may stand down,' +continued the King. + + `I can't go no lower,' said the Hatter: `I'm on the floor, as +it is.' + + `Then you may SIT down,' the King replied. + + Here the other guinea-pig cheered, and was suppressed. + + `Come, that finished the guinea-pigs!' thought Alice. `Now we +shall get on better.' + + `I'd rather finish my tea,' said the Hatter, with an anxious +look at the Queen, who was reading the list of singers. + + `You may go,' said the King, and the Hatter hurriedly left the +court, without even waiting to put his shoes on. + + `--and just take his head off outside,' the Queen added to one +of the officers: but the Hatter was out of sight before the +officer could get to the door. + + `Call the next witness!' said the King. + + The next witness was the Duchess's cook. She carried the +pepper-box in her hand, and Alice guessed who it was, even before +she got into the court, by the way the people near the door began +sneezing all at once. + + `Give your evidence,' said the King. + + `Shan't,' said the cook. + + The King looked anxiously at the White Rabbit, who said in a +low voice, `Your Majesty must cross-examine THIS witness.' + + `Well, if I must, I must,' the King said, with a melancholy +air, and, after folding his arms and frowning at the cook till +his eyes were nearly out of sight, he said in a deep voice, `What +are tarts made of?' + + `Pepper, mostly,' said the cook. + + `Treacle,' said a sleepy voice behind her. + + `Collar that Dormouse,' the Queen shrieked out. `Behead that +Dormouse! Turn that Dormouse out of court! Suppress him! Pinch +him! Off with his whiskers!' + + For some minutes the whole court was in confusion, getting the +Dormouse turned out, and, by the time they had settled down +again, the cook had disappeared. + + `Never mind!' said the King, with an air of great relief. +`Call the next witness.' And he added in an undertone to the +Queen, `Really, my dear, YOU must cross-examine the next witness. +It quite makes my forehead ache!' + + Alice watched the White Rabbit as he fumbled over the list, +feeling very curious to see what the next witness would be like, +`--for they haven't got much evidence YET,' she said to herself. +Imagine her surprise, when the White Rabbit read out, at the top +of his shrill little voice, the name `Alice!' + + + + CHAPTER XII + + Alice's Evidence + + + `Here!' cried Alice, quite forgetting in the flurry of the +moment how large she had grown in the last few minutes, and she +jumped up in such a hurry that she tipped over the jury-box with +the edge of her skirt, upsetting all the jurymen on to the heads +of the crowd below, and there they lay sprawling about, reminding +her very much of a globe of goldfish she had accidentally upset +the week before. + + `Oh, I BEG your pardon!' she exclaimed in a tone of great +dismay, and began picking them up again as quickly as she could, +for the accident of the goldfish kept running in her head, and +she had a vague sort of idea that they must be collected at once +and put back into the jury-box, or they would die. + + `The trial cannot proceed,' said the King in a very grave +voice, `until all the jurymen are back in their proper places-- +ALL,' he repeated with great emphasis, looking hard at Alice as +he said do. + + Alice looked at the jury-box, and saw that, in her haste, she +had put the Lizard in head downwards, and the poor little thing +was waving its tail about in a melancholy way, being quite unable +to move. She soon got it out again, and put it right; `not that +it signifies much,' she said to herself; `I should think it +would be QUITE as much use in the trial one way up as the other.' + + As soon as the jury had a little recovered from the shock of +being upset, and their slates and pencils had been found and +handed back to them, they set to work very diligently to write +out a history of the accident, all except the Lizard, who seemed +too much overcome to do anything but sit with its mouth open, +gazing up into the roof of the court. + + `What do you know about this business?' the King said to +Alice. + + `Nothing,' said Alice. + + `Nothing WHATEVER?' persisted the King. + + `Nothing whatever,' said Alice. + + `That's very important,' the King said, turning to the jury. +They were just beginning to write this down on their slates, when +the White Rabbit interrupted: `UNimportant, your Majesty means, +of course,' he said in a very respectful tone, but frowning and +making faces at him as he spoke. + + `UNimportant, of course, I meant,' the King hastily said, and +went on to himself in an undertone, `important--unimportant-- +unimportant--important--' as if he were trying which word +sounded best. + + Some of the jury wrote it down `important,' and some +`unimportant.' Alice could see this, as she was near enough to +look over their slates; `but it doesn't matter a bit,' she +thought to herself. + + At this moment the King, who had been for some time busily +writing in his note-book, cackled out `Silence!' and read out +from his book, `Rule Forty-two. ALL PERSONS MORE THAN A MILE +HIGH TO LEAVE THE COURT.' + + Everybody looked at Alice. + + `I'M not a mile high,' said Alice. + + `You are,' said the King. + + `Nearly two miles high,' added the Queen. + + `Well, I shan't go, at any rate,' said Alice: `besides, +that's not a regular rule: you invented it just now.' + + `It's the oldest rule in the book,' said the King. + + `Then it ought to be Number One,' said Alice. + + The King turned pale, and shut his note-book hastily. +`Consider your verdict,' he said to the jury, in a low, trembling +voice. + + `There's more evidence to come yet, please your Majesty,' said +the White Rabbit, jumping up in a great hurry; `this paper has +just been picked up.' + + `What's in it?' said the Queen. + + `I haven't opened it yet,' said the White Rabbit, `but it seems +to be a letter, written by the prisoner to--to somebody.' + + `It must have been that,' said the King, `unless it was +written to nobody, which isn't usual, you know.' + + `Who is it directed to?' said one of the jurymen. + + `It isn't directed at all,' said the White Rabbit; `in fact, +there's nothing written on the OUTSIDE.' He unfolded the paper +as he spoke, and added `It isn't a letter, after all: it's a set +of verses.' + + `Are they in the prisoner's handwriting?' asked another of +they jurymen. + + `No, they're not,' said the White Rabbit, `and that's the +queerest thing about it.' (The jury all looked puzzled.) + + `He must have imitated somebody else's hand,' said the King. +(The jury all brightened up again.) + + `Please your Majesty,' said the Knave, `I didn't write it, and +they can't prove I did: there's no name signed at the end.' + + `If you didn't sign it,' said the King, `that only makes the +matter worse. You MUST have meant some mischief, or else you'd +have signed your name like an honest man.' + + There was a general clapping of hands at this: it was the +first really clever thing the King had said that day. + + `That PROVES his guilt,' said the Queen. + + `It proves nothing of the sort!' said Alice. `Why, you don't +even know what they're about!' + + `Read them,' said the King. + + The White Rabbit put on his spectacles. `Where shall I begin, +please your Majesty?' he asked. + + `Begin at the beginning,' the King said gravely, `and go on +till you come to the end: then stop.' + + These were the verses the White Rabbit read:-- + + `They told me you had been to her, + And mentioned me to him: + She gave me a good character, + But said I could not swim. + + He sent them word I had not gone + (We know it to be true): + If she should push the matter on, + What would become of you? + + I gave her one, they gave him two, + You gave us three or more; + They all returned from him to you, + Though they were mine before. + + If I or she should chance to be + Involved in this affair, + He trusts to you to set them free, + Exactly as we were. + + My notion was that you had been + (Before she had this fit) + An obstacle that came between + Him, and ourselves, and it. + + Don't let him know she liked them best, + For this must ever be + A secret, kept from all the rest, + Between yourself and me.' + + `That's the most important piece of evidence we've heard yet,' +said the King, rubbing his hands; `so now let the jury--' + + `If any one of them can explain it,' said Alice, (she had +grown so large in the last few minutes that she wasn't a bit +afraid of interrupting him,) `I'll give him sixpence. _I_ don't +believe there's an atom of meaning in it.' + + The jury all wrote down on their slates, `SHE doesn't believe +there's an atom of meaning in it,' but none of them attempted to +explain the paper. + + `If there's no meaning in it,' said the King, `that saves a +world of trouble, you know, as we needn't try to find any. And +yet I don't know,' he went on, spreading out the verses on his +knee, and looking at them with one eye; `I seem to see some +meaning in them, after all. "--SAID I COULD NOT SWIM--" you +can't swim, can you?' he added, turning to the Knave. + + The Knave shook his head sadly. `Do I look like it?' he said. +(Which he certainly did NOT, being made entirely of cardboard.) + + `All right, so far,' said the King, and he went on muttering +over the verses to himself: `"WE KNOW IT TO BE TRUE--" that's +the jury, of course-- "I GAVE HER ONE, THEY GAVE HIM TWO--" why, +that must be what he did with the tarts, you know--' + + `But, it goes on "THEY ALL RETURNED FROM HIM TO YOU,"' said +Alice. + + `Why, there they are!' said the King triumphantly, pointing to +the tarts on the table. `Nothing can be clearer than THAT. +Then again--"BEFORE SHE HAD THIS FIT--" you never had fits, my +dear, I think?' he said to the Queen. + + `Never!' said the Queen furiously, throwing an inkstand at the +Lizard as she spoke. (The unfortunate little Bill had left off +writing on his slate with one finger, as he found it made no +mark; but he now hastily began again, using the ink, that was +trickling down his face, as long as it lasted.) + + `Then the words don't FIT you,' said the King, looking round +the court with a smile. There was a dead silence. + + `It's a pun!' the King added in an offended tone, and +everybody laughed, `Let the jury consider their verdict,' the +King said, for about the twentieth time that day. + + `No, no!' said the Queen. `Sentence first--verdict afterwards.' + + `Stuff and nonsense!' said Alice loudly. `The idea of having +the sentence first!' + + `Hold your tongue!' said the Queen, turning purple. + + `I won't!' said Alice. + + `Off with her head!' the Queen shouted at the top of her voice. +Nobody moved. + + `Who cares for you?' said Alice, (she had grown to her full +size by this time.) `You're nothing but a pack of cards!' + + At this the whole pack rose up into the air, and came flying +down upon her: she gave a little scream, half of fright and half +of anger, and tried to beat them off, and found herself lying on +the bank, with her head in the lap of her sister, who was gently +brushing away some dead leaves that had fluttered down from the +trees upon her face. + + `Wake up, Alice dear!' said her sister; `Why, what a long +sleep you've had!' + + `Oh, I've had such a curious dream!' said Alice, and she told +her sister, as well as she could remember them, all these strange +Adventures of hers that you have just been reading about; and +when she had finished, her sister kissed her, and said, `It WAS a +curious dream, dear, certainly: but now run in to your tea; it's +getting late.' So Alice got up and ran off, thinking while she +ran, as well she might, what a wonderful dream it had been. + + But her sister sat still just as she left her, leaning her +head on her hand, watching the setting sun, and thinking of +little Alice and all her wonderful Adventures, till she too began +dreaming after a fashion, and this was her dream:-- + + First, she dreamed of little Alice herself, and once again the +tiny hands were clasped upon her knee, and the bright eager eyes +were looking up into hers--she could hear the very tones of her +voice, and see that queer little toss of her head to keep back +the wandering hair that WOULD always get into her eyes--and +still as she listened, or seemed to listen, the whole place +around her became alive the strange creatures of her little +sister's dream. + + The long grass rustled at her feet as the White Rabbit hurried +by--the frightened Mouse splashed his way through the +neighbouring pool--she could hear the rattle of the teacups as +the March Hare and his friends shared their never-ending meal, +and the shrill voice of the Queen ordering off her unfortunate +guests to execution--once more the pig-baby was sneezing on the +Duchess's knee, while plates and dishes crashed around it--once +more the shriek of the Gryphon, the squeaking of the Lizard's +slate-pencil, and the choking of the suppressed guinea-pigs, +filled the air, mixed up with the distant sobs of the miserable +Mock Turtle. + + So she sat on, with closed eyes, and half believed herself in +Wonderland, though she knew she had but to open them again, and +all would change to dull reality--the grass would be only +rustling in the wind, and the pool rippling to the waving of the +reeds--the rattling teacups would change to tinkling sheep- +bells, and the Queen's shrill cries to the voice of the shepherd +boy--and the sneeze of the baby, the shriek of the Gryphon, and +all thy other queer noises, would change (she knew) to the +confused clamour of the busy farm-yard--while the lowing of the +cattle in the distance would take the place of the Mock Turtle's +heavy sobs. + + Lastly, she pictured to herself how this same little sister of +hers would, in the after-time, be herself a grown woman; and how +she would keep, through all her riper years, the simple and +loving heart of her childhood: and how she would gather about +her other little children, and make THEIR eyes bright and eager +with many a strange tale, perhaps even with the dream of +Wonderland of long ago: and how she would feel with all their +simple sorrows, and find a pleasure in all their simple joys, +remembering her own child-life, and the happy summer days. + + THE END diff --git a/corejava第9版/gutenberg/crsto10.txt b/corejava第9版/gutenberg/crsto10.txt new file mode 100644 index 0000000..477f77a --- /dev/null +++ b/corejava第9版/gutenberg/crsto10.txt @@ -0,0 +1,62040 @@ +The Project Gutenberg Etext of The Count of Monte Cristo by Dumas +#2 in our series by Alexandre Dumas [Pere] + + +Copyright laws are changing all over the world, be sure to check +the copyright laws for your country before posting these files!! + +Please take a look at the important information in this header. +We encourage you to keep this file on your own disk, keeping an +electronic path open for the next readers. Do not remove this. + + +**Welcome To The World of Free Plain Vanilla Electronic Texts** + +**Etexts Readable By Both Humans and By Computers, Since 1971** + +*These Etexts Prepared By Hundreds of Volunteers and Donations* + +Information on contacting Project Gutenberg to get Etexts, and +further information is included below. We need your donations. + + +The Count of Monte Cristo + +by Alexandre Dumas [Pere] + +January, 1998 [Etext #1184] + + +The Project Gutenberg Etext of The Count of Monte Cristo by Dumas +*******This file should be named crsto10.txt or crsto10.zip****** + +Corrected EDITIONS of our etexts get a new NUMBER, crsto11.txt +VERSIONS based on separate sources get new LETTER, crsto10a.txt + + +Project Gutenberg Etexts are usually created from multiple editions, +all of which are in the Public Domain in the United States, unless a +copyright notice is included. Therefore, we do NOT keep these books +in compliance with any particular paper edition, usually otherwise. + + +We are now trying to release all our books one month in advance +of the official release dates, for time for better editing. + +Please note: neither this list nor its contents are final till +midnight of the last day of the month of any such announcement. +The official release date of all Project Gutenberg Etexts is at +Midnight, Central Time, of the last day of the stated month. A +preliminary version may often be posted for suggestion, comment +and editing by those who wish to do so. To be sure you have an +up to date first edition [xxxxx10x.xxx] please check file sizes +in the first week of the next month. Since our ftp program has +a bug in it that scrambles the date [tried to fix and failed] a +look at the file size will have to do, but we will try to see a +new copy has at least one byte more or less. + + +Information about Project Gutenberg (one page) + +We produce about two million dollars for each hour we work. The +fifty hours is one conservative estimate for how long it we take +to get any etext selected, entered, proofread, edited, copyright +searched and analyzed, the copyright letters written, etc. This +projected audience is one hundred million readers. If our value +per text is nominally estimated at one dollar then we produce $2 +million dollars per hour this year as we release thirty-two text +files per month, or 384 more Etexts in 1998 for a total of 1500+ +If these reach just 10% of the computerized population, then the +total should reach over 150 billion Etexts given away. + +The Goal of Project Gutenberg is to Give Away One Trillion Etext +Files by the December 31, 2001. [10,000 x 100,000,000=Trillion] +This is ten thousand titles each to one hundred million readers, +which is only 10% of the present number of computer users. 2001 +should have at least twice as many computer users as that, so it +will require us reaching less than 5% of the users in 2001. + + +We need your donations more than ever! + + +All donations should be made to "Project Gutenberg/CMU": and are +tax deductible to the extent allowable by law. (CMU = Carnegie- +Mellon University). + +For these and other matters, please mail to: + +Project Gutenberg +P. O. Box 2782 +Champaign, IL 61825 + +When all other email fails try our Executive Director: +Michael S. Hart + +We would prefer to send you this information by email +(Internet, Bitnet, Compuserve, ATTMAIL or MCImail). + +****** +If you have an FTP program (or emulator), please +FTP directly to the Project Gutenberg archives: +[Mac users, do NOT point and click. . .type] + +ftp uiarchive.cso.uiuc.edu +login: anonymous +password: your@login +cd etext/etext90 through /etext96 +or cd etext/articles [get suggest gut for more information] +dir [to see files] +get or mget [to get files. . .set bin for zip files] +GET INDEX?00.GUT +for a list of books +and +GET NEW GUT for general information +and +MGET GUT* for newsletters. + +**Information prepared by the Project Gutenberg legal advisor** +(Three Pages) + + +***START**THE SMALL PRINT!**FOR PUBLIC DOMAIN ETEXTS**START*** +Why is this "Small Print!" statement here? You know: lawyers. +They tell us you might sue us if there is something wrong with +your copy of this etext, even if you got it for free from +someone other than us, and even if what's wrong is not our +fault. So, among other things, this "Small Print!" statement +disclaims most of our liability to you. It also tells you how +you can distribute copies of this etext if you want to. + +*BEFORE!* YOU USE OR READ THIS ETEXT +By using or reading any part of this PROJECT GUTENBERG-tm +etext, you indicate that you understand, agree to and accept +this "Small Print!" statement. If you do not, you can receive +a refund of the money (if any) you paid for this etext by +sending a request within 30 days of receiving it to the person +you got it from. If you received this etext on a physical +medium (such as a disk), you must return it with your request. + +ABOUT PROJECT GUTENBERG-TM ETEXTS +This PROJECT GUTENBERG-tm etext, like most PROJECT GUTENBERG- +tm etexts, is a "public domain" work distributed by Professor +Michael S. Hart through the Project Gutenberg Association at +Carnegie-Mellon University (the "Project"). Among other +things, this means that no one owns a United States copyright +on or for this work, so the Project (and you!) can copy and +distribute it in the United States without permission and +without paying copyright royalties. Special rules, set forth +below, apply if you wish to copy and distribute this etext +under the Project's "PROJECT GUTENBERG" trademark. + +To create these etexts, the Project expends considerable +efforts to identify, transcribe and proofread public domain +works. Despite these efforts, the Project's etexts and any +medium they may be on may contain "Defects". Among other +things, Defects may take the form of incomplete, inaccurate or +corrupt data, transcription errors, a copyright or other +intellectual property infringement, a defective or damaged +disk or other etext medium, a computer virus, or computer +codes that damage or cannot be read by your equipment. + +LIMITED WARRANTY; DISCLAIMER OF DAMAGES +But for the "Right of Replacement or Refund" described below, +[1] the Project (and any other party you may receive this +etext from as a PROJECT GUTENBERG-tm etext) disclaims all +liability to you for damages, costs and expenses, including +legal fees, and [2] YOU HAVE NO REMEDIES FOR NEGLIGENCE OR +UNDER STRICT LIABILITY, OR FOR BREACH OF WARRANTY OR CONTRACT, +INCLUDING BUT NOT LIMITED TO INDIRECT, CONSEQUENTIAL, PUNITIVE +OR INCIDENTAL DAMAGES, EVEN IF YOU GIVE NOTICE OF THE +POSSIBILITY OF SUCH DAMAGES. + +If you discover a Defect in this etext within 90 days of +receiving it, you can receive a refund of the money (if any) +you paid for it by sending an explanatory note within that +time to the person you received it from. If you received it +on a physical medium, you must return it with your note, and +such person may choose to alternatively give you a replacement +copy. If you received it electronically, such person may +choose to alternatively give you a second opportunity to +receive it electronically. + +THIS ETEXT IS OTHERWISE PROVIDED TO YOU "AS-IS". NO OTHER +WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, ARE MADE TO YOU AS +TO THE ETEXT OR ANY MEDIUM IT MAY BE ON, INCLUDING BUT NOT +LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +Some states do not allow disclaimers of implied warranties or +the exclusion or limitation of consequential damages, so the +above disclaimers and exclusions may not apply to you, and you +may have other legal rights. + +INDEMNITY +You will indemnify and hold the Project, its directors, +officers, members and agents harmless from all liability, cost +and expense, including legal fees, that arise directly or +indirectly from any of the following that you do or cause: +[1] distribution of this etext, [2] alteration, modification, +or addition to the etext, or [3] any Defect. + +DISTRIBUTION UNDER "PROJECT GUTENBERG-tm" +You may distribute copies of this etext electronically, or by +disk, book or any other medium if you either delete this +"Small Print!" and all other references to Project Gutenberg, +or: + +[1] Only give exact copies of it. Among other things, this + requires that you do not remove, alter or modify the + etext or this "small print!" statement. You may however, + if you wish, distribute this etext in machine readable + binary, compressed, mark-up, or proprietary form, + including any form resulting from conversion by word pro- + cessing or hypertext software, but only so long as + *EITHER*: + + [*] The etext, when displayed, is clearly readable, and + does *not* contain characters other than those + intended by the author of the work, although tilde + (~), asterisk (*) and underline (_) characters may + be used to convey punctuation intended by the + author, and additional characters may be used to + indicate hypertext links; OR + + [*] The etext may be readily converted by the reader at + no expense into plain ASCII, EBCDIC or equivalent + form by the program that displays the etext (as is + the case, for instance, with most word processors); + OR + + [*] You provide, or agree to also provide on request at + no additional cost, fee or expense, a copy of the + etext in its original plain ASCII form (or in EBCDIC + or other equivalent proprietary form). + +[2] Honor the etext refund and replacement provisions of this + "Small Print!" statement. + +[3] Pay a trademark license fee to the Project of 20% of the + net profits you derive calculated using the method you + already use to calculate your applicable taxes. If you + don't derive profits, no royalty is due. Royalties are + payable to "Project Gutenberg Association/Carnegie-Mellon + University" within the 60 days following each + date you prepare (or were legally required to prepare) + your annual (or equivalent periodic) tax return. + +WHAT IF YOU *WANT* TO SEND MONEY EVEN IF YOU DON'T HAVE TO? +The Project gratefully accepts contributions in money, time, +scanning machines, OCR software, public domain etexts, royalty +free copyright licenses, and every other sort of contribution +you can think of. Money should be paid to "Project Gutenberg +Association / Carnegie-Mellon University". + +*END*THE SMALL PRINT! FOR PUBLIC DOMAIN ETEXTS*Ver.04.29.93*END* + + + + + +The Count of Monte Cristo + +by Alexandre Dumas [Pere] + + + + +Chapter 1 +Marseilles -- The Arrival. + +On the 24th of February, 1810, the look-out at Notre-Dame de +la Garde signalled the three-master, the Pharaon from +Smyrna, Trieste, and Naples. + +As usual, a pilot put off immediately, and rounding the +Chateau d'If, got on board the vessel between Cape Morgion +and Rion island. + +Immediately, and according to custom, the ramparts of Fort +Saint-Jean were covered with spectators; it is always an +event at Marseilles for a ship to come into port, especially +when this ship, like the Pharaon, has been built, rigged, +and laden at the old Phocee docks, and belongs to an owner +of the city. + +The ship drew on and had safely passed the strait, which +some volcanic shock has made between the Calasareigne and +Jaros islands; had doubled Pomegue, and approached the +harbor under topsails, jib, and spanker, but so slowly and +sedately that the idlers, with that instinct which is the +forerunner of evil, asked one another what misfortune could +have happened on board. However, those experienced in +navigation saw plainly that if any accident had occurred, it +was not to the vessel herself, for she bore down with all +the evidence of being skilfully handled, the anchor +a-cockbill, the jib-boom guys already eased off, and +standing by the side of the pilot, who was steering the +Pharaon towards the narrow entrance of the inner port, was a +young man, who, with activity and vigilant eye, watched +every motion of the ship, and repeated each direction of the +pilot. + +The vague disquietude which prevailed among the spectators +had so much affected one of the crowd that he did not await +the arrival of the vessel in harbor, but jumping into a +small skiff, desired to be pulled alongside the Pharaon, +which he reached as she rounded into La Reserve basin. + +When the young man on board saw this person approach, he +left his station by the pilot, and, hat in hand, leaned over +the ship's bulwarks. + +He was a fine, tall, slim young fellow of eighteen or +twenty, with black eyes, and hair as dark as a raven's wing; +and his whole appearance bespoke that calmness and +resolution peculiar to men accustomed from their cradle to +contend with danger. + +"Ah, is it you, Dantes?" cried the man in the skiff. "What's +the matter? and why have you such an air of sadness aboard?" + +"A great misfortune, M. Morrel," replied the young man, -- +"a great misfortune, for me especially! Off Civita Vecchia +we lost our brave Captain Leclere." + +"And the cargo?" inquired the owner, eagerly. + +"Is all safe, M. Morrel; and I think you will be satisfied +on that head. But poor Captain Leclere -- " + +"What happened to him?" asked the owner, with an air of +considerable resignation. "What happened to the worthy +captain?" + +"He died." + +"Fell into the sea?" + +"No, sir, he died of brain-fever in dreadful agony." Then +turning to the crew, he said, "Bear a hand there, to take in +sail!" + +All hands obeyed, and at once the eight or ten seamen who +composed the crew, sprang to their respective stations at +the spanker brails and outhaul, topsail sheets and halyards, +the jib downhaul, and the topsail clewlines and buntlines. +The young sailor gave a look to see that his orders were +promptly and accurately obeyed, and then turned again to the +owner. + +"And how did this misfortune occur?" inquired the latter, +resuming the interrupted conversation. + +"Alas, sir, in the most unexpected manner. After a long talk +with the harbor-master, Captain Leclere left Naples greatly +disturbed in mind. In twenty-four hours he was attacked by a +fever, and died three days afterwards. We performed the +usual burial service, and he is at his rest, sewn up in his +hammock with a thirty-six pound shot at his head and his +heels, off El Giglio island. We bring to his widow his sword +and cross of honor. It was worth while, truly," added the +young man with a melancholy smile, "to make war against the +English for ten years, and to die in his bed at last, like +everybody else." + +"Why, you see, Edmond," replied the owner, who appeared more +comforted at every moment, "we are all mortal, and the old +must make way for the young. If not, why, there would be no +promotion; and since you assure me that the cargo -- " + +"Is all safe and sound, M. Morrel, take my word for it; and +I advise you not to take 25,000 francs for the profits of +the voyage." + +Then, as they were just passing the Round Tower, the young +man shouted: "Stand by there to lower the topsails and jib; +brail up the spanker!" + +The order was executed as promptly as it would have been on +board a man-of-war. + +"Let go -- and clue up!" At this last command all the sails +were lowered, and the vessel moved almost imperceptibly +onwards. + +"Now, if you will come on board, M. Morrel," said Dantes, +observing the owner's impatience, "here is your supercargo, +M. Danglars, coming out of his cabin, who will furnish you +with every particular. As for me, I must look after the +anchoring, and dress the ship in mourning." + +The owner did not wait for a second invitation. He seized a +rope which Dantes flung to him, and with an activity that +would have done credit to a sailor, climbed up the side of +the ship, while the young man, going to his task, left the +conversation to Danglars, who now came towards the owner. He +was a man of twenty-five or twenty-six years of age, of +unprepossessing countenance, obsequious to his superiors, +insolent to his subordinates; and this, in addition to his +position as responsible agent on board, which is always +obnoxious to the sailors, made him as much disliked by the +crew as Edmond Dantes was beloved by them. + +"Well, M. Morrel," said Danglars, "you have heard of the +misfortune that has befallen us?" + +"Yes -- yes: poor Captain Leclere! He was a brave and an +honest man." + +"And a first-rate seaman, one who had seen long and +honorable service, as became a man charged with the +interests of a house so important as that of Morrel & Son," +replied Danglars. + +"But," replied the owner, glancing after Dantes, who was +watching the anchoring of his vessel, "it seems to me that a +sailor needs not be so old as you say, Danglars, to +understand his business, for our friend Edmond seems to +understand it thoroughly, and not to require instruction +from any one." + +"Yes," said Danglars, darting at Edmond a look gleaming with +hate. "Yes, he is young, and youth is invariably +self-confident. Scarcely was the captain's breath out of his +body when he assumed the command without consulting any one, +and he caused us to lose a day and a half at the Island of +Elba, instead of making for Marseilles direct." + +"As to taking command of the vessel," replied Morrel, "that +was his duty as captain's mate; as to losing a day and a +half off the Island of Elba, he was wrong, unless the vessel +needed repairs." + +"The vessel was in as good condition as I am, and as, I hope +you are, M. Morrel, and this day and a half was lost from +pure whim, for the pleasure of going ashore, and nothing +else." + +"Dantes," said the shipowner, turning towards the young man, +"come this way!" + +"In a moment, sir," answered Dantes, "and I'm with you." +Then calling to the crew, he said -- "Let go!" + +The anchor was instantly dropped, and the chain ran rattling +through the port-hole. Dantes continued at his post in spite +of the presence of the pilot, until this manoeuvre was +completed, and then he added, "Half-mast the colors, and +square the yards!" + +"You see," said Danglars, "he fancies himself captain +already, upon my word." + +"And so, in fact, he is," said the owner. + +"Except your signature and your partner's, M. Morrel." + +"And why should he not have this?" asked the owner; "he is +young, it is true, but he seems to me a thorough seaman, and +of full experience." + +A cloud passed over Danglars' brow. "Your pardon, M. +Morrel," said Dantes, approaching, "the vessel now rides at +anchor, and I am at your service. You hailed me, I think?" + +Danglars retreated a step or two. "I wished to inquire why +you stopped at the Island of Elba?" + +"I do not know, sir; it was to fulfil the last instructions +of Captain Leclere, who, when dying, gave me a packet for +Marshal Bertrand." + +"Then did you see him, Edmond?" + +"Who?" + +"The marshal." + +"Yes." + +Morrel looked around him, and then, drawing Dantes on one +side, he said suddenly -- "And how is the emperor?" + +"Very well, as far as I could judge from the sight of him." + +"You saw the emperor, then?" + +"He entered the marshal's apartment while I was there." + +"And you spoke to him?" + +"Why, it was he who spoke to me, sir," said Dantes, with a +smile. + +"And what did he say to you?" + +"Asked me questions about the vessel, the time she left +Marseilles, the course she had taken, and what was her +cargo. I believe, if she had not been laden, and I had been +her master, he would have bought her. But I told him I was +only mate, and that she belonged to the firm of Morrel & +Son. `Ah, yes,' he said, `I know them. The Morrels have been +shipowners from father to son; and there was a Morrel who +served in the same regiment with me when I was in garrison +at Valence.'" + +"Pardieu, and that is true!" cried the owner, greatly +delighted. "And that was Policar Morrel, my uncle, who was +afterwards a captain. Dantes, you must tell my uncle that +the emperor remembered him, and you will see it will bring +tears into the old soldier's eyes. Come, come," continued +he, patting Edmond's shoulder kindly, "you did very right, +Dantes, to follow Captain Leclere's instructions, and touch +at Elba, although if it were known that you had conveyed a +packet to the marshal, and had conversed with the emperor, +it might bring you into trouble." + +"How could that bring me into trouble, sir?" asked Dantes; +"for I did not even know of what I was the bearer; and the +emperor merely made such inquiries as he would of the first +comer. But, pardon me, here are the health officers and the +customs inspectors coming alongside." And the young man went +to the gangway. As he departed, Danglars approached, and +said, -- + +"Well, it appears that he has given you satisfactory reasons +for his landing at Porto-Ferrajo?" + +"Yes, most satisfactory, my dear Danglars." + +"Well, so much the better," said the supercargo; "for it is +not pleasant to think that a comrade has not done his duty." + +"Dantes has done his," replied the owner, "and that is not +saying much. It was Captain Leclere who gave orders for this +delay." + +"Talking of Captain Leclere, has not Dantes given you a +letter from him?" + +"To me? -- no -- was there one?" + +"I believe that, besides the packet, Captain Leclere +confided a letter to his care." + +"Of what packet are you speaking, Danglars?" + +"Why, that which Dantes left at Porto-Ferrajo." + +"How do you know he had a packet to leave at Porto-Ferrajo?" + +Danglars turned very red. + +"I was passing close to the door of the captain's cabin, +which was half open, and I saw him give the packet and +letter to Dantes." + +"He did not speak to me of it," replied the shipowner; "but +if there be any letter he will give it to me." + +Danglars reflected for a moment. "Then, M. Morrel, I beg of +you," said he, "not to say a word to Dantes on the subject. +I may have been mistaken." + +At this moment the young man returned; Danglars withdrew. + +"Well, my dear Dantes, are you now free?" inquired the +owner. + +"Yes, sir." + +"You have not been long detained." + +"No. I gave the custom-house officers a copy of our bill of +lading; and as to the other papers, they sent a man off with +the pilot, to whom I gave them." + +"Then you have nothing more to do here?" + +"No -- everything is all right now." + +"Then you can come and dine with me?" + +"I really must ask you to excuse me, M. Morrel. My first +visit is due to my father, though I am not the less grateful +for the honor you have done me." + +"Right, Dantes, quite right. I always knew you were a good +son." + +"And," inquired Dantes, with some hesitation, "do you know +how my father is?" + +"Well, I believe, my dear Edmond, though I have not seen him +lately." + +"Yes, he likes to keep himself shut up in his little room." + +"That proves, at least, that he has wanted for nothing +during your absence." + +Dantes smiled. "My father is proud, sir, and if he had not a +meal left, I doubt if he would have asked anything from +anyone, except from Heaven." + +"Well, then, after this first visit has been made we shall +count on you." + +"I must again excuse myself, M. Morrel, for after this first +visit has been paid I have another which I am most anxious +to pay." + +"True, Dantes, I forgot that there was at the Catalans some +one who expects you no less impatiently than your father -- +the lovely Mercedes." + +Dantes blushed. + +"Ah, ha," said the shipowner, "I am not in the least +surprised, for she has been to me three times, inquiring if +there were any news of the Pharaon. Peste, Edmond, you have +a very handsome mistress!" + +"She is not my mistress," replied the young sailor, gravely; +"she is my betrothed." + +"Sometimes one and the same thing," said Morrel, with a +smile. + +"Not with us, sir," replied Dantes. + +"Well, well, my dear Edmond," continued the owner, "don't +let me detain you. You have managed my affairs so well that +I ought to allow you all the time you require for your own. +Do you want any money?" + +"No, sir; I have all my pay to take -- nearly three months' +wages." + +"You are a careful fellow, Edmond." + +"Say I have a poor father, sir." + +"Yes, yes, I know how good a son you are, so now hasten away +to see your father. I have a son too, and I should be very +wroth with those who detained him from me after a three +months' voyage." + +"Then I have your leave, sir?" + +"Yes, if you have nothing more to say to me." + +"Nothing." + +"Captain Leclere did not, before he died, give you a letter +for me?" + +"He was unable to write, sir. But that reminds me that I +must ask your leave of absence for some days." + +"To get married?" + +"Yes, first, and then to go to Paris." + +"Very good; have what time you require, Dantes. It will take +quite six weeks to unload the cargo, and we cannot get you +ready for sea until three months after that; only be back +again in three months, for the Pharaon," added the owner, +patting the young sailor on the back, "cannot sail without +her captain." + +"Without her captain!" cried Dantes, his eyes sparkling with +animation; "pray mind what you say, for you are touching on +the most secret wishes of my heart. Is it really your +intention to make me captain of the Pharaon?" + +"If I were sole owner we'd shake hands on it now, my dear +Dantes, and call it settled; but I have a partner, and you +know the Italian proverb -- Chi ha compagno ha padrone -- +`He who has a partner has a master.' But the thing is at +least half done, as you have one out of two votes. Rely on +me to procure you the other; I will do my best." + +"Ah, M. Morrel," exclaimed the young seaman, with tears in +his eyes, and grasping the owner's hand, "M. Morrel, I thank +you in the name of my father and of Mercedes." + +"That's all right, Edmond. There's a providence that watches +over the deserving. Go to your father: go and see Mercedes, +and afterwards come to me." + +"Shall I row you ashore?" + +"No, thank you; I shall remain and look over the accounts +with Danglars. Have you been satisfied with him this +voyage?" + +"That is according to the sense you attach to the question, +sir. Do you mean is he a good comrade? No, for I think he +never liked me since the day when I was silly enough, after +a little quarrel we had, to propose to him to stop for ten +minutes at the island of Monte Cristo to settle the dispute +-- a proposition which I was wrong to suggest, and he quite +right to refuse. If you mean as responsible agent when you +ask me the question, I believe there is nothing to say +against him, and that you will be content with the way in +which he has performed his duty." + +"But tell me, Dantes, if you had command of the Pharaon +should you be glad to see Danglars remain?" + +"Captain or mate, M. Morrel, I shall always have the +greatest respect for those who possess the owners' +confidence." + +"That's right, that's right, Dantes! I see you are a +thoroughly good fellow, and will detain you no longer. Go, +for I see how impatient you are." + +"Then I have leave?" + +"Go, I tell you." + +"May I have the use of your skiff?" + +"Certainly." + +"Then, for the present, M. Morrel, farewell, and a thousand +thanks!" + +"I hope soon to see you again, my dear Edmond. Good luck to +you." + +The young sailor jumped into the skiff, and sat down in the +stern sheets, with the order that he be put ashore at La +Canebiere. The two oarsmen bent to their work, and the +little boat glided away as rapidly as possible in the midst +of the thousand vessels which choke up the narrow way which +leads between the two rows of ships from the mouth of the +harbor to the Quai d'Orleans. + +The shipowner, smiling, followed him with his eyes until he +saw him spring out on the quay and disappear in the midst of +the throng, which from five o'clock in the morning until +nine o'clock at night, swarms in the famous street of La +Canebiere, -- a street of which the modern Phocaeans are so +proud that they say with all the gravity in the world, and +with that accent which gives so much character to what is +said, "If Paris had La Canebiere, Paris would be a second +Marseilles." On turning round the owner saw Danglars behind +him, apparently awaiting orders, but in reality also +watching the young sailor, -- but there was a great +difference in the expression of the two men who thus +followed the movements of Edmond Dantes. + + + +Chapter 2 +Father and Son. + +We will leave Danglars struggling with the demon of hatred, +and endeavoring to insinuate in the ear of the shipowner +some evil suspicions against his comrade, and follow Dantes, +who, after having traversed La Canebiere, took the Rue de +Noailles, and entering a small house, on the left of the +Allees de Meillan, rapidly ascended four flights of a dark +staircase, holding the baluster with one hand, while with +the other he repressed the beatings of his heart, and paused +before a half-open door, from which he could see the whole +of a small room. + +This room was occupied by Dantes' father. The news of the +arrival of the Pharaon had not yet reached the old man, who, +mounted on a chair, was amusing himself by training with +trembling hand the nasturtiums and sprays of clematis that +clambered over the trellis at his window. Suddenly, he felt +an arm thrown around his body, and a well-known voice behind +him exclaimed, "Father -- dear father!" + +The old man uttered a cry, and turned round; then, seeing +his son, he fell into his arms, pale and trembling. + +"What ails you, my dearest father? Are you ill?" inquired +the young man, much alarmed. + +"No, no, my dear Edmond -- my boy -- my son! -- no; but I +did not expect you; and joy, the surprise of seeing you so +suddenly -- Ah, I feel as if I were going to die." + +"Come, come, cheer up, my dear father! 'Tis I -- really I! +They say joy never hurts, and so I came to you without any +warning. Come now, do smile, instead of looking at me so +solemnly. Here I am back again, and we are going to be +happy." + +"Yes, yes, my boy, so we will -- so we will," replied the +old man; "but how shall we be happy? Shall you never leave +me again? Come, tell me all the good fortune that has +befallen you." + +"God forgive me," said the young man, "for rejoicing at +happiness derived from the misery of others, but, Heaven +knows, I did not seek this good fortune; it has happened, +and I really cannot pretend to lament it. The good Captain +Leclere is dead, father, and it is probable that, with the +aid of M. Morrel, I shall have his place. Do you understand, +father? Only imagine me a captain at twenty, with a hundred +louis pay, and a share in the profits! Is this not more than +a poor sailor like me could have hoped for?" + +"Yes, my dear boy," replied the old man, "it is very +fortunate." + +"Well, then, with the first money I touch, I mean you to +have a small house, with a garden in which to plant +clematis, nasturtiums, and honeysuckle. But what ails you, +father? Are you not well?" + +"'Tis nothing, nothing; it will soon pass away" -- and as he +said so the old man's strength failed him, and he fell +backwards. + +"Come, come," said the young man, "a glass of wine, father, +will revive you. Where do you keep your wine?" + +"No, no; thanks. You need not look for it; I do not want +it," said the old man. + +"Yes, yes, father, tell me where it is," and he opened two +or three cupboards. + +"It is no use," said the old man, "there is no wine." + +"What, no wine?" said Dantes, turning pale, and looking +alternately at the hollow cheeks of the old man and the +empty cupboards. "What, no wine? Have you wanted money, +father?" + +"I want nothing now that I have you," said the old man. + +"Yet," stammered Dantes, wiping the perspiration from his +brow, -- "yet I gave you two hundred francs when I left, +three months ago." + +"Yes, yes, Edmond, that is true, but you forgot at that time +a little debt to our neighbor, Caderousse. He reminded me of +it, telling me if I did not pay for you, he would be paid by +M. Morrel; and so, you see, lest he might do you an injury" +-- + +"Well?" + +"Why, I paid him." + +"But," cried Dantes, "it was a hundred and forty francs I +owed Caderousse." + +"Yes," stammered the old man. + +"And you paid him out of the two hundred francs I left you?" + +The old man nodded. + +"So that you have lived for three months on sixty francs," +muttered Edmond. + +"You know how little I require," said the old man. + +"Heaven pardon me," cried Edmond, falling on his knees +before his father. + +"What are you doing?" + +"You have wounded me to the heart." + +"Never mind it, for I see you once more," said the old man; +"and now it's all over -- everything is all right again." + +"Yes, here I am," said the young man, "with a promising +future and a little money. Here, father, here!" he said, +"take this -- take it, and send for something immediately." +And he emptied his pockets on the table, the contents +consisting of a dozen gold pieces, five or six five-franc +pieces, and some smaller coin. The countenance of old Dantes +brightened. + +"Whom does this belong to?" he inquired. + +"To me, to you, to us! Take it; buy some provisions; be +happy, and to-morrow we shall have more." + +"Gently, gently," said the old man, with a smile; "and by +your leave I will use your purse moderately, for they would +say, if they saw me buy too many things at a time, that I +had been obliged to await your return, in order to be able +to purchase them." + +"Do as you please; but, first of all, pray have a servant, +father. I will not have you left alone so long. I have some +smuggled coffee and most capital tobacco, in a small chest +in the hold, which you shall have to-morrow. But, hush, here +comes somebody." + +"'Tis Caderousse, who has heard of your arrival, and no +doubt comes to congratulate you on your fortunate return." + +"Ah, lips that say one thing, while the heart thinks +another," murmured Edmond. "But, never mind, he is a +neighbor who has done us a service on a time, so he's +welcome." + +As Edmond paused, the black and bearded head of Caderousse +appeared at the door. He was a man of twenty-five or six, +and held a piece of cloth, which, being a tailor, he was +about to make into a coat-lining. + +"What, is it you, Edmond, back again?" said he, with a broad +Marseillaise accent, and a grin that displayed his +ivory-white teeth. + +"Yes, as you see, neighbor Caderousse; and ready to be +agreeable to you in any and every way," replied Dantes, but +ill-concealing his coldness under this cloak of civility. + +"Thanks -- thanks; but, fortunately, I do not want for +anything; and it chances that at times there are others who +have need of me." Dantes made a gesture. "I do not allude to +you, my boy. No! -- no! I lent you money, and you returned +it; that's like good neighbors, and we are quits." + +"We are never quits with those who oblige us," was Dantes' +reply; "for when we do not owe them money, we owe them +gratitude." + +"What's the use of mentioning that? What is done is done. +Let us talk of your happy return, my boy. I had gone on the +quay to match a piece of mulberry cloth, when I met friend +Danglars. `You at Marseilles?' -- `Yes,' says he. + +"`I thought you were at Smyrna.' -- `I was; but am now back +again.' + +"`And where is the dear boy, our little Edmond?' + +"`Why, with his father, no doubt,' replied Danglars. And so +I came," added Caderousse, "as fast as I could to have the +pleasure of shaking hands with a friend." + +"Worthy Caderousse!" said the old man, "he is so much +attached to us." + +"Yes, to be sure I am. I love and esteem you, because honest +folks are so rare. But it seems you have come back rich, my +boy," continued the tailor, looking askance at the handful +of gold and silver which Dantes had thrown on the table. + +The young man remarked the greedy glance which shone in the +dark eyes of his neighbor. "Eh," he said, negligently. "this +money is not mine. I was expressing to my father my fears +that he had wanted many things in my absence, and to +convince me he emptied his purse on the table. Come, father" +added Dantes, "put this money back in your box -- unless +neighbor Caderousse wants anything, and in that case it is +at his service." + +"No, my boy, no," said Caderousse. "I am not in any want, +thank God, my living is suited to my means. Keep your money +-- keep it, I say; -- one never has too much; -- but, at the +same time, my boy, I am as much obliged by your offer as if +I took advantage of it." + +"It was offered with good will," said Dantes. + +"No doubt, my boy; no doubt. Well, you stand well with M. +Morrel I hear, -- you insinuating dog, you!" + +"M. Morrel has always been exceedingly kind to me," replied +Dantes. + +"Then you were wrong to refuse to dine with him." + +"What, did you refuse to dine with him?" said old Dantes; +"and did he invite you to dine?" + +"Yes, my dear father," replied Edmond, smiling at his +father's astonishment at the excessive honor paid to his +son. + +"And why did you refuse, my son?" inquired the old man. + +"That I might the sooner see you again, my dear father," +replied the young man. "I was most anxious to see you." + +"But it must have vexed M. Morrel, good, worthy man," said +Caderousse. "And when you are looking forward to be captain, +it was wrong to annoy the owner." + +"But I explained to him the cause of my refusal," replied +Dantes, "and I hope he fully understood it." + +"Yes, but to be captain one must do a little flattery to +one's patrons." + +"I hope to be captain without that," said Dantes. + +"So much the better -- so much the better! Nothing will give +greater pleasure to all your old friends; and I know one +down there behind the Saint Nicolas citadel who will not be +sorry to hear it." + +"Mercedes?" said the old man. + +"Yes, my dear father, and with your permission, now I have +seen you, and know you are well and have all you require, I +will ask your consent to go and pay a visit to the +Catalans." + +"Go, my dear boy," said old Dantes: "and heaven bless you in +your wife, as it has blessed me in my son!" + +"His wife!" said Caderousse; "why, how fast you go on, +father Dantes; she is not his wife yet, as it seems to me." + +"So, but according to all probability she soon will be," +replied Edmond. + +"Yes -- yes," said Caderousse; "but you were right to return +as soon as possible, my boy." + +"And why?" + +"Because Mercedes is a very fine girl, and fine girls never +lack followers; she particularly has them by dozens." + +"Really?" answered Edmond, with a smile which had in it +traces of slight uneasiness. + +"Ah, yes," continued Caderousse, "and capital offers, too; +but you know, you will be captain, and who could refuse you +then?" + +"Meaning to say," replied Dantes, with a smile which but +ill-concealed his trouble, "that if I were not a captain" -- + +"Eh -- eh!" said Caderousse, shaking his head. + +"Come, come," said the sailor, "I have a better opinion than +you of women in general, and of Mercedes in particular; and +I am certain that, captain or not, she will remain ever +faithful to me." + +"So much the better -- so much the better," said Caderousse. +"When one is going to be married, there is nothing like +implicit confidence; but never mind that, my boy, -- go and +announce your arrival, and let her know all your hopes and +prospects." + +"I will go directly," was Edmond's reply; and, embracing his +father, and nodding to Caderousse, he left the apartment. + +Caderousse lingered for a moment, then taking leave of old +Dantes, he went downstairs to rejoin Danglars, who awaited +him at the corner of the Rue Senac. + +"Well," said Danglars, "did you see him?" + +"I have just left him," answered Caderousse. + +"Did he allude to his hope of being captain?" + +"He spoke of it as a thing already decided." + +"Indeed!" said Danglars, "he is in too much hurry, it +appears to me." + +"Why, it seems M. Morrel has promised him the thing." + +"So that he is quite elated about it?" + +"Why, yes, he is actually insolent over the matter -- has +already offered me his patronage, as if he were a grand +personage, and proffered me a loan of money, as though he +were a banker." + +"Which you refused?" + +"Most assuredly; although I might easily have accepted it, +for it was I who put into his hands the first silver he ever +earned; but now M. Dantes has no longer any occasion for +assistance -- he is about to become a captain." + +"Pooh!" said Danglars, "he is not one yet." + +"Ma foi, it will be as well if he is not," answered +Caderousse; "for if he should be, there will be really no +speaking to him." + +"If we choose," replied Danglars, "he will remain what he +is; and perhaps become even less than he is." + +"What do you mean?" + +"Nothing -- I was speaking to myself. And is he still in +love with the Catalane?" + +"Over head and ears; but, unless I am much mistaken, there +will be a storm in that quarter." + +"Explain yourself." + +"Why should I?" + +"It is more important than you think, perhaps. You do not +like Dantes?" + +"I never like upstarts." + +"Then tell me all you know about the Catalane." + +"I know nothing for certain; only I have seen things which +induce me to believe, as I told you, that the future captain +will find some annoyance in the vicinity of the Vieilles +Infirmeries." + +"What have you seen? -- come, tell me!" + +"Well, every time I have seen Mercedes come into the city +she has been accompanied by a tall, strapping, black-eyed +Catalan, with a red complexion, brown skin, and fierce air, +whom she calls cousin." + +"Really; and you think this cousin pays her attentions?" + +"I only suppose so. What else can a strapping chap of +twenty-one mean with a fine wench of seventeen?" + +"And you say that Dantes has gone to the Catalans?" + +"He went before I came down." + +"Let us go the same way; we will stop at La Reserve, and we +can drink a glass of La Malgue, whilst we wait for news." + +"Come along," said Caderousse; "but you pay the score." + +"Of course," replied Danglars; and going quickly to the +designated place, they called for a bottle of wine, and two +glasses. + +Pere Pamphile had seen Dantes pass not ten minutes before; +and assured that he was at the Catalans, they sat down under +the budding foliage of the planes and sycamores, in the +branches of which the birds were singing their welcome to +one of the first days of spring. + + + +Chapter 3 +The Catalans. + +Beyond a bare, weather-worn wall, about a hundred paces from +the spot where the two friends sat looking and listening as +they drank their wine, was the village of the Catalans. Long +ago this mysterious colony quitted Spain, and settled on the +tongue of land on which it is to this day. Whence it came no +one knew, and it spoke an unknown tongue. One of its chiefs, +who understood Provencal, begged the commune of Marseilles +to give them this bare and barren promontory, where, like +the sailors of old, they had run their boats ashore. The +request was granted; and three months afterwards, around the +twelve or fifteen small vessels which had brought these +gypsies of the sea, a small village sprang up. This village, +constructed in a singular and picturesque manner, half +Moorish, half Spanish, still remains, and is inhabited by +descendants of the first comers, who speak the language of +their fathers. For three or four centuries they have +remained upon this small promontory, on which they had +settled like a flight of seabirds, without mixing with the +Marseillaise population, intermarrying, and preserving their +original customs and the costume of their mother-country as +they have preserved its language. + +Our readers will follow us along the only street of this +little village, and enter with us one of the houses, which +is sunburned to the beautiful dead-leaf color peculiar to +the buildings of the country, and within coated with +whitewash, like a Spanish posada. A young and beautiful +girl, with hair as black as jet, her eyes as velvety as the +gazelle's, was leaning with her back against the wainscot, +rubbing in her slender delicately moulded fingers a bunch of +heath blossoms, the flowers of which she was picking off and +strewing on the floor; her arms, bare to the elbow, brown, +and modelled after those of the Arlesian Venus, moved with a +kind of restless impatience, and she tapped the earth with +her arched and supple foot, so as to display the pure and +full shape of her well-turned leg, in its red cotton, gray +and blue clocked, stocking. At three paces from her, seated +in a chair which he balanced on two legs, leaning his elbow +on an old worm-eaten table, was a tall young man of twenty, +or two-and-twenty, who was looking at her with an air in +which vexation and uneasiness were mingled. He questioned +her with his eyes, but the firm and steady gaze of the young +girl controlled his look. + +"You see, Mercedes," said the young man, "here is Easter +come round again; tell me, is this the moment for a +wedding?" + +"I have answered you a hundred times, Fernand, and really +you must be very stupid to ask me again." + +"Well, repeat it, -- repeat it, I beg of you, that I may at +last believe it! Tell me for the hundredth time that you +refuse my love, which had your mother's sanction. Make me +understand once for all that you are trifling with my +happiness, that my life or death are nothing to you. Ah, to +have dreamed for ten years of being your husband, Mercedes, +and to lose that hope, which was the only stay of my +existence!" + +"At least it was not I who ever encouraged you in that hope, +Fernand," replied Mercedes; "you cannot reproach me with the +slightest coquetry. I have always said to you, `I love you +as a brother; but do not ask from me more than sisterly +affection, for my heart is another's.' Is not this true, +Fernand?" + +"Yes, that is very true, Mercedes," replied the young man, +"Yes, you have been cruelly frank with me; but do you forget +that it is among the Catalans a sacred law to intermarry?" + +"You mistake, Fernand; it is not a law, but merely a custom, +and, I pray of you, do not cite this custom in your favor. +You are included in the conscription, Fernand, and are only +at liberty on sufferance, liable at any moment to be called +upon to take up arms. Once a soldier, what would you do with +me, a poor orphan, forlorn, without fortune, with nothing +but a half-ruined hut and a few ragged nets, the miserable +inheritance left by my father to my mother, and by my mother +to me? She has been dead a year, and you know, Fernand, I +have subsisted almost entirely on public charity. Sometimes +you pretend I am useful to you, and that is an excuse to +share with me the produce of your fishing, and I accept it, +Fernand, because you are the son of my father's brother, +because we were brought up together, and still more because +it would give you so much pain if I refuse. But I feel very +deeply that this fish which I go and sell, and with the +produce of which I buy the flax I spin, -- I feel very +keenly, Fernand, that this is charity." + +"And if it were, Mercedes, poor and lone as you are, you +suit me as well as the daughter of the first shipowner or +the richest banker of Marseilles! What do such as we desire +but a good wife and careful housekeeper, and where can I +look for these better than in you?" + +"Fernand," answered Mercedes, shaking her head, "a woman +becomes a bad manager, and who shall say she will remain an +honest woman, when she loves another man better than her +husband? Rest content with my friendship, for I say once +more that is all I can promise, and I will promise no more +than I can bestow." + +"I understand," replied Fernand, "you can endure your own +wretchedness patiently, but you are afraid to share mine. +Well, Mercedes, beloved by you, I would tempt fortune; you +would bring me good luck, and I should become rich. I could +extend my occupation as a fisherman, might get a place as +clerk in a warehouse, and become in time a dealer myself." + +"You could do no such thing, Fernand; you are a soldier, and +if you remain at the Catalans it is because there is no war; +so remain a fisherman, and contented with my friendship, as +I cannot give you more." + +"Well, I will do better, Mercedes. I will be a sailor; +instead of the costume of our fathers, which you despise, I +will wear a varnished hat, a striped shirt, and a blue +jacket, with an anchor on the buttons. Would not that dress +please you?" + +"What do you mean?" asked Mercedes, with an angry glance, -- +"what do you mean? I do not understand you?" + +"I mean, Mercedes, that you are thus harsh and cruel with +me, because you are expecting some one who is thus attired; +but perhaps he whom you await is inconstant, or if he is +not, the sea is so to him." + +"Fernand," cried Mercedes, "I believed you were +good-hearted, and I was mistaken! Fernand, you are wicked to +call to your aid jealousy and the anger of God! Yes, I will +not deny it, I do await, and I do love him of whom you +speak; and, if he does not return, instead of accusing him +of the inconstancy which you insinuate, I will tell you that +he died loving me and me only." The young girl made a +gesture of rage. "I understand you, Fernand; you would be +revenged on him because I do not love you; you would cross +your Catalan knife with his dirk. What end would that +answer? To lose you my friendship if he were conquered, and +see that friendship changed into hate if you were victor. +Believe me, to seek a quarrel with a man is a bad method of +pleasing the woman who loves that man. No, Fernand, you will +not thus give way to evil thoughts. Unable to have me for +your wife, you will content yourself with having me for your +friend and sister; and besides," she added, her eyes +troubled and moistened with tears, "wait, wait, Fernand; you +said just now that the sea was treacherous, and he has been +gone four months, and during these four months there have +been some terrible storms." + +Fernand made no reply, nor did he attempt to check the tears +which flowed down the cheeks of Mercedes, although for each +of these tears he would have shed his heart's blood; but +these tears flowed for another. He arose, paced a while up +and down the hut, and then, suddenly stopping before +Mercedes, with his eyes glowing and his hands clinched, -- +"Say, Mercedes," he said, "once for all, is this your final +determination?" + +"I love Edmond Dantes," the young girl calmly replied, "and +none but Edmond shall ever be my husband." + +"And you will always love him?" + +"As long as I live." + +Fernand let fall his head like a defeated man, heaved a sigh +that was like a groan, and then suddenly looking her full in +the face, with clinched teeth and expanded nostrils, said, +-- "But if he is dead" -- + +"If he is dead, I shall die too." + +"If he has forgotten you" -- + +"Mercedes!" called a joyous voice from without, -- +"Mercedes!" + +"Ah," exclaimed the young girl, blushing with delight, and +fairly leaping in excess of love, "you see he has not +forgotten me, for here he is!" And rushing towards the door, +she opened it, saying, "Here, Edmond, here I am!" + +Fernand, pale and trembling, drew back, like a traveller at +the sight of a serpent, and fell into a chair beside him. +Edmond and Mercedes were clasped in each other's arms. The +burning Marseilles sun, which shot into the room through the +open door, covered them with a flood of light. At first they +saw nothing around them. Their intense happiness isolated +them from all the rest of the world, and they only spoke in +broken words, which are the tokens of a joy so extreme that +they seem rather the expression of sorrow. Suddenly Edmond +saw the gloomy, pale, and threatening countenance of +Fernand, as it was defined in the shadow. By a movement for +which he could scarcely account to himself, the young +Catalan placed his hand on the knife at his belt. + +"Ah, your pardon," said Dantes, frowning in his turn; "I did +not perceive that there were three of us." Then, turning to +Mercedes, he inquired, "Who is this gentleman?" + +"One who will be your best friend, Dantes, for he is my +friend, my cousin, my brother; it is Fernand -- the man +whom, after you, Edmond, I love the best in the world. Do +you not remember him?" + +"Yes!" said Dantes, and without relinquishing Mercedes hand +clasped in one of his own, he extended the other to the +Catalan with a cordial air. But Fernand, instead of +responding to this amiable gesture, remained mute and +trembling. Edmond then cast his eyes scrutinizingly at the +agitated and embarrassed Mercedes, and then again on the +gloomy and menacing Fernand. This look told him all, and his +anger waxed hot. + +"I did not know, when I came with such haste to you, that I +was to meet an enemy here." + +"An enemy!" cried Mercedes, with an angry look at her +cousin. "An enemy in my house, do you say, Edmond! If I +believed that, I would place my arm under yours and go with +you to Marseilles, leaving the house to return to it no +more." + +Fernand's eye darted lightning. "And should any misfortune +occur to you, dear Edmond," she continued with the same +calmness which proved to Fernand that the young girl had +read the very innermost depths of his sinister thought, "if +misfortune should occur to you, I would ascend the highest +point of the Cape de Morgion and cast myself headlong from +it." + +Fernand became deadly pale. "But you are deceived, Edmond," +she continued. "You have no enemy here -- there is no one +but Fernand, my brother, who will grasp your hand as a +devoted friend." + +And at these words the young girl fixed her imperious look +on the Catalan, who, as if fascinated by it, came slowly +towards Edmond, and offered him his hand. His hatred, like a +powerless though furious wave, was broken against the strong +ascendancy which Mercedes exercised over him. Scarcely, +however, had he touched Edmond's hand than he felt he had +done all he could do, and rushed hastily out of the house. + +"Oh," he exclaimed, running furiously and tearing his hair +-- "Oh, who will deliver me from this man? Wretched -- +wretched that I am!" + +"Hallo, Catalan! Hallo, Fernand! where are you running to?" +exclaimed a voice. + +The young man stopped suddenly, looked around him, and +perceived Caderousse sitting at table with Danglars, under +an arbor. + +"Well", said Caderousse, "why don't you come? Are you really +in such a hurry that you have no time to pass the time of +day with your friends?" + +"Particularly when they have still a full bottle before +them," added Danglars. Fernand looked at them both with a +stupefied air, but did not say a word. + +"He seems besotted," said Danglars, pushing Caderousse with +his knee. "Are we mistaken, and is Dantes triumphant in +spite of all we have believed?" + +"Why, we must inquire into that," was Caderousse's reply; +and turning towards the young man, said, "Well, Catalan, +can't you make up your mind?" + +Fernand wiped away the perspiration steaming from his brow, +and slowly entered the arbor, whose shade seemed to restore +somewhat of calmness to his senses, and whose coolness +somewhat of refreshment to his exhausted body. + +"Good-day," said he. "You called me, didn't you?" And he +fell, rather than sat down, on one of the seats which +surrounded the table. + +"I called you because you were running like a madman, and I +was afraid you would throw yourself into the sea," said +Caderousse, laughing. "Why, when a man has friends, they are +not only to offer him a glass of wine, but, moreover, to +prevent his swallowing three or four pints of water +unnecessarily!" + +Fernand gave a groan, which resembled a sob, and dropped his +head into his hands, his elbows leaning on the table. + +"Well, Fernand, I must say," said Caderousse, beginning the +conversation, with that brutality of the common people in +which curiosity destroys all diplomacy, "you look uncommonly +like a rejected lover;" and he burst into a hoarse laugh. + +"Bah!" said Danglars, "a lad of his make was not born to be +unhappy in love. You are laughing at him, Caderousse." + +"No," he replied, "only hark how he sighs! Come, come, +Fernand," said Caderousse, "hold up your head, and answer +us. It's not polite not to reply to friends who ask news of +your health." + +"My health is well enough," said Fernand, clinching his +hands without raising his head. + +"Ah, you see, Danglars," said Caderousse, winking at his +friend, "this is how it is; Fernand, whom you see here, is a +good and brave Catalan, one of the best fishermen in +Marseilles, and he is in love with a very fine girl, named +Mercedes; but it appears, unfortunately, that the fine girl +is in love with the mate of the Pharaon; and as the Pharaon +arrived to-day -- why, you understand!" + +"No; I do not understand," said Danglars. + +"Poor Fernand has been dismissed," continued Caderousse. + +"Well, and what then?" said Fernand, lifting up his head, +and looking at Caderousse like a man who looks for some one +on whom to vent his anger; "Mercedes is not accountable to +any person, is she? Is she not free to love whomsoever she +will?" + +"Oh, if you take it in that sense," said Caderousse, "it is +another thing. But I thought you were a Catalan, and they +told me the Catalans were not men to allow themselves to be +supplanted by a rival. It was even told me that Fernand, +especially, was terrible in his vengeance." + +Fernand smiled piteously. "A lover is never terrible," he +said. + +"Poor fellow!" remarked Danglars, affecting to pity the +young man from the bottom of his heart. "Why, you see, he +did not expect to see Dantes return so suddenly -- he +thought he was dead, perhaps; or perchance faithless! These +things always come on us more severely when they come +suddenly." + +"Ah, ma foi, under any circumstances," said Caderousse, who +drank as he spoke, and on whom the fumes of the wine began +to take effect, -- "under any circumstances Fernand is not +the only person put out by the fortunate arrival of Dantes; +is he, Danglars?" + +"No, you are right -- and I should say that would bring him +ill-luck." + +"Well, never mind," answered Caderousse, pouring out a glass +of wine for Fernand, and filling his own for the eighth or +ninth time, while Danglars had merely sipped his. "Never +mind -- in the meantime he marries Mercedes -- the lovely +Mercedes -- at least he returns to do that." + +During this time Danglars fixed his piercing glance on the +young man, on whose heart Caderousse's words fell like +molten lead. + +"And when is the wedding to be?" he asked. + +"Oh, it is not yet fixed!" murmured Fernand. + +"No, but it will be," said Caderousse, "as surely as Dantes +will be captain of the Pharaon -- eh, Danglars?" + +Danglars shuddered at this unexpected attack, and turned to +Caderousse, whose countenance he scrutinized, to try and +detect whether the blow was premeditated; but he read +nothing but envy in a countenance already rendered brutal +and stupid by drunkenness. + +"Well," said he, filling the glasses, "let us drink to +Captain Edmond Dantes, husband of the beautiful Catalane!" + +Caderousse raised his glass to his mouth with unsteady hand, +and swallowed the contents at a gulp. Fernand dashed his on +the ground. + +"Eh, eh, eh!" stammered Caderousse. "What do I see down +there by the wall, in the direction of the Catalans? Look, +Fernand, your eyes are better than mine. I believe I see +double. You know wine is a deceiver; but I should say it was +two lovers walking side by side, and hand in hand. Heaven +forgive me, they do not know that we can see them, and they +are actually embracing!" + +Danglars did not lose one pang that Fernand endured. + +"Do you know them, Fernand?" he said. + +"Yes," was the reply, in a low voice. "It is Edmond and +Mercedes!" + +"Ah, see there, now!" said Caderousse; "and I did not +recognize them! Hallo, Dantes! hello, lovely damsel! Come +this way, and let us know when the wedding is to be, for +Fernand here is so obstinate he will not tell us." + +"Hold your tongue, will you?" said Danglars, pretending to +restrain Caderousse, who, with the tenacity of drunkards, +leaned out of the arbor. "Try to stand upright, and let the +lovers make love without interruption. See, look at Fernand, +and follow his example; he is well-behaved!" + +Fernand, probably excited beyond bearing, pricked by +Danglars, as the bull is by the bandilleros, was about to +rush out; for he had risen from his seat, and seemed to be +collecting himself to dash headlong upon his rival, when +Mercedes, smiling and graceful, lifted up her lovely head, +and looked at them with her clear and bright eyes. At this +Fernand recollected her threat of dying if Edmond died, and +dropped again heavily on his seat. Danglars looked at the +two men, one after the other, the one brutalized by liquor, +the other overwhelmed with love. + +"I shall get nothing from these fools," he muttered; "and I +am very much afraid of being here between a drunkard and a +coward. Here's an envious fellow making himself boozy on +wine when he ought to be nursing his wrath, and here is a +fool who sees the woman he loves stolen from under his nose +and takes on like a big baby. Yet this Catalan has eyes that +glisten like those of the vengeful Spaniards, Sicilians, and +Calabrians, and the other has fists big enough to crush an +ox at one blow. Unquestionably, Edmond's star is in the +ascendant, and he will marry the splendid girl -- he will be +captain, too, and laugh at us all, unless" -- a sinister +smile passed over Danglars' lips -- "unless I take a hand in +the affair," he added. + +"Hallo!" continued Caderousse, half-rising, and with his +fist on the table, "hallo, Edmond! do you not see your +friends, or are you too proud to speak to them?" + +"No, my dear fellow!" replied Dantes, "I am not proud, but I +am happy, and happiness blinds, I think, more than pride." + +"Ah, very well, that's an explanation!" said Caderousse. +"How do you do, Madame Dantes?" + +Mercedes courtesied gravely, and said -- "That is not my +name, and in my country it bodes ill fortune, they say, to +call a young girl by the name of her betrothed before he +becomes her husband. So call me Mercedes, if you please." + +"We must excuse our worthy neighbor, Caderousse," said +Dantes, "he is so easily mistaken." + +"So, then, the wedding is to take place immediately, M. +Dantes," said Danglars, bowing to the young couple. + +"As soon as possible, M. Danglars; to-day all preliminaries +will be arranged at my father's, and to-morrow, or next day +at latest, the wedding festival here at La Reserve. My +friends will be there, I hope; that is to say, you are +invited, M. Danglars, and you, Caderousse." + +"And Fernand," said Caderousse with a chuckle; "Fernand, +too, is invited!" + +"My wife's brother is my brother," said Edmond; "and we, +Mercedes and I, should be very sorry if he were absent at +such a time." + +Fernand opened his mouth to reply, but his voice died on his +lips, and he could not utter a word. + +"To-day the preliminaries, to-morrow or next day the +ceremony! You are in a hurry, captain!" + +"Danglars," said Edmond, smiling, "I will say to you as +Mercedes said just now to Caderousse, `Do not give me a +title which does not belong to me'; that may bring me bad +luck." + +"Your pardon," replied Danglars, "I merely said you seemed +in a hurry, and we have lots of time; the Pharaon cannot be +under weigh again in less than three months." + +"We are always in a hurry to be happy, M. Danglars; for when +we have suffered a long time, we have great difficulty in +believing in good fortune. But it is not selfishness alone +that makes me thus in haste; I must go to Paris." + +"Ah, really? -- to Paris! and will it be the first time you +have ever been there, Dantes?" + +"Yes." + +"Have you business there?" + +"Not of my own; the last commission of poor Captain Leclere; +you know to what I allude, Danglars -- it is sacred. +Besides, I shall only take the time to go and return." + +"Yes, yes, I understand," said Danglars, and then in a low +tone, he added, "To Paris, no doubt to deliver the letter +which the grand marshal gave him. Ah, this letter gives me +an idea -- a capital idea! Ah; Dantes, my friend, you are +not yet registered number one on board the good ship +Pharaon;" then turning towards Edmond, who was walking away, +"A pleasant journey," he cried. + +"Thank you," said Edmond with a friendly nod, and the two +lovers continued on their way, as calm and joyous as if they +were the very elect of heaven. + + + +Chapter 4 +Conspiracy. + +Danglars followed Edmond and Mercedes with his eyes until +the two lovers disappeared behind one of the angles of Fort +Saint Nicolas, then turning round, he perceived Fernand, who +had fallen, pale and trembling, into his chair, while +Caderousse stammered out the words of a drinking-song. + +"Well, my dear sir," said Danglars to Fernand, "here is a +marriage which does not appear to make everybody happy." + +"It drives me to despair," said Fernand. + +"Do you, then, love Mercedes?" + +"I adore her!" + +"For long?" + +"As long as I have known her -- always." + +"And you sit there, tearing your hair, instead of seeking to +remedy your condition; I did not think that was the way of +your people." + +"What would you have me do?" said Fernand. + +"How do I know? Is it my affair? I am not in love with +Mademoiselle Mercedes; but for you -- in the words of the +gospel, seek, and you shall find." + +"I have found already." + +"What?" + +"I would stab the man, but the woman told me that if any +misfortune happened to her betrothed, she would kill +herself." + +"Pooh! Women say those things, but never do them." + +"You do not know Mercedes; what she threatens she will do." + +"Idiot!" muttered Danglars; "whether she kill herself or +not, what matter, provided Dantes is not captain?" + +"Before Mercedes should die," replied Fernand, with the +accents of unshaken resolution, "I would die myself!" + +"That's what I call love!" said Caderousse with a voice more +tipsy than ever. "That's love, or I don't know what love +is." + +"Come," said Danglars, "you appear to me a good sort of +fellow, and hang me, I should like to help you, but" -- + +"Yes," said Caderousse, "but how?" + +"My dear fellow," replied Danglars, "you are three parts +drunk; finish the bottle, and you will be completely so. +Drink then, and do not meddle with what we are discussing, +for that requires all one's wit and cool judgment." + +"I -- drunk!" said Caderousse; "well that's a good one! I +could drink four more such bottles; they are no bigger than +cologne flasks. Pere Pamphile, more wine!" and Caderousse +rattled his glass upon the table. + +"You were saving, sir" -- said Fernand, awaiting with great +anxiety the end of this interrupted remark. + +"What was I saying? I forget. This drunken Caderousse has +made me lose the thread of my sentence." + +"Drunk, if you like; so much the worse for those who fear +wine, for it is because they have bad thoughts which they +are afraid the liquor will extract from their hearts;" and +Caderousse began to sing the two last lines of a song very +popular at the time, -- + +`Tous les mechants sont beuveurs d'eau; +C'est bien prouve par le deluge.'* + +* "The wicked are great drinkers of water +As the flood proved once for all." + +"You said, sir, you would like to help me, but" -- + +"Yes; but I added, to help you it would be sufficient that +Dantes did not marry her you love; and the marriage may +easily be thwarted, methinks, and yet Dantes need not die." + +"Death alone can separate them," remarked Fernand. + +"You talk like a noodle, my friend," said Caderousse; "and +here is Danglars, who is a wide-awake, clever, deep fellow, +who will prove to you that you are wrong. Prove it, +Danglars. I have answered for you. Say there is no need why +Dantes should die; it would, indeed, be a pity he should. +Dantes is a good fellow; I like Dantes. Dantes, your +health." + +Fernand rose impatiently. "Let him run on," said Danglars, +restraining the young man; "drunk as he is, he is not much +out in what he says. Absence severs as well as death, and if +the walls of a prison were between Edmond and Mercedes they +would be as effectually separated as if he lay under a +tombstone." + +"Yes; but one gets out of prison," said Caderousse, who, +with what sense was left him, listened eagerly to the +conversation, "and when one gets out and one's name is +Edmond Dantes, one seeks revenge" -- + +"What matters that?" muttered Fernand. + +"And why, I should like to know," persisted Caderousse, +"should they put Dantes in prison? he has not robbed or +killed or murdered." + +"Hold your tongue!" said Danglars. + +"I won't hold my tongue!" replied Caderousse; "I say I want +to know why they should put Dantes in prison; I like Dantes; +Dantes, your health!" and he swallowed another glass of +wine. + +Danglars saw in the muddled look of the tailor the progress +of his intoxication, and turning towards Fernand, said, +"Well, you understand there is no need to kill him." + +"Certainly not, if, as you said just now, you have the means +of having Dantes arrested. Have you that means?" + +"It is to be found for the searching. But why should I +meddle in the matter? it is no affair of mine."; + +"I know not why you meddle," said Fernand, seizing his arm; +"but this I know, you have some motive of personal hatred +against Dantes, for he who himself hates is never mistaken +in the sentiments of others." + +"I! -- motives of hatred against Dantes? None, on my word! I +saw you were unhappy, and your unhappiness interested me; +that's all; but since you believe I act for my own account, +adieu, my dear friend, get out of the affair as best you +may;" and Danglars rose as if he meant to depart. + +"No, no," said Fernand, restraining him, "stay! It is of +very little consequence to me at the end of the matter +whether you have any angry feeling or not against Dantes. I +hate him! I confess it openly. Do you find the means, I will +execute it, provided it is not to kill the man, for Mercedes +has declared she will kill herself if Dantes is killed." + +Caderousse, who had let his head drop on the table, now +raised it, and looking at Fernand with his dull and fishy +eyes, he said, -- "Kill Dantes! who talks of killing Dantes? +I won't have him killed -- I won't! He's my friend, and this +morning offered to share his money with me, as I shared mine +with him. I won't have Dantes killed -- I won't!" + +"And who has said a word about killing him, muddlehead?" +replied Danglars. "We were merely joking; drink to his +health," he added, filling Caderousse's glass, "and do not +interfere with us." + +"Yes, yes, Dantes' good health!" said Caderousse, emptying +his glass, "here's to his health! his health -- hurrah!" + +"But the means -- the means?" said Fernand. + +"Have you not hit upon any?" asked Danglars. + +"No! -- you undertook to do so." + +"True," replied Danglars; "the French have the superiority +over the Spaniards, that the Spaniards ruminate, while the +French invent." + +"Do you invent, then," said Fernand impatiently. + +"Waiter," said Danglars, "pen, ink, and paper." + +"Pen, ink, and paper," muttered Fernand. + +"Yes; I am a supercargo; pen, ink, and paper are my tools, +and without my tools I am fit for nothing." + +"Pen, ink, and paper, then," called Fernand loudly. + +"There's what you want on that table," said the waiter. + +"Bring them here." The waiter did as he was desired. + +"When one thinks," said Caderousse, letting his hand drop on +the paper, "there is here wherewithal to kill a man more +sure than if we waited at the corner of a wood to +assassinate him! I have always had more dread of a pen, a +bottle of ink, and a sheet of paper, than of a sword or +pistol." + +"The fellow is not so drunk as he appears to be," said +Danglars. "Give him some more wine, Fernand." Fernand filled +Caderousse's glass, who, like the confirmed toper he was, +lifted his hand from the paper and seized the glass. + +The Catalan watched him until Caderousse, almost overcome by +this fresh assault on his senses, rested, or rather dropped, +his glass upon the table. + +"Well!" resumed the Catalan, as he saw the final glimmer of +Caderousse's reason vanishing before the last glass of wine. + +"Well, then, I should say, for instance," resumed Danglars, +"that if after a voyage such as Dantes has just made, in +which he touched at the Island of Elba, some one were to +denounce him to the king's procureur as a Bonapartist agent" +-- + +"I will denounce him!" exclaimed the young man hastily. + +"Yes, but they will make you then sign your declaration, and +confront you with him you have denounced; I will supply you +with the means of supporting your accusation, for I know the +fact well. But Dantes cannot remain forever in prison, and +one day or other he will leave it, and the day when he comes +out, woe betide him who was the cause of his incarceration!" + +"Oh, I should wish nothing better than that he would come +and seek a quarrel with me." + +"Yes, and Mercedes! Mercedes, who will detest you if you +have only the misfortune to scratch the skin of her dearly +beloved Edmond!" + +"True!" said Fernand. + +"No, no," continued Danglars; "if we resolve on such a step, +it would be much better to take, as I now do, this pen, dip +it into this ink, and write with the left hand (that the +writing may not be recognized) the denunciation we propose." +And Danglars, uniting practice with theory, wrote with his +left hand, and in a writing reversed from his usual style, +and totally unlike it, the following lines, which he handed +to Fernand, and which Fernand read in an undertone: -- + +"The honorable, the king's attorney, is informed by a friend +of the throne and religion, that one Edmond Dantes, mate of +the ship Pharaon, arrived this morning from Smyrna, after +having touched at Naples and Porto-Ferrajo, has been +intrusted by Murat with a letter for the usurper, and by the +usurper with a letter for the Bonapartist committee in +Paris. Proof of this crime will be found on arresting him, +for the letter will be found upon him, or at his father's, +or in his cabin on board the Pharaon." + +"Very good," resumed Danglars; "now your revenge looks like +common-sense, for in no way can it revert to yourself, and +the matter will thus work its own way; there is nothing to +do now but fold the letter as I am doing, and write upon it, +`To the king's attorney,' and that's all settled." And +Danglars wrote the address as he spoke. + +"Yes, and that's all settled!" exclaimed Caderousse, who, by +a last effort of intellect, had followed the reading of the +letter, and instinctively comprehended all the misery which +such a denunciation must entail. "Yes, and that's all +settled; only it will be an infamous shame;" and he +stretched out his hand to reach the letter. + +"Yes," said Danglars, taking it from beyond his reach; "and +as what I say and do is merely in jest, and I, amongst the +first and foremost, should be sorry if anything happened to +Dantes -- the worthy Dantes -- look here!" And taking the +letter, he squeezed it up in his hands and threw it into a +corner of the arbor. + +"All right!" said Caderousse. "Dantes is my friend, and I +won't have him ill-used." + +"And who thinks of using him ill? Certainly neither I nor +Fernand," said Danglars, rising and looking at the young +man, who still remained seated, but whose eye was fixed on +the denunciatory sheet of paper flung into the corner. + +"In this case," replied Caderousse, "let's have some more +wine. I wish to drink to the health of Edmond and the lovely +Mercedes." + +"You have had too much already, drunkard," said Danglars; +"and if you continue, you will be compelled to sleep here, +because unable to stand on your legs." + +"I?" said Caderousse, rising with all the offended dignity +of a drunken man, "I can't keep on my legs? Why, I'll wager +I can go up into the belfry of the Accoules, and without +staggering, too!" + +"Done!" said Danglars, "I'll take your bet; but to-morrow -- +to-day it is time to return. Give me your arm, and let us +go." + +"Very well, let us go," said Caderousse; "but I don't want +your arm at all. Come, Fernand, won't you return to +Marseilles with us?" + +"No," said Fernand; "I shall return to the Catalans." + +"You're wrong. Come with us to Marseilles -- come along." + +"I will not." + +"What do you mean? you will not? Well, just as you like, my +prince; there's liberty for all the world. Come along, +Danglars, and let the young gentleman return to the Catalans +if he chooses." + +Danglars took advantage of Caderousse's temper at the +moment, to take him off towards Marseilles by the Porte +Saint-Victor, staggering as he went. + +When they had advanced about twenty yards, Danglars looked +back and saw Fernand stoop, pick up the crumpled paper, and +putting it into his pocket then rush out of the arbor +towards Pillon. + +"Well," said Caderousse, "why, what a lie he told! He said +he was going to the Catalans, and he is going to the city. +Hallo, Fernand!" + +"Oh, you don't see straight," said Danglars; "he's gone +right enough." + +"Well," said Caderousse, "I should have said not -- how +treacherous wine is!" + +"Come, come," said Danglars to himself, "now the thing is at +work and it will effect its purpose unassisted." + + + +Chapter 5 +The Marriage-Feast. + +The morning's sun rose clear and resplendent, touching the +foamy waves into a network of ruby-tinted light. + +The feast had been made ready on the second floor at La +Reserve, with whose arbor the reader is already familiar. +The apartment destined for the purpose was spacious and +lighted by a number of windows, over each of which was +written in golden letters for some inexplicable reason the +name of one of the principal cities of France; beneath these +windows a wooden balcony extended the entire length of the +house. And although the entertainment was fixed for twelve +o'clock, an hour previous to that time the balcony was +filled with impatient and expectant guests, consisting of +the favored part of the crew of the Pharaon, and other +personal friends of the bride-groom, the whole of whom had +arrayed themselves in their choicest costumes, in order to +do greater honor to the occasion. + +Various rumors were afloat to the effect that the owners of +the Pharaon had promised to attend the nuptial feast; but +all seemed unanimous in doubting that an act of such rare +and exceeding condescension could possibly be intended. + +Danglars, however, who now made his appearance, accompanied +by Caderousse, effectually confirmed the report, stating +that he had recently conversed with M. Morrel, who had +himself assured him of his intention to dine at La Reserve. + +In fact, a moment later M. Morrel appeared and was saluted +with an enthusiastic burst of applause from the crew of the +Pharaon, who hailed the visit of the shipowner as a sure +indication that the man whose wedding feast he thus +delighted to honor would ere long be first in command of the +ship; and as Dantes was universally beloved on board his +vessel, the sailors put no restraint on their tumultuous joy +at finding that the opinion and choice of their superiors so +exactly coincided with their own. + +With the entrance of M. Morrel, Danglars and Caderousse were +despatched in search of the bride-groom to convey to him the +intelligence of the arrival of the important personage whose +coming had created such a lively sensation, and to beseech +him to make haste. + +Danglars and Caderousse set off upon their errand at full +speed; but ere they had gone many steps they perceived a +group advancing towards them, composed of the betrothed +pair, a party of young girls in attendance on the bride, by +whose side walked Dantes' father; the whole brought up by +Fernand, whose lips wore their usual sinister smile. + +Neither Mercedes nor Edmond observed the strange expression +of his countenance; they were so happy that they were +conscious only of the sunshine and the presence of each +other. + +Having acquitted themselves of their errand, and exchanged a +hearty shake of the hand with Edmond, Danglars and +Caderousse took their places beside Fernand and old Dantes, +-- the latter of whom attracted universal notice. The old +man was attired in a suit of glistening watered silk, +trimmed with steel buttons, beautifully cut and polished. +His thin but wiry legs were arrayed in a pair of richly +embroidered clocked stockings, evidently of English +manufacture, while from his three-cornered hat depended a +long streaming knot of white and blue ribbons. Thus he came +along, supporting himself on a curiously carved stick, his +aged countenance lit up with happiness, looking for all the +world like one of the aged dandies of 1796, parading the +newly opened gardens of the Tuileries and Luxembourg. Beside +him glided Caderousse, whose desire to partake of the good +things provided for the wedding-party had induced him to +become reconciled to the Dantes, father and son, although +there still lingered in his mind a faint and unperfect +recollection of the events of the preceding night; just as +the brain retains on waking in the morning the dim and misty +outline of a dream. + +As Danglars approached the disappointed lover, he cast on +him a look of deep meaning, while Fernand, as he slowly +paced behind the happy pair, who seemed, in their own +unmixed content, to have entirely forgotten that such a +being as himself existed, was pale and abstracted; +occasionally, however, a deep flush would overspread his +countenance, and a nervous contraction distort his features, +while, with an agitated and restless gaze, he would glance +in the direction of Marseilles, like one who either +anticipated or foresaw some great and important event. + +Dantes himself was simply, but becomingly, clad in the dress +peculiar to the merchant service -- a costume somewhat +between a military and a civil garb; and with his fine +countenance, radiant with joy and happiness, a more perfect +specimen of manly beauty could scarcely be imagined. + +Lovely as the Greek girls of Cyprus or Chios, Mercedes +boasted the same bright flashing eyes of jet, and ripe, +round, coral lips. She moved with the light, free step of an +Arlesienne or an Andalusian. One more practiced in the arts +of great cities would have hid her blushes beneath a veil, +or, at least, have cast down her thickly fringed lashes, so +as to have concealed the liquid lustre of her animated eyes; +but, on the contrary, the delighted girl looked around her +with a smile that seemed to say: "If you are my friends, +rejoice with me, for I am very happy." + +As soon as the bridal party came in sight of La Reserve, M. +Morrel descended and came forth to meet it, followed by the +soldiers and sailors there assembled, to whom he had +repeated the promise already given, that Dantes should be +the successor to the late Captain Leclere. Edmond, at the +approach of his patron, respectfully placed the arm of his +affianced bride within that of M. Morrel, who, forthwith +conducting her up the flight of wooden steps leading to the +chamber in which the feast was prepared, was gayly followed +by the guests, beneath whose heavy tread the slight +structure creaked and groaned for the space of several +minutes. + +"Father," said Mercedes, stopping when she had reached the +centre of the table, "sit, I pray you, on my right hand; on +my left I will place him who has ever been as a brother to +me," pointing with a soft and gentle smile to Fernand; but +her words and look seemed to inflict the direst torture on +him, for his lips became ghastly pale, and even beneath the +dark hue of his complexion the blood might be seen +retreating as though some sudden pang drove it back to the +heart. + +During this time, Dantes, at the opposite side of the table, +had been occupied in similarly placing his most honored +guests. M. Morrel was seated at his right hand, Danglars at +his left; while, at a sign from Edmond, the rest of the +company ranged themselves as they found it most agreeable. + +Then they began to pass around the dusky, piquant, Arlesian +sausages, and lobsters in their dazzling red cuirasses, +prawns of large size and brilliant color, the echinus with +its prickly outside and dainty morsel within, the clovis, +esteemed by the epicures of the South as more than rivalling +the exquisite flavor of the oyster, -- all the delicacies, +in fact, that are cast up by the wash of waters on the sandy +beach, and styled by the grateful fishermen "fruits of the +sea." + +"A pretty silence truly!" said the old father of the +bride-groom, as he carried to his lips a glass of wine of +the hue and brightness of the topaz, and which had just been +placed before Mercedes herself. "Now, would anybody think +that this room contained a happy, merry party, who desire +nothing better than to laugh and dance the hours away?" + +"Ah," sighed Caderousse, "a man cannot always feel happy +because he is about to be married." + +"The truth is," replied Dantes, "that I am too happy for +noisy mirth; if that is what you meant by your observation, +my worthy friend, you are right; joy takes a strange effect +at times, it seems to oppress us almost the same as sorrow." + +Danglars looked towards Fernand, whose excitable nature +received and betrayed each fresh impression. + +"Why, what ails you?" asked he of Edmond. "Do you fear any +approaching evil? I should say that you were the happiest +man alive at this instant." + +"And that is the very thing that alarms me," returned +Dantes. "Man does not appear to me to be intended to enjoy +felicity so unmixed; happiness is like the enchanted palaces +we read of in our childhood, where fierce, fiery dragons +defend the entrance and approach; and monsters of all shapes +and kinds, requiring to be overcome ere victory is ours. I +own that I am lost in wonder to find myself promoted to an +honor of which I feel myself unworthy -- that of being the +husband of Mercedes." + +"Nay, nay!" cried Caderousse, smiling, "you have not +attained that honor yet. Mercedes is not yet your wife. Just +assume the tone and manner of a husband, and see how she +will remind you that your hour is not yet come!" + +The bride blushed, while Fernand, restless and uneasy, +seemed to start at every fresh sound, and from time to time +wiped away the large drops of perspiration that gathered on +his brow. + +"Well, never mind that, neighbor Caderousse; it is not worth +while to contradict me for such a trifle as that. 'Tis true +that Mercedes is not actually my wife; but," added he, +drawing out his watch, "in an hour and a half she will be." + +A general exclamation of surprise ran round the table, with +the exception of the elder Dantes, whose laugh displayed the +still perfect beauty of his large white teeth. Mercedes +looked pleased and gratified, while Fernand grasped the +handle of his knife with a convulsive clutch. + +"In an hour?" inquired Danglars, turning pale. "How is that, +my friend?" + +"Why, thus it is," replied Dantes. "Thanks to the influence +of M. Morrel, to whom, next to my father, I owe every +blessing I enjoy, every difficulty his been removed. We have +purchased permission to waive the usual delay; and at +half-past two o'clock the mayor of Marseilles will be +waiting for us at the city hall. Now, as a quarter-past one +has already struck, I do not consider I have asserted too +much in saying, that, in another hour and thirty minutes +Mercedes will have become Madame Dantes." + +Fernand closed his eyes, a burning sensation passed across +his brow, and he was compelled to support himself by the +table to prevent his falling from his chair; but in spite of +all his efforts, he could not refrain from uttering a deep +groan, which, however, was lost amid the noisy felicitations +of the company. + +"Upon my word," cried the old man, "you make short work of +this kind of affair. Arrived here only yesterday morning, +and married to-day at three o'clock! Commend me to a sailor +for going the quick way to work!" + +"But," asked Danglars, in a timid tone, "how did you manage +about the other formalities -- the contract -- the +settlement?" + +"The contract," answered Dantes, laughingly, "it didn't take +long to fix that. Mercedes has no fortune; I have none to +settle on her. So, you see, our papers were quickly written +out, and certainly do not come very expensive." This joke +elicited a fresh burst of applause. + +"So that what we presumed to be merely the betrothal feast +turns out to be the actual wedding dinner!" said Danglars. + +"No, no," answered Dantes; "don't imagine I am going to put +you off in that shabby manner. To-morrow morning I start for +Paris; four days to go, and the same to return, with one day +to discharge the commission intrusted to me, is all the time +I shall be absent. I shall be back here by the first of +March, and on the second I give my real marriage feast." + +This prospect of fresh festivity redoubled the hilarity of +the guests to such a degree, that the elder Dantes, who, at +the commencement of the repast, had commented upon the +silence that prevailed, now found it difficult, amid the +general din of voices, to obtain a moment's tranquillity in +which to drink to the health and prosperity of the bride and +bride-groom. + +Dantes, perceiving the affectionate eagerness of his father, +responded by a look of grateful pleasure; while Mercedes +glanced at the clock and made an expressive gesture to +Edmond. + +Around the table reigned that noisy hilarity which usually +prevails at such a time among people sufficiently free from +the demands of social position not to feel the trammels of +etiquette. Such as at the commencement of the repast had not +been able to seat themselves according to their inclination +rose unceremoniously, and sought out more agreeable +companions. Everybody talked at once, without waiting for a +reply and each one seemed to be contented with expressing +his or her own thoughts. + +Fernand's paleness appeared to have communicated itself to +Danglars. As for Fernand himself, he seemed to be enduring +the tortures of the damned; unable to rest, he was among the +first to quit the table, and, as though seeking to avoid the +hilarious mirth that rose in such deafening sounds, he +continued, in utter silence, to pace the farther end of the +salon. + +Caderousse approached him just as Danglars, whom Fernand +seemed most anxious to avoid, had joined him in a corner of +the room. + +"Upon my word," said Caderousse, from whose mind the +friendly treatment of Dantes, united with the effect of the +excellent wine he had partaken of, had effaced every feeling +of envy or jealousy at Dantes' good fortune, -- "upon my +word, Dantes is a downright good fellow, and when I see him +sitting there beside his pretty wife that is so soon to be. +I cannot help thinking it would have been a great pity to +have served him that trick you were planning yesterday." + +"Oh, there was no harm meant," answered Danglars; "at first +I certainly did feel somewhat uneasy as to what Fernand +might be tempted to do; but when I saw how completely he had +mastered his feelings, even so far as to become one of his +rival's attendants, I knew there was no further cause for +apprehension." Caderousse looked full at Fernand -- he was +ghastly pale. + +"Certainly," continued Danglars, "the sacrifice was no +trifling one, when the beauty of the bride is concerned. +Upon my soul, that future captain of mine is a lucky dog! +Gad, I only wish he would let me take his place." + +"Shall we not set forth?" asked the sweet, silvery voice of +Mercedes; "two o'clock has just struck, and you know we are +expected in a quarter of an hour." + +"To be sure! -- to be sure!" cried Dantes, eagerly quitting +the table; "let us go directly!" + +His words were re-echoed by the whole party, with vociferous +cheers. + +At this moment Danglars, who had been incessantly observing +every change in Fernand's look and manner, saw him stagger +and fall back, with an almost convulsive spasm, against a +seat placed near one of the open windows. At the same +instant his ear caught a sort of indistinct sound on the +stairs, followed by the measured tread of soldiery, with the +clanking of swords and military accoutrements; then came a +hum and buzz as of many voices, so as to deaden even the +noisy mirth of the bridal party, among whom a vague feeling +of curiosity and apprehension quelled every disposition to +talk, and almost instantaneously the most deathlike +stillness prevailed. + +The sounds drew nearer. Three blows were struck upon the +panel of the door. The company looked at each other in +consternation. + +"I demand admittance," said a loud voice outside the room, +"in the name of the law!" As no attempt was made to prevent +it, the door was opened, and a magistrate, wearing his +official scarf, presented himself, followed by four soldiers +and a corporal. Uneasiness now yielded to the most extreme +dread on the part of those present. + +"May I venture to inquire the reason of this unexpected +visit?" said M. Morrel, addressing the magistrate, whom he +evidently knew; "there is doubtless some mistake easily +explained." + +"If it be so," replied the magistrate, "rely upon every +reparation being made; meanwhile, I am the bearer of an +order of arrest, and although I most reluctantly perform the +task assigned me, it must, nevertheless, be fulfilled. Who +among the persons here assembled answers to the name of +Edmond Dantes?" Every eye was turned towards the young man +who, spite of the agitation he could not but feel, advanced +with dignity, and said, in a firm voice, "I am he; what is +your pleasure with me?" + +"Edmond Dantes," replied the magistrate, "I arrest you in +the name of the law!" + +"Me!" repeated Edmond, slightly changing color, "and +wherefore, I pray?" + +"I cannot inform you, but you will be duly acquainted with +the reasons that have rendered such a step necessary at the +preliminary examination." + +M. Morrel felt that further resistance or remonstrance was +useless. He saw before him an officer delegated to enforce +the law, and perfectly well knew that it would be as +unavailing to seek pity from a magistrate decked with his +official scarf, as to address a petition to some cold marble +effigy. Old Dantes, however, sprang forward. There are +situations which the heart of a father or a mother cannot be +made to understand. He prayed and supplicated in terms so +moving, that even the officer was touched, and, although +firm in his duty, he kindly said, "My worthy friend, let me +beg of you to calm your apprehensions. Your son has probably +neglected some prescribed form or attention in registering +his cargo, and it is more than probable he will be set at +liberty directly he has given the information required, +whether touching the health of his crew, or the value of his +freight." + +"What is the meaning of all this?" inquired Caderousse, +frowningly, of Danglars, who had assumed an air of utter +surprise. + +"How can I tell you?" replied he; "I am, like yourself, +utterly bewildered at all that is going on, and cannot in +the least make out what it is about." Caderousse then looked +around for Fernand, but he had disappeared. + +The scene of the previous night now came back to his mind +with startling clearness. The painful catastrophe he had +just witnessed appeared effectually to have rent away the +veil which the intoxication of the evening before had raised +between himself and his memory. + +"So, so," said he, in a hoarse and choking voice, to +Danglars, "this, then, I suppose, is a part of the trick you +were concerting yesterday? All I can say is, that if it be +so, 'tis an ill turn, and well deserves to bring double evil +on those who have projected it." + +"Nonsense," returned Danglars, "I tell you again I have +nothing whatever to do with it; besides, you know very well +that I tore the paper to pieces." + +"No, you did not!" answered Caderousse, "you merely threw it +by -- I saw it lying in a corner." + +"Hold your tongue, you fool! -- what should you know about +it? -- why, you were drunk!" + +"Where is Fernand?" inquired Caderousse. + +"How do I know?" replied Danglars; "gone, as every prudent +man ought to be, to look after his own affairs, most likely. +Never mind where he is, let you and I go and see what is to +be done for our poor friends." + +During this conversation, Dantes, after having exchanged a +cheerful shake of the hand with all his sympathizing +friends, had surrendered himself to the officer sent to +arrest him, merely saying, "Make yourselves quite easy, my +good fellows, there is some little mistake to clear up, +that's all, depend upon it; and very likely I may not have +to go so far as the prison to effect that." + +"Oh, to be sure!" responded Danglars, who had now approached +the group, "nothing more than a mistake, I feel quite +certain." + +Dantes descended the staircase, preceded by the magistrate, +and followed by the soldiers. A carriage awaited him at the +door; he got in, followed by two soldiers and the +magistrate, and the vehicle drove off towards Marseilles. + +"Adieu, adieu, dearest Edmond!" cried Mercedes, stretching +out her arms to him from the balcony. + +The prisoner heard the cry, which sounded like the sob of a +broken heart, and leaning from the coach he called out, +"Good-by, Mercedes -- we shall soon meet again!" Then the +vehicle disappeared round one of the turnings of Fort Saint +Nicholas. + +"Wait for me here, all of you!" cried M. Morrel; "I will +take the first conveyance I find, and hurry to Marseilles, +whence I will bring you word how all is going on." + +"That's right!" exclaimed a multitude of voices, "go, and +return as quickly as you can!" + +This second departure was followed by a long and fearful +state of terrified silence on the part of those who were +left behind. The old father and Mercedes remained for some +time apart, each absorbed in grief; but at length the two +poor victims of the same blow raised their eyes, and with a +simultaneous burst of feeling rushed into each other's arms. + +Meanwhile Fernand made his appearance, poured out for +himself a glass of water with a trembling hand; then hastily +swallowing it, went to sit down at the first vacant place, +and this was, by mere chance, placed next to the seat on +which poor Mercedes had fallen half fainting, when released +from the warm and affectionate embrace of old Dantes. +Instinctively Fernand drew back his chair. + +"He is the cause of all this misery -- I am quite sure of +it," whispered Caderousse, who had never taken his eyes off +Fernand, to Danglars. + +"I don't think so," answered the other; he's too stupid to +imagine such a scheme. I only hope the mischief will fall +upon the head of whoever wrought it." + +"You don't mention those who aided and abetted the deed," +said Caderousse. + +"Surely," answered Danglars, "one cannot be held responsible +for every chance arrow shot into the air." + +"You can, indeed, when the arrow lights point downward on +somebody's head." + +Meantime the subject of the arrest was being canvassed in +every different form. + +"What think you, Danglars," said one of the party, turning +towards him, "of this event?" + +"Why," replied he, "I think it just possible Dantes may have +been detected with some trifling article on board ship +considered here as contraband." + +"But how could he have done so without your knowledge, +Danglars, since you are the ship's supercargo?" + +"Why, as for that, I could only know what I was told +respecting the merchandise with which the vessel was laden. +I know she was loaded with cotton, and that she took in her +freight at Alexandria from Pastret's warehouse, and at +Smyrna from Pascal's; that is all I was obliged to know, and +I beg I may not be asked for any further particulars." + +"Now I recollect," said the afflicted old father; "my poor +boy told me yesterday he had got a small case of coffee, and +another of tobacco for me!" + +"There, you see," exclaimed Danglars. "Now the mischief is +out; depend upon it the custom-house people went rummaging +about the ship in our absence, and discovered poor Dantes' +hidden treasures." + +Mercedes, however, paid no heed to this explanation of her +lover's arrest. Her grief, which she had hitherto tried to +restrain, now burst out in a violent fit of hysterical +sobbing. + +"Come, come," said the old man, "be comforted, my poor +child; there is still hope!" + +"Hope!" repeated Danglars. + +"Hope!" faintly murmured Fernand, but the word seemed to die +away on his pale agitated lips, and a convulsive spasm +passed over his countenance. + +"Good news! good news!" shouted forth one of the party +stationed in the balcony on the lookout. "Here comes M. +Morrel back. No doubt, now, we shall hear that our friend is +released!" + +Mercedes and the old man rushed to meet the shipowner and +greeted him at the door. He was very pale. + +"What news?" exclaimed a general burst of voices. + +"Alas, my friends," replied M. Morrel, with a mournful shake +of his head, "the thing has assumed a more serious aspect +than I expected." + +"Oh, indeed -- indeed, sir, he is innocent!" sobbed forth +Mercedes. + +"That I believe!" answered M. Morrel; "but still he is +charged" -- + +"With what?" inquired the elder Dantes. + +"With being an agent of the Bonapartist faction!" Many of +our readers may be able to recollect how formidable such an +accusation became in the period at which our story is dated. + +A despairing cry escaped the pale lips of Mercedes; the old +man sank into a chair. + +"Ah, Danglars!" whispered Caderousse, "you have deceived me +-- the trick you spoke of last night has been played; but I +cannot suffer a poor old man or an innocent girl to die of +grief through your fault. I am determined to tell them all +about it." + +"Be silent, you simpleton!" cried Danglars, grasping him by +the arm, "or I will not answer even for your own safety. Who +can tell whether Dantes be innocent or guilty? The vessel +did touch at Elba, where he quitted it, and passed a whole +day in the island. Now, should any letters or other +documents of a compromising character be found upon him, +will it not be taken for granted that all who uphold him are +his accomplices?" + +With the rapid instinct of selfishness, Caderousse readily +perceived the solidity of this mode of reasoning; he gazed, +doubtfully, wistfully, on Danglars, and then caution +supplanted generosity. + +"Suppose we wait a while, and see what comes of it," said +he, casting a bewildered look on his companion. + +"To be sure!" answered Danglars. "Let us wait, by all means. +If he be innocent, of course he will be set at liberty; if +guilty, why, it is no use involving ourselves in a +conspiracy." + +"Let us go, then. I cannot stay here any longer." + +"With all my heart!" replied Danglars, pleased to find the +other so tractable. "Let us take ourselves out of the way, +and leave things for the present to take their course." + +After their departure, Fernand, who had now again become the +friend and protector of Mercedes, led the girl to her home, +while the friends of Dantes conducted the now half-fainting +man back to his abode. + +The rumor of Edmond arrest as a Bonapartist agent was not +slow in circulating throughout the city. + +"Could you ever have credited such a thing, my dear +Danglars?" asked M. Morrel, as, on his return to the port +for the purpose of gleaning fresh tidings of Dantes, from M. +de Villefort, the assistant procureur, he overtook his +supercargo and Caderousse. "Could you have believed such a +thing possible?" + +"Why, you know I told you," replied Danglars, "that I +considered the circumstance of his having anchored at the +Island of Elba as a very suspicious circumstance." + +"And did you mention these suspicions to any person beside +myself?" + +"Certainly not!" returned Danglars. Then added in a low +whisper, "You understand that, on account of your uncle, M. +Policar Morrel, who served under the other government, and +who does not altogether conceal what he thinks on the +subject, you are strongly suspected of regretting the +abdication of Napoleon. I should have feared to injure both +Edmond and yourself, had I divulged my own apprehensions to +a soul. I am too well aware that though a subordinate, like +myself, is bound to acquaint the shipowner with everything +that occurs, there are many things he ought most carefully +to conceal from all else." + +"'Tis well, Danglars -- 'tis well!" replied M. Morrel. "You +are a worthy fellow; and I had already thought of your +interests in the event of poor Edmond having become captain +of the Pharaon." + +"Is it possible you were so kind?" + +"Yes, indeed; I had previously inquired of Dantes what was +his opinion of you, and if he should have any reluctance to +continue you in your post, for somehow I have perceived a +sort of coolness between you." + +"And what was his reply?" + +"That he certainly did think he had given you offence in an +affair which he merely referred to without entering into +particulars, but that whoever possessed the good opinion and +confidence of the ship's owner would have his preference +also." + +"The hypocrite!" murmured Danglars. + +"Poor Dantes!" said Caderousse. "No one can deny his being a +noble-hearted young fellow." + +"But meanwhile," continued M. Morrel, "here is the Pharaon +without a captain." + +"Oh," replied Danglars, "since we cannot leave this port for +the next three months, let us hope that ere the expiration +of that period Dantes will be set at liberty." + +"No doubt; but in the meantime?" + +"I am entirely at your service, M. Morrel," answered +Danglars. "You know that I am as capable of managing a ship +as the most experienced captain in the service; and it will +be so far advantageous to you to accept my services, that +upon Edmond's release from prison no further change will be +requisite on board the Pharaon than for Dantes and myself +each to resume our respective posts." + +"Thanks, Danglars -- that will smooth over all difficulties. +I fully authorize you at once to assume the command of the +Pharaon, and look carefully to the unloading of her freight. +Private misfortunes must never be allowed to interfere with +business." + +"Be easy on that score, M. Morrel; but do you think we shall +be permitted to see our poor Edmond?" + +"I will let you know that directly I have seen M. de +Villefort, whom I shall endeavor to interest in Edmond's +favor. I am aware he is a furious royalist; but, in spite of +that, and of his being king's attorney, he is a man like +ourselves, and I fancy not a bad sort of one." + +"Perhaps not," replied Danglars; "but I hear that he is +ambitions, and that's rather against him." + +"Well, well," returned M. Morrel, "we shall see. But now +hasten on board, I will join you there ere long." So saying, +the worthy shipowner quitted the two allies, and proceeded +in the direction of the Palais de Justice. + +"You see," said Danglars, addressing Caderousse, "the turn +things have taken. Do you still feel any desire to stand up +in his defence?" + +"Not the slightest, but yet it seems to me a shocking thing +that a mere joke should lead to such consequences." + +"But who perpetrated that joke, let me ask? neither you nor +myself, but Fernand; you knew very well that I threw the +paper into a corner of the room -- indeed, I fancied I had +destroyed it." + +"Oh, no," replied Caderousse, "that I can answer for, you +did not. I only wish I could see it now as plainly as I saw +it lying all crushed and crumpled in a corner of the arbor." + +"Well, then, if you did, depend upon it, Fernand picked it +up, and either copied it or caused it to be copied; perhaps, +even, he did not take the trouble of recopying it. And now I +think of it, by Heavens, he may have sent the letter itself! +Fortunately, for me, the handwriting was disguised." + +"Then you were aware of Dantes being engaged in a +conspiracy?" + +"Not I. As I before said, I thought the whole thing was a +joke, nothing more. It seems, however, that I have +unconsciously stumbled upon the truth." + +"Still," argued Caderousse, "I would give a great deal if +nothing of the kind had happened; or, at least, that I had +had no hand in it. You will see, Danglars, that it will turn +out an unlucky job for both of us." + +"Nonsense! If any harm come of it, it should fall on the +guilty person; and that, you know, is Fernand. How can we be +implicated in any way? All we have got to do is, to keep our +own counsel, and remain perfectly quiet, not breathing a +word to any living soul; and you will see that the storm +will pass away without in the least affecting us." + +"Amen!" responded Caderousse, waving his hand in token of +adieu to Danglars, and bending his steps towards the Allees +de Meillan, moving his head to and fro, and muttering as he +went, after the manner of one whose mind was overcharged +with one absorbing idea. + +"So far, then," said Danglars, mentally, "all has gone as I +would have it. I am, temporarily, commander of the Pharaon, +with the certainty of being permanently so, if that fool of +a Caderousse can be persuaded to hold his tongue. My only +fear is the chance of Dantes being released. But, there, he +is in the hands of Justice; and," added he with a smile, +"she will take her own." So saying, he leaped into a boat, +desiring to be rowed on board the Pharaon, where M. Morrel +had agreed to meet him. + + + +Chapter 6 +The Deputy Procureur du Roi. + +In one of the aristocratic mansions built by Puget in the +Rue du Grand Cours opposite the Medusa fountain, a second +marriage feast was being celebrated, almost at the same hour +with the nuptial repast given by Dantes. In this case, +however, although the occasion of the entertainment was +similar, the company was strikingly dissimilar. Instead of a +rude mixture of sailors, soldiers, and those belonging to +the humblest grade of life, the present assembly was +composed of the very flower of Marseilles society, -- +magistrates who had resigned their office during the +usurper's reign; officers who had deserted from the imperial +army and joined forces with Conde; and younger members of +families, brought up to hate and execrate the man whom five +years of exile would convert into a martyr, and fifteen of +restoration elevate to the rank of a god. + +The guests were still at table, and the heated and energetic +conversation that prevailed betrayed the violent and +vindictive passions that then agitated each dweller of the +South, where unhappily, for five centuries religious strife +had long given increased bitterness to the violence of party +feeling. + +The emperor, now king of the petty Island of Elba, after +having held sovereign sway over one-half of the world, +counting as his subjects a small population of five or six +thousand souls, -- after having been accustomed to hear the +"Vive Napoleons" of a hundred and twenty millions of human +beings, uttered in ten different languages, -- was looked +upon here as a ruined man, separated forever from any fresh +connection with France or claim to her throne. + +The magistrates freely discussed their political views; the +military part of the company talked unreservedly of Moscow +and Leipsic, while the women commented on the divorce of +Josephine. It was not over the downfall of the man, but over +the defeat of the Napoleonic idea, that they rejoiced, and +in this they foresaw for themselves the bright and cheering +prospect of a revivified political existence. + +An old man, decorated with the cross of Saint Louis, now +rose and proposed the health of King Louis XVIII. It was the +Marquis de Saint-Meran. This toast, recalling at once the +patient exile of Hartwell and the peace-loving King of +France, excited universal enthusiasm; glasses were elevated +in the air a l'Anglais, and the ladies, snatching their +bouquets from their fair bosoms, strewed the table with +their floral treasures. In a word, an almost poetical fervor +prevailed. + +"Ah," said the Marquise de Saint-Meran, a woman with a +stern, forbidding eye, though still noble and distinguished +in appearance, despite her fifty years -- "ah, these +revolutionists, who have driven us from those very +possessions they afterwards purchased for a mere trifle +during the Reign of Terror, would be compelled to own, were +they here, that all true devotion was on our side, since we +were content to follow the fortunes of a falling monarch, +while they, on the contrary, made their fortune by +worshipping the rising sun; yes, yes, they could not help +admitting that the king, for whom we sacrificed rank, +wealth, and station was truly our `Louis the well-beloved,' +while their wretched usurper his been, and ever will be, to +them their evil genius, their `Napoleon the accursed.' Am I +not right, Villefort?" + +"I beg your pardon, madame. I really must pray you to excuse +me, but -- in truth -- I was not attending to the +conversation." + +"Marquise, marquise!" interposed the old nobleman who had +proposed the toast, "let the young people alone; let me tell +you, on one's wedding day there are more agreeable subjects +of conversation than dry politics." + +"Never mind, dearest mother," said a young and lovely girl, +with a profusion of light brown hair, and eyes that seemed +to float in liquid crystal, "'tis all my fault for seizing +upon M. de Villefort, so as to prevent his listening to what +you said. But there -- now take him -- he is your own for as +long as you like. M. Villefort, I beg to remind you my +mother speaks to you." + +"If the marquise will deign to repeat the words I but +imperfectly caught, I shall be delighted to answer," said M. +de Villefort. + +"Never mind, Renee," replied the marquise, with a look of +tenderness that seemed out of keeping with her harsh dry +features; but, however all other feelings may be withered in +a woman's nature, there is always one bright smiling spot in +the desert of her heart, and that is the shrine of maternal +love. "I forgive you. What I was saying, Villefort, was, +that the Bonapartists had not our sincerity, enthusiasm, or +devotion." + +"They had, however, what supplied the place of those fine +qualities," replied the young man, "and that was fanaticism. +Napoleon is the Mahomet of the West, and is worshipped by +his commonplace but ambitions followers, not only as a +leader and lawgiver, but also as the personification of +equality." + +"He!" cried the marquise: "Napoleon the type of equality! +For mercy's sake, then, what would you call Robespierre? +Come, come, do not strip the latter of his just rights to +bestow them on the Corsican, who, to my mind, has usurped +quite enough." + +"Nay, madame; I would place each of these heroes on his +right pedestal -- that of Robespierre on his scaffold in the +Place Louis Quinze; that of Napoleon on the column of the +Place Vendome. The only difference consists in the opposite +character of the equality advocated by these two men; one is +the equality that elevates, the other is the equality that +degrades; one brings a king within reach of the guillotine, +the other elevates the people to a level with the throne. +Observe," said Villefort, smiling, "I do not mean to deny +that both these men were revolutionary scoundrels, and that +the 9th Thermidor and the 4th of April, in the year 1814, +were lucky days for France, worthy of being gratefully +remembered by every friend to monarchy and civil order; and +that explains how it comes to pass that, fallen, as I trust +he is forever, Napoleon has still retained a train of +parasitical satellites. Still, marquise, it has been so with +other usurpers -- Cromwell, for instance, who was not half +so bad as Napoleon, had his partisans and advocates." + +"Do you know, Villefort, that you are talking in a most +dreadfully revolutionary strain? But I excuse it, it is +impossible to expect the son of a Girondin to be free from a +small spice of the old leaven." A deep crimson suffused the +countenance of Villefort. + +"'Tis true, madame," answered he, "that my father was a +Girondin, but he was not among the number of those who voted +for the king's death; he was an equal sufferer with yourself +during the Reign of Terror, and had well-nigh lost his head +on the same scaffold on which your father perished." + +"True," replied the marquise, without wincing in the +slightest degree at the tragic remembrance thus called up; +"but bear in mind, if you please, that our respective +parents underwent persecution and proscription from +diametrically opposite principles; in proof of which I may +remark, that while my family remained among the stanchest +adherents of the exiled princes, your father lost no time in +joining the new government; and that while the Citizen +Noirtier was a Girondin, the Count Noirtier became a +senator." + +"Dear mother," interposed Renee, "you know very well it was +agreed that all these disagreeable reminiscences should +forever be laid aside." + +"Suffer me, also, madame," replied Villefort, "to add my +earnest request to Mademoiselle de Saint-Meran's, that you +will kindly allow the veil of oblivion to cover and conceal +the past. What avails recrimination over matters wholly past +recall? For my own part, I have laid aside even the name of +my father, and altogether disown his political principles. +He was -- nay, probably may still be -- a Bonapartist, and +is called Noirtier; I, on the contrary, am a stanch +royalist, and style myself de Villefort. Let what may remain +of revolutionary sap exhaust itself and die away with the +old trunk, and condescend only to regard the young shoot +which has started up at a distance from the parent tree, +without having the power, any more than the wish, to +separate entirely from the stock from which it sprung." + +"Bravo, Villefort!" cried the marquis; "excellently well +said! Come, now, I have hopes of obtaining what I have been +for years endeavoring to persuade the marquise to promise; +namely, a perfect amnesty and forgetfulness of the past." + +"With all my heart," replied the marquise; "let the past be +forever forgotten. I promise you it affords me as little +pleasure to revive it as it does you. All I ask is, that +Villefort will be firm and inflexible for the future in his +political principles. Remember, also, Villefort, that we +have pledged ourselves to his majesty for your fealty and +strict loyalty, and that at our recommendation the king +consented to forget the past, as I do" (and here she +extended to him her hand) -- "as I now do at your entreaty. +But bear in mind, that should there fall in your way any one +guilty of conspiring against the government, you will be so +much the more bound to visit the offence with rigorous +punishment, as it is known you belong to a suspected +family." + +"Alas, madame," returned Villefort, "my profession, as well +as the times in which we live, compels me to be severe. I +have already successfully conducted several public +prosecutions, and brought the offenders to merited +punishment. But we have not done with the thing yet." + +"Do you, indeed, think so?" inquired the marquise. + +"I am, at least, fearful of it. Napoleon, in the Island of +Elba, is too near France, and his proximity keeps up the +hopes of his partisans. Marseilles is filled with half-pay +officers, who are daily, under one frivolous pretext or +other, getting up quarrels with the royalists; from hence +arise continual and fatal duels among the higher classes of +persons, and assassinations in the lower." + +"You have heard, perhaps," said the Comte de Salvieux, one +of M. de Saint-Meran's oldest friends, and chamberlain to +the Comte d'Artois, "that the Holy Alliance purpose removing +him from thence?" + +"Yes; they were talking about it when we left Paris," said +M. de Saint-Meran; "and where is it decided to transfer +him?" + +"To Saint Helena." + +"For heaven's sake, where is that?" asked the marquise. + +"An island situated on the other side of the equator, at +least two thousand leagues from here," replied the count. + +"So much the better. As Villefort observes, it is a great +act of folly to have left such a man between Corsica, where +he was born, and Naples, of which his brother-in-law is +king, and face to face with Italy, the sovereignty of which +he coveted for his son." + +"Unfortunately," said Villefort, "there are the treaties of +1814, and we cannot molest Napoleon without breaking those +compacts." + +"Oh, well, we shall find some way out of it," responded M. +de Salvieux. "There wasn't any trouble over treaties when it +was a question of shooting the poor Duc d'Enghien." + +"Well," said the marquise, "it seems probable that, by the +aid of the Holy Alliance, we shall be rid of Napoleon; and +we must trust to the vigilance of M. de Villefort to purify +Marseilles of his partisans. Tbe king is either a king or no +king; if he be acknowledged as sovereign of France, he +should be upheld in peace and tranquillity; and this can +best be effected by employing the most inflexible agents to +put down every attempt at conspiracy -- 'tis the best and +surest means of preventing mischief." + +"Unfortunately, madame," answered Villefort, "the strong arm +of the law is not called upon to interfere until the evil +has taken place." + +"Then all he has got to do is to endeavor to repair it." + +"Nay, madame, the law is frequently powerless to effect +this; all it can do is to avenge the wrong done." + +"Oh, M. de Villefort," cried a beautiful young creature, +daughter to the Comte de Salvieux, and the cherished friend +of Mademoiselle de Saint-Meran, "do try and get up some +famous trial while we are at Marseilles. I never was in a +law-court; I am told it is so very amusing!" + +"Amusing, certainly," replied the young man, "inasmuch as, +instead of shedding tears as at the fictitious tale of woe +produced at a theatre, you behold in a law-court a case of +real and genuine distress -- a drama of life. The prisoner +whom you there see pale, agitated, and alarmed, instead of +-- as is the case when a curtain falls on a tragedy -- going +home to sup peacefully with his family, and then retiring to +rest, that he may recommence his mimic woes on the morrow, +-- is removed from your sight merely to be reconducted to +his prison and delivered up to the executioner. I leave you +to judge how far your nerves are calculated to bear you +through such a scene. Of this, however, be assured, that +should any favorable opportunity present itself, I will not +fail to offer you the choice of being present." + +"For shame, M. de Villefort!" said Renee, becoming quite +pale; "don't you see how you are frightening us? -- and yet +you laugh." + +"What would you have? 'Tis like a duel. I have already +recorded sentence of death, five or six times, against the +movers of political conspiracies, and who can say how many +daggers may be ready sharpened, and only waiting a favorable +opportunity to be buried in my heart?" + +"Gracious heavens, M. de Villefort," said Renee, becoming +more and more terrified; "you surely are not in earnest." + +"Indeed I am," replied the young magistrate with a smile; +"and in the interesting trial that young lady is anxious to +witness, the case would only be still more aggravated. +Suppose, for instance, the prisoner, as is more than +probable, to have served under Napoleon -- well, can you +expect for an instant, that one accustomed, at the word of +his commander, to rush fearlessly on the very bayonets of +his foe, will scruple more to drive a stiletto into the +heart of one he knows to be his personal enemy, than to +slaughter his fellow-creatures, merely because bidden to do +so by one he is bound to obey? Besides, one requires the +excitement of being hateful in the eyes of the accused, in +order to lash one's self into a state of sufficient +vehemence and power. I would not choose to see the man +against whom I pleaded smile, as though in mockery of my +words. No; my pride is to see the accused pale, agitated, +and as though beaten out of all composure by the fire of my +eloquence." Renee uttered a smothered exclamation. + +"Bravo!" cried one of the guests; "that is what I call +talking to some purpose." + +"Just the person we require at a time like the present," +said a second. + +"What a splendid business that last case of yours was, my +dear Villefort!" remarked a third; "I mean the trial of the +man for murdering his father. Upon my word, you killed him +ere the executioner had laid his hand upon him." + +"Oh, as for parricides, and such dreadful people as that," +interposed Renee, "it matters very little what is done to +them; but as regards poor unfortunate creatures whose only +crime consists in having mixed themselves up in political +intrigues" -- + +"Why, that is the very worst offence they could possibly +commit; for, don't you see, Renee, the king is the father of +his people, and he who shall plot or contrive aught against +the life and safety of the parent of thirty-two millions of +souls, is a parricide upon a fearfully great scale?" + +"I don't know anything about that," replied Renee; "but, M. +de Villefort, you have promised me -- have you not? -- +always to show mercy to those I plead for." + +"Make yourself quite easy on that point," answered +Villefort, with one of his sweetest smiles; "you and I will +always consult upon our verdicts." + +"My love," said the marquise, "attend to your doves, your +lap-dogs, and embroidery, but do not meddle with what you do +not understand. Nowadays the military profession is in +abeyance and the magisterial robe is the badge of honor. +There is a wise Latin proverb that is very much in point." + +"Cedant arma togae," said Villefort with a bow. + +"I cannot speak Latin," responded the marquise. + +"Well," said Renee, "I cannot help regretting you had not +chosen some other profession than your own -- a physician, +for instance. Do you know I always felt a shudder at the +idea of even a destroying angel?" + +"Dear, good Renee," whispered Villefort, as he gazed with +unutterable tenderness on the lovely speaker. + +"Let us hope, my child," cried the marquis, "that M. de +Villefort may prove the moral and political physician of +this province; if so, he will have achieved a noble work." + +"And one which will go far to efface the recollection of his +father's conduct," added the incorrigible marquise. + +"Madame," replied Villefort, with a mournful smile, "I have +already had the honor to observe that my father has -- at +least, I hope so -- abjured his past errors, and that he is, +at the present moment, a firm and zealous friend to religion +and order -- a better royalist, possibly, than his son; for +he has to atone for past dereliction, while I have no other +impulse than warm, decided preference and conviction." +Having made this well-turned speech, Villefort looked +carefully around to mark the effect of his oratory, much as +he would have done had he been addressing the bench in open +court. + +"Do you know, my dear Villefort," cried the Comte de +Salvieux, "that is exactly what I myself said the other day +at the Tuileries, when questioned by his majesty's principal +chamberlain touching the singularity of an alliance between +the son of a Girondin and the daughter of an officer of the +Duc de Conde; and I assure you he seemed fully to comprehend +that this mode of reconciling political differences was +based upon sound and excellent principles. Then the king, +who, without our suspecting it, had overheard our +conversation, interrupted us by saying, `Villefort' -- +observe that the king did not pronounce the word Noirtier, +but, on the contrary, placed considerable emphasis on that +of Villefort -- `Villefort,' said his majesty, `is a young +man of great judgment and discretion, who will be sure to +make a figure in his profession; I like him much, and it +gave me great pleasure to hear that he was about to become +the son-in-law of the Marquis and Marquise de Saint-Meran. I +should myself have recommended the match, had not the noble +marquis anticipated my wishes by requesting my consent to +it.'" + +"Is it possible the king could have condescended so far as +to express himself so favorably of me?" asked the enraptured +Villefort. + +"I give you his very words; and if the marquis chooses to be +candid, he will confess that they perfectly agree with what +his majesty said to him, when he went six months ago to +consult him upon the subject of your espousing his +daughter." + +"That is true," answered the marquis. + +"How much do I owe this gracious prince! What is there I +would not do to evince my earnest gratitude!" + +"That is right," cried the marquise. "I love to see you +thus. Now, then, were a conspirator to fall into your hands, +he would be most welcome." + +"For my part, dear mother." interposed Renee, "I trust your +wishes will not prosper, and that Providence will only +permit petty offenders, poor debtors, and miserable cheats +to fall into M. de Villefort's hands, -- then I shall be +contented." + +"Just the same as though you prayed that a physician might +only be called upon to prescribe for headaches, measles, and +the stings of wasps, or any other slight affection of the +epidermis. If you wish to see me the king's attorney, you +must desire for me some of those violent and dangerous +diseases from the cure of which so much honor redounds to +the physician." + +At this moment, and as though the utterance of Villefort's +wish had sufficed to effect its accomplishment, a servant +entered the room, and whispered a few words in his ear. +Villefort immediately rose from table and quitted the room +upon the plea of urgent business; he soon, however, +returned, his whole face beaming with delight. Renee +regarded him with fond affection; and certainly his handsome +features, lit up as they then were with more than usual fire +and animation, seemed formed to excite the innocent +admiration with which she gazed on her graceful and +intelligent lover. + +"You were wishing just now," said Villefort, addressing her, +"that I were a doctor instead of a lawyer. Well, I at least +resemble the disciples of Esculapius in one thing -- that of +not being able to call a day my own, not even that of my +betrothal." + +"And wherefore were you called away just now?" asked +Mademoiselle de Saint-Meran, with an air of deep interest. + +"For a very serious matter, which bids fair to make work for +the executioner." + +"How dreadful!" exclaimed Renee, turning pale. + +"Is it possible?" burst simultaneously from all who were +near enough to the magistrate to hear his words. + +"Why, if my information prove correct, a sort of Bonaparte +conspiracy has just been discovered." + +"Can I believe my ears?" cried the marquise. + +"I will read you the letter containing the accusation, at +least," said Villefort: -- + +"`The king's attorney is informed by a friend to the throne +and the religions institutions of his country, that one +named Edmond Dantes, mate of the ship Pharaon, this day +arrived from Smyrna, after having touched at Naples and +Porto-Ferrajo, has been the bearer of a letter from Murat to +the usurper, and again taken charge of another letter from +the usurper to the Bonapartist club in Paris. Ample +corroboration of this statement may be obtained by arresting +the above-mentioned Edmond Dantes, who either carries the +letter for Paris about with him, or has it at his father's +abode. Should it not be found in the possession of father or +son, then it will assuredly be discovered in the cabin +belonging to the said Dantes on board the Pharaon.'" + +"But," said Renee, "this letter, which, after all, is but an +anonymous scrawl, is not even addressed to you, but to the +king's attorney." + +"True; but that gentleman being absent, his secretary, by +his orders, opened his letters; thinking this one of +importance, he sent for me, but not finding me, took upon +himself to give the necessary orders for arresting the +accused party." + +"Then the guilty person is absolutely in custody?" said the +marquise. + +"Nay, dear mother, say the accused person. You know we +cannot yet pronounce him guilty." + +"He is in safe custody," answered Villefort; "and rely upon +it, if the letter is found, he will not be likely to be +trusted abroad again, unless he goes forth under the +especial protection of the headsman." + +"And where is the unfortunate being?" asked Renee. + +"He is at my house." + +"Come, come, my friend," interrupted the marquise, "do not +neglect your duty to linger with us. You are the king's +servant, and must go wherever that service calls you." + +"O Villefort!" cried Renee, clasping her hands, and looking +towards her lover with piteous earnestness, "be merciful on +this the day of our betrothal." + +The young man passed round to the side of the table where +the fair pleader sat, and leaning over her chair said +tenderly, -- + +"To give you pleasure, my sweet Renee, I promise to show all +the lenity in my power; but if the charges brought against +this Bonapartist hero prove correct, why, then, you really +must give me leave to order his head to be cut off." Renee +shuddered. + +"Never mind that foolish girl, Villefort," said the +marquise. "She will soon get over these things." So saying, +Madame de Saint-Meran extended her dry bony hand to +Villefort, who, while imprinting a son-in-law's respectful +salute on it, looked at Renee, as much as to say, "I must +try and fancy 'tis your dear hand I kiss, as it should have +been." + +"These are mournful auspices to accompany a betrothal," +sighed poor Renee. + +"Upon my word, child!" exclaimed the angry marquise, "your +folly exceeds all bounds. I should be glad to know what +connection there can possibly be between your sickly +sentimentality and the affairs of the state!" + +"O mother!" murmured Renee. + +"Nay, madame, I pray you pardon this little traitor. I +promise you that to make up for her want of loyalty, I will +be most inflexibly severe;" then casting an expressive +glance at his betrothed, which seemed to say, "Fear not, for +your dear sake my justice shall be tempered with mercy," and +receiving a sweet and approving smile in return, Villefort +quitted the room. + + + +Chapter 7 +The Examination. + +No sooner had Villefort left the salon, than he assumed the +grave air of a man who holds the balance of life and death +in his hands. Now, in spite of the mobility of his +countenance, the command of which, like a finished actor, he +had carefully studied before the glass, it was by no means +easy for him to assume an air of judicial severity. Except +the recollection of the line of politics his father had +adopted, and which might interfere, unless he acted with the +greatest prudence, with his own career, Gerard de Villefort +was as happy as a man could be. Already rich, he held a high +official situation, though only twenty-seven. He was about +to marry a young and charming woman, whom he loved, not +passionately, but reasonably, as became a deputy attorney of +the king; and besides her personal attractions, which were +very great, Mademoiselle de Saint-Meran's family possessed +considerable political influence, which they would, of +course, exert in his favor. The dowry of his wife amounted +to fifty thousand crowns, and he had, besides, the prospect +of seeing her fortune increased to half a million at her +father's death. These considerations naturally gave +Villefort a feeling of such complete felicity that his mind +was fairly dazzled in its contemplation. + +At the door he met the commissary of police, who was waiting +for him. The sight of this officer recalled Villefort from +the third heaven to earth; he composed his face, as we have +before described, and said, "I have read the letter, sir, +and you have acted rightly in arresting this man; now inform +me what you have discovered concerning him and the +conspiracy." + +"We know nothing as yet of the conspiracy, monsieur; all the +papers found have been sealed up and placed on your desk. +The prisoner himself is named Edmond Dantes, mate on board +the three-master the Pharaon, trading in cotton with +Alexandria and Smyrna, and belonging to Morrel & Son, of +Marseilles." + +"Before he entered the merchant service, had he ever served +in the marines?" + +"Oh, no, monsieur, he is very young." + +"How old?" + +"Nineteen or twenty at the most." + +At this moment, and as Villefort had arrived at the corner +of the Rue des Conseils, a man, who seemed to have been +waiting for him, approached; it was M. Morrel. + +"Ah, M. de Villefort," cried he, "I am delighted to see you. +Some of your people have committed the strangest mistake -- +they have just arrested Edmond Dantes, mate of my vessel." + +"I know it, monsieur," replied Villefort, "and I am now +going to examine him." + +"Oh," said Morrel, carried away by his friendship, "you do +not know him, and I do. He is the most estimable, the most +trustworthy creature in the world, and I will venture to +say, there is not a better seaman in all the merchant +service. Oh, M. de Villefort, I beseech your indulgence for +him." + +Villefort, as we have seen, belonged to the aristocratic +party at Marseilles, Morrel to the plebeian; the first was a +royalist, the other suspected of Bonapartism. Villefort +looked disdainfully at Morrel, and replied, -- + +"You are aware, monsieur, that a man may be estimable and +trustworthy in private life, and the best seaman in the +merchant service, and yet be, politically speaking, a great +criminal. Is it not true?" + +The magistrate laid emphasis on these words, as if he wished +to apply them to the owner himself, while his eyes seemed to +plunge into the heart of one who, interceding for another, +had himself need of indulgence. Morrel reddened, for his own +conscience was not quite clear on politics; besides, what +Dantes had told him of his interview with the grand-marshal, +and what the emperor had said to him, embarrassed him. He +replied, however, -- + +"I entreat you, M. de Villefort, be, as you always are, kind +and equitable, and give him back to us soon." This give us +sounded revolutionary in the deputy's ears. + +"Ah, ah," murmured he, "is Dantes then a member of some +Carbonari society, that his protector thus employs the +collective form? He was, if I recollect, arrested in a +tavern, in company with a great many others." Then he added, +"Monsieur, you may rest assured I shall perform my duty +impartially, and that if he be innocent you shall not have +appealed to me in vain; should he, however, be guilty, in +this present epoch, impunity would furnish a dangerous +example, and I must do my duty." + +As he had now arrived at the door of his own house, which +adjoined the Palais de Justice, he entered, after having, +coldly saluted the shipowner, who stood, as if petrified, on +the spot where Villefort had left him. The ante-chamber was +full of police agents and gendarmes, in the midst of whom, +carefully watched, but calm and smiling, stood the prisoner. +Villefort traversed the ante-chamber, cast a side glance at +Dantes, and taking a packet which a gendarme offered him, +disappeared, saying, "Bring in the prisoner." + +Rapid as had been Villefort's glance, it had served to give +him an idea of the man he was about to interrogate. He had +recognized intelligence in the high forehead, courage in the +dark eye and bent brow, and frankness in the thick lips that +showed a set of pearly teeth. Villefort's first impression +was favorable; but he had been so often warned to mistrust +first impulses, that he applied the maxim to the impression, +forgetting the difference between the two words. He stifled, +therefore, the feelings of compassion that were rising, +composed his features, and sat down, grim and sombre, at his +desk. An instant after Dantes entered. He was pale, but calm +and collected, and saluting his judge with easy politeness, +looked round for a seat, as if he had been in M. Morrel's +salon. It was then that he encountered for the first time +Villefort's look, -- that look peculiar to the magistrate, +who, while seeming to read the thoughts of others, betrays +nothing of his own. + +"Who and what are you?" demanded Villefort, turning over a +pile of papers, containing information relative to the +prisoner, that a police agent had given to him on his entry, +and that, already, in an hour's time, had swelled to +voluminous proportions, thanks to the corrupt espionage of +which "the accused" is always made the victim. + +"My name is Edmond Dantes," replied the young man calmly; "I +am mate of the Pharaon, belonging to Messrs. Morrel & Son." + +"Your age?" continued Villefort. + +"Nineteen," returned Dantes. + +"What were you doing at the moment you were arrested?" + +"I was at the festival of my marriage, monsieur," said the +young man, his voice slightly tremulous, so great was the +contrast between that happy moment and the painful ceremony +he was now undergoing; so great was the contrast between the +sombre aspect of M. de Villefort and the radiant face of +Mercedes. + +"You were at the festival of your marriage?" said the +deputy, shuddering in spite of himself. + +"Yes, monsieur; I am on the point of marrying a young girl I +have been attached to for three years." Villefort, impassive +as he was, was struck with this coincidence; and the +tremulous voice of Dantes, surprised in the midst of his +happiness, struck a sympathetic chord in his own bosom -- he +also was on the point of being married, and he was summoned +from his own happiness to destroy that of another. "This +philosophic reflection," thought he, "will make a great +sensation at M. de Saint-Meran's;" and he arranged mentally, +while Dantes awaited further questions, the antithesis by +which orators often create a reputation for eloquence. When +this speech was arranged, Villefort turned to Dantes. + +"Go on, sir," said he. + +"What would you have me say?" + +"Give all the information in your power." + +"Tell me on which point you desire information, and I will +tell all I know; only," added he, with a smile, "I warn you +I know very little." + +"Have you served under the usurper?" + +"I was about to be mustered into the Royal Marines when he +fell." + +"It is reported your political opinions are extreme," said +Villefort, who had never heard anything of the kind, but was +not sorry to make this inquiry, as if it were an accusation. + +"My political opinions!" replied Dantes. "Alas, sir, I never +had any opinions. I am hardly nineteen; I know nothing; I +have no part to play. If I obtain the situation I desire, I +shall owe it to M. Morrel. Thus all my opinions -- I will +not say public, but private -- are confined to these three +sentiment, -- I love my father, I respect M. Morrel, and I +adore Mercedes. This, sir, is all I can tell you, and you +see how uninteresting it is." As Dantes spoke, Villefort +gazed at his ingenuous and open countenance, and recollected +the words of Renee, who, without knowing who the culprit +was, had besought his indulgence for him. With the deputy's +knowledge of crime and criminals, every word the young man +uttered convinced him more and more of his innocence. This +lad, for he was scarcely a man, -- simple, natural, eloquent +with that eloquence of the heart never found when sought +for; full of affection for everybody, because he was happy, +and because happiness renders even the wicked good -- +extended his affection even to his judge, spite of +Villefort's severe look and stern accent. Dantes seemed full +of kindness. + +"Pardieu," said Villefort, "he is a noble fellow. I hope I +shall gain Renee's favor easily by obeying the first command +she ever imposed on me. I shall have at least a pressure of +the hand in public, and a sweet kiss in private." Full of +this idea, Villefort's face became so joyous, that when he +turned to Dantes, the latter, who had watched the change on +his physiognomy, was smiling also. + +"Sir," said Villefort, "have you any enemies, at least, that +you know." + +"I have enemies?" replied Dantes; "my position is not +sufficiently elevated for that. As for my disposition, that +is, perhaps, somewhat too hasty; but I have striven to +repress it. I have had ten or twelve sailors under me, and +if you question them, they will tell you that they love and +respect me, not as a father, for I am too young, but as an +elder brother." + +"But you may have excited jealousy. You are about to become +captain at nineteen -- an elevated post; you are about to +marry a pretty girl, who loves you; and these two pieces of +good fortune may have excited the envy of some one." + +"You are right; you know men better than I do, and what you +say may possibly be the case, I confess; but if such persons +are among my acquaintances I prefer not to know it, because +then I should be forced to hate them." + +"You are wrong; you should always strive to see clearly +around you. You seem a worthy young man; I will depart from +the strict line of my duty to aid you in discovering the +author of this accusation. Here is the paper; do you know +the writing?" As he spoke, Villefort drew the letter from +his pocket, and presented it to Dantes. Dantes read it. A +cloud passed over his brow as he said, -- + +"No, monsieur, I do not know the writing, and yet it is +tolerably plain. Whoever did it writes well. I am very +fortunate," added he, looking gratefully at Villefort, "to +be examined by such a man as you; for this envious person is +a real enemy." And by the rapid glance that the young man's +eyes shot forth, Villefort saw how much energy lay hid +beneath this mildness. + +"Now," said the deputy, "answer me frankly, not as a +prisoner to a judge, but as one man to another who takes an +interest in him, what truth is there in the accusation +contained in this anonymous letter?" And Villefort threw +disdainfully on his desk the letter Dantes had just given +back to him. + +"None at all. I will tell you the real facts. I swear by my +honor as a sailor, by my love for Mercedes, by the life of +my father" -- + +"Speak, monsieur," said Villefort. Then, internally, "If +Renee could see me, I hope she would be satisfied, and would +no longer call me a decapitator." + +"Well, when we quitted Naples, Captain Leclere was attacked +with a brain fever. As we had no doctor on board, and he was +so anxious to arrive at Elba, that he would not touch at any +other port, his disorder rose to such a height, that at the +end of the third day, feeling he was dying, he called me to +him. `My dear Dantes,' said he, `swear to perform what I am +going to tell you, for it is a matter of the deepest +importance.' + +"`I swear, captain,' replied I. + +"`Well, as after my death the command devolves on you as +mate, assume the command, and bear up for the Island of +Elba, disembark at Porto-Ferrajo, ask for the grand-marshal, +give him this letter -- perhaps they will give you another +letter, and charge you with a commission. You will +accomplish what I was to have done, and derive all the honor +and profit from it.' + +"`I will do it, captain; but perhaps I shall not be admitted +to the grand marshal's presence as easily as you expect?' + +"`Here is a ring that will obtain audience of him, and +remove every difficulty,' said the captain. At these words +he gave me a ring. It was time -- two hours after he was +delirious; the next day he died." + +"And what did you do then?" + +"What I ought to have done, and what every one would have +done in my place. Everywhere the last requests of a dying +man are sacred; but with a sailor the last requests of his +superior are commands. I sailed for the Island of Elba, +where I arrived the next day; I ordered everybody to remain +on board, and went on shore alone. As I had expected, I +found some difficulty in obtaining access to the +grand-marshal; but I sent the ring I had received from the +captain to him, and was instantly admitted. He questioned me +concerning Captain Leclere's death; and, as the latter had +told me, gave me a letter to carry on to a person in Paris. +I undertook it because it was what my captain had bade me +do. I landed here, regulated the affairs of the vessel, and +hastened to visit my affianced bride, whom I found more +lovely than ever. Thanks to M. Morrel, all the forms were +got over; in a word I was, as I told you, at my +marriage-feast; and I should have been married in an hour, +and to-morrow I intended to start for Paris, had I not been +arrested on this charge which you as well as I now see to be +unjust." + +"Ah," said Villefort, "this seems to me the truth. If you +have been culpable, it was imprudence, and this imprudence +was in obedience to the orders of your captain. Give up this +letter you have brought from Elba, and pass your word you +will appear should you be required, and go and rejoin your +friends. + +"I am free, then, sir?" cried Dantes joyfully. + +"Yes; but first give me this letter." + +"You have it already, for it was taken from me with some +others which I see in that packet." + +"Stop a moment," said the deputy, as Dantes took his hat and +gloves. "To whom is it addressed?" + +"To Monsieur Noirtier, Rue Coq-Heron, Paris." Had a +thunderbolt fallen into the room, Villefort could not have +been more stupefied. He sank into his seat, and hastily +turning over the packet, drew forth the fatal letter, at +which he glanced with an expression of terror. + +"M. Noirtier, Rue Coq-Heron, No. 13," murmured he, growing +still paler. + +"Yes," said Dantes; "do you know him?" + +"No," replied Villefort; "a faithful servant of the king +does not know conspirators." + +"It is a conspiracy, then?" asked Dantes, who after +believing himself free, now began to feel a tenfold alarm. +"I have, however, already told you, sir, I was entirely +ignorant of the contents of the letter." + +"Yes; but you knew the name of the person to whom it was +addressed," said Villefort. + +"I was forced to read the address to know to whom to give +it." + +"Have you shown this letter to any one?" asked Villefort, +becoming still more pale. + +"To no one, on my honor." + +"Everybody is ignorant that you are the bearer of a letter +from the Island of Elba, and addressed to M. Noirtier?" + +"Everybody, except the person who gave it to me." + +"And that was too much, far too much," murmured Villefort. +Villefort's brow darkened more and more, his white lips and +clinched teeth filled Dantes with apprehension. After +reading the letter, Villefort covered his face with his +hands. + +"Oh," said Dantes timidly, "what is the matter?" Villefort +made no answer, but raised his head at the expiration of a +few seconds, and again perused the letter. + +"And you say that you are ignorant of the contents of this +letter?" + +"I give you my word of honor, sir," said Dantes; "but what +is the matter? You are ill -- shall I ring for assistance? +-- shall I call?" + +"No," said Villefort, rising hastily; "stay where you are. +It is for me to give orders here, and not you." + +"Monsieur," replied Dantes proudly, "it was only to summon +assistance for you." + +"I want none; it was a temporary indisposition. Attend to +yourself; answer me." Dantes waited, expecting a question, +but in vain. Villefort fell back on his chair, passed his +hand over his brow, moist with perspiration, and, for the +third time, read the letter. + +"Oh, if he knows the contents of this!" murmured he, "and +that Noirtier is the father of Villefort, I am lost!" And he +fixed his eyes upon Edmond as if he would have penetrated +his thoughts. + +"Oh, it is impossible to doubt it," cried he, suddenly. + +"In heaven's name!" cried the unhappy young man, "if you +doubt me, question me; I will answer you." Villefort made a +violent effort, and in a tone he strove to render firm, -- + +"Sir," said he, "I am no longer able, as I had hoped, to +restore you immediately to liberty; before doing so, I must +consult the trial justice; what my own feeling is you +already know." + +"Oh, monsieur," cried Dantes, "you have been rather a friend +than a judge." + +"Well, I must detain you some time longer, but I will strive +to make it as short as possible. The principal charge +against you is this letter, and you see" -- Villefort +approached the fire, cast it in, and waited until it was +entirely consumed. + +"You see, I destroy it?" + +"Oh," exclaimed Dantes, "you are goodness itself." + +"Listen," continued Villefort; "you can now have confidence +in me after what I have done." + +"Oh, command, and I will obey." + +"Listen; this is not a command, but advice I give you." + +"Speak, and I will follow your advice." + +"I shall detain you until this evening in the Palais de +Justice. Should any one else interrogate you, say to him +what you have said to me, but do not breathe a word of this +letter." + +"I promise." It was Villefort who seemed to entreat, and the +prisoner who reassured him. + +"You see," continued he, glancing toward the grate, where +fragments of burnt paper fluttered in the flames, "the +letter is destroyed; you and I alone know of its existence; +should you, therefore, be questioned, deny all knowledge of +it -- deny it boldly, and you are saved." + +"Be satisfied; I will deny it." + +"It was the only letter you had?" + +"It was." + +"Swear it." + +"I swear it." + +Villefort rang. A police agent entered. Villefort whispered +some words in his ear, to which the officer replied by a +motion of his head. + +"Follow him," said Villefort to Dantes. Dantes saluted +Villefort and retired. Hardly had the door closed when +Villefort threw himself half-fainting into a chair. + +"Alas, alas," murmured he, "if the procureur himself had +been at Marseilles I should have been ruined. This accursed +letter would have destroyed all my hopes. Oh, my father, +must your past career always interfere with my successes?" +Suddenly a light passed over his face, a smile played round +his set mouth, and his haggard eyes were fixed in thought. + +"This will do," said he, "and from this letter, which might +have ruined me, I will make my fortune. Now to the work I +have in hand." And after having assured himself that the +prisoner was gone, the deputy procureur hastened to the +house of his betrothed. + + + +Chapter 8 +The Chateau D'If. + +The commissary of police, as he traversed the ante-chamber, +made a sign to two gendarmes, who placed themselves one on +Dantes' right and the other on his left. A door that +communicated with the Palais de Justice was opened, and they +went through a long range of gloomy corridors, whose +appearance might have made even the boldest shudder. The +Palais de Justice communicated with the prison, -- a sombre +edifice, that from its grated windows looks on the +clock-tower of the Accoules. After numberless windings, +Dantes saw a door with an iron wicket. The commissary took +up an iron mallet and knocked thrice, every blow seeming to +Dantes as if struck on his heart. The door opened, the two +gendarmes gently pushed him forward, and the door closed +with a loud sound behind him. The air he inhaled was no +longer pure, but thick and mephitic, -- he was in prison. He +was conducted to a tolerably neat chamber, but grated and +barred, and its appearance, therefore, did not greatly alarm +him; besides, the words of Villefort, who seemed to interest +himself so much, resounded still in his ears like a promise +of freedom. It was four o'clock when Dantes was placed in +this chamber. It was, as we have said, the 1st of March, and +the prisoner was soon buried in darkness. The obscurity +augmented the acuteness of his hearing; at the slightest +sound he rose and hastened to the door, convinced they were +about to liberate him, but the sound died away, and Dantes +sank again into his seat. At last, about ten o'clock, and +just as Dantes began to despair, steps were heard in the +corridor, a key turned in the lock, the bolts creaked, the +massy oaken door flew open, and a flood of light from two +torches pervaded the apartment. By the torchlight Dantes saw +the glittering sabres and carbines of four gendarmes. He had +advanced at first, but stopped at the sight of this display +of force. + +"Are you come to fetch me?" asked he. + +"Yes," replied a gendarme. + +"By the orders of the deputy procureur?" + +"I believe so." The conviction that they came from M. de +Villefort relieved all Dantes' apprehensions; he advanced +calmly, and placed himself in the centre of the escort. A +carriage waited at the door, the coachman was on the box, +and a police officer sat beside him. + +"Is this carriage for me?" said Dantes. + +"It is for you," replied a gendarme. + +Dantes was about to speak; but feeling himself urged +forward, and having neither the power nor the intention to +resist, he mounted the steps, and was in an instant seated +inside between two gendarmes; the two others took their +places opposite, and the carriage rolled heavily over the +stones. + +The prisoner glanced at the windows -- they were grated; he +had changed his prison for another that was conveying him he +knew not whither. Through the grating, however, Dantes saw +they were passing through the Rue Caisserie, and by the Rue +Saint-Laurent and the Rue Taramis, to the port. Soon he saw +the lights of La Consigne. + +The carriage stopped, the officer descended, approached the +guardhouse, a dozen soldiers came out and formed themselves +in order; Dantes saw the reflection of their muskets by the +light of the lamps on the quay. + +"Can all this force be summoned on my account?" thought he. + +The officer opened the door, which was locked, and, without +speaking a word, answered Dantes' question; for he saw +between the ranks of the soldiers a passage formed from the +carriage to the port. The two gendarmes who were opposite to +him descended first, then he was ordered to alight and the +gendarmes on each side of him followed his example. They +advanced towards a boat, which a custom-house officer held +by a chain, near the quay. + +The soldiers looked at Dantes with an air of stupid +curiosity. In an instant he was placed in the stern-sheets +of the boat, between the gendarmes, while the officer +stationed himself at the bow; a shove sent the boat adrift, +and four sturdy oarsmen impelled it rapidly towards the +Pilon. At a shout from the boat, the chain that closes the +mouth of the port was lowered and in a second they were, as +Dantes knew, in the Frioul and outside the inner harbor. + +The prisoner's first feeling was of joy at again breathing +the pure air -- for air is freedom; but he soon sighed, for +he passed before La Reserve, where he had that morning been +so happy, and now through the open windows came the laughter +and revelry of a ball. Dantes folded his hands, raised his +eyes to heaven, and prayed fervently. + +The boat continued her voyage. They had passed the Tete de +Morte, were now off the Anse du Pharo, and about to double +the battery. This manoeuvre was incomprehensible to Dantes. + +"Whither are you taking me?" asked he. + +"You will soon know." + +"But still" -- + +"We are forbidden to give you any explanation." Dantes, +trained in discipline, knew that nothing would be more +absurd than to question subordinates, who were forbidden to +reply; and so he remained silent. + +The most vague and wild thoughts passed through his mind. +The boat they were in could not make a long voyage; there +was no vessel at anchor outside the harbor; he thought, +perhaps, they were going to leave him on some distant point. +He was not bound, nor had they made any attempt to handcuff +him; this seemed a good augury. Besides, had not the deputy, +who had been so kind to him, told him that provided he did +not pronounce the dreaded name of Noirtier, he had nothing +to apprehend? Had not Villefort in his presence destroyed +the fatal letter, the only proof against him? + +He waited silently, striving to pierce through the darkness. + +They had left the Ile Ratonneau, where the lighthouse stood, +on the right, and were now opposite the Point des Catalans. +It seemed to the prisoner that he could distinguish a +feminine form on the beach, for it was there Mercedes dwelt. +How was it that a presentiment did not warn Mercedes that +her lover was within three hundred yards of her? + +One light alone was visible; and Dantes saw that it came +from Mercedes' chamber. Mercedes was the only one awake in +the whole settlement. A loud cry could be heard by her. But +pride restrained him and he did not utter it. What would his +guards think if they heard him shout like a madman? + +He remained silent, his eyes fixed upon the light; the boat +went on, but the prisoner thought only of Mercedes. An +intervening elevation of land hid the light. Dantes turned +and perceived that they had got out to sea. While he had +been absorbed in thought, they had shipped their oars and +hoisted sail; the boat was now moving with the wind. + +In spite of his repugnance to address the guards, Dantes +turned to the nearest gendarme, and taking his hand, -- + +"Comrade," said he, "I adjure you, as a Christian and a +soldier, to tell me where we are going. I am Captain Dantes, +a loyal Frenchman, thought accused of treason; tell me where +you are conducting me, and I promise you on my honor I will +submit to my fate." + +The gendarme looked irresolutely at his companion, who +returned for answer a sign that said, "I see no great harm +in telling him now," and the gendarme replied, -- + +"You are a native of Marseilles, and a sailor, and yet you +do not know where you are going?" + +"On my honor, I have no idea." + +"Have you no idea whatever?" + +"None at all." + +"That is impossible." + +"I swear to you it is true. Tell me, I entreat." + +"But my orders." + +"Your orders do not forbid your telling me what I must know +in ten minutes, in half an hour, or an hour. You see I +cannot escape, even if I intended." + +"Unless you are blind, or have never been outside the +harbor, you must know." + +"I do not." + +"Look round you then." Dantes rose and looked forward, when +he saw rise within a hundred yards of him the black and +frowning rock on which stands the Chateau d'If. This gloomy +fortress, which has for more than three hundred years +furnished food for so many wild legends, seemed to Dantes +like a scaffold to a malefactor. + +"The Chateau d'If?" cried he, "what are we going there for?" +The gendarme smiled. + +"I am not going there to be imprisoned," said Dantes; "it is +only used for political prisoners. I have committed no +crime. Are there any magistrates or judges at the Chateau +d'If?" + +"There are only," said the gendarme, "a governor, a +garrison, turnkeys, and good thick walls. Come, come, do not +look so astonished, or you will make me think you are +laughing at me in return for my good nature." Dantes pressed +the gendarme's hand as though he would crush it. + +"You think, then," said he, "that I am taken to the Chateau +d'If to be imprisoned there?" + +"It is probable; but there is no occasion to squeeze so +hard." + +"Without any inquiry, without any formality?" + +"All the formalities have been gone through; the inquiry is +already made." + +"And so, in spite of M. de Villefort's promises?" + +"I do not know what M. de Villefort promised you," said the +gendarme, "but I know we are taking you to the Chateau d'If. +But what are you doing? Help, comrades, help!" + +By a rapid movement, which the gendarme's practiced eye had +perceived, Dantes sprang forward to precipitate himself into +the sea; but four vigorous arms seized him as his feet +quitted the bottom of the boat. He fell back cursing with +rage. + +"Good!" said the gendarme, placing his knee on his chest; +"believe soft-spoken gentlemen again! Harkye, my friend, I +have disobeyed my first order, but I will not disobey the +second; and if you move, I will blow your brains out." And +he levelled his carbine at Dantes, who felt the muzzle +against his temple. + +For a moment the idea of struggling crossed his mind, and of +so ending the unexpected evil that had overtaken him. But he +bethought him of M. de Villefort's promise; and, besides, +death in a boat from the hand of a gendarme seemed too +terrible. He remained motionless, but gnashing his teeth and +wringing his hands with fury. + +At this moment the boat came to a landing with a violent +shock. One of the sailors leaped on shore, a cord creaked as +it ran through a pulley, and Dantes guessed they were at the +end of the voyage, and that they were mooring the boat. + +His guards, taking him by the arms and coat-collar, forced +him to rise, and dragged him towards the steps that lead to +the gate of the fortress, while the police officer carrying +a musket with fixed bayonet followed behind. + +Dantes made no resistance; he was like a man in a dream: he +saw soldiers drawn up on the embankment; he knew vaguely +that he was ascending a flight of steps; he was conscious +that he passed through a door, and that the door closed +behind him; but all this indistinctly as through a mist. He +did not even see the ocean, that terrible barrier against +freedom, which the prisoners look upon with utter despair. + +They halted for a minute, during which he strove to collect +his thoughts. He looked around; he was in a court surrounded +by high walls; he heard the measured tread of sentinels, and +as they passed before the light he saw the barrels of their +muskets shine. + +They waited upwards of ten minutes. Certain Dantes could not +escape, the gendarmes released him. They seemed awaiting +orders. The orders came. + +"Where is the prisoner?" said a voice. + +"Here," replied the gendarmes. + +"Let him follow me; I will take him to his cell." + +"Go!" said the gendarmes, thrusting Dantes forward. + +The prisoner followed his guide, who led him into a room +almost under ground, whose bare and reeking walls seemed as +though impregnated with tears; a lamp placed on a stool +illumined the apartment faintly, and showed Dantes the +features of his conductor, an under-jailer, ill-clothed, and +of sullen appearance. + +"Here is your chamber for to-night," said he. "It is late, +and the governor is asleep. To-morrow, perhaps, he may +change you. In the meantime there is bread, water, and fresh +straw; and that is all a prisoner can wish for. Goodnight." +And before Dantes could open his mouth -- before he had +noticed where the jailer placed his bread or the water -- +before he had glanced towards the corner where the straw +was, the jailer disappeared, taking with him the lamp and +closing the door, leaving stamped upon the prisoner's mind +the dim reflection of the dripping walls of his dungeon. + +Dantes was alone in darkness and in silence -- cold as the +shadows that he felt breathe on his burning forehead. With +the first dawn of day the jailer returned, with orders to +leave Dantes where he was. He found the prisoner in the same +position, as if fixed there, his eyes swollen with weeping. +He had passed the night standing, and without sleep. The +jailer advanced; Dantes appeared not to perceive him. He +touched him on the shoulder. Edmond started. + +"Have you not slept?" said the jailer. + +"I do not know," replied Dantes. The jailer stared. + +"Are you hungry?" continued he. + +"I do not know." + +"Do you wish for anything?" + +"I wish to see the governor." The jailer shrugged his +shoulders and left the chamber. + +Dantes followed him with his eyes, and stretched forth his +hands towards the open door; but the door closed. All his +emotion then burst forth; he cast himself on the ground, +weeping bitterly, and asking himself what crime he had +committed that he was thus punished. + +The day passed thus; he scarcely tasted food, but walked +round and round the cell like a wild beast in its cage. One +thought in particular tormented him: namely, that during his +journey hither he had sat so still, whereas he might, a +dozen times, have plunged into the sea, and, thanks to his +powers of swimming, for which he was famous, have gained the +shore, concealed himself until the arrival of a Genoese or +Spanish vessel, escaped to Spain or Italy, where Mercedes +and his father could have joined him. He had no fears as to +how he should live -- good seamen are welcome everywhere. He +spoke Italian like a Tuscan, and Spanish like a Castilian; +he would have been free, and happy with Mercedes and his +father, whereas he was now confined in the Chateau d'If, +that impregnable fortress, ignorant of the future destiny of +his father and Mercedes; and all this because he had trusted +to Villefort's promise. The thought was maddening, and +Dantes threw himself furiously down on his straw. The next +morning at the same hour, the jailer came again. + +"Well," said the jailer, "are you more reasonable to-day?" +Dantes made no reply. + +"Come, cheer up; is there anything that I can do for you?" + +"I wish to see the governor." + +"I have already told you it was impossible." + +"Why so?" + +"Because it is against prison rules, and prisoners must not +even ask for it." + +"What is allowed, then?" + +"Better fare, if you pay for it, books, and leave to walk +about." + +"I do not want books, I am satisfied with my food, and do +not care to walk about; but I wish to see the governor." + +"If you worry me by repeating the same thing, I will not +bring you any more to eat." + +"Well, then," said Edmond, "if you do not, I shall die of +hunger -- that is all." + +The jailer saw by his tone he would be happy to die; and as +every prisoner is worth ten sous a day to his jailer, he +replied in a more subdued tone. + +"What you ask is impossible; but if you are very well +behaved you will be allowed to walk about, and some day you +will meet the governor, and if he chooses to reply, that is +his affair." + +"But," asked Dantes, "how long shall I have to wait?" + +"Ah, a month -- six months -- a year." + +"It is too long a time. I wish to see him at once." + +"Ah," said the jailer, "do not always brood over what is +impossible, or you will be mad in a fortnight." + +"You think so?" + +"Yes; we have an instance here; it was by always offering a +million of francs to the governor for his liberty that an +abbe became mad, who was in this chamber before you." + +"How long has he left it?" + +"Two years." + +"Was he liberated, then?" + +"No; he was put in a dungeon." + +"Listen!" said Dantes. "I am not an abbe, I am not mad; +perhaps I shall be, but at present, unfortunately, I am not. +I will make you another offer." + +"What is that?" + +"I do not offer you a million, because I have it not; but I +will give you a hundred crowns if, the first time you go to +Marseilles, you will seek out a young girl named Mercedes, +at the Catalans, and give her two lines from me." + +"If I took them, and were detected, I should lose my place, +which is worth two thousand francs a year; so that I should +be a great fool to run such a risk for three hundred." + +"Well," said Dantes, "mark this; if you refuse at least to +tell Mercedes I am here, I will some day hide myself behind +the door, and when you enter I will dash out your brains +with this stool." + +"Threats!" cried the jailer, retreating and putting himself +on the defensive; "you are certainly going mad. The abbe +began like you, and in three days you will be like him, mad +enough to tie up; but, fortunately, there are dungeons +here." Dantes whirled the stool round his head. + +"All right, all right," said the jailer; "all right, since +you will have it so. I will send word to the governor." + +"Very well," returned Dantes, dropping the stool and sitting +on it as if he were in reality mad. The jailer went out, and +returned in an instant with a corporal and four soldiers. + +"By the governor's orders," said he, "conduct the prisoner +to the tier beneath." + +"To the dungeon, then," said the corporal. + +"Yes; we must put the madman with the madmen." The soldiers +seized Dantes, who followed passively. + +He descended fifteen steps, and the door of a dungeon was +opened, and he was thrust in. The door closed, and Dantes +advanced with outstretched hands until he touched the wall; +he then sat down in the corner until his eyes became +accustomed to the darkness. The jailer was right; Dantes +wanted but little of being utterly mad. + + + +Chapter 9 +The Evening of the Betrothal. + +Villefort had, as we have said, hastened back to Madame de +Saint-Meran's in the Place du Grand Cours, and on entering +the house found that the guests whom he had left at table +were taking coffee in the salon. Renee was, with all the +rest of the company, anxiously awaiting him, and his +entrance was followed by a general exclamation. + +"Well, Decapitator, Guardian of the State, Royalist, Brutus, +what is the matter?" said one. "Speak out." + +"Are we threatened with a fresh Reign of Terror?" asked +another. + +"Has the Corsican ogre broken loose?" cried a third. + +"Marquise," said Villefort, approaching his future +mother-in-law, "I request your pardon for thus leaving you. +Will the marquis honor me by a few moments' private +conversation?" + +"Ah, it is really a serious matter, then?" asked the +marquis, remarking the cloud on Villefort's brow. + +"So serious that I must take leave of you for a few days; +so," added he, turning to Renee, "judge for yourself if it +be not important." + +"You are going to leave us?" cried Renee, unable to hide her +emotion at this unexpected announcement. + +"Alas," returned Villefort, "I must!" + +"Where, then, are you going?" asked the marquise. + +"That, madame, is an official secret; but if you have any +commissions for Paris, a friend of mine is going there +to-night, and will with pleasure undertake them." The guests +looked at each other. + +"You wish to speak to me alone?" said the marquis. + +"Yes, let us go to the library, please." The marquis took +his arm, and they left the salon. + +"Well," asked he, as soon as they were by themselves, "tell +me what it is?" + +"An affair of the greatest importance, that demands my +immediate presence in Paris. Now, excuse the indiscretion, +marquis, but have you any landed property?" + +"All my fortune is in the funds; seven or eight hundred +thousand francs." + +"Then sell out -- sell out, marquis, or you will lose it +all." + +"But how can I sell out here?" + +"You have it broker, have you not?" + +"Yes." + +"Then give me a letter to him, and tell him to sell out +without an instant's delay, perhaps even now I shall arrive +too late." + +"The deuce you say!" replied the marquis, "let us lose no +time, then!" + +And, sitting down, he wrote a letter to his broker, ordering +him to sell out at the market price. + +"Now, then," said Villefort, placing the letter in his +pocketbook, "I must have another!" + +"To whom?" + +"To the king." + +"To the king?" + +"Yes." + +"I dare not write to his majesty." + +"I do not ask you to write to his majesty, but ask M. de +Salvieux to do so. I want a letter that will enable me to +reach the king's presence without all the formalities of +demanding an audience; that would occasion a loss of +precious time." + +"But address yourself to the keeper of the seals; he has the +right of entry at the Tuileries, and can procure you +audience at any hour of the day or night." + +"Doubtless; but there is no occasion to divide the honors of +my discovery with him. The keeper would leave me in the +background, and take all the glory to himself. I tell you, +marquis, my fortune is made if I only reach the Tuileries +the first, for the king will not forget the service I do +him." + +"In that case go and get ready. I will call Salvieux and +make him write the letter." + +"Be as quick as possible, I must be on the road in a quarter +of an hour." + +"Tell your coachman to stop at the door." + +"You will present my excuses to the marquise and +Mademoiselle Renee, whom I leave on such a day with great +regret." + +"You will find them both here, and can make your farewells +in person." + +"A thousand thanks -- and now for the letter." + +The marquis rang, a servant entered. + +"Say to the Comte de Salvieux that I would like to see him." + +"Now, then, go," said the marquis. + +"I shall be gone only a few moments." + +Villefort hastily quitted the apartment, but reflecting that +the sight of the deputy procureur running through the +streets would be enough to throw the whole city into +confusion, he resumed his ordinary pace. At his door he +perceived a figure in the shadow that seemed to wait for +him. It was Mercedes, who, hearing no news of her lover, had +come unobserved to inquire after him. + +As Villefort drew near, she advanced and stood before him. +Dantes had spoken of Mercedes, and Villefort instantly +recognized her. Her beauty and high bearing surprised him, +and when she inquired what had become of her lover, it +seemed to him that she was the judge, and he the accused. + +"The young man you speak of," said Villefort abruptly, "is a +great criminal. and I can do nothing for him, mademoiselle." +Mercedes burst into tears, and, as Villefort strove to pass +her, again addressed him. + +"But, at least, tell me where he is, that I may know whether +he is alive or dead," said she. + +"I do not know; he is no longer in my hands," replied +Villefort. + +And desirous of putting an end to the interview, he pushed +by her, and closed the door, as if to exclude the pain he +felt. But remorse is not thus banished; like Virgil's +wounded hero, he carried the arrow in his wound, and, +arrived at the salon, Villefort uttered a sigh that was +almost a sob, and sank into a chair. + +Then the first pangs of an unending torture seized upon his +heart. The man he sacrificed to his ambition, that innocent +victim immolated on the altar of his father's faults, +appeared to him pale and threatening, leading his affianced +bride by the hand, and bringing with him remorse, not such +as the ancients figured, furious and terrible, but that slow +and consuming agony whose pangs are intensified from hour to +hour up to the very moment of death. Then he had a moment's +hesitation. He had frequently called for capital punishment +on criminals, and owing to his irresistible eloquence they +had been condemned, and yet the slightest shadow of remorse +had never clouded Villefort's brow, because they were +guilty; at least, he believed so; but here was an innocent +man whose happiness he had destroyed: in this case he was +not the judge, but the executioner. + +As he thus reflected, he felt the sensation we have +described, and which had hitherto been unknown to him, arise +in his bosom, and fill him with vague apprehensions. It is +thus that a wounded man trembles instinctively at the +approach of the finger to his wound until it be healed, but +Villefort's was one of those that never close, or if they +do, only close to reopen more agonizing than ever. If at +this moment the sweet voice of Renee had sounded in his ears +pleading for mercy, or the fair Mercedes had entered and +said, "In the name of God, I conjure you to restore me my +affianced husband," his cold and trembling hands would have +signed his release; but no voice broke the stillness of the +chamber, and the door was opened only by Villefort's valet, +who came to tell him that the travelling carriage was in +readiness. + +Villefort rose, or rather sprang, from his chair, hastily +opened one of the drawers of his desk, emptied all the gold +it contained into his pocket, stood motionless an instant, +his hand pressed to his head, muttered a few inarticulate +sounds, and then, perceiving that his servant had placed his +cloak on his shoulders, he sprang into the carriage, +ordering the postilions to drive to M. de Saint-Meran's. The +hapless Dantes was doomed. + +As the marquis had promised, Villefort found the marquise +and Renee in waiting. He started when he saw Renee, for he +fancied she was again about to plead for Dantes. Alas, her +emotions were wholly personal: she was thinking only of +Villefort's departure. + +She loved Villefort, and he left her at the moment he was +about to become her husband. Villefort knew not when he +should return, and Renee, far from pleading for Dantes, +hated the man whose crime separated her from her lover. + +Meanwhile what of Mercedes? She had met Fernand at the +corner of the Rue de la Loge; she had returned to the +Catalans, and had despairingly cast herself on her couch. +Fernand, kneeling by her side, took her hand, and covered it +with kisses that Mercedes did not even feel. She passed the +night thus. The lamp went out for want of oil, but she paid +no heed to the darkness, and dawn came, but she knew not +that it was day. Grief had made her blind to all but one +object -- that was Edmond. + +"Ah, you are there," said she, at length, turning towards +Fernand. + +"I have not quitted you since yesterday," returned Fernand +sorrowfully. + +M. Morrel had not readily given up the fight. He had learned +that Dantes had been taken to prison, and he had gone to all +his friends, and the influential persons of the city; but +the report was already in circulation that Dantes was +arrested as a Bonapartist agent; and as the most sanguine +looked upon any attempt of Napoleon to remount the throne as +impossible, he met with nothing but refusal, and had +returned home in despair, declaring that the matter was +serious and that nothing more could be done. + +Caderousse was equally restless and uneasy, but instead of +seeking, like M. Morrel, to aid Dantes, he had shut himself +up with two bottles of black currant brandy, in the hope of +drowning reflection. But he did not succeed, and became too +intoxicated to fetch any more drink, and yet not so +intoxicated as to forget what had happened. With his elbows +on the table he sat between the two empty bottles, while +spectres danced in the light of the unsnuffed candle -- +spectres such as Hoffmann strews over his punch-drenched +pages, like black, fantastic dust. + +Danglars alone was content and joyous -- he had got rid of +an enemy and made his own situation on the Pharaon secure. +Danglars was one of those men born with a pen behind the +ear, and an inkstand in place of a heart. Everything with +him was multiplication or subtraction. The life of a man was +to him of far less value than a numeral, especially when, by +taking it away, he could increase the sum total of his own +desires. He went to bed at his usual hour, and slept in +peace. + +Villefort, after having received M. de Salvieux' letter, +embraced Renee, kissed the marquise's hand, and shaken that +of the marquis, started for Paris along the Aix road. + +Old Dantes was dying with anxiety to know what had become of +Edmond. But we know very well what had become of Edmond. + + + +Chapter 10 +The King's Closet at the Tuileries. + +We will leave Villefort on the road to Paris, travelling -- +thanks to trebled fees -- with all speed, and passing +through two or three apartments, enter at the Tuileries the +little room with the arched window, so well known as having +been the favorite closet of Napoleon and Louis XVIII., and +now of Louis Philippe. + +There, seated before a walnut table he had brought with him +from Hartwell, and to which, from one of those fancies not +uncommon to great people, he was particularly attached, the +king, Louis XVIII., was carelessly listening to a man of +fifty or fifty-two years of age, with gray hair, +aristocratic bearing, and exceedingly gentlemanly attire, +and meanwhile making a marginal note in a volume of +Gryphius's rather inaccurate, but much sought-after, edition +of Horace -- a work which was much indebted to the sagacious +observations of the philosophical monarch. + +"You say, sir" -- said the king. + +"That I am exceedingly disquieted, sire." + +"Really, have you had a vision of the seven fat kine and the +seven lean kine?" + +"No, sire, for that would only betoken for us seven years of +plenty and seven years of scarcity; and with a king as full +of foresight as your majesty, scarcity is not a thing to be +feared." + +"Then of what other scourge are you afraid, my dear Blacas?" + +"Sire, I have every reason to believe that a storm is +brewing in the south." + +"Well, my dear duke," replied Louis XVIII., "I think you are +wrongly informed, and know positively that, on the contrary, +it is very fine weather in that direction." Man of ability +as he was, Louis XVIII. liked a pleasant jest. + +"Sire," continued M. de Blacas, "if it only be to reassure a +faithful servant, will your majesty send into Languedoc, +Provence, and Dauphine, trusty men, who will bring you back +a faithful report as to the feeling in these three +provinces?" + +"Caninus surdis," replied the king, continuing the +annotations in his Horace. + +"Sire," replied the courtier, laughing, in order that he +might seem to comprehend the quotation, "your majesty may be +perfectly right in relying on the good feeling of France, +but I fear I am not altogether wrong in dreading some +desperate attempt." + +"By whom?" + +"By Bonaparte, or, at least, by his adherents." + +"My dear Blacas," said the king, "you with your alarms +prevent me from working." + +"And you, sire, prevent me from sleeping with your +security." + +"Wait, my dear sir, wait a moment; for I have such a +delightful note on the Pastor quum traheret -- wait, and I +will listen to you afterwards." + +There was a brief pause, during which Louis XVIII. wrote, in +a hand as small as possible, another note on the margin of +his Horace, and then looking at the duke with the air of a +man who thinks he has an idea of his own, while he is only +commenting upon the idea of another, said, -- + +"Go on, my dear duke, go on -- I listen." + +"Sire," said Blacas, who had for a moment the hope of +sacrificing Villefort to his own profit, "I am compelled to +tell you that these are not mere rumors destitute of +foundation which thus disquiet me; but a serious-minded man, +deserving all my confidence, and charged by me to watch over +the south" (the duke hesitated as he pronounced these +words), "has arrived by post to tell me that a great peril +threatens the king, and so I hastened to you, sire." + +"Mala ducis avi domum," continued Louis XVIII., still +annotating. + +"Does your majesty wish me to drop the subject?" + +"By no means, my dear duke; but just stretch out your hand." + +"Which?" + +"Whichever you please -- there to the left." + +"Here, sire?" + +"l tell you to the left, and you are looking to the right; I +mean on my left -- yes, there. You will find yesterday's +report of the minister of police. But here is M. Dandre +himself;" and M. Dandre, announced by the +chamberlain-in-waiting, entered. + +"Come in," said Louis XVIII., with repressed smile, "come +in, Baron, and tell the duke all you know -- the latest news +of M. de Bonaparte; do not conceal anything, however +serious, -- let us see, the Island of Elba is a volcano, and +we may expect to have issuing thence flaming and bristling +war -- bella, horrida bella." M. Dandre leaned very +respectfully on the back of a chair with his two hands, and +said, -- + +"Has your majesty perused yesterday's report?" + +"Yes, yes; but tell the duke himself, who cannot find +anything, what the report contains -- give him the +particulars of what the usurper is doing in his islet." + +"Monsieur," said the baron to the duke, "all the servants of +his majesty must approve of the latest intelligence which we +have from the Island of Elba. Bonaparte" -- M. Dandre looked +at Louis XVIII., who, employed in writing a note, did not +even raise his head. "Bonaparte," continued the baron, "is +mortally wearied, and passes whole days in watching his +miners at work at Porto-Longone." + +"And scratches himself for amusement," added the king. + +"Scratches himself?" inquired the duke, "what does your +majesty mean?" + +"Yes, indeed, my dear duke. Did you forget that this great +man, this hero, this demigod, is attacked with a malady of +the skin which worries him to death, prurigo?" + +"And, moreover, my dear duke," continued the minister of +police, "we are almost assured that, in a very short time, +the usurper will be insane." + +"Insane?" + +"Raving mad; his head becomes weaker. Sometimes he weeps +bitterly, sometimes laughs boisterously, at other time he +passes hours on the seashore, flinging stones in the water +and when the flint makes `duck-and-drake' five or six times, +he appears as delighted as if he had gained another Marengo +or Austerlitz. Now, you must agree that these are +indubitable symptoms of insanity." + +"Or of wisdom, my dear baron -- or of wisdom," said Louis +XVIII., laughing; "the greatest captains of antiquity amused +themselves by casting pebbles into the ocean -- see +Plutarch's life of Scipio Africanus." + +M. de Blacas pondered deeply between the confident monarch +and the truthful minister. Villefort, who did not choose to +reveal the whole secret, lest another should reap all the +benefit of the disclosure, had yet communicated enough to +cause him the greatest uneasiness. + +"Well, well, Dandre," said Louis XVIII., "Blacas is not yet +convinced; let us proceed, therefore, to the usurper's +conversion." The minister of police bowed. + +"The usurper's conversion!" murmured the duke, looking at +the king and Dandre, who spoke alternately, like Virgil's +shepherds. "The usurper converted!" + +"Decidedly, my dear duke." + +"In what way converted?" + +"To good principles. Tell him all about it, baron." + +"Why, this is the way of it," said the minister, with the +gravest air in the world: "Napoleon lately had a review, and +as two or three of his old veterans expressed a desire to +return to France, he gave them their dismissal, and exhorted +them to `serve the good king.' These were his own words, of +that I am certain." + +"Well, Blacas, what think you of this?" inquired the king +triumphantly, and pausing for a moment from the voluminous +scholiast before him. + +"I say, sire, that the minister of police is greatly +deceived or I am; and as it is impossible it can be the +minister of police as he has the guardianship of the safety +and honor of your majesty, it is probable that I am in +error. However, sire, if I might advise, your majesty will +interrogate the person of whom I spoke to you, and I will +urge your majesty to do him this honor." + +"Most willingly, duke; under your auspices I will receive +any person you please, but you must not expect me to be too +confiding. Baron, have you any report more recent than this +dated the 20th February. -- this is the 4th of March?" + +"No, sire, but I am hourly expecting one; it may have +arrived since I left my office." + +"Go thither, and if there be none -- well, well," continued +Louis XVIII., "make one; that is the usual way, is it not?" +and the king laughed facetiously. + +"Oh, sire," replied the minister, "we have no occasion to +invent any; every day our desks are loaded with most +circumstantial denunciations, coming from hosts of people +who hope for some return for services which they seek to +render, but cannot; they trust to fortune, and rely upon +some unexpected event in some way to justify their +predictions." + +"Well, sir, go"; said Louis XVIII., "and remember that I am +waiting for you." + +"I will but go and return, sire; I shall be back in ten +minutes." + +"And I, sire," said M. de Blacas, "will go and find my +messenger." + +"Wait, sir, wait," said Louis XVIII. "Really, M. de Blacas, +I must change your armorial bearings; I will give you an +eagle with outstretched wings, holding in its claws a prey +which tries in vain to escape, and bearing this device -- +Tenax." + +"Sire, I listen," said De Blacas, biting his nails with +impatience. + +"I wish to consult you on this passage, `Molli fugiens +anhelitu," you know it refers to a stag flying from a wolf. +Are you not a sportsman and a great wolf-hunter? Well, then, +what do you think of the molli anhelitu?" + +"Admirable, sire; but my messenger is like the stag you +refer to, for he has posted two hundred and twenty leagues +in scarcely three days." + +"Which is undergoing great fatigue and anxiety, my dear +duke, when we have a telegraph which transmits messages in +three or four hours, and that without getting in the least +out of breath." + +"Ah, sire, you recompense but badly this poor young man, who +has come so far, and with so much ardor, to give your +majesty useful information. If only for the sake of M. de +Salvieux, who recommends him to me, I entreat your majesty +to receive him graciously." + +"M. de Salvieux, my brother's chamberlain?" + +"Yes, sire." + +"He is at Marseilles." + +"And writes me thence." + +"Does he speak to you of this conspiracy?" + +"No; but strongly recommends M. de Villefort, and begs me to +present him to your majesty." + +"M. de Villefort!" cried the king, "is the messenger's name +M. de Villefort?" + +"Yes, sire." + +"And he comes from Marseilles?" + +"In person." + +"Why did you not mention his name at once?" replied the +king, betraying some uneasiness. + +"Sire, I thought his name was unknown to your majesty." + +"No, no, Blacas; he is a man of strong and elevated +understanding, ambitious, too, and, pardieu, you know his +father's name!" + +"His father?" + +"Yes, Noirtier." + +"Noirtier the Girondin? -- Noirtier the senator?" + +"He himself." + +"And your majesty has employed the son of such a man?" + +"Blacas, my friend, you have but limited comprehension. I +told you Villefort was ambitions, and to attain this +ambition Villefort would sacrifice everything, even his +father." + +"Then, sire, may I present him?" + +"This instant, duke! Where is he?" + +"Waiting below, in my carriage." + +"Seek him at once." + +"I hasten to do so." The duke left the royal presence with +the speed of a young man; his really sincere royalism made +him youthful again. Louis XVIII. remained alone, and turning +his eyes on his half-opened Horace, muttered, -- + +"Justum et tenacem propositi virum." + +M. de Blacas returned as speedily as he had departed, but in +the ante-chamber he was forced to appeal to the king's +authority. Villefort's dusty garb, his costume, which was +not of courtly cut, excited the susceptibility of M. de +Breze, who was all astonishment at finding that this young +man had the audacity to enter before the king in such +attire. The duke, however, overcame all difficulties with a +word -- his majesty's order; and, in spite of the +protestations which the master of ceremonies made for the +honor of his office and principles, Villefort was +introduced. + +The king was seated in the same place where the duke had +left him. On opening the door, Villefort found himself +facing him, and the young magistrate's first impulse was to +pause. + +"Come in, M. de Villefort," said the king, "come in." +Villefort bowed, and advancing a few steps, waited until the +king should interrogate him. + +"M. de Villefort," said Louis XVIII., "the Duc de Blacas +assures me you have some interesting information to +communicate. + +"Sire, the duke is right, and I believe your majesty will +think it equally important." + +"In the first place, and before everything else, sir, is the +news as bad in your opinion as I am asked to believe?" + +"Sire, I believe it to be most urgent, but I hope, by the +speed I have used, that it is not irreparable." + +"Speak as fully as you please, sir," said the king, who +began to give way to the emotion which had showed itself in +Blacas's face and affected Villefort's voice. "Speak, sir, +and pray begin at the beginning; I like order in +everything." + +"Sire," said Villefort, "I will render a faithful report to +your majesty, but I must entreat your forgiveness if my +anxiety leads to some obscurity in my language." A glance at +the king after this discreet and subtle exordium, assured +Villefort of the benignity of his august auditor, and he +went on: -- + +"Sire, I have come as rapidly to Paris as possible, to +inform your majesty that I have discovered, in the exercise +of my duties, not a commonplace and insignificant plot, such +as is every day got up in the lower ranks of the people and +in the army, but an actual conspiracy -- a storm which +menaces no less than your majesty's throne. Sire, the +usurper is arming three ships, he meditates some project, +which, however mad, is yet, perhaps, terrible. At this +moment he will have left Elba, to go whither I know not, but +assuredly to attempt a landing either at Naples, or on the +coast of Tuscany, or perhaps on the shores of France. Your +majesty is well aware that the sovereign of the Island of +Elba has maintained his relations with Italy and France?" + +"I am, sir," said the king, much agitated; "and recently we +have had information that the Bonapartist clubs have had +meetings in the Rue Saint-Jacques. But proceed, I beg of +you. How did you obtain these details?" + +"Sire, they are the results of an examination which I have +made of a man of Marseilles, whom I have watched for some +time, and arrested on the day of my departure. This person, +a sailor, of turbulent character, and whom I suspected of +Bonapartism, has been secretly to the Island of Elba. There +he saw the grand-marshal, who charged him with an oral +message to a Bonapartist in Paris, whose name I could not +extract from him; but this mission was to prepare men's +minds for a return (it is the man who says this, sire) -- a +return which will soon occur." + +"And where is this man?" + +"In prison, sire." + +"And the matter seems serious to you?" + +"So serious, sire, that when the circumstance surprised me +in the midst of a family festival, on the very day of my +betrothal, I left my bride and friends, postponing +everything, that I might hasten to lay at your majesty's +feet the fears which impressed me, and the assurance of my +devotion." + +"True," said Louis XVIII., "was there not a marriage +engagement between you and Mademoiselle de Saint-Meran?" + +"Daughter of one of your majesty's most faithful servants." + +"Yes, yes; but let us talk of this plot, M. de Villefort." + +"Sire, I fear it is more than a plot; I fear it is a +conspiracy." + +"A conspiracy in these times," said Louis XVIII., smiling, +"is a thing very easy to meditate, but more difficult to +conduct to an end, inasmuch as, re-established so recently +on the throne of our ancestors, we have our eyes open at +once upon the past, the present, and the future. For the +last ten months my ministers have redoubled their vigilance, +in order to watch the shore of the Mediterranean. If +Bonaparte landed at Naples, the whole coalition would be on +foot before he could even reach Piomoino; if he land in +Tuscany, he will be in an unfriendly territory; if he land +in France, it must be with a handful of men, and the result +of that is easily foretold, execrated as he is by the +population. Take courage, sir; but at the same time rely on +our royal gratitude." + +"Ah, here is M. Dandre!" cried de Blacas. At this instant +the minister of police appeared at the door, pale, +trembling, and as if ready to faint. Villefort was about to +retire, but M. de Blacas, taking his hand, restrained him. + + + +Chapter 11 +The Corsican Ogre. + +At the sight of this agitation Louis XVIII. pushed from him +violently the table at which he was sitting. + +"What ails you, baron?" he exclaimed. "You appear quite +aghast. Has your uneasiness anything to do with what M. de +Blacas has told me, and M. de Villefort has just confirmed?" +M. de Blacas moved suddenly towards the baron, but the +fright of the courtier pleaded for the forbearance of the +statesman; and besides, as matters were, it was much more to +his advantage that the prefect of police should triumph over +him than that he should humiliate the prefect. + +"Sire" -- stammered the baron. + +"Well, what is it?" asked Louis XVIII. The minister of +police, giving way to an impulse of despair, was about to +throw himself at the feet of Louis XVIII., who retreated a +step and frowned. + +"Will you speak?" he said. + +"Oh, sire, what a dreadful misfortune! I am, indeed, to be +pitied. I can never forgive myself!" + +"Monsieur," said Louis XVIII., "I command you to speak." + +"Well, sire, the usurper left Elba on the 26th February, and +landed on the 1st of March." + +"And where? In Italy?" asked the king eagerly. + +"In France, sire, -- at a small port, near Antibes, in the +Gulf of Juan." + +"The usurper landed in France, near Antibes, in the Gulf of +Juan, two hundred and fifty leagues from Paris, on the 1st +of March, and you only acquired this information to-day, the +4th of March! Well, sir, what you tell me is impossible. You +must have received a false report, or you have gone mad." + +"Alas, sire, it is but too true!" Louis made a gesture of +indescribable anger and alarm, and then drew himself up as +if this sudden blow had struck him at the same moment in +heart and countenance. + +"In France!" he cried, "the usurper in France! Then they did +not watch over this man. Who knows? they were, perhaps, in +league with him." + +"Oh, sire," exclaimed the Duc de Blacas, "M. Dandre is not a +man to be accused of treason! Sire, we have all been blind, +and the minister of police has shared the general blindness, +that is all." + +"But" -- said Villefort, and then suddenly checking himself, +he was silent; then he continued, "Your pardon, sire," he +said, bowing, "my zeal carried me away. Will your majesty +deign to excuse me?" + +"Speak, sir, speak boldly," replied Louis. "You alone +forewarned us of the evil; now try and aid us with the +remedy." + +"Sire," said Villefort, "the usurper is detested in the +south; and it seems to me that if he ventured into the +south, it would be easy to raise Languedoc and Provence +against him." + +"Yes, assuredly," replied the minister; "but he is advancing +by Gap and Sisteron." + +"Advancing -- he is advancing!" said Louis XVIII. "Is he +then advancing on Paris?" The minister of police maintained +a silence which was equivalent to a complete avowal. + +"And Dauphine, sir?" inquired the king, of Villefort. "Do +you think it possible to rouse that as well as Provence?" + +"Sire, I am sorry to tell your majesty a cruel fact; but the +feeling in Dauphine is quite the reverse of that in Provence +or Languedoc. The mountaineers are Bonapartists, sire." + +"Then," murmured Louis, "he was well informed. And how many +men had he with him?" + +"I do not know, sire," answered the minister of police. + +"What, you do not know! Have you neglected to obtain +information on that point? Of course it is of no +consequence," he added, with a withering smile. + +"Sire, it was impossible to learn; the despatch simply +stated the fact of the landing and the route taken by the +usurper." + +"And how did this despatch reach you?" inquired the king. +The minister bowed his head, and while a deep color +overspread his cheeks, he stammered out, -- + +"By the telegraph, sire." -- Louis XVIII. advanced a step, +and folded his arms over his chest as Napoleon would have +done. + +"So then," he exclaimed, turning pale with anger, "seven +conjoined and allied armies overthrew that man. A miracle of +heaven replaced me on the throne of my fathers after +five-and-twenty years of exile. I have, during those +five-and-twenty years, spared no pains to understand the +people of France and the interests which were confided to +me; and now, when I see the fruition of my wishes almost +within reach, the power I hold in my hands bursts, and +shatters me to atoms!" + +"Sire, it is fatality!" murmured the minister, feeling that +the pressure of circumstances, however light a thing to +destiny, was too much for any human strength to endure. + +"What our enemies say of us is then true. We have learnt +nothing, forgotten nothing! If I were betrayed as he was, I +would console myself; but to be in the midst of persons +elevated by myself to places of honor, who ought to watch +over me more carefully than over themselves, -- for my +fortune is theirs -- before me they were nothing -- after me +they will be nothing, and perish miserably from incapacity +-- ineptitude! Oh, yes, sir, you are right -- it is +fatality!" + +The minister quailed before this outburst of sarcasm. M. de +Blacas wiped the moisture from his brow. Villefort smiled +within himself, for he felt his increased importance. + +"To fall," continued King Louis, who at the first glance had +sounded the abyss on which the monarchy hung suspended, -- +"to fall, and learn of that fall by telegraph! Oh, I would +rather mount the scaffold of my brother, Louis XVI., than +thus descend the staircase at the Tuileries driven away by +ridicule. Ridicule, sir -- why, you know not its power in +France, and yet you ought to know it!" + +"Sire, sire," murmured the minister, "for pity's" -- + +"Approach, M. de Villefort," resumed the king, addressing +the young man, who, motionless and breathless, was listening +to a conversation on which depended the destiny of a +kingdom. "Approach, and tell monsieur that it is possible to +know beforehand all that he has not known." + +"Sire, it was really impossible to learn secrets which that +man concealed from all the world." + +"Really impossible! Yes -- that is a great word, sir. +Unfortunately, there are great words, as there are great +men; I have measured them. Really impossible for a minister +who has an office, agents, spies, and fifteen hundred +thousand francs for secret service money, to know what is +going on at sixty leagues from the coast of France! Well, +then, see, here is a gentleman who had none of these +resources at his disposal -- a gentleman, only a simple +magistrate, who learned more than you with all your police, +and who would have saved my crown, if, like you, he had the +power of directing a telegraph." The look of the minister of +police was turned with concentrated spite on Villefort, who +bent his head in modest triumph. + +"I do not mean that for you, Blacas," continued Louis +XVIII.; "for if you have discovered nothing, at least you +have had the good sense to persevere in your suspicions. Any +other than yourself would have considered the disclosure of +M. de Villefort insignificant, or else dictated by venal +ambition," These words were an allusion to the sentiments +which the minister of police had uttered with so much +confidence an hour before. + +Villefort understood the king's intent. Any other person +would, perhaps, have been overcome by such an intoxicating +draught of praise; but he feared to make for himself a +mortal enemy of the police minister, although he saw that +Dandre was irrevocably lost. In fact, the minister, who, in +the plenitude of his power, had been unable to unearth +Napoleon's secret, might in despair at his own downfall +interrogate Dantes and so lay bare the motives of +Villefort's plot. Realizing this, Villefort came to the +rescue of the crest-fallen minister, instead of aiding to +crush him. + +"Sire," said Villefort, "the suddenness of this event must +prove to your majesty that the issue is in the hands of +Providence; what your majesty is pleased to attribute to me +as profound perspicacity is simply owing to chance, and I +have profited by that chance, like a good and devoted +servant -- that's all. Do not attribute to me more than I +deserve, sire, that your majesty may never have occasion to +recall the first opinion you have been pleased to form of +me." The minister of police thanked the young man by an +eloquent look, and Villefort understood that he had +succeeded in his design; that is to say, that without +forfeiting the gratitude of the king, he had made a friend +of one on whom, in case of necessity, he might rely. + +"'Tis well," resumed the king. "And now, gentlemen," he +continued, turning towards M. de Blacas and the minister of +police, "I have no further occasion for you, and you may +retire; what now remains to do is in the department of the +minister of war." + +"Fortunately, sire," said M. de Blacas, "we can rely on the +army; your majesty knows how every report confirms their +loyalty and attachment." + +"Do not mention reports, duke, to me, for I know now what +confidence to place in them. Yet, speaking of reports, +baron, what have you learned with regard to the affair in +the Rue Saint-Jacques?" + +"The affair in the Rue Saint-Jacques!" exclaimed Villefort, +unable to repress an exclamation. Then, suddenly pausing, he +added, "Your pardon, sire, but my devotion to your majesty +has made me forget, not the respect I have, for that is too +deeply engraved in my heart, but the rules of etiquette." + +"Go on, go on, sir," replied the king; "you have to-day +earned the right to make inquiries here." + +"Sire," interposed the minister of police, "I came a moment +ago to give your majesty fresh information which I had +obtained on this head, when your majesty's attention was +attracted by the terrible event that has occurred in the +gulf, and now these facts will cease to interest your +majesty." + +"On the contrary, sir, -- on the contrary," said Louis +XVIII., "this affair seems to me to have a decided +connection with that which occupies our attention, and the +death of General Quesnel will, perhaps, put us on the direct +track of a great internal conspiracy." At the name of +General Quesnel, Villefort trembled. + +"Everything points to the conclusion, sire," said the +minister of police, "that death was not the result of +suicide, as we first believed, but of assassination. General +Quesnel, it appears, had just left a Bonapartist club when +he disappeared. An unknown person had been with him that +morning, and made an appointment with him in the Rue +Saint-Jacques; unfortunately, the general's valet, who was +dressing his hair at the moment when the stranger entered, +heard the street mentioned, but did not catch the number." +As the police minister related this to the king, Villefort, +who looked as if his very life hung on the speaker's lips, +turned alternately red and pale. The king looked towards +him. + +"Do you not think with me, M. de Villefort, that General +Quesnel, whom they believed attached to the usurper, but who +was really entirely devoted to me, has perished the victim +of a Bonapartist ambush?" + +"It is probable, sire," replied Villefort. "But is this all +that is known?" + +"They are on the track of the man who appointed the meeting +with him." + +"On his track?" said Villefort. + +"Yes, the servant has given his description. He is a man of +from fifty to fifty-two years of age, dark, with black eyes +covered with shaggy eyebrows, and a thick mustache. He was +dressed in a blue frock-coat, buttoned up to the chin, and +wore at his button-hole the rosette of an officer of the +Legion of Honor. Yesterday a person exactly corresponding +with this description was followed, but he was lost sight of +at the corner of the Rue de la Jussienne and the Rue +Coq-Heron." Villefort leaned on the back of an arm-chair, +for as the minister of police went on speaking he felt his +legs bend under him; but when he learned that the unknown +had escaped the vigilance of the agent who followed him, he +breathed again. + +"Continue to seek for this man, sir," said the king to the +minister of police; "for if, as I am all but convinced, +General Quesnel, who would have been so useful to us at this +moment, has been murdered, his assassins, Bonapartists or +not, shall be cruelly punished." It required all Villefort's +coolness not to betray the terror with which this +declaration of the king inspired him. + +"How strange," continued the king, with some asperity; "the +police think that they have disposed of the whole matter +when they say, `A murder has been committed,' and especially +so when they can add, `And we are on the track of the guilty +persons.'" + +"Sire, your majesty will, I trust, be amply satisfied on +this point at least." + +"We shall see. I will no longer detain you, M. de Villefort, +for you must be fatigued after so long a journey; go and +rest. Of course you stopped at your father's?" A feeling of +faintness came over Villefort. + +"No, sire," he replied, "I alighted at the Hotel de Madrid, +in the Rue de Tournon." + +"But you have seen him?" + +"Sire, I went straight to the Duc de Blacas." + +"But you will see him, then?" + +"I think not, sire." + +"Ah, I forgot," said Louis, smiling in a manner which proved +that all these questions were not made without a motive; "I +forgot you and M. Noirtier are not on the best terms +possible, and that is another sacrifice made to the royal +cause, and for which you should be recompensed." + +"Sire, the kindness your majesty deigns to evince towards me +is a recompense which so far surpasses my utmost ambition +that I have nothing more to ask for." + +"Never mind, sir, we will not forget you; make your mind +easy. In the meanwhile" (the king here detached the cross of +the Legion of Honor which he usually wore over his blue +coat, near the cross of St. Louis, above the order of +Notre-Dame-du-Mont-Carmel and St. Lazare, and gave it to +Villefort) -- "in the meanwhile take this cross." + +"Sire," said Villefort, "your majesty mistakes; this is an +officer's cross." + +"Ma foi," said Louis XVIII., "take it, such as it is, for I +have not the time to procure you another. Blacas, let it be +your care to see that the brevet is made out and sent to M. +de Villefort." Villefort's eyes were filled with tears of +joy and pride; he took the cross and kissed it. + +"And now," he said, "may I inquire what are the orders with +which your majesty deigns to honor me?" + +"Take what rest you require, and remember that if you are +not able to serve me here in Paris, you may be of the +greatest service to me at Marseilles." + +"Sire," replied Villefort, bowing, "in an hour I shall have +quitted Paris." + +"Go, sir," said the king; "and should I forget you (kings' +memories are short), do not be afraid to bring yourself to +my recollection. Baron, send for the minister of war. +Blacas, remain." + +"Ah, sir," said the minister of police to Villefort, as they +left the Tuileries, "you entered by luck's door -- your +fortune is made." + +"Will it be long first?" muttered Villefort, saluting the +minister, whose career was ended, and looking about him for +a hackney-coach. One passed at the moment, which he hailed; +he gave his address to the driver, and springing in, threw +himself on the seat, and gave loose to dreams of ambition. + +Ten minutes afterwards Villefort reached his hotel, ordered +horses to be ready in two hours, and asked to have his +breakfast brought to him. He was about to begin his repast +when the sound of the bell rang sharp and loud. The valet +opened the door, and Villefort heard some one speak his +name. + +"Who could know that I was here already?" said the young +man. The valet entered. + +"Well," said Villefort, "what is it? -- Who rang? -- Who +asked for me?" + +"A stranger who will not send in his name." + +"A stranger who will not send in his name! What can he want +with me?" + +"He wishes to speak to you." + +"To me?" + +"Yes." + +"Did he mention my name?" + +"Yes." + +"What sort of person is he?" + +"Why, sir, a man of about fifty." + +"Short or tall?" + +"About your own height, sir." + +"Dark or fair?" + +"Dark, -- very dark; with black eyes, black hair, black +eyebrows." + +"And how dressed?" asked Villefort quickly. + +"In a blue frock-coat, buttoned up close, decorated with the +Legion of Honor." + +"It is he!" said Villefort, turning pale. + +"Eh, pardieu," said the individual whose description we have +twice given, entering the door, "what a great deal of +ceremony! Is it the custom in Marseilles for sons to keep +their fathers waiting in their anterooms?" + +"Father!" cried Villefort, "then I was not deceived; I felt +sure it must be you." + +"Well, then, if you felt so sure," replied the new-comer, +putting his cane in a corner and his hat on a chair, "allow +me to say, my dear Gerard, that it was not very filial of +you to keep me waiting at the door." + +"Leave us, Germain," said Villefort. The servant quitted the +apartment with evident signs of astonishment. + + + +Chapter 12 +Father and Son. + +M. Noirtier -- for it was, indeed, he who entered -- looked +after the servant until the door was closed, and then, +fearing, no doubt, that he might be overheard in the +ante-chamber, he opened the door again, nor was the +precaution useless, as appeared from the rapid retreat of +Germain, who proved that he was not exempt from the sin +which ruined our first parents. M. Noirtier then took the +trouble to close and bolt the ante-chamber door, then that +of the bed-chamber, and then extended his hand to Villefort, +who had followed all his motions with surprise which he +could not conceal. + +"Well, now, my dear Gerard," said he to the young man, with +a very significant look, "do you know, you seem as if you +were not very glad to see me?" + +"My dear father," said Villefort, "I am, on the contrary, +delighted; but I so little expected your visit, that it has +somewhat overcome me." + +"But, my dear fellow," replied M. Noirtier, seating himself, +"I might say the same thing to you, when you announce to me +your wedding for the 28th of February, and on the 3rd of +March you turn up here in Paris." + +"And if I have come, my dear father," said Gerard, drawing +closer to M. Noirtier, "do not complain, for it is for you +that I came, and my journey will be your salvation." + +"Ah, indeed!" said M. Noirtier, stretching himself out at +his ease in the chair. "Really, pray tell me all about it, +for it must be interesting." + +"Father, you have heard speak of a certain Bonapartist club +in the Rue Saint-Jacques?" + +"No. 53; yes, I am vice-president." + +"Father, your coolness makes me shudder." + +"Why, my dear boy, when a man has been proscribed by the +mountaineers, has escaped from Paris in a hay-cart, been +hunted over the plains of Bordeaux by Robespierre's +bloodhounds, he becomes accustomed to most things. But go +on, what about the club in the Rue Saint-Jacques?" + +"Why, they induced General Quesnel to go there, and General +Quesnel, who quitted his own house at nine o'clock in the +evening, was found the next day in the Seine." + +"And who told you this fine story?" + +"The king himself." + +"Well, then, in return for your story," continued Noirtier, +"I will tell you another." + +"My dear father, I think I already know what you are about +to tell me." + +"Ah, you have heard of the landing of the emperor?" + +"Not so loud, father, I entreat of you -- for your own sake +as well as mine. Yes, I heard this news, and knew it even +before you could; for three days ago I posted from +Marseilles to Paris with all possible speed, half-desperate +at the enforced delay." + +"Three days ago? You are crazy. Why, three days ago the +emperor had not landed." + +"No matter, I was aware of his intention." + +"How did you know about it?" + +"By a letter addressed to you from the Island of Elba." + +"To me?" + +"To you; and which I discovered in the pocket-book of the +messenger. Had that letter fallen into the hands of another, +you, my dear father, would probably ere this have been +shot." Villefort's father laughed. + +"Come, come," said he, "will the Restoration adopt imperial +methods so promptly? Shot, my dear boy? What an idea! Where +is the letter you speak of? I know you too well to suppose +you would allow such a thing to pass you." + +"I burnt it, for fear that even a fragment should remain; +for that letter must have led to your condemnation." + +"And the destruction of your future prospects," replied +Noirtier; "yes, I can easily comprehend that. But I have +nothing to fear while I have you to protect me." + +"I do better than that, sir -- I save you." + +"You do? Why, really, the thing becomes more and more +dramatic -- explain yourself." + +"I must refer again to the club in the Rue Saint-Jacques." + +"It appears that this club is rather a bore to the police. +Why didn't they search more vigilantly? they would have +found" -- + +"They have not found; but they are on the track." + +"Yes, that the usual phrase; I am quite familiar with it. +When the police is at fault, it declares that it is on the +track; and the government patiently awaits the day when it +comes to say, with a sneaking air, that the track is lost." + +"Yes, but they have found a corpse; the general has been +killed, and in all countries they call that a murder." + +"A murder do you call it? why, there is nothing to prove +that the general was murdered. People are found every day in +the Seine, having thrown themselves in, or having been +drowned from not knowing how to swim." + +"Father, you know very well that the general was not a man +to drown himself in despair, and people do not bathe in the +Seine in the month of January. No, no, do not be deceived; +this was murder in every sense of the word." + +"And who thus designated it?" + +"The king himself." + +"The king! I thought he was philosopher enough to allow that +there was no murder in politics. In politics, my dear +fellow, you know, as well as I do, there are no men, but +ideas -- no feelings, but interests; in politics we do not +kill a man, we only remove an obstacle, that is all. Would +you like to know how matters have progressed? Well, I will +tell you. It was thought reliance might be placed in General +Quesnel; he was recommended to us from the Island of Elba; +one of us went to him, and invited him to the Rue +Saint-Jacques, where he would find some friends. He came +there, and the plan was unfolded to him for leaving Elba, +the projected landing, etc. When he had heard and +comprehended all to the fullest extent, he replied that he +was a royalist. Then all looked at each other, -- he was +made to take an oath, and did so, but with such an ill grace +that it was really tempting Providence to swear him, and +yet, in spite of that, the general was allowed to depart +free -- perfectly free. Yet he did not return home. What +could that mean? why, my dear fellow, that on leaving us he +lost his way, that's all. A murder? really, Villefort, you +surprise me. You, a deputy procureur, to found an accusation +on such bad premises! Did I ever say to you, when you were +fulfilling your character as a royalist, and cut off the +head of one of my party, `My son, you have committed a +murder?' No, I said, `Very well, sir, you have gained the +victory; to-morrow, perchance, it will be our turn.'" + +"But, father, take care; when our turn comes, our revenge +will be sweeping." + +"I do not understand you." + +"You rely on the usurper's return?" + +"We do." + +"You are mistaken; he will not advance two leagues into the +interior of France without being followed, tracked, and +caught like a wild beast." + +"My dear fellow, the emperor is at this moment on the way to +Grenoble; on the 10th or 12th he will be at Lyons, and on +the 20th or 25th at Paris." + +"The people will rise." + +"Yes, to go and meet him." + +"He has but a handful of men with him, and armies will be +despatched against him." + +"Yes, to escort him into the capital. Really, my dear +Gerard, you are but a child; you think yourself well +informed because the telegraph has told you, three days +after the landing, `The usurper has landed at Cannes with +several men. He is pursued.' But where is he? what is he +doing? You do not know at all, and in this way they will +chase him to Paris, without drawing a trigger." + +"Grenoble and Lyons are faithful cities, and will oppose to +him an impassable barrier." + +"Grenoble will open her gates to him with enthusiasm -- all +Lyons will hasten to welcome him. Believe me, we are as well +informed as you, and our police are as good as your own. +Would you like a proof of it? well, you wished to conceal +your journey from me, and yet I knew of your arrival half an +hour after you had passed the barrier. You gave your +direction to no one but your postilion, yet I have your +address, and in proof I am here the very instant you are +going to sit at table. Ring, then, if you please, for a +second knife, fork, and plate, and we will dine together." + +"Indeed!" replied Villefort, looking at his father with +astonishment, "you really do seem very well informed." + +"Eh? the thing is simple enough. You who are in power have +only the means that money produces -- we who are in +expectation, have those which devotion prompts." + +"Devotion!" said Villefort, with a sneer. + +"Yes, devotion; for that is, I believe, the phrase for +hopeful ambition." + +And Villefort's father extended his hand to the bell-rope, +to summon the servant whom his son had not called. Villefort +caught his arm. + +"Wait, my dear father," said the young man, "one word more." + +"Say on." + +"However stupid the royalist police may be, they do know one +terrible thing." + +"What is that?" + +"The description of the man who, on the morning of the day +when General Quesnel disappeared, presented himself at his +house." + +"Oh, the admirable police have found that out, have they? +And what may be that description?" + +"Dark complexion; hair, eyebrows, and whiskers, black; blue +frock-coat, buttoned up to the chin; rosette of an officer +of the Legion of Honor in his button-hole; a hat with wide +brim, and a cane." + +"Ah, ha, that's it, is it?" said Noirtier; "and why, then, +have they not laid hands on him?" + +"Because yesterday, or the day before, they lost sight of +him at the corner of the Rue Coq-Heron." + +"Didn't I say that your police were good for nothing?" + +"Yes; but they may catch him yet." + +"True," said Noirtier, looking carelessly around him, "true, +if this person were not on his guard, as he is;" and he +added with a smile, "He will consequently make a few changes +in his personal appearance." At these words he rose, and put +off his frock-coat and cravat, went towards a table on which +lay his son's toilet articles, lathered his face, took a +razor, and, with a firm hand, cut off the compromising +whiskers. Villefort watched him with alarm not devoid of +admiration. + +His whiskers cut off, Noirtier gave another turn to his +hair; took, instead of his black cravat, a colored +neckerchief which lay at the top of an open portmanteau; put +on, in lieu of his blue and high-buttoned frock-coat, a coat +of Villefort's of dark brown, and cut away in front; tried +on before the glass a narrow-brimmed hat of his son's, which +appeared to fit him perfectly, and, leaving his cane in the +corner where he had deposited it, he took up a small bamboo +switch, cut the air with it once or twice, and walked about +with that easy swagger which was one of his principal +characteristics. + +"Well," he said, turning towards his wondering son, when +this disguise was completed, "well, do you think your police +will recognize me now." + +"No, father," stammered Villefort; "at least, I hope not." + +"And now, my dear boy," continued Noirtier, "I rely on your +prudence to remove all the things which I leave in your +care." + +"Oh, rely on me," said Villefort. + +"Yes, yes; and now I believe you are right, and that you +have really saved my life; be assured I will return the +favor hereafter." Villefort shook his head. + +"You are not convinced yet?" + +"I hope at least, that you may be mistaken." + +"Shall you see the king again?" + +"Perhaps." + +"Would you pass in his eyes for a prophet?" + +"Prophets of evil are not in favor at the court, father." + +"True, but some day they do them justice; and supposing a +second restoration, you would then pass for a great man." + +"Well, what should I say to the king?" + +"Say this to him: `Sire, you are deceived as to the feeling +in France, as to the opinions of the towns, and the +prejudices of the army; he whom in Paris you call the +Corsican ogre, who at Nevers is styled the usurper, is +already saluted as Bonaparte at Lyons, and emperor at +Grenoble. You think he is tracked, pursued, captured; he is +advancing as rapidly as his own eagles. The soldiers you +believe to be dying with hunger, worn out with fatigue, +ready to desert, gather like atoms of snow about the rolling +ball as it hastens onward. Sire, go, leave France to its +real master, to him who acquired it, not by purchase, but by +right of conquest; go, sire, not that you incur any risk, +for your adversary is powerful enough to show you mercy, but +because it would be humiliating for a grandson of Saint +Louis to owe his life to the man of Arcola, Marengo, +Austerlitz.' Tell him this, Gerard; or, rather, tell him +nothing. Keep your journey a secret; do not boast of what +you have come to Paris to do, or have done; return with all +speed; enter Marseilles at night, and your house by the +back-door, and there remain, quiet, submissive, secret, and, +above all, inoffensive; for this time, I swear to you, we +shall act like powerful men who know their enemies. Go, my +son -- go, my dear Gerard, and by your obedience to my +paternal orders, or, if you prefer it, friendly counsels, we +will keep you in your place. This will be," added Noirtier, +with a smile, "one means by which you may a second time save +me, if the political balance should some day take another +turn, and cast you aloft while hurling me down. Adieu, my +dear Gerard, and at your next journey alight at my door." +Noirtier left the room when he had finished, with the same +calmness that had characterized him during the whole of this +remarkable and trying conversation. Villefort, pale and +agitated, ran to the window, put aside the curtain, and saw +him pass, cool and collected, by two or three ill-looking +men at the corner of the street, who were there, perhaps, to +arrest a man with black whiskers, and a blue frock-coat, and +hat with broad brim. + +Villefort stood watching, breathless, until his father had +disappeared at the Rue Bussy. Then he turned to the various +articles he had left behind him, put the black cravat and +blue frock-coat at the bottom of the portmanteau, threw the +hat into a dark closet, broke the cane into small bits and +flung it in the fire, put on his travelling-cap, and calling +his valet, checked with a look the thousand questions he was +ready to ask, paid his bill, sprang into his carriage, which +was ready, learned at Lyons that Bonaparte had entered +Grenoble, and in the midst of the tumult which prevailed +along the road, at length reached Marseilles, a prey to all +the hopes and fears which enter into the heart of man with +ambition and its first successes. + + + +Chapter 13 +The Hundred Days. + +M. Noirtier was a true prophet, and things progressed +rapidly, as he had predicted. Every one knows the history of +the famous return from Elba, a return which was +unprecedented in the past, and will probably remain without +a counterpart in the future. + +Louis XVIII. made but a faint attempt to parry this +unexpected blow; the monarchy he had scarcely reconstructed +tottered on its precarious foundation, and at a sign from +the emperor the incongruous structure of ancient prejudices +and new ideas fell to the ground. Villefort, therefore, +gained nothing save the king's gratitude (which was rather +likely to injure him at the present time) and the cross of +the Legion of Honor, which he had the prudence not to wear, +although M. de Blacas had duly forwarded the brevet. + +Napoleon would, doubtless, have deprived Villefort of his +office had it not been for Noirtier, who was all powerful at +court, and thus the Girondin of '93 and the Senator of 1806 +protected him who so lately had been his protector. All +Villefort's influence barely enabled him to stifle the +secret Dantes had so nearly divulged. The king's procureur +alone was deprived of his office, being suspected of +royalism. + +However, scarcely was the imperial power established -- that +is, scarcely had the emperor re-entered the Tuileries and +begun to issue orders from the closet into which we have +introduced our readers, -- he found on the table there Louis +XVIII.'s half-filled snuff-box, -- scarcely had this +occurred when Marseilles began, in spite of the authorities, +to rekindle the flames of civil war, always smouldering in +the south, and it required but little to excite the populace +to acts of far greater violence than the shouts and insults +with which they assailed the royalists whenever they +ventured abroad. + +Owing to this change, the worthy shipowner became at that +moment -- we will not say all powerful, because Morrel was a +prudent and rather a timid man, so much so, that many of the +most zealous partisans of Bonaparte accused him of +"moderation" -- but sufficiently influential to make a +demand in favor of Dantes. + +Villefort retained his place, but his marriage was put off +until a more favorable opportunity. If the emperor remained +on the throne, Gerard required a different alliance to aid +his career; if Louis XVIII. returned, the influence of M. de +Saint-Meran, like his own, could be vastly increased, and +the marriage be still more suitable. The deputy-procureur +was, therefore, the first magistrate of Marseilles, when one +morning his door opened, and M. Morrel was announced. + +Any one else would have hastened to receive him; but +Villefort was a man of ability, and he knew this would be a +sign of weakness. He made Morrel wait in the ante-chamber, +although he had no one with him, for the simple reason that +the king's procureur always makes every one wait, and after +passing a quarter of an hour in reading the papers, he +ordered M. Morrel to be admitted. + +Morrel expected Villefort would be dejected; he found him as +he had found him six weeks before, calm, firm, and full of +that glacial politeness, that most insurmountable barrier +which separates the well-bred from the vulgar man. + +He had entered Villefort's office expecting that the +magistrate would tremble at the sight of him; on the +contrary, he felt a cold shudder all over him when he saw +Villefort sitting there with his elbow on his desk, and his +head leaning on his hand. He stopped at the door; Villefort +gazed at him as if he had some difficulty in recognizing +him; then, after a brief interval, during which the honest +shipowner turned his hat in his hands, -- + +"M. Morrel, I believe?" said Villefort. + +"Yes, sir." + +"Come nearer," said the magistrate, with a patronizing wave +of the hand, "and tell me to what circumstance I owe the +honor of this visit." + +"Do you not guess, monsieur?" asked Morrel. + +"Not in the least; but if I can serve you in any way I shall +be delighted." + +"Everything depends on you." + +"Explain yourself, pray." + +"Monsieur," said Morrel, recovering his assurance as he +proceeded, "do you recollect that a few days before the +landing of his majesty the emperor, I came to intercede for +a young man, the mate of my ship, who was accused of being +concerned in correspondence with the Island of Elba? What +was the other day a crime is to-day a title to favor. You +then served Louis XVIII., and you did not show any favor -- +it was your duty; to-day you serve Napoleon, and you ought +to protect him -- it is equally your duty; I come, +therefore, to ask what has become of him?" + +Villefort by a strong effort sought to control himself. +"What is his name?" said he. "Tell me his name." + +"Edmond Dantes." + +Villefort would probably have rather stood opposite the +muzzle of a pistol at five-and-twenty paces than have heard +this name spoken; but he did not blanch. + +"Dantes," repeated he, "Edmond Dantes." + +"Yes, monsieur." Villefort opened a large register, then +went to a table, from the table turned to his registers, and +then, turning to Morrel, -- + +"Are you quite sure you are not mistaken, monsieur?" said +he, in the most natural tone in the world. + +Had Morrel been a more quick-sighted man, or better versed +in these matters, he would have been surprised at the king's +procureur answering him on such a subject, instead of +referring him to the governors of the prison or the prefect +of the department. But Morrel, disappointed in his +expectations of exciting fear, was conscious only of the +other's condescension. Villefort had calculated rightly. + +"No," said Morrel; "I am not mistaken. I have known him for +ten years, the last four of which he was in my service. Do +not you recollect, I came about six weeks ago to plead for +clemency, as I come to-day to plead for justice. You +received me very coldly. Oh, the royalists were very severe +with the Bonapartists in those days." + +"Monsieur," returned Villefort, "I was then a royalist, +because I believed the Bourbons not only the heirs to the +throne, but the chosen of the nation. The miraculous return +of Napoleon has conquered me, the legitimate monarch is he +who is loved by his people." + +"That's right!" cried Morrel. "I like to hear you speak +thus, and I augur well for Edmond from it." + +"Wait a moment," said Villefort, turning over the leaves of +a register; "I have it -- a sailor, who was about to marry a +young Catalan girl. I recollect now; it was a very serious +charge." + +"How so?" + +"You know that when he left here he was taken to the Palais +de Justice." + +"Well?" + +"I made my report to the authorities at Paris, and a week +after he was carried off." + +"Carried off!" said Morrel. "What can they have done with +him?" + +"Oh, he has been taken to Fenestrelles, to Pignerol, or to +the Sainte-Marguerite islands. Some fine morning he will +return to take command of your vessel." + +"Come when he will, it shall be kept for him. But how is it +he is not already returned? It seems to me the first care of +government should be to set at liberty those who have +suffered for their adherence to it." + +"Do not be too hasty, M. Morrel," replied Villefort. "The +order of imprisonment came from high authority, and the +order for his liberation must proceed from the same source; +and, as Napoleon has scarcely been reinstated a fortnight, +the letters have not yet been forwarded." + +"But," said Morrel, "is there no way of expediting all these +formalities -- of releasing him from arrest?" + +"There has been no arrest." + +"How?" + +"It is sometimes essential to government to cause a man's +disappearance without leaving any traces, so that no written +forms or documents may defeat their wishes." + +"It might be so under the Bourbons, but at present" -- + +"It has always been so, my dear Morrel, since the reign of +Louis XIV. The emperor is more strict in prison discipline +than even Louis himself, and the number of prisoners whose +names are not on the register is incalculable." Had Morrel +even any suspicions, so much kindness would have dispelled +them. + +"Well, M. de Villefort, how would you advise me to act?" +asked he. + +"Petition the minister." + +"Oh, I know what that is; the minister receives two hundred +petitions every day, and does not read three." + +"That is true; but he will read a petition countersigned and +presented by me." + +"And will you undertake to deliver it?" + +"With the greatest pleasure. Dantes was then guilty, and now +he is innocent, and it is as much my duty to free him as it +was to condemn him." Villefort thus forestalled any danger +of an inquiry, which, however improbable it might be, if it +did take place would leave him defenceless. + +"But how shall I address the minister?" + +"Sit down there," said Villefort, giving up his place to +Morrel, "and write what I dictate." + +"Will you be so good?" + +"Certainly. But lose no time; we have lost too much +already." + +"That is true. Only think what the poor fellow may even now +be suffering." Villefort shuddered at the suggestion; but he +had gone too far to draw back. Dantes must be crushed to +gratify Villefort's ambition. + +Villefort dictated a petition, in which, from an excellent +intention, no doubt, Dantes' patriotic services were +exaggerated, and he was made out one of the most active +agents of Napoleon's return. It was evident that at the +sight of this document the minister would instantly release +him. The petition finished, Villefort read it aloud. + +"That will do," said he; "leave the rest to me." + +"Will the petition go soon?" + +"To-day." + +"Countersigned by you?" + +"The best thing I can do will be to certify the truth of the +contents of your petition." And, sitting down, Villefort +wrote the certificate at the bottom. + +"What more is to be done?" + +"I will do whatever is necessary." This assurance delighted +Morrel, who took leave of Villefort, and hastened to +announce to old Dantes that he would soon see his son. + +As for Villefort, instead of sending to Paris, he carefully +preserved the petition that so fearfully compromised Dantes, +in the hopes of an event that seemed not unlikely, -- that +is, a second restoration. Dantes remained a prisoner, and +heard not the noise of the fall of Louis XVIII.'s throne, or +the still more tragic destruction of the empire. + +Twice during the Hundred Days had Morrel renewed his demand, +and twice had Villefort soothed him with promises. At last +there was Waterloo, and Morrel came no more; he had done all +that was in his power, and any fresh attempt would only +compromise himself uselessly. + +Louis XVIII. remounted the throne; Villefort, to whom +Marseilles had become filled with remorseful memories, +sought and obtained the situation of king's procureur at +Toulouse, and a fortnight afterwards he married Mademoiselle +de Saint-Meran, whose father now stood higher at court than +ever. + +And so Dantes, after the Hundred Days and after Waterloo, +remained in his dungeon, forgotten of earth and heaven. +Danglars comprehended the full extent of the wretched fate +that overwhelmed Dantes; and, when Napoleon returned to +France, he, after the manner of mediocre minds, termed the +coincidence, "a decree of Providence." But when Napoleon +returned to Paris, Danglars' heart failed him, and he lived +in constant fear of Dantes' return on a mission of +vengeance. He therefore informed M. Morrel of his wish to +quit the sea, and obtained a recommendation from him to a +Spanish merchant, into whose service he entered at the end +of March, that is, ten or twelve days after Napoleon's +return. He then left for Madrid, and was no more heard of. + +Fernand understood nothing except that Dantes was absent. +What had become of him he cared not to inquire. Only, during +the respite the absence of his rival afforded him, he +reflected, partly on the means of deceiving Mercedes as to +the cause of his absence, partly on plans of emigration and +abduction, as from time to time he sat sad and motionless on +the summit of Cape Pharo, at the spot from whence Marseilles +and the Catalans are visible, watching for the apparition of +a young and handsome man, who was for him also the messenger +of vengeance. Fernand's mind was made up; he would shoot +Dantes, and then kill himself. But Fernand was mistaken; a +man of his disposition never kills himself, for he +constantly hopes. + +During this time the empire made its last conscription, and +every man in France capable of bearing arms rushed to obey +the summons of the emperor. Fernand departed with the rest, +bearing with him the terrible thought that while he was +away, his rival would perhaps return and marry Mercedes. Had +Fernand really meant to kill himself, he would have done so +when he parted from Mercedes. His devotion, and the +compassion he showed for her misfortunes, produced the +effect they always produce on noble minds -- Mercedes had +always had a sincere regard for Fernand, and this was now +strengthened by gratitude. + +"My brother," said she as she placed his knapsack on his +shoulders, "be careful of yourself, for if you are killed, I +shall be alone in the world." These words carried a ray of +hope into Fernand's heart. Should Dantes not return, +Mercedes might one day be his. + +Mercedes was left alone face to face with the vast plain +that had never seemed so barren, and the sea that had never +seemed so vast. Bathed in tears she wandered about the +Catalan village. Sometimes she stood mute and motionless as +a statue, looking towards Marseilles, at other times gazing +on the sea, and debating as to whether it were not better to +cast herself into the abyss of the ocean, and thus end her +woes. It was not want of courage that prevented her putting +this resolution into execution; but her religious feelings +came to her aid and saved her. Caderousse was, like Fernand, +enrolled in the army, but, being married and eight years +older, he was merely sent to the frontier. Old Dantes, who +was only sustained by hope, lost all hope at Napoleon's +downfall. Five months after he had been separated from his +son, and almost at the hour of his arrest, he breathed his +last in Mercedes' arms. M. Morrel paid the expenses of his +funeral, and a few small debts the poor old man had +contracted. + +There was more than benevolence in this action; there was +courage; the south was aflame, and to assist, even on his +death-bed, the father of so dangerous a Bonapartist as +Dantes, was stigmatized as a crime. + + + +Chapter 14 +The Two Prisoners. + +A year after Louis XVIII.'s restoration, a visit was made by +the inspector-general of prisons. Dantes in his cell heard +the noise of preparation, -- sounds that at the depth where +he lay would have been inaudible to any but the ear of a +prisoner, who could hear the plash of the drop of water that +every hour fell from the roof of his dungeon. He guessed +something uncommon was passing among the living; but he had +so long ceased to have any intercourse with the world, that +he looked upon himself as dead. + +The inspector visited, one after another, the cells and +dungeons of several of the prisoners, whose good behavior or +stupidity recommended them to the clemency of the +government. He inquired how they were fed, and if they had +any request to make. The universal response was, that the +fare was detestable, and that they wanted to be set free. + +The inspector asked if they had anything else to ask for. +They shook their heads. What could they desire beyond their +liberty? The inspector turned smilingly to the governor. + +"I do not know what reason government can assign for these +useless visits; when you see one prisoner, you see all, -- +always the same thing, -- ill fed and innocent. Are there +any others?" + +"Yes; the dangerous and mad prisoners are in the dungeons." + +"Let us visit them," said the inspector with an air of +fatigue. "We must play the farce to the end. Let us see the +dungeons." + +"Let us first send for two soldiers," said the governor. +"The prisoners sometimes, through mere uneasiness of life, +and in order to be sentenced to death, commit acts of +useless violence, and you might fall a victim." + +"Take all needful precautions," replied the inspector. + +Two soldiers were accordingly sent for, and the inspector +descended a stairway, so foul, so humid, so dark, as to be +loathsome to sight, smell, and respiration. + +"Oh," cried the inspector, "who can live here?" + +"A most dangerous conspirator, a man we are ordered to keep +the most strict watch over, as he is daring and resolute." + +"He is alone?" + +"Certainly." + +"How long his he been there?" + +"Nearly a year." + +"Was he placed here when he first arrived?" + +"No; not until he attempted to kill the turnkey, who took +his food to him." + +"To kill the turnkey?" + +"Yes, the very one who is lighting us. Is it not true, +Antoine?" asked the governor. + +"True enough; he wanted to kill me!" returned the turnkey. + +"He must be mad," said the inspector. + +"He is worse than that, -- he is a devil!" returned the +turnkey. + +"Shall I complain of him?" demanded the inspector. + +"Oh, no; it is useless. Besides, he is almost mad now, and +in another year he will be quite so." + +"So much the better for him, -- he will suffer less," said +the inspector. He was, as this remark shows, a man full of +philanthropy, and in every way fit for his office. + +"You are right, sir," replied the governor; "and this remark +proves that you have deeply considered the subject. Now we +have in a dungeon about twenty feet distant, and to which +you descend by another stair, an abbe, formerly leader of a +party in Italy, who has been here since 1811, and in 1813 he +went mad, and the change is astonishing. He used to weep, he +now laughs; he grew thin, he now grows fat. You had better +see him, for his madness is amusing." + +"I will see them both," returned the inspector; "I must +conscientiously perform my duty." This was the inspector's +first visit; he wished to display his authority. + +"Let us visit this one first," added he. + +"By all means," replied the governor, and he signed to the +turnkey to open the door. At the sound of the key turning in +the lock, and the creaking of the hinges, Dantes, who was +crouched in a corner of the dungeon, whence he could see the +ray of light that came through a narrow iron grating above, +raised his head. Seeing a stranger, escorted by two turnkeys +holding torches and accompanied by two soldiers, and to whom +the governor spoke bareheaded, Dantes, who guessed the +truth, and that the moment to address himself to the +superior authorities was come, sprang forward with clasped +hands. + +The soldiers interposed their bayonets, for they thought +that he was about to attack the inspector, and the latter +recoiled two or three steps. Dantes saw that he was looked +upon as dangerous. Then, infusing all the humility he +possessed into his eyes and voice, he addressed the +inspector, and sought to inspire him with pity. + +The inspector listened attentively; then, turning to the +governor, observed, "He will become religious -- he is +already more gentle; he is afraid, and retreated before the +bayonets -- madmen are not afraid of anything; I made some +curious observations on this at Charenton." Then, turning to +the prisoner, "What is it you want?" said he. + +"I want to know what crime I have committed -- to be tried; +and if I am guilty, to be shot; if innocent, to be set at +liberty." + +"Are you well fed?" said the inspector. + +"I believe so; I don't know; it's of no consequence. What +matters really, not only to me, but to officers of justice +and the king, is that an innocent man should languish in +prison, the victim of an infamous denunciation, to die here +cursing his executioners." + +"You are very humble to-day," remarked the governor; "you +are not so always; the other day, for instance, when you +tried to kill the turnkey." + +"It is true, sir, and I beg his pardon, for he his always +been very good to me, but I was mad." + +"And you are not so any longer?" + +"No; captivity his subdued me -- I have been here so long." + +"So long? -- when were you arrested, then?" asked the +inspector. + +"The 28th of February, 1815, at half-past two in the +afternoon." + +"To-day is the 30th of July, 1816, -- why it is but +seventeen months." + +"Only seventeen months," replied Dantes. "Oh, you do not +know what is seventeen months in prison! -- seventeen ages +rather, especially to a man who, like me, had arrived at the +summit of his ambition -- to a man, who, like me, was on the +point of marrying a woman he adored, who saw an honorable +career opened before him, and who loses all in an instant -- +who sees his prospects destroyed, and is ignorant of the +fate of his affianced wife, and whether his aged father be +still living! Seventeen months captivity to a sailor +accustomed to the boundless ocean, is a worse punishment +than human crime ever merited. Have pity on me, then, and +ask for me, not intelligence, but a trial; not pardon, but a +verdict -- a trial, sir, I ask only for a trial; that, +surely, cannot be denied to one who is accused!" + +"We shall see," said the inspector; then, turning to the +governor, "On my word, the poor devil touches me. You must +show me the proofs against him." + +"Certainly; but you will find terrible charges." + +"Monsieur," continued Dantes, "I know it is not in your +power to release me; but you can plead for me -- you can +have me tried -- and that is all I ask. Let me know my +crime, and the reason why I was condemned. Uncertainty is +worse than all." + +"Go on with the lights," said the inspector. + +"Monsieur," cried Dantes, "I can tell by your voice you are +touched with pity; tell me at least to hope." + +"I cannot tell you that," replied the inspector; "I can only +promise to examine into your case." + +"Oh, I am free -- then I am saved!" + +"Who arrested you?" + +"M. Villefort. See him, and hear what he says." + +"M. Villefort is no longer at Marseilles; he is now at +Toulouse." + +"I am no longer surprised at my detention," murmured Dantes, +"since my only protector is removed." + +"Had M. de Villefort any cause of personal dislike to you?" + +"None; on the contrary, he was very kind to me." + +"I can, then, rely on the notes he has left concerning you?" + +"Entirely." + +"That is well; wait patiently, then." Dantes fell on his +knees, and prayed earnestly. The door closed; but this time +a fresh inmate was left with Dantes -- hope. + +"Will you see the register at once," asked the governor, "or +proceed to the other cell?" + +"Let us visit them all," said the inspector. "If I once went +up those stairs. I should never have the courage to come +down again." + +"Ah, this one is not like the other, and his madness is less +affecting than this one's display of reason." + +"What is his folly?" + +"He fancies he possesses an immense treasure. The first year +he offered government a million of francs for his release; +the second, two; the third, three; and so on progressively. +He is now in his fifth year of captivity; he will ask to +speak to you in private, and offer you five millions." + +"How curious! -- what is his name?" + +"The Abbe Faria." + +"No. 27," said the inspector. + +"It is here; unlock the door, Antoine." The turnkey obeyed, +and the inspector gazed curiously into the chamber of the +"mad abbe." + +In the centre of the cell, in a circle traced with a +fragment of plaster detached from the wall, sat a man whose +tattered garments scarcely covered him. He was drawing in +this circle geometrical lines, and seemed as much absorbed +in his problem as Archimedes was when the soldier of +Marcellus slew him. + +He did not move at the sound of the door, and continued his +calculations until the flash of the torches lighted up with +an unwonted glare the sombre walls of his cell; then, +raising his head, he perceived with astonishment the number +of persons present. He hastily seized the coverlet of his +bed, and wrapped it round him. + +"What is it you want?" said the inspector. + +"I, monsieur," replied the abbe with an air of surprise -- +"I want nothing." + +"You do not understand," continued the inspector; "I am sent +here by government to visit the prison, and hear the +requests of the prisoners." + +"Oh, that is different," cried the abbe; "and we shall +understand each other, I hope." + +"There, now," whispered the governor, "it is just as I told +you." + +"Monsieur," continued the prisoner, "I am the Abbe Faria, +born at Rome. I was for twenty years Cardinal Spada's +secretary; I was arrested, why, I know not, toward the +beginning of the year 1811; since then I have demanded my +liberty from the Italian and French government." + +"Why from the French government?" + +"Because I was arrested at Piombino, and I presume that, +like Milan and Florence, Piombino has become the capital of +some French department." + +"Ah," said the inspector, "you have not the latest news from +Italy?" + +"My information dates from the day on which I was arrested," +returned the Abbe Faria; "and as the emperor had created the +kingdom of Rome for his infant son, I presume that he has +realized the dream of Machiavelli and Caesar Borgia, which +was to make Italy a united kingdom." + +"Monsieur," returned the inspector, "providence has changed +this gigantic plan you advocate so warmly." + +"It is the only means of rendering Italy strong, happy, and +independent." + +"Very possibly; only I am not come to discuss politics, but +to inquire if you have anything to ask or to complain of." + +"The food is the same as in other prisons, -- that is, very +bad; the lodging is very unhealthful, but, on the whole, +passable for a dungeon; but it is not that which I wish to +speak of, but a secret I have to reveal of the greatest +importance." + +"We are coming to the point," whispered the governor. + +"It is for that reason I am delighted to see you," continued +the abbe, "although you have disturbed me in a most +important calculation, which, if it succeeded, would +possibly change Newton's system. Could you allow me a few +words in private." + +"What did I tell you?" said the governor. + +"You knew him," returned the inspector with a smile. + +"What you ask is impossible, monsieur," continued he, +addressing Faria. + +"But," said the abbe, "I would speak to you of a large sum, +amounting to five millions." + +"The very sum you named," whispered the inspector in his +turn. + +"However," continued Faria, seeing that the inspector was +about to depart, "it is not absolutely necessary for us to +be alone; the governor can be present." + +"Unfortunately," said the governor, "I know beforehand what +you are about to say; it concerns your treasures, does it +not?" Faria fixed his eyes on him with an expression that +would have convinced any one else of his sanity. + +"Of course," said he; "of what else should I speak?" + +"Mr. Inspector," continued the governor, "I can tell you the +story as well as he, for it has been dinned in my ears for +the last four or five years." + +"That proves," returned the abbe, "that you are like those +of Holy Writ, who having ears hear not, and having eyes see +not." + +"My dear sir, the government is rich and does not want your +treasures," replied the inspector; "keep them until you are +liberated." The abbe's eyes glistened; he seized the +inspector's hand. + +"But what if I am not liberated," cried he, "and am detained +here until my death? this treasure will be lost. Had not +government better profit by it? I will offer six millions, +and I will content myself with the rest, if they will only +give me my liberty." + +"On my word," said the inspector in a low tone, "had I not +been told beforehand that this man was mad, I should believe +what he says." + +"I am not mad," replied Faria, with that acuteness of +hearing peculiar to prisoners. "The treasure I speak of +really exists, and I offer to sign an agreement with you, in +which I promise to lead you to the spot where you shall dig; +and if I deceive you, bring me here again, -- I ask no +more." + +The governor laughed. "Is the spot far from here?" + +"A hundred leagues." + +"It is not ill-planned," said the governor. "If all the +prisoners took it into their heads to travel a hundred +leagues, and their guardians consented to accompany them, +they would have a capital chance of escaping." + +"The scheme is well known," said the inspector; "and the +abbe's plan has not even the merit of originality." + +Then turning to Faria -- "I inquired if you are well fed?" +said he. + +"Swear to me," replied Faria, "to free me if what I tell you +prove true, and I will stay here while you go to the spot." + +"Are you well fed?" repeated the inspector. + +"Monsieur, you run no risk, for, as I told you, I will stay +here; so there is no chance of my escaping." + +"You do not reply to my question," replied the inspector +impatiently. + +"Nor you to mine," cried the abbe. "You will not accept my +gold; I will keep it for myself. You refuse me my liberty; +God will give it me." And the abbe, casting away his +coverlet, resumed his place, and continued his calculations. + +"What is he doing there?" said the inspector. + +"Counting his treasures," replied the governor. + +Faria replied to this sarcasm with a glance of profound +contempt. They went out. The turnkey closed the door behind +them. + +"He was wealthy once, perhaps?" said the inspector. + +"Or dreamed he was, and awoke mad." + +"After all," said the inspector, "if he had been rich, he +would not have been here." So the matter ended for the Abbe +Faria. He remained in his cell, and this visit only +increased the belief in his insanity. + +Caligula or Nero, those treasure-seekers, those desirers of +the impossible, would have accorded to the poor wretch, in +exchange for his wealth, the liberty he so earnestly prayed +for. But the kings of modern times, restrained by the limits +of mere probability, have neither courage nor desire. They +fear the ear that hears their orders, and the eye that +scrutinizes their actions. Formerly they believed themselves +sprung from Jupiter, and shielded by their birth; but +nowadays they are not inviolable. + +It has always been against the policy of despotic +governments to suffer the victims of their persecutions to +reappear. As the Inquisition rarely allowed its victims to +be seen with their limbs distorted and their flesh lacerated +by torture, so madness is always concealed in its cell, from +whence, should it depart, it is conveyed to some gloomy +hospital, where the doctor has no thought for man or mind in +the mutilated being the jailer delivers to him. The very +madness of the Abbe Faria, gone mad in prison, condemned him +to perpetual captivity. + +The inspector kept his word with Dantes; he examined the +register, and found the following note concerning him: -- + +Edmond Dantes: + +Violent Bonapartist; took an active part in the return from +Elba. + +The greatest watchfulness and care to be exercised. + +This note was in a different hand from the rest, which +showed that it had been added since his confinement. The +inspector could not contend against this accusation; he +simply wrote, -- "Nothing to be done." + +This visit had infused new vigor into Dantes; he had, till +then, forgotten the date; but now, with a fragment of +plaster, he wrote the date, 30th July, 1816, and made a mark +every day, in order not to lose his reckoning again. Days +and weeks passed away, then months -- Dantes still waited; +he at first expected to be freed in a fortnight. This +fortnight expired, he decided that the inspector would do +nothing until his return to Paris, and that he would not +reach there until his circuit was finished, he therefore +fixed three months; three months passed away, then six more. +Finally ten months and a half had gone by and no favorable +change had taken place, and Dantes began to fancy the +inspector's visit but a dream, an illusion of the brain. + +At the expiration of a year the governor was transferred; he +had obtained charge of the fortress at Ham. He took with him +several of his subordinates, and amongst them Dantes' +jailer. A new governor arrived; it would have been too +tedious to acquire the names of the prisoners; he learned +their numbers instead. This horrible place contained fifty +cells; their inhabitants were designated by the numbers of +their cell, and the unhappy young man was no longer called +Edmond Dantes -- he was now number 34. + + + +Chapter 15 +Number 34 and Number 27. + +Dantes passed through all the stages of torture natural to +prisoners in suspense. He was sustained at first by that +pride of conscious innocence which is the sequence to hope; +then he began to doubt his own innocence, which justified in +some measure the governor's belief in his mental alienation; +and then, relaxing his sentiment of pride, he addressed his +supplications, not to God, but to man. God is always the +last resource. Unfortunates, who ought to begin with God, do +not have any hope in him till they have exhausted all other +means of deliverance. + +Dantes asked to be removed from his present dungeon into +another; for a change, however disadvantageous, was still a +change, and would afford him some amusement. He entreated to +be allowed to walk about, to have fresh air, books, and +writing materials. His requests were not granted, but he +went on asking all the same. He accustomed himself to +speaking to the new jailer, although the latter was, if +possible, more taciturn than the old one; but still, to +speak to a man, even though mute, was something. Dantes +spoke for the sake of hearing his own voice; he had tried to +speak when alone, but the sound of his voice terrified him. +Often, before his captivity, Dantes, mind had revolted at +the idea of assemblages of prisoners, made up of thieves, +vagabonds, and murderers. He now wished to be amongst them, +in order to see some other face besides that of his jailer; +he sighed for the galleys, with the infamous costume, the +chain, and the brand on the shoulder. The galley-slaves +breathed the fresh air of heaven, and saw each other. They +were very happy. He besought the jailer one day to let him +have a companion, were it even the mad abbe. + +The jailer, though rough and hardened by the constant sight +of so much suffering, was yet a man. At the bottom of his +heart he had often had a feeling of pity for this unhappy +young man who suffered so; and he laid the request of number +34 before the governor; but the latter sapiently imagined +that Dantes wished to conspire or attempt an escape, and +refused his request. Dantes had exhausted all human +resources, and he then turned to God. + +All the pious ideas that had been so long forgotten, +returned; he recollected the prayers his mother had taught +him, and discovered a new meaning in every word; for in +prosperity prayers seem but a mere medley of words, until +misfortune comes and the unhappy sufferer first understands +the meaning of the sublime language in which he invokes the +pity of heaven! He prayed, and prayed aloud, no longer +terrified at the sound of his own voice, for he fell into a +sort of ecstasy. He laid every action of his life before the +Almighty, proposed tasks to accomplish, and at the end of +every prayer introduced the entreaty oftener addressed to +man than to God: "Forgive us our trespasses as we forgive +them that trespass against us." Yet in spite of his earnest +prayers, Dantes remained a prisoner. + +Then gloom settled heavily upon him. Dantes was a man of +great simplicity of thought, and without education; he could +not, therefore, in the solitude of his dungeon, traverse in +mental vision the history of the ages, bring to life the +nations that had perished, and rebuild the ancient cities so +vast and stupendous in the light of the imagination, and +that pass before the eye glowing with celestial colors in +Martin's Babylonian pictures. He could not do this, he whose +past life was so short, whose present so melancholy, and his +future so doubtful. Nineteen years of light to reflect upon +in eternal darkness! No distraction could come to his aid; +his energetic spirit, that would have exalted in thus +revisiting the past, was imprisoned like an eagle in a cage. +He clung to one idea -- that of his happiness, destroyed, +without apparent cause, by an unheard-of fatality; he +considered and reconsidered this idea, devoured it (so to +speak), as the implacable Ugolino devours the skull of +Archbishop Roger in the Inferno of Dante. + +Rage supplanted religious fervor. Dantes uttered blasphemies +that made his jailer recoil with horror, dashed himself +furiously against the walls of his prison, wreaked his anger +upon everything, and chiefly upon himself, so that the least +thing, -- a grain of sand, a straw, or a breath of air that +annoyed him, led to paroxysms of fury. Then the letter that +Villefort had showed to him recurred to his mind, and every +line gleamed forth in fiery letters on the wall like the +mene tekel upharsin of Belshazzar. He told himself that it +was the enmity of man, and not the vengeance of heaven, that +had thus plunged him into the deepest misery. He consigned +his unknown persecutors to the most horrible tortures he +could imagine, and found them all insufficient, because +after torture came death, and after death, if not repose, at +least the boon of unconsciousness. + +By dint of constantly dwelling on the idea that tranquillity +was death, and if punishment were the end in view other +tortures than death must be invented, he began to reflect on +suicide. Unhappy he, who, on the brink of misfortune, broods +over ideas like these! + +Before him is a dead sea that stretches in azure calm before +the eye; but he who unwarily ventures within its embrace +finds himself struggling with a monster that would drag him +down to perdition. Once thus ensnared, unless the protecting +hand of God snatch him thence, all is over, and his +struggles but tend to hasten his destruction. This state of +mental anguish is, however, less terrible than the +sufferings that precede or the punishment that possibly will +follow. There is a sort of consolation at the contemplation +of the yawning abyss, at the bottom of which lie darkness +and obscurity. + +Edmond found some solace in these ideas. All his sorrows, +all his sufferings, with their train of gloomy spectres, +fled from his cell when the angel of death seemed about to +enter. Dantes reviewed his past life with composure, and, +looking forward with terror to his future existence, chose +that middle line that seemed to afford him a refuge. + +"Sometimes," said he, "in my voyages, when I was a man and +commanded other men, I have seen the heavens overcast, the +sea rage and foam, the storm arise, and, like a monstrous +bird, beating the two horizons with its wings. Then I felt +that my vessel was a vain refuge, that trembled and shook +before the tempest. Soon the fury of the waves and the sight +of the sharp rocks announced the approach of death, and +death then terrified me, and I used all my skill and +intelligence as a man and a sailor to struggle against the +wrath of God. But I did so because I was happy, because I +had not courted death, because to be cast upon a bed of +rocks and seaweed seemed terrible, because I was unwilling +that I, a creature made for the service of God, should serve +for food to the gulls and ravens. But now it is different; I +have lost all that bound me to life, death smiles and +invites me to repose; I die after my own manner, I die +exhausted and broken-spirited, as I fall asleep when I have +paced three thousand times round my cell." + +No sooner had this idea taken possession of him than he +became more composed, arranged his couch to the best of his +power, ate little and slept less, and found existence almost +supportable, because he felt that he could throw it off at +pleasure, like a worn-out garment. Two methods of +self-destruction were at his disposal. He could hang himself +with his handkerchief to the window bars, or refuse food and +die of starvation. But the first was repugnant to him. +Dantes had always entertained the greatest horror of +pirates, who are hung up to the yard-arm; he would not die +by what seemed an infamous death. He resolved to adopt the +second, and began that day to carry out his resolve. Nearly +four years had passed away; at the end of the second he had +ceased to mark the lapse of time. + +Dantes said, "I wish to die," and had chosen the manner of +his death, and fearful of changing his mind, he had taken an +oath to die. "When my morning and evening meals are +brought," thought he, "I will cast them out of the window, +and they will think that I have eaten them." + +He kept his word; twice a day he cast out, through the +barred aperture, the provisions his jailer brought him -- at +first gayly, then with deliberation, and at last with +regret. Nothing but the recollection of his oath gave him +strength to proceed. Hunger made viands once repugnant, now +acceptable; he held the plate in his hand for an hour at a +time, and gazed thoughtfully at the morsel of bad meat, of +tainted fish, of black and mouldy bread. It was the last +yearning for life contending with the resolution of despair; +then his dungeon seemed less sombre, his prospects less +desperate. He was still young -- he was only four or five +and twenty -- he had nearly fifty years to live. What +unforseen events might not open his prison door, and restore +him to liberty? Then he raised to his lips the repast that, +like a voluntary Tantalus, he refused himself; but he +thought of his oath, and he would not break it. He persisted +until, at last, he had not sufficient strength to rise and +cast his supper out of the loophole. The next morning he +could not see or hear; the jailer feared he was dangerously +ill. Edmond hoped he was dying. + +Thus the day passed away. Edmond felt a sort of stupor +creeping over him which brought with it a feeling almost of +content; the gnawing pain at his stomach had ceased; his +thirst had abated; when he closed his eyes he saw myriads of +lights dancing before them like the will-o'-the-wisps that +play about the marshes. It was the twilight of that +mysterious country called Death! + +Suddenly, about nine o'clock in the evening, Edmond heard a +hollow sound in the wall against which he was lying. + +So many loathsome animals inhabited the prison, that their +noise did not, in general, awake him; but whether abstinence +had quickened his faculties, or whether the noise was really +louder than usual, Edmond raised his head and listened. It +was a continual scratching, as if made by a huge claw, a +powerful tooth, or some iron instrument attacking the +stones. + +Although weakened, the young man's brain instantly responded +to the idea that haunts all prisoners -- liberty! It seemed +to him that heaven had at length taken pity on him, and had +sent this noise to warn him on the very brink of the abyss. +Perhaps one of those beloved ones he had so often thought of +was thinking of him, and striving to diminish the distance +that separated them. + +No, no, doubtless he was deceived, and it was but one of +those dreams that forerun death! + +Edmond still heard the sound. It lasted nearly three hours; +he then heard a noise of something falling, and all was +silent. + +Some hours afterwards it began again, nearer and more +distinct. Edmond was intensely interested. Suddenly the +jailer entered. + +For a week since he had resolved to die, and during the four +days that he had been carrying out his purpose, Edmond had +not spoken to the attendant, had not answered him when he +inquired what was the matter with him, and turned his face +to the wall when he looked too curiously at him; but now the +jailer might hear the noise and put an end to it, and so +destroy a ray of something like hope that soothed his last +moments. + +The jailer brought him his breakfast. Dantes raised himself +up and began to talk about everything; about the bad quality +of the food, about the coldness of his dungeon, grumbling +and complaining, in order to have an excuse for speaking +louder, and wearying the patience of his jailer, who out of +kindness of heart had brought broth and white bread for his +prisoner. + +Fortunately, he fancied that Dantes was delirious; and +placing the food on the rickety table, he withdrew. Edmond +listened, and the sound became more and more distinct. + +"There can be no doubt about it," thought he; "it is some +prisoner who is striving to obtain his freedom. Oh, if I +were only there to help him!" Suddenly another idea took +possession of his mind, so used to misfortune, that it was +scarcely capable of hope -- the idea that the noise was made +by workmen the governor had ordered to repair the +neighboring dungeon. + +It was easy to ascertain this; but how could he risk the +question? It was easy to call his jailer's attention to the +noise, and watch his countenance as he listened; but might +he not by this means destroy hopes far more important than +the short-lived satisfaction of his own curiosity? +Unfortunately, Edmond's brain was still so feeble that he +could not bend his thoughts to anything in particular. + +He saw but one means of restoring lucidity and clearness to +his judgment. He turned his eyes towards the soup which the +jailer had brought, rose, staggered towards it, raised the +vessel to his lips, and drank off the contents with a +feeling of indescribable pleasure. He had often heard that +shipwrecked persons had died through having eagerly devoured +too much food. Edmond replaced on the table the bread he was +about to devour, and returned to his couch -- he did not +wish to die. He soon felt that his ideas became again +collected -- he could think, and strengthen his thoughts by +reasoning. Then he said to himself, "I must put this to the +test, but without compromising anybody. If it is a workman, +I need but knock against the wall, and he will cease to +work, in order to find out who is knocking, and why he does +so; but as his occupation is sanctioned by the governor, he +will soon resume it. If, on the contrary, it is a prisoner, +the noise I make will alarm him, he will cease, and not +begin again until he thinks every one is asleep." + +Edmond rose again, but this time his legs did not tremble, +and his sight was clear; he went to a corner of his dungeon, +detached a stone, and with it knocked against the wall where +the sound came. He struck thrice. At the first blow the +sound ceased, as if by magic. + +Edmond listened intently; an hour passed, two hours passed, +and no sound was heard from the wall -- all was silent +there. + +Full of hope, Edmond swallowed a few mouthfuls of bread and +water, and, thanks to the vigor of his constitution, found +himself well-nigh recovered. + +The day passed away in utter silence -- night came without +recurrence of the noise. + +"It is a prisoner," said Edmond joyfully. The night passed +in perfect silence. Edmond did not close his eyes. + +In the morning the jailer brought him fresh provisions -- he +had already devoured those of the previous day; he ate these +listening anxiously for the sound, walking round and round +his cell, shaking the iron bars of the loophole, restoring +vigor and agility to his limbs by exercise, and so preparing +himself for his future destiny. At intervals he listened to +learn if the noise had not begun again, and grew impatient +at the prudence of the prisoner, who did not guess he had +been disturbed by a captive as anxious for liberty as +himself. + +Three days passed -- seventy-two long tedious hours which he +counted off by minutes! + +At length one evening, as the jailer was visiting him for +the last time that night, Dantes, with his ear for the +hundredth time at the wall, fancied he heard an almost +imperceptible movement among the stones. He moved away, +walked up and down his cell to collect his thoughts, and +then went back and listened. + +The matter was no longer doubtful. Something was at work on +the other side of the wall; the prisoner had discovered the +danger, and had substituted a lever for a chisel. + +Encouraged by this discovery, Edmond determined to assist +the indefatigable laborer. He began by moving his bed, and +looked around for anything with which he could pierce the +wall, penetrate the moist cement, and displace a stone. + +He saw nothing, he had no knife or sharp instrument, the +window grating was of iron, but he had too often assured +himself of its solidity. All his furniture consisted of a +bed, a chair, a table, a pail, and a jug. The bed had iron +clamps, but they were screwed to the wood, and it would have +required a screw-driver to take them off. The table and +chair had nothing, the pail had once possessed a handle, but +that had been removed. + +Dantes had but one resource, which was to break the jug, and +with one of the sharp fragments attack the wall. He let the +jug fall on the floor, and it broke in pieces. + +Dantes concealed two or three of the sharpest fragments in +his bed, leaving the rest on the floor. The breaking of his +jug was too natural an accident to excite suspicion. Edmond +had all the night to work in, but in the darkness he could +not do much, and he soon felt that he was working against +something very hard; he pushed back his bed, and waited for +day. + +All night he heard the subterranean workman, who continued +to mine his way. Day came, the jailer entered. Dantes told +him that the jug had fallen from his hands while he was +drinking, and the jailer went grumblingly to fetch another, +without giving himself the trouble to remove the fragments +of the broken one. He returned speedily, advised the +prisoner to be more careful, and departed. + +Dantes heard joyfully the key grate in the lock; he listened +until the sound of steps died away, and then, hastily +displacing his bed, saw by the faint light that penetrated +into his cell, that he had labored uselessly the previous +evening in attacking the stone instead of removing the +plaster that surrounded it. + +The damp had rendered it friable, and Dantes was able to +break it off -- in small morsels, it is true, but at the end +of half an hour he had scraped off a handful; a +mathematician might have calculated that in two years, +supposing that the rock was not encountered, a passage +twenty feet long and two feet broad, might be formed. + +The prisoner reproached himself with not having thus +employed the hours he had passed in vain hopes, prayer, and +despondency. During the six years that he had been +imprisoned, what might he not have accomplished? + +In three days he had succeeded, with the utmost precaution, +in removing the cement, and exposing the stone-work. The +wall was built of rough stones, among which, to give +strength to the structure, blocks of hewn stone were at +intervals imbedded. It was one of these he had uncovered, +and which he must remove from its socket. + +Dantes strove to do this with his nails, but they were too +weak. The fragments of the jug broke, and after an hour of +useless toil, he paused. + +Was he to be thus stopped at the beginning, and was he to +wait inactive until his fellow workman had completed his +task? Suddenly an idea occurred to him -- he smiled, and the +perspiration dried on his forehead. + +The jailer always brought Dantes' soup in an iron saucepan; +this saucepan contained soup for both prisoners, for Dantes +had noticed that it was either quite full, or half empty, +according as the turnkey gave it to him or to his companion +first. + +The handle of this saucepan was of iron; Dantes would have +given ten years of his life in exchange for it. + +The jailer was accustomed to pour the contents of the +saucepan into Dantes' plate, and Dantes, after eating his +soup with a wooden spoon, washed the plate, which thus +served for every day. Now when evening came Dantes put his +plate on the ground near the door; the jailer, as he +entered, stepped on it and broke it. + +This time he could not blame Dantes. He was wrong to leave +it there, but the jailer was wrong not to have looked before +him. + +The jailer, therefore, only grumbled. Then he looked about +for something to pour the soup into; Dantes' entire dinner +service consisted of one plate -- there was no alternative. + +"Leave the saucepan," said Dantes; "you can take it away +when you bring me my breakfast." This advice was to the +jailer's taste, as it spared him the necessity of making +another trip. He left the saucepan. + +Dantes was beside himself with joy. He rapidly devoured his +food, and after waiting an hour, lest the jailer should +change his mind and return, he removed his bed, took the +handle of the saucepan, inserted the point between the hewn +stone and rough stones of the wall, and employed it as a +lever. A slight oscillation showed Dantes that all went +well. At the end of an hour the stone was extricated from +the wall, leaving a cavity a foot and a half in diameter. + +Dantes carefully collected the plaster, carried it into the +corner of his cell, and covered it with earth. Then, wishing +to make the best use of his time while he had the means of +labor, he continued to work without ceasing. At the dawn of +day he replaced the stone, pushed his bed against the wall, +and lay down. The breakfast consisted of a piece of bread; +the jailer entered and placed the bread on the table. + +"Well, don't you intend to bring me another plate?" said +Dantes. + +"No," replied the turnkey; "you destroy everything. First +you break your jug, then you make me break your plate; if +all the prisoners followed your example, the government +would be ruined. I shall leave you the saucepan, and pour +your soup into that. So for the future I hope you will not +be so destructive." + +Dantes raised his eyes to heaven and clasped his hands +beneath the coverlet. He felt more gratitude for the +possession of this piece of iron than he had ever felt for +anything. He had noticed, however, that the prisoner on the +other side had ceased to labor; no matter, this was a +greater reason for proceeding -- if his neighbor would not +come to him, he would go to his neighbor. All day he toiled +on untiringly, and by the evening he had succeeded in +extracting ten handfuls of plaster and fragments of stone. +When the hour for his jailer's visit arrived, Dantes +straightened the handle of the saucepan as well as he could, +and placed it in its accustomed place. The turnkey poured +his ration of soup into it, together with the fish -- for +thrice a week the prisoners were deprived of meat. This +would have been a method of reckoning time, had not Dantes +long ceased to do so. Having poured out the soup, the +turnkey retired. Dantes wished to ascertain whether his +neighbor had really ceased to work. He listened -- all was +silent, as it had been for the last three days. Dantes +sighed; it was evident that his neighbor distrusted him. +However, he toiled on all the night without being +discouraged; but after two or three hours he encountered an +obstacle. The iron made no impression, but met with a smooth +surface; Dantes touched it, and found that it was a beam. +This beam crossed, or rather blocked up, the hole Dantes had +made; it was necessary, therefore, to dig above or under it. +The unhappy young man had not thought of this. "O my God, my +God!" murmured he, "I have so earnestly prayed to you, that +I hoped my prayers had been heard. After having deprived me +of my liberty, after having deprived me of death, after +having recalled me to existence, my God, have pity on me, +and do not let me die in despair!" + +"Who talks of God and despair at the same time?" said a +voice that seemed to come from beneath the earth, and, +deadened by the distance, sounded hollow and sepulchral in +the young man's ears. Edmond's hair stood on end, and he +rose to his knees. + +"Ah," said he, "I hear a human voice." Edmond had not heard +any one speak save his jailer for four or five years; and a +jailer is no man to a prisoner -- he is a living door, a +barrier of flesh and blood adding strength to restraints of +oak and iron. + +"In the name of heaven," cried Dantes, "speak again, though +the sound of your voice terrifies me. Who are you?" + +"Who are you?" said the voice. + +"An unhappy prisoner," replied Dantes, who made no +hesitation in answering. + +"Of what country?" + +"A Frenchman." + +"Your name?" + +"Edmond Dantes." + +"Your profession?" + +"A sailor." + +"How long have you been here?" + +"Since the 28th of February, 1815." + +"Your crime?" + +"I am innocent." + +"But of what are you accused?" + +"Of having conspired to aid the emperor's return." + +"What! For the emperor's return? -- the emperor is no longer +on the throne, then?" + +"He abdicated at Fontainebleau in 1814, and was sent to the +Island of Elba. But how long have you been here that you are +ignorant of all this?" + +"Since 1811." + +Dantes shuddered; this man had been four years longer than +himself in prison. + +"Do not dig any more," said the voice; "only tell me how +high up is your excavation?" + +"On a level with the floor." + +"How is it concealed?" + +"Behind my bed." + +"Has your bed been moved since you have been a prisoner?" + +"No." + +"What does your chamber open on?" + +"A corridor." + +"And the corridor?" + +"On a court." + +"Alas!" murmured the voice. + +"Oh, what is the matter?" cried Dantes. + +"I have made a mistake owing to an error in my plans. I took +the wrong angle, and have come out fifteen feet from where I +intended. I took the wall you are mining for the outer wall +of the fortress." + +"But then you would be close to the sea?" + +"That is what I hoped." + +"And supposing you had succeeded?" + +"I should have thrown myself into the sea, gained one of the +islands near here -- the Isle de Daume or the Isle de +Tiboulen -- and then I should have been safe." + +"Could you have swum so far?" + +"Heaven would have given me strength; but now all is lost." + +"All?" + +"Yes; stop up your excavation carefully, do not work any +more, and wait until you hear from me." + +"Tell me, at least, who you are?" + +"I am -- I am No. 27." + +"You mistrust me, then," said Dantes. Edmond fancied he +heard a bitter laugh resounding from the depths. + +"Oh, I am a Christian," cried Dantes, guessing instinctively +that this man meant to abandon him. "I swear to you by him +who died for us that naught shall induce me to breathe one +syllable to my jailers; but I conjure you do not abandon me. +If you do, I swear to you, for I have got to the end of my +strength, that I will dash my brains out against the wall, +and you will have my death to reproach yourself with." + +"How old are you? Your voice is that of a young man." + +"I do not know my age, for I have not counted the years I +have been here. All I do know is, that I was just nineteen +when I was arrested, the 28th of February, 1815." + +"Not quite twenty-six!" murmured the voice; "at that age he +cannot be a traitor." + +"Oh, no, no," cried Dantes. "I swear to you again, rather +than betray you, I would allow myself to be hacked in +pieces!" + +"You have done well to speak to me, and ask for my +assistance, for I was about to form another plan, and leave +you; but your age reassures me. I will not forget you. +Wait." + +"How long?" + +"I must calculate our chances; I will give you the signal." + +"But you will not leave me; you will come to me, or you will +let me come to you. We will escape, and if we cannot escape +we will talk; you of those whom you love, and I of those +whom I love. You must love somebody?" + +"No, I am alone in the world." + +"Then you will love me. If you are young, I will be your +comrade; if you are old, I will be your son. I have a father +who is seventy if he yet lives; I only love him and a young +girl called Mercedes. My father has not yet forgotten me, I +am sure, but God alone knows if she loves me still; I shall +love you as I loved my father." + +"It is well," returned the voice; "to-morrow." + +These few words were uttered with an accent that left no +doubt of his sincerity; Dantes rose, dispersed the fragments +with the same precaution as before, and pushed his bed back +against the wall. He then gave himself up to his happiness. +He would no longer be alone. He was, perhaps, about to +regain his liberty; at the worst, he would have a companion, +and captivity that is shared is but half captivity. Plaints +made in common are almost prayers, and prayers where two or +three are gathered together invoke the mercy of heaven. + +All day Dantes walked up and down his cell. He sat down +occasionally on his bed, pressing his hand on his heart. At +the slightest noise he bounded towards the door. Once or +twice the thought crossed his mind that he might be +separated from this unknown, whom he loved already; and then +his mind was made up -- when the jailer moved his bed and +stooped to examine the opening, he would kill him with his +water jug. He would be condemned to die, but he was about to +die of grief and despair when this miraculous noise recalled +him to life. + +The jailer came in the evening. Dantes was on his bed. It +seemed to him that thus he better guarded the unfinished +opening. Doubtless there was a strange expression in his +eyes, for the jailer said, "Come, are you going mad again?" + +Dantes did not answer; he feared that the emotion of his +voice would betray him. The jailer went away shaking his +head. Night came; Dantes hoped that his neighbor would +profit by the silence to address him, but he was mistaken. +The next morning, however, just as he removed his bed from +the wall, he heard three knocks; he threw himself on his +knees. + +"Is it you?" said he; "I am here." + +"Is your jailer gone?" + +"Yes," said Dantes; "he will not return until the evening; +so that we have twelve hours before us." + +"I can work, then?" said the voice. + +"Oh, yes, yes; this instant, I entreat you." + +In a moment that part of the floor on which Dantes was +resting his two hands, as he knelt with his head in the +opening, suddenly gave way; he drew back smartly, while a +mass of stones and earth disappeared in a hole that opened +beneath the aperture he himself had formed. Then from the +bottom of this passage, the depth of which it was impossible +to measure, he saw appear, first the head, then the +shoulders, and lastly the body of a man, who sprang lightly +into his cell. + + + +Chapter 16 +A Learned Italian. + +Seizing in his arms the friend so long and ardently desired, +Dantes almost carried him towards the window, in order to +obtain a better view of his features by the aid of the +imperfect light that struggled through the grating. + +He was a man of small stature, with hair blanched rather by +suffering and sorrow than by age. He had a deep-set, +penetrating eye, almost buried beneath the thick gray +eyebrow, and a long (and still black) beard reaching down to +his breast. His thin face, deeply furrowed by care, and the +bold outline of his strongly marked features, betokened a +man more accustomed to exercise his mental faculties than +his physical strength. Large drops of perspiration were now +standing on his brow, while the garments that hung about him +were so ragged that one could only guess at the pattern upon +which they had originally been fashioned. + +The stranger might have numbered sixty or sixty-five years; +but a certain briskness and appearance of vigor in his +movements made it probable that he was aged more from +captivity than the course of time. He received the +enthusiastic greeting of his young acquaintance with evident +pleasure, as though his chilled affections were rekindled +and invigorated by his contact with one so warm and ardent. +He thanked him with grateful cordiality for his kindly +welcome, although he must at that moment have been suffering +bitterly to find another dungeon where he had fondly +reckoned on discovering a means of regaining his liberty. + +"Let us first see," said he, "whether it is possible to +remove the traces of my entrance here -- our future +tranquillity depends upon our jailers being entirely +ignorant of it." Advancing to the opening, he stooped and +raised the stone easily in spite of its weight; then, +fitting it into its place, he said, -- + +"You removed this stone very carelessly; but I suppose you +had no tools to aid you." + +"Why," exclaimed Dantes, with astonishment, "do you possess +any?" + +"I made myself some; and with the exception of a file, I +have all that are necessary, -- a chisel, pincers, and +lever." + +"Oh, how I should like to see these products of your +industry and patience." + +"Well, in the first place, here is my chisel." So saying, he +displayed a sharp strong blade, with a handle made of +beechwood. + +"And with what did you contrive to make that?" inquired +Dantes. + +"With one of the clamps of my bedstead; and this very tool +has sufficed me to hollow out the road by which I came +hither, a distance of about fifty feet." + +"Fifty feet!" responded Dantes, almost terrified. + +"Do not speak so loud, young man -- don't speak so loud. It +frequently occurs in a state prison like this, that persons +are stationed outside the doors of the cells purposely to +overhear the conversation of the prisoners." + +"But they believe I am shut up alone here." + +"That makes no difference." + +"And you say that you dug your way a distance of fifty feet +to get here?" + +"I do; that is about the distance that separates your +chamber from mine; only, unfortunately, I did not curve +aright; for want of the necessary geometrical instruments to +calculate my scale of proportion, instead of taking an +ellipsis of forty feet, I made it fifty. I expected, as I +told you, to reach the outer wall, pierce through it, and +throw myself into the sea; I have, however, kept along the +corridor on which your chamber opens, instead of going +beneath it. My labor is all in vain, for I find that the +corridor looks into a courtyard filled with soldiers." + +"That's true," said Dantes; "but the corridor you speak of +only bounds one side of my cell; there are three others -- +do you know anything of their situation?" + +"This one is built against the solid rock, and it would take +ten experienced miners, duly furnished with the requisite +tools, as many years to perforate it. This adjoins the lower +part of the governor's apartments, and were we to work our +way through, we should only get into some lock-up cellars, +where we must necessarily be recaptured. The fourth and last +side of your cell faces on -- faces on -- stop a minute, now +where does it face?" + +The wall of which he spoke was the one in which was fixed +the loophole by which light was admitted to the chamber. +This loophole, which gradually diminished in size as it +approached the outside, to an opening through which a child +could not have passed, was, for better security, furnished +with three iron bars, so as to quiet all apprehensions even +in the mind of the most suspicious jailer as to the +possibility of a prisoner's escape. As the stranger asked +the question, he dragged the table beneath the window. + +"Climb up," said he to Dantes. The young man obeyed, mounted +on the table, and, divining the wishes of his companion, +placed his back securely against the wall and held out both +hands. The stranger, whom as yet Dantes knew only by the +number of his cell, sprang up with an agility by no means to +be expected in a person of his years, and, light and steady +on his feet as a cat or a lizard, climbed from the table to +the outstretched hands of Dantes, and from them to his +shoulders; then, bending double, for the ceiling of the +dungeon prevented him from holding himself erect, he managed +to slip his head between the upper bars of the window, so as +to be able to command a perfect view from top to bottom. + +An instant afterwards he hastily drew back his head, saying, +"I thought so!" and sliding from the shoulders of Dantes as +dextrously as he had ascended, he nimbly leaped from the +table to the ground. + +"What was it that you thought?" asked the young man +anxiously, in his turn descending from the table. + +The elder prisoner pondered the matter. "Yes," said he at +length, "it is so. This side of your chamber looks out upon +a kind of open gallery, where patrols are continually +passing, and sentries keep watch day and night." + +"Are you quite sure of that?" + +"Certain. I saw the soldier's shape and the top of his +musket; that made me draw in my head so quickly, for I was +fearful he might also see me." + +"Well?" inquired Dantes. + +"You perceive then the utter impossibility of escaping +through your dungeon?" + +"Then," pursued the young man eagerly -- + +"Then," answered the elder prisoner, "the will of God be +done!" and as the old man slowly pronounced those words, an +air of profound resignation spread itself over his careworn +countenance. Dantes gazed on the man who could thus +philosophically resign hopes so long and ardently nourished +with an astonishment mingled with admiration. + +"Tell me, I entreat of you, who and what you are?" said he +at length; "never have I met with so remarkable a person as +yourself." + +"Willingly," answered the stranger; "if, indeed, you feel +any curiosity respecting one, now, alas, powerless to aid +you in any way." + +"Say not so; you can console and support me by the strength +of your own powerful mind. Pray let me know who you really +are?" + +The stranger smiled a melancholy smile. "Then listen," said +he. "l am the Abbe Faria, and have been imprisoned as you +know in this Chateau d'If since the year 1811; previously to +which I had been confined for three years in the fortress of +Fenestrelle. In the year 1811 I was transferred to Piedmont +in France. It was at this period I learned that the destiny +which seemed subservient to every wish formed by Napoleon, +had bestowed on him a son, named king of Rome even in his +cradle. I was very far then from expecting the change you +have just informed me of; namely, that four years +afterwards, this colossus of power would be overthrown. Then +who reigns in France at this moment -- Napoleon II.?" + +"No, Louis XVIII." + +"The brother of Louis XVII.! How inscrutable are the ways of +providence -- for what great and mysterious purpose has it +pleased heaven to abase the man once so elevated, and raise +up him who was so abased?" + +Dantes, whole attention was riveted on a man who could thus +forget his own misfortunes while occupying himself with the +destinies of others. + +"Yes, yes," continued he, "'Twill be the same as it was in +England. After Charles I., Cromwell; after Cromwell, Charles +II., and then James II., and then some son-in-law or +relation, some Prince of Orange, a stadtholder who becomes a +king. Then new concessions to the people, then a +constitution, then liberty. Ah, my friend!" said the abbe, +turning towards Dantes, and surveying him with the kindling +gaze of a prophet, "you are young, you will see all this +come to pass." + +"Probably, if ever I get out of prison!" + +"True," replied Faria, "we are prisoners; but I forget this +sometimes, and there are even moments when my mental vision +transports me beyond these walls, and I fancy myself at +liberty." + +"But wherefore are you here?" + +"Because in 1807 I dreamed of the very plan Napoleon tried +to realize in 1811; because, like Machiavelli, I desired to +alter the political face of Italy, and instead of allowing +it to be split up into a quantity of petty principalities, +each held by some weak or tyrannical ruler, I sought to form +one large, compact, and powerful empire; and, lastly, +because I fancied I had found my Caesar Borgia in a crowned +simpleton, who feigned to enter into my views only to betray +me. It was the plan of Alexander VI. and Clement VII., but +it will never succeed now, for they attempted it +fruitlessly, and Napoleon was unable to complete his work. +Italy seems fated to misfortune." And the old man bowed his +head. + +Dantes could not understand a man risking his life for such +matters. Napoleon certainly he knew something of, inasmuch +as he had seen and spoken with him; but of Clement VII. and +Alexander VI. he knew nothing. + +"Are you not," he asked, "the priest who here in the Chateau +d'If is generally thought to be -- ill?" + +"Mad, you mean, don't you?" + +"I did not like to say so," answered Dantes, smiling. + +"Well, then," resumed Faria with a bitter smile, "let me +answer your question in full, by acknowledging that I am the +poor mad prisoner of the Chateau d'If, for many years +permitted to amuse the different visitors with what is said +to be my insanity; and, in all probability, I should be +promoted to the honor of making sport for the children, if +such innocent beings could be found in an abode devoted like +this to suffering and despair." + +Dantes remained for a short time mute and motionless; at +length he said, -- "Then you abandon all hope of escape?" + +"I perceive its utter impossibility; and I consider it +impious to attempt that which the Almighty evidently does +not approve." + +"Nay, be not discouraged. Would it not be expecting too much +to hope to succeed at your first attempt? Why not try to +find an opening in another direction from that which has so +unfortunately failed?" + +"Alas, it shows how little notion you can have of all it has +cost me to effect a purpose so unexpectedly frustrated, that +you talk of beginning over again. In the first place, I was +four years making the tools I possess, and have been two +years scraping and digging out earth, hard as granite +itself; then what toil and fatigue has it not been to remove +huge stones I should once have deemed impossible to loosen. +Whole days have I passed in these Titanic efforts, +considering my labor well repaid if, by night-time I had +contrived to carry away a square inch of this hard-bound +cement, changed by ages into a substance unyielding as the +stones themselves; then to conceal the mass of earth and +rubbish I dug up, I was compelled to break through a +staircase, and throw the fruits of my labor into the hollow +part of it; but the well is now so completely choked up, +that I scarcely think it would be possible to add another +handful of dust without leading to discovery. Consider also +that I fully believed I had accomplished the end and aim of +my undertaking, for which I had so exactly husbanded my +strength as to make it just hold out to the termination of +my enterprise; and now, at the moment when I reckoned upon +success, my hopes are forever dashed from me. No, I repeat +again, that nothing shall induce me to renew attempts +evidently at variance with the Almighty's pleasure." + +Dantes held down his head, that the other might not see how +joy at the thought of having a companion outweighed the +sympathy he felt for the failure of the abbe's plans. + +The abbe sank upon Edmond's bed. while Edmond himself +remained standing. Escape had never once occurred to him. +There are, indeed, some things which appear so impossible +that the mind does not dwell on them for an instant. To +undermine the ground for fifty feet -- to devote three years +to a labor which, if successful, would conduct you to a +precipice overhanging the sea -- to plunge into the waves +from the height of fifty, sixty, perhaps a hundred feet, at +the risk of being dashed to pieces against the rocks, should +you have been fortunate enough to have escaped the fire of +the sentinels; and even, supposing all these perils past, +then to have to swim for your life a distance of at least +three miles ere you could reach the shore -- were +difficulties so startling and formidable that Dantes had +never even dreamed of such a scheme, resigning himself +rather to death. But the sight of an old man clinging to +life with so desperate a courage, gave a fresh turn to his +ideas, and inspired him with new courage. Another, older and +less strong than he, had attempted what he had not had +sufficient resolution to undertake, and had failed only +because of an error in calculation. This same person, with +almost incredible patience and perseverance, had contrived +to provide himself with tools requisite for so unparalleled +an attempt. Another had done all this; why, then, was it +impossible to Dantes? Faria had dug his way through fifty +feet, Dantes would dig a hundred; Faria, at the age of +fifty, had devoted three years to the task; he, who was but +half as old, would sacrifice six; Faria, a priest and +savant, had not shrunk from the idea of risking his life by +trying to swim a distance of three miles to one of the +islands -- Daume, Rattonneau, or Lemaire; should a hardy +sailer, an experienced diver, like himself, shrink from a +similar task; should he, who had so often for mere +amusement's sake plunged to the bottom of the sea to fetch +up the bright coral branch, hesitate to entertain the same +project? He could do it in an hour, and how many times had +he, for pure pastime, continued in the water for more than +twice as long! At once Dantes resolved to follow the brave +example of his energetic companion, and to remember that +what has once been done may be done again. + +After continuing some time in profound meditation, the young +man suddenly exclaimed, "I have found what you were in +search of!" + +Faria started: "Have you, indeed?" cried he, raising his +head with quick anxiety; "pray, let me know what it is you +have discovered?" + +"The corridor through which you have bored your way from the +cell you occupy here, extends in the same direction as the +outer gallery, does it not?" + +"It does." + +"And is not above fifteen feet from it?" + +"About that." + +"Well, then, I will tell you what we must do. We must pierce +through the corridor by forming a side opening about the +middle, as it were the top part of a cross. This time you +will lay your plans more accurately; we shall get out into +the gallery you have described; kill the sentinel who guards +it, and make our escape. All we require to insure success is +courage, and that you possess, and strength, which I am not +deficient in; as for patience, you have abundantly proved +yours -- you shall now see me prove mine." + +"One instant, my dear friend," replied the abbe; "it is +clear you do not understand the nature of the courage with +which I am endowed, and what use I intend making of my +strength. As for patience, I consider that I have abundantly +exercised that in beginning every morning the task of the +night before, and every night renewing the task of the day. +But then, young man (and I pray of you to give me your full +attention), then I thought I could not be doing anything +displeasing to the Almighty in trying to set an innocent +being at liberty -- one who had committed no offence, and +merited not condemnation." + +"And have your notions changed?" asked Dantes with much +surprise; "do you think yourself more guilty in making the +attempt since you have encountered me?" + +"No; neither do I wish to incur guilt. Hitherto I have +fancied myself merely waging war against circumstances, not +men. I have thought it no sin to bore through a wall, or +destroy a staircase; but I cannot so easily persuade myself +to pierce a heart or take away a life." A slight movement of +surprise escaped Dantes. + +"Is it possible," said he, "that where your liberty is at +stake you can allow any such scruple to deter you from +obtaining it?" + +"Tell me," replied Faria, "what has hindered you from +knocking down your jailer with a piece of wood torn from +your bedstead, dressing yourself in his clothes, and +endeavoring to escape?" + +"Simply the fact that the idea never occurred to me," +answered Dantes. + +"Because," said the old man, "the natural repugnance to the +commission of such a crime prevented you from thinking of +it; and so it ever is because in simple and allowable things +our natural instincts keep us from deviating from the strict +line of duty. The tiger, whose nature teaches him to delight +in shedding blood, needs but the sense of smell to show him +when his prey is within his reach, and by following this +instinct he is enabled to measure the leap necessary to +permit him to spring on his victim; but man, on the +contrary, loathes the idea of blood -- it is not alone that +the laws of social life inspire him with a shrinking dread +of taking life; his natural construction and physiological +formation" -- + +Dantes was confused and silent at this explanation of the +thoughts which had unconsciously been working in his mind, +or rather soul; for there are two distinct sorts of ideas, +those that proceed from the head and those that emanate from +the heart. + +"Since my imprisonment," said Faria, "I have thought over +all the most celebrated cases of escape on record. They have +rarely been successful. Those that have been crowned with +full success have been long meditated upon, and carefully +arranged; such, for instance, as the escape of the Duc de +Beaufort from the Chateau de Vincennes, that of the Abbe +Dubuquoi from For l'Eveque; of Latude from the Bastille. +Then there are those for which chance sometimes affords +opportunity, and those are the best of all. Let us, +therefore, wait patiently for some favorable moment, and +when it presents itself, profit by it." + +"Ah," said Dantes, "you might well endure the tedious delay; +you were constantly employed in the task you set yourself, +and when weary with toil, you had your hopes to refresh and +encourage you." + +"I assure you," replied the old man, "I did not turn to that +source for recreation or support." + +"What did you do then?" + +"I wrote or studied." + +"Were you then permitted the use of pens, ink, and paper?" + +"Oh, no," answered the abbe; "I had none but what I made for +myself." + +"You made paper, pens and ink?" + +"Yes." + +Dantes gazed with admiration, but he had some difficulty in +believing. Faria saw this. + +"When you pay me a visit in my cell, my young friend," said +he, "I will show you an entire work, the fruits of the +thoughts and reflections of my whole life; many of them +meditated over in the shades of the Coloseum at Rome, at the +foot of St. Mark's column at Venice, and on the borders of +the Arno at Florence, little imagining at the time that they +would be arranged in order within the walls of the Chateau +d'If. The work I speak of is called `A Treatise on the +Possibility of a General Monarchy in Italy,' and will make +one large quarto volume." + +"And on what have you written all this?" + +"On two of my shirts. I invented a preparation that makes +linen as smooth and as easy to write on as parchment." + +"You are, then, a chemist?" + +"Somewhat; I know Lavoisier, and was the intimate friend of +Cabanis." + +"But for such a work you must have needed books -- had you +any?" + +"I had nearly five thousand volumes in my library at Rome; +but after reading them over many times, I found out that +with one hundred and fifty well-chosen books a man +possesses, if not a complete summary of all human knowledge, +at least all that a man need really know. I devoted three +years of my life to reading and studying these one hundred +and fifty volumes, till I knew them nearly by heart; so that +since I have been in prison, a very slight effort of memory +has enabled me to recall their contents as readily as though +the pages were open before me. I could recite you the whole +of Thucydides, Xenophon, Plutarch, Titus Livius, Tacitus, +Strada, Jornandes, Dante, Montaigne, Shakspeare, Spinoza, +Machiavelli, and Bossuet. I name only the most important." + +"You are, doubtless, acquainted with a variety of languages, +so as to have been able to read all these?" + +"Yes, I speak five of the modern tongues -- that is to say, +German, French, Italian, English, and Spanish; by the aid of +ancient Greek I learned modern Greek -- I don't speak it so +well as I could wish, but I am still trying to improve +myself." + +"Improve yourself!" repeated Dantes; "why, how can you +manage to do so?" + +"Why, I made a vocabulary of the words I knew; turned, +returned, and arranged them, so as to enable me to express +my thoughts through their medium. I know nearly one thousand +words, which is all that is absolutely necessary, although I +believe there are nearly one hundred thousand in the +dictionaries. I cannot hope to be very fluent, but I +certainly should have no difficulty in explaining my wants +and wishes; and that would be quite as much as I should ever +require." + +Stronger grew the wonder of Dantes, who almost fancied he +had to do with one gifted with supernatural powers; still +hoping to find some imperfection which might bring him down +to a level with human beings, he added, "Then if you were +not furnished with pens, how did you manage to write the +work you speak of?" + +"I made myself some excellent ones, which would be +universally preferred to all others if once known. You are +aware what huge whitings are served to us on maigre days. +Well, I selected the cartilages of the heads of these +fishes, and you can scarcely imagine the delight with which +I welcomed the arrival of each Wednesday, Friday, and +Saturday, as affording me the means of increasing my stock +of pens; for I will freely confess that my historical labors +have been my greatest solace and relief. While retracing the +past, I forget the present; and traversing at will the path +of history I cease to remember that I am myself a prisoner." + +"But the ink," said Dantes; "of what did you make your ink?" + +"There was formerly a fireplace in my dungeon," replied +Faria, "but it was closed up long ere I became an occupant +of this prison. Still, it must have been many years in use, +for it was thickly covered with a coating of soot; this soot +I dissolved in a portion of the wine brought to me every +Sunday, and I assure you a better ink cannot be desired. For +very important notes, for which closer attention is +required, I pricked one of my fingers, and wrote with my own +blood." + +"And when," asked Dantes, "may I see all this?" + +"Whenever you please," replied the abbe. + +"Oh, then let it be directly!" exclaimed the young man. + +"Follow me, then," said the abbe, as he re-entered the +subterranean passage, in which he soon disappeared, followed +by Dantes. + + + +Chapter 17 +The Abbe's Chamber. + +After having passed with tolerable ease through the +subterranean passage, which, however, did not admit of their +holding themselves erect, the two friends reached the +further end of the corridor, into which the abbe's cell +opened; from that point the passage became much narrower, +and barely permitted one to creep through on hands and +knees. The floor of the abbe's cell was paved, and it had +been by raising one of the stones in the most obscure corner +that Faria had to been able to commence the laborious task +of which Dantes had witnessed the completion. + +As he entered the chamber of his friend, Dantes cast around +one eager and searching glance in quest of the expected +marvels, but nothing more than common met his view. + +"It is well," said the abbe; "we have some hours before us +-- it is now just a quarter past twelve o'clock." +Instinctively Dantes turned round to observe by what watch +or clock the abbe had been able so accurately to specify the +hour. + +"Look at this ray of light which enters by my window," said +the abbe, "and then observe the lines traced on the wall. +Well, by means of these lines, which are in accordance with +the double motion of the earth, and the ellipse it describes +round the sun, I am enabled to ascertain the precise hour +with more minuteness than if I possessed a watch; for that +might be broken or deranged in its movements, while the sun +and earth never vary in their appointed paths." + +This last explanation was wholly lost upon Dantes, who had +always imagined, from seeing the sun rise from behind the +mountains and set in the Mediterranean, that it moved, and +not the earth. A double movement of the globe he inhabited, +and of which he could feel nothing, appeared to him +perfectly impossible. Each word that fell from his +companion's lips seemed fraught with the mysteries of +science, as worthy of digging out as the gold and diamonds +in the mines of Guzerat and Golconda, which he could just +recollect having visited during a voyage made in his +earliest youth. + +"Come," said he to the abbe, "I am anxious to see your +treasures." + +The abbe smiled, and, proceeding to the disused fireplace, +raised, by the help of his chisel, a long stone, which had +doubtless been the hearth, beneath which was a cavity of +considerable depth, serving as a safe depository of the +articles mentioned to Dantes. + +"What do you wish to see first?" asked the abbe. + +"Oh, your great work on the monarchy of Italy!" + +Faria then drew forth from his hiding-place three or four +rolls of linen, laid one over the other, like folds of +papyrus. These rolls consisted of slips of cloth about four +inches wide and eighteen long; they were all carefully +numbered and closely covered with writing, so legible that +Dantes could easily read it, as well as make out the sense +-- it being in Italian, a language he, as a Provencal, +perfectly understood. + +"There," said he, "there is the work complete. I wrote the +word finis at the end of the sixty-eighth strip about a week +ago. I have torn up two of my shirts, and as many +handkerchiefs as I was master of, to complete the precious +pages. Should I ever get out of prison and find in all Italy +a printer courageous enough to publish what I have composed, +my literary reputation is forever secured." + +"I see," answered Dantes. "Now let me behold the curious +pens with which you have written your work." + +"Look!" said Faria, showing to the young man a slender stick +about six inches long, and much resembling the size of the +handle of a fine painting-brush, to the end of which was +tied, by a piece of thread, one of those cartilages of which +the abbe had before spoken to Dantes; it was pointed, and +divided at the nib like an ordinary pen. Dantes examined it +with intense admiration, then looked around to see the +instrument with which it had been shaped so correctly into +form. + +"Ah, yes," said Faria; "the penknife. That's my masterpiece. +I made it, as well as this larger knife, out of an old iron +candlestick." The penknife was sharp and keen as a razor; as +for the other knife, it would serve a double purpose, and +with it one could cut and thrust. + +Dantes examined the various articles shown to him with the +same attention that he had bestowed on the curiosities and +strange tools exhibited in the shops at Marseilles as the +works of the savages in the South Seas from whence they had +been brought by the different trading vessels. + +"As for the ink," said Faria, "I told you how I managed to +obtain that -- and I only just make it from time to time, as +I require it." + +"One thing still puzzles me," observed Dantes, "and that is +how you managed to do all this by daylight?" + +"I worked at night also," replied Faria. + +"Night! -- why, for heaven's sake, are your eyes like cats', +that you can see to work in the dark?" + +"Indeed they are not; but God his supplied man with the +intelligence that enables him to overcome the limitations of +natural conditions. I furnished myself with a light." + +"You did? Pray tell me how." + +"l separated the fat from the meat served to me, melted it, +and so made oil -- here is my lamp." So saying, the abbe +exhibited a sort of torch very similar to those used in +public illuminations. + +"But light?" + +"Here are two flints and a piece of burnt linen." + +"And matches?" + +"I pretended that I had a disorder of the skin, and asked +for a little sulphur, which was readily supplied." Dantes +laid the different things he had been looking at on the +table, and stood with his head drooping on his breast, as +though overwhelmed by the perseverance and strength of +Faria's mind. + +"You have not seen all yet," continued Faria, "for I did not +think it wise to trust all my treasures in the same +hiding-place. Let us shut this one up." They put the stone +back in its place; the abbe sprinkled a little dust over it +to conceal the traces of its having been removed, rubbed his +foot well on it to make it assume the same appearance as the +other, and then, going towards his bed, he removed it from +the spot it stood in. Behind the head of the bed, and +concealed by a stone fitting in so closely as to defy all +suspicion, was a hollow space, and in this space a ladder of +cords between twenty-five and thirty feet in length. Dantes +closely and eagerly examined it; he found it firm, solid, +and compact enough to bear any weight. + +"Who supplied you with the materials for making this +wonderful work?" + +"I tore up several of my shirts, and ripped out the seams in +the sheets of my bed, during my three years' imprisonment at +Fenestrelle; and when I was removed to the Chateau d'If, I +managed to bring the ravellings with me, so that I have been +able to finish my work here." + +"And was it not discovered that your sheets were unhemmed?" + +"Oh, no, for when I had taken out the thread I required, I +hemmed the edges over again." + +"With what?" + +"With this needle," said the abbe, as, opening his ragged +vestments, he showed Dantes a long, sharp fish-bone, with a +small perforated eye for the thread, a small portion of +which still remained in it. "I once thought," continued +Faria, "of removing these iron bars, and letting myself down +from the window, which, as you see, is somewhat wider than +yours, although I should have enlarged it still more +preparatory to my flight; however, I discovered that I +should merely have dropped into a sort of inner court, and I +therefore renounced the project altogether as too full of +risk and danger. Nevertheless, I carefully preserved my +ladder against one of those unforeseen opportunities of +which I spoke just now, and which sudden chance frequently +brings about." While affecting to be deeply engaged in +examining the ladder, the mind of Dantes was, in fact, +busily occupied by the idea that a person so intelligent, +ingenious, and clear-sighted as the abbe might probably be +able to solve the dark mystery of his own misfortunes, where +he himself could see nothing. + +"What are you thinking of?" asked the abbe smilingly, +imputing the deep abstraction in which his visitor was +plunged to the excess of his awe and wonder. + +"I was reflecting, in the first place," replied Dantes, +"upon the enormous degree of intelligence and ability you +must have employed to reach the high perfection to which you +have attained. What would you not have accomplished if you +had been free?" + +"Possibly nothing at all; the overflow of my brain would +probably, in a state of freedom, have evaporated in a +thousand follies; misfortune is needed to bring to light the +treasures of the human intellect. Compression is needed to +explode gunpowder. Captivity has brought my mental faculties +to a focus; and you are well aware that from the collision +of clouds electricity is produced -- from electricity, +lightning, from lightning, illumination." + +"No," replied Dantes. "I know nothing. Some of your words +are to me quite empty of meaning. You must be blessed indeed +to possess the knowledge you have." + +The abbe smiled. "Well," said he, "but you had another +subject for your thoughts; did you not say so just now?" + +"I did!" + +"You have told me as yet but one of them -- let me hear the +other." + +"It was this, -- that while you had related to me all the +particulars of your past life, you were perfectly +unacquainted with mine." + +"Your life, my young friend, has not been of sufficient +length to admit of your having passed through any very +important events." + +"It has been long enough to inflict on me a great and +undeserved misfortune. I would fain fix the source of it on +man that I may no longer vent reproaches upon heaven." + +"Then you profess ignorance of the crime with which you are +charged?" + +"I do, indeed; and this I swear by the two beings most dear +to me upon earth, -- my father and Mercedes." + +"Come," said the abbe, closing his hiding-place, and pushing +the bed back to its original situation, "let me hear your +story." + +Dantes obeyed, and commenced what he called his history, but +which consisted only of the account of a voyage to India, +and two or three voyages to the Levant until he arrived at +the recital of his last cruise, with the death of Captain +Leclere, and the receipt of a packet to be delivered by +himself to the grand marshal; his interview with that +personage, and his receiving, in place of the packet +brought, a letter addressed to a Monsieur Noirtier -- his +arrival at Marseilles, and interview with his father -- his +affection for Mercedes, and their nuptual feast -- his +arrest and subsequent examination, his temporary detention +at the Palais de Justice, and his final imprisonment in the +Chateau d'If. From this point everything was a blank to +Dantes -- he knew nothing more, not even the length of time +he had been imprisoned. His recital finished, the abbe +reflected long and earnestly. + +"There is," said he, at the end of his meditations, "a +clever maxim, which bears upon what I was saying to you some +little while ago, and that is, that unless wicked ideas take +root in a naturally depraved mind, human nature, in a right +and wholesome state, revolts at crime. Still, from an +artificial civilization have originated wants, vices, and +false tastes, which occasionally become so powerful as to +stifle within us all good feelings, and ultimately to lead +us into guilt and wickedness. From this view of things, +then, comes the axiom that if you visit to discover the +author of any bad action, seek first to discover the person +to whom the perpetration of that bad action could be in any +way advantageous. Now, to apply it in your case, -- to whom +could your disappearance have been serviceable?" + +"To no one, by heaven! I was a very insignificant person." + +"Do not speak thus, for your reply evinces neither logic nor +philosophy; everything is relative, my dear young friend, +from the king who stands in the way of his successor, to the +employee who keeps his rival out of a place. Now, in the +event of the king's death, his successor inherits a crown, +-- when the employee dies, the supernumerary steps into his +shoes, and receives his salary of twelve thousand livres. +Well, these twelve thousand livres are his civil list, and +are as essential to him as the twelve millions of a king. +Every one, from the highest to the lowest degree, has his +place on the social ladder, and is beset by stormy passions +and conflicting interests, as in Descartes' theory of +pressure and impulsion. But these forces increase as we go +higher, so that we have a spiral which in defiance of reason +rests upon the apex and not on the base. Now let us return +to your particular world. You say you were on the point of +being made captain of the Pharaon?" + +"Yes." + +"And about to become the husband of a young and lovely +girl?" + +"Yes." + +"Now, could any one have had any interest in preventing the +accomplishment of these two things? But let us first settle +the question as to its being the interest of any one to +hinder you from being captain of the Pharaon. What say you?" + +"I cannot believe such was the case. I was generally liked +on board, and had the sailors possessed the right of +selecting a captain themselves, I feel convinced their +choice would have fallen on me. There was only one person +among the crew who had any feeling of ill-will towards me. I +had quarelled with him some time previously, and had even +challenged him to fight me; but he refused." + +"Now we are getting on. And what was this man's name?" + +"Danglars." + +"What rank did he hold on board?" + +"He was supercargo." + +"And had you been captain, should you have retained him in +his employment?" + +"Not if the choice had remained with me, for I had +frequently observed inaccuracies in his accounts." + +"Good again! Now then, tell me, was any person present +during your last conversation with Captain Leclere?" + +"No; we were quite alone." + +"Could your conversation have been overheard by any one?" + +"It might, for the cabin door was open -- and -- stay; now I +recollect, -- Danglars himself passed by just as Captain +Leclere was giving me the packet for the grand marshal." + +"That's better," cried the abbe; "now we are on the right +scent. Did you take anybody with you when you put into the +port of Elba?" + +"Nobody." + +"Somebody there received your packet, and gave you a letter +in place of it, I think?" + +"Yes; the grand marshal did." + +"And what did you do with that letter?" + +"Put it into my portfolio." + +"You had your portfolio with you, then? Now, how could a +sailor find room in his pocket for a portfolio large enough +to contain an official letter?" + +"You are right; it was left on board." + +"Then it was not till your return to the ship that you put +the letter in the portfolio?" + +"No." + +"And what did you do with this same letter while returning +from Porto-Ferrajo to the vessel?" + +"I carried it in my hand." + +"So that when you went on board the Pharaon, everybody could +see that you held a letter in your hand?" + +"Yes." + +"Danglars, as well as the rest?" + +"Danglars, as well as others." + +"Now, listen to me, and try to recall every circumstance +attending your arrest. Do you recollect the words in which +the information against you was formulated?" + +"Oh yes, I read it over three times, and the words sank +deeply into my memory." + +"Repeat it to me." + +Dantes paused a moment, then said, "This is it, word for +word: `The king's attorney is informed by a friend to the +throne and religion, that one Edmond Dantes, mate on board +the Pharaon, this day arrived from Smyrna, after having +touched at Naples and Porto-Ferrajo, has been intrusted by +Murat with a packet for the usurper; again, by the usurper, +with a letter for the Bonapartist Club in Paris. This proof +of his guilt may be procured by his immediate arrest, as the +letter will be found either about his person, at his +father's residence, or in his cabin on board the Pharaon.'" +The abbe shrugged his shoulders. "The thing is clear as +day," said he; "and you must have had a very confiding +nature, as well as a good heart, not to have suspected the +origin of the whole affair." + +"Do you really think so? Ah, that would indeed be infamous." + +"How did Danglars usually write?" + +"In a handsome, running hand." + +"And how was the anonymous letter written?" + +"Backhanded." Again the abbe smiled. "Disguised." + +"It was very boldly written, if disguised." + +"Stop a bit," said the abbe, taking up what he called his +pen, and, after dipping it into the ink, he wrote on a piece +of prepared linen, with his left hand, the first two or +three words of the accusation. Dantes drew back, and gazed +on the abbe with a sensation almost amounting to terror. + +"How very astonishing!" cried he at length. "Why your +writing exactly resembles that of the accusation." + +"Simply because that accusation had been written with the +left hand; and I have noticed that" -- + +"What?" + +"That while the writing of different persons done with the +right hand varies, that performed with the left hand is +invariably uniform." + +"You have evidently seen and observed everything." + +"Let us proceed." + +"Oh, yes, yes!" + +"Now as regards the second question." + +"I am listening." + +"Was there any person whose interest it was to prevent your +marriage with Mercedes?" + +"Yes; a young man who loved her." + +"And his name was" -- + +"Fernand." + +"That is a Spanish name, I think?" + +"He was a Catalan." + +"You imagine him capable of writing the letter?" + +"Oh, no; he would more likely have got rid of me by sticking +a knife into me." + +"That is in strict accordance with the Spanish character; an +assassination they will unhesitatingly commit, but an act of +cowardice, never." + +"Besides," said Dantes, "the various circumstances mentioned +in the letter were wholly unknown to him." + +"You had never spoken of them yourself to any one?" + +"To no one." + +"Not even to your mistress?" + +"No, not even to my betrothed." + +"Then it is Danglars." + +"I feel quite sure of it now." + +"Wait a little. Pray, was Danglars acquainted with Fernand?" + +"No -- yes, he was. Now I recollect" -- + +"What?" + +"To have seen them both sitting at table together under an +arbor at Pere Pamphile's the evening before the day fixed +for my wedding. They were in earnest conversation. Danglars +was joking in a friendly way, but Fernand looked pale and +agitated." + +"Were they alone?" + +"There was a third person with them whom I knew perfectly +well, and who had, in all probability made their +acquaintance; he was a tailor named Caderousse, but he was +very drunk. Stay! -- stay! -- How strange that it should not +have occurred to me before! Now I remember quite well, that +on the table round which they were sitting were pens, ink, +and paper. Oh, the heartless, treacherous scoundrels!" +exclaimed Dantes, pressing his hand to his throbbing brows. + +"Is there anything else I can assist you in discovering, +besides the villany of your friends?" inquired the abbe with +a laugh. + +"Yes, yes," replied Dantes eagerly; "I would beg of you, who +see so completely to the depths of things, and to whom the +greatest mystery seems but an easy riddle, to explain to me +how it was that I underwent no second examination, was never +brought to trial, and, above all, was condemned without ever +having had sentence passed on me?" + +"That is altogether a different and more serious matter," +responded the abbe. "The ways of justice are frequently too +dark and mysterious to be easily penetrated. All we have +hitherto done in the matter has been child's play. If you +wish me to enter upon the more difficult part of the +business, you must assist me by the most minute information +on every point." + +"Pray ask me whatever questions you please; for, in good +truth, you see more clearly into my life than I do myself." + +"In the first place, then, who examined you, -- the king's +attorney, his deputy, or a magistrate?" + +"The deputy." + +"Was he young or old?" + +"About six or seven and twenty years of age, I should say." + +"So," answered the abbe. "Old enough to be ambitions, but +too young to be corrupt. And how did he treat you?" + +"With more of mildness than severity." + +"Did you tell him your whole story?" + +"I did." + +"And did his conduct change at all in the course of your +examination?" + +"He did appear much disturbed when he read the letter that +had brought me into this scrape. He seemed quite overcome by +my misfortune." + +"By your misfortune?" + +"Yes." + +"Then you feel quite sure that it was your misfortune he +deplored?" + +"He gave me one great proof of his sympathy, at any rate." + +"And that?" + +"He burnt the sole evidence that could at all have +criminated me." + +"What? the accusation?" + +"No; the letter." + +"Are you sure?" + +"I saw it done." + +"That alters the case. This man might, after all, be a +greater scoundrel than you have thought possible." + +"Upon my word," said Dantes, "you make me shudder. Is the +world filled with tigers and crocodiles?" + +"Yes; and remember that two-legged tigers and crocodiles are +more dangerous than the others." + +"Never mind; let us go on." + +"With all my heart! You tell me he burned the letter?" + +"He did; saying at the same time, `You see I thus destroy +the only proof existing against you.'" + +"This action is somewhat too sublime to be natural." + +"You think so?" + +"I am sure of it. To whom was this letter addressed?" + +"To M. Noirtier, No. 13 Coq-Heron, Paris." + +"Now can you conceive of any interest that your heroic +deputy could possibly have had in the destruction of that +letter?" + +"Why, it is not altogether impossible he might have had, for +he made me promise several times never to speak of that +letter to any one, assuring me he so advised me for my own +interest; and, more than this, he insisted on my taking a +solemn oath never to utter the name mentioned in the +address." + +"Noirtier!" repeated the abbe; "Noirtier! -- I knew a person +of that name at the court of the Queen of Etruria, -- a +Noirtier, who had been a Girondin during the Revolution! +What was your deputy called?" + +"De Villefort!" The abbe burst into a fit of laughter, while +Dantes gazed on him in utter astonishment. + +"What ails you?" said he at length. + +"Do you see that ray of sunlight?" + +"I do." + +"Well, the whole thing is more clear to me than that sunbeam +is to you. Poor fellow! poor young man! And you tell me this +magistrate expressed great sympathy and commiseration for +you?" + +"He did." + +"And the worthy man destroyed your compromising letter?" + +"Yes." + +"And then made you swear never to utter the name of +Noirtier?" + +"Yes." + +"Why, you poor short-sighted simpleton, can you not guess +who this Noirtier was, whose very name he was so careful to +keep concealed? Noirtier was his father." + +Had a thunderbolt fallen at the feet of Dantes, or hell +opened its yawning gulf before him, he could not have been +more completely transfixed with horror than he was at the +sound of these unexpected words. Starting up, he clasped his +hands around his head as though to prevent his very brain +from bursting, and exclaimed, "His father! his father!" + +"Yes, his father," replied the abbe; "his right name was +Noirtier de Villefort." At this instant a bright light shot +through the mind of Dantes, and cleared up all that had been +dark and obscure before. The change that had come over +Villefort during the examination, the destruction of the +letter, the exacted promise, the almost supplicating tones +of the magistrate, who seemed rather to implore mercy than +to pronounce punishment, -- all returned with a stunning +force to his memory. He cried out, and staggered against the +wall like a drunken man, then he hurried to the opening that +led from the abbe's cell to his own, and said, "I must be +alone, to think over all this." + +When he regained his dungeon, he threw himself on his bed, +where the turnkey found him in the evening visit, sitting +with fixed gaze and contracted features, dumb and motionless +as a statue. During these hours of profound meditation, +which to him had seemed only minutes, he had formed a +fearful resolution, and bound himself to its fulfilment by a +solemn oath. + +Dantes was at length roused from his revery by the voice of +Faria, who, having also been visited by his jailer, had come +to invite his fellow-sufferer to share his supper. The +reputation of being out of his mind, though harmlessly and +even amusingly so, had procured for the abbe unusual +privileges. He was supplied with bread of a finer, whiter +quality than the usual prison fare, and even regaled each +Sunday with a small quantity of wine. Now this was a Sunday, +and the abbe had come to ask his young companion to share +the luxuries with him. Dantes followed; his features were no +longer contracted, and now wore their usual expression, but +there was that in his whole appearance that bespoke one who +had come to a fixed and desperate resolve. Faria bent on him +his penetrating eye: "I regret now," said he, "having helped +you in your late inquiries, or having given you the +information I did." + +"Why so?" inquired Dantes. + +"Because it has instilled a new passion in your heart -- +that of vengeance." + +Dantes smiled. "Let us talk of something else," said he. + +Again the abbe looked at him, then mournfully shook his +head; but in accordance with Dantes' request, he began to +speak of other matters. The elder prisoner was one of those +persons whose conversation, like that of all who have +experienced many trials, contained many useful and important +hints as well as sound information; but it was never +egotistical, for the unfortunate man never alluded to his +own sorrows. Dantes listened with admiring attention to all +he said; some of his remarks corresponded with what he +already knew, or applied to the sort of knowledge his +nautical life had enabled him to acquire. A part of the good +abbe's words, however, were wholly incomprehensible to him; +but, like the aurora which guides the navigator in northern +latitudes, opened new vistas to the inquiring mind of the +listener, and gave fantastic glimpses of new horizons, +enabling him justly to estimate the delight an intellectual +mind would have in following one so richly gifted as Faria +along the heights of truth, where he was so much at home. + +"You must teach me a small part of what you know," said +Dantes, "if only to prevent your growing weary of me. I can +well believe that so learned a person as yourself would +prefer absolute solitude to being tormented with the company +of one as ignorant and uninformed as myself. If you will +only agree to my request, I promise you never to mention +another word about escaping." The abbe smiled. "Alas, my +boy," said he, "human knowledge is confined within very +narrow limits; and when I have taught you mathematics, +physics, history, and the three or four modern languages +with which I am acquainted, you will know as much as I do +myself. Now, it will scarcely require two years for me to +communicate to you the stock of learning I possess." + +"Two years!" exclaimed Dantes; "do you really believe I can +acquire all these things in so short a time?" + +"Not their application, certainly, but their principles you +may; to learn is not to know; there are the learners and the +learned. Memory makes the one, philosophy the other." + +"But cannot one learn philosophy?" + +"Philosophy cannot be taught; it is the application of the +sciences to truth; it is like the golden cloud in which the +Messiah went up into heaven." + +"Well, then," said Dantes, "What shall you teach me first? I +am in a hurry to begin. I want to learn." + +"Everything," said the abbe. And that very evening the +prisoners sketched a plan of education, to be entered upon +the following day. Dantes possessed a prodigious memory, +combined with an astonishing quickness and readiness of +conception; the mathematical turn of his mind rendered him +apt at all kinds of calculation, while his naturally +poetical feelings threw a light and pleasing veil over the +dry reality of arithmetical computation, or the rigid +severity of geometry. He already knew Italian, and had also +picked up a little of the Romaic dialect during voyages to +the East; and by the aid of these two languages he easily +comprehended the construction of all the others, so that at +the end of six mouths he began to speak Spanish, English, +and German. In strict accordance with the promise made to +the abbe, Dantes spoke no more of escape. Perhaps the +delight his studies afforded him left no room for such +thoughts; perhaps the recollection that he had pledged his +word (on which his sense of honor was keen) kept him from +referring in any way to the possibilities of flight. Days, +even months, passed by unheeded in one rapid and instructive +course. At the end of a year Dantes was a new man. Dantes +observed, however, that Faria, in spite of the relief his +society afforded, daily grew sadder; one thought seemed +incessantly to harass and distract his mind. Sometimes he +would fall into long reveries, sigh heavily and +involuntarily, then suddenly rise, and, with folded arms, +begin pacing the confined space of his dungeon. One day he +stopped all at once, and exclaimed, "Ah, if there were no +sentinel!" + +"There shall not be one a minute longer than you please," +said Dantes, who had followed the working of his thoughts as +accurately as though his brain were enclosed in crystal so +clear as to display its minutest operations. + +"I have already told you," answered the abbe, "that I loathe +the idea of shedding blood." + +"And yet the murder, if you choose to call it so, would be +simply a measure of self-preservation." + +"No matter! I could never agree to it." + +"Still, you have thought of it?" + +"Incessantly, alas!" cried the abbe. + +"And you have discovered a means of regaining our freedom, +have you not?" asked Dantes eagerly. + +"I have; if it were only possible to place a deaf and blind +sentinel in the gallery beyond us." + +"He shall be both blind and deaf," replied the young man, +with an air of determination that made his companion +shudder. + +"No, no," cried the abbe; "impossible!" Dantes endeavored to +renew the subject; the abbe shook his head in token of +disapproval, and refused to make any further response. Three +months passed away. + +"Are you strong?" the abbe asked one day of Dantes. The +young man, in reply, took up the chisel, bent it into the +form of a horseshoe, and then as readily straightened it. + +"And will you engage not to do any harm to the sentry, +except as a last resort?" + +"I promise on my honor." + +"Then," said the abbe, "we may hope to put our design into +execution." + +"And how long shall we be in accomplishing the necessary +work?" + +"At least a year." + +"And shall we begin at once?" + +"At once." + +"We have lost a year to no purpose!" cried Dantes. + +"Do you consider the last twelve months to have been +wasted?" asked the abbe. + +"Forgive me!" cried Edmond, blushing deeply. + +"Tut, tut!" answered the abbe, "man is but man after all, +and you are about the best specimen of the genus I have ever +known. Come, let me show you my plan." The abbe then showed +Dantes the sketch he had made for their escape. It consisted +of a plan of his own cell and that of Dantes, with the +passage which united them. In this passage he proposed to +drive a level as they do in mines; this level would bring +the two prisoners immediately beneath the gallery where the +sentry kept watch; once there, a large excavation would be +made, and one of the flag-stones with which the gallery was +paved be so completely loosened that at the desired moment +it would give way beneath the feet of the soldier, who, +stunned by his fall, would be immediately bound and gagged +by Dantes before he had power to offer any resistance. The +prisoners were then to make their way through one of the +gallery windows, and to let themselves down from the outer +walls by means of the abbe's ladder of cords. Dantes' eyes +sparkled with joy, and he rubbed his hands with delight at +the idea of a plan so simple, yet apparently so certain to +succeed. + +That very day the miners began their labors, with a vigor +and alacrity proportionate to their long rest from fatigue +and their hopes of ultimate success. Nothing interrupted the +progress of the work except the necessity that each was +under of returning to his cell in anticipation of the +turnkey's visits. They had learned to distinguish the almost +imperceptible sound of his footsteps as he descended towards +their dungeons, and happily, never failed of being prepared +for his coming. The fresh earth excavated during their +present work, and which would have entirely blocked up the +old passage, was thrown, by degrees and with the utmost +precaution, out of the window in either Faria's or Dantes' +cell, the rubbish being first pulverized so finely that the +night wind carried it far away without permitting the +smallest trace to remain. More than a year had been consumed +in this undertaking, the only tools for which had been a +chisel, a knife, and a wooden lever; Faria still continuing +to instruct Dantes by conversing with him, sometimes in one +language, sometimes in another; at others, relating to him +the history of nations and great men who from time to time +have risen to fame and trodden the path of glory. + +The abbe was a man of the world, and had, moreover, mixed in +the first society of the day; he wore an air of melancholy +dignity which Dantes, thanks to the imitative powers +bestowed on him by nature, easily acquired, as well as that +outward polish and politeness he had before been wanting in, +and which is seldom possessed except by those who have been +placed in constant intercourse with persons of high birth +and breeding. At the end of fifteen months the level was +finished, and the excavation completed beneath the gallery, +and the two workmen could distinctly hear the measured tread +of the sentinel as he paced to and fro over their heads. + +Compelled, as they were, to await a night sufficiently dark +to favor their flight, they were obliged to defer their +final attempt till that auspicious moment should arrive; +their greatest dread now was lest the stone through which +the sentry was doomed to fall should give way before its +right time, and this they had in some measure provided +against by propping it up with a small beam which they had +discovered in the walls through which they had worked their +way. Dantes was occupied in arranging this piece of wood +when he heard Faria, who had remained in Edmond's cell for +the purpose of cutting a peg to secure their rope-ladder, +call to him in a tone indicative of great suffering. Dantes +hastened to his dungeon, where he found him standing in the +middle of the room, pale as death, his forehead streaming +with perspiration, and his hands clinched tightly together. + +"Gracious heavens!" exclaimed Dantes, "what is the matter? +what has happened?" + +"Quick! quick!" returned the abbe, "listen to what I have to +say." Dantes looked in fear and wonder at the livid +countenance of Faria, whose eyes, already dull and sunken, +were surrounded by purple circles, while his lips were white +as those of a corpse, and his very hair seemed to stand on +end. + +"Tell me, I beseech you, what ails you?" cried Dantes, +letting his chisel fall to the floor. + +"Alas," faltered out the abbe, "all is over with me. I am +seized with a terrible, perhaps mortal illness; I can feel +that the paroxysm is fast approaching. I had a similar +attack the year previous to my imprisonment. This malady +admits but of one remedy; I will tell you what that is. Go +into my cell as quickly as you can; draw out one of the feet +that support the bed; you will find it has been hollowed out +for the purpose of containing a small phial you will see +there half-filled with a red-looking fluid. Bring it to me +-- or rather -- no, no! -- I may be found here, therefore +help me back to my room while I have the strength to drag +myself along. Who knows what may happen, or how long the +attack may last?" + +In spite of the magnitude of the misfortune which thus +suddenly frustrated his hopes, Dantes did not lose his +presence of mind, but descended into the passage, dragging +his unfortunate companion with him; then, half-carrying, +half-supporting him, he managed to reach the abbe's chamber, +when he immediately laid the sufferer on his bed. + +"Thanks," said the poor abbe, shivering as though his veins +were filled with ice. "I am about to be seized with a fit of +catalepsy; when it comes to its height I shall probably lie +still and motionless as though dead, uttering neither sigh +nor groan. On the other hand, the symptoms may be much more +violent, and cause me to fall into fearful convulsions, foam +at the mouth, and cry out loudly. Take care my cries are not +heard, for if they are it is more than probable I should be +removed to another part of the prison, and we be separated +forever. When I become quite motionless, cold, and rigid as +a corpse, then, and not before, -- be careful about this, -- +force open my teeth with the knife, pour from eight to ten +drops of the liquor containted in the phial down my throat, +and I may perhaps revive." + +"Perhaps!" exclaimed Dantes in grief-stricken tones. + +"Help! help!" cried the abbe, "I -- I -- die -- I" -- + +So sudden and violent was the fit that the unfortunate +prisoner was unable to complete the sentence; a violent +convulsion shook his whole frame, his eyes started from +their sockets, his mouth was drawn on one side, his cheeks +became purple, he struggled, foamed, dashed himself about, +and uttered the most dreadful cries, which, however, Dantes +prevented from being heard by covering his head with the +blanket. The fit lasted two hours; then, more helpless than +an infant, and colder and paler than marble, more crushed +and broken than a reed trampled under foot, he fell back, +doubled up in one last convulsion, and became as rigid as a +corpse. + +Edmond waited till life seemed extinct in the body of his +friend, then, taking up the knife, he with difficulty forced +open the closely fixed jaws, carefully administered the +appointed number of drops, and anxiously awaited the result. +An hour passed away and the old man gave no sign of +returning animation. Dantes began to fear he had delayed too +long ere he administered the remedy, and, thrusting his +hands into his hair, continued gazing on the lifeless +features of his friend. At length a slight color tinged the +livid cheeks, consciousness returned to the dull, open +eyeballs, a faint sigh issued from the lips, and the +sufferer made a feeble effort to move. + +"He is saved! he is saved!" cried Dantes in a paroxysm of +delight. + +The sick man was not yet able to speak, but he pointed with +evident anxiety towards the door. Dantes listened, and +plainly distinguished the approaching steps of the jailer. +It was therefore near seven o'clock; but Edmond's anxiety +had put all thoughts of time out of his head. The young man +sprang to the entrance, darted through it, carefully drawing +the stone over the opening, and hurried to his cell. He had +scarcely done so before the door opened, and the jailer saw +the prisoner seated as usual on the side of his bed. Almost +before the key had turned in the lock, and before the +departing steps of the jailer had died away in the long +corridor he had to traverse, Dantes, whose restless anxiety +concerning his friend left him no desire to touch the food +brought him, hurried back to the abbe's chamber, and raising +the stone by pressing his head against it, was soon beside +the sick man's couch. Faria had now fully regained his +consciousness, but he still lay helpless and exhausted. + +"I did not expect to see you again," said he feebly, to +Dantes. + +"And why not?" asked the young man. "Did you fancy yourself +dying?" + +"No, I had no such idea; but, knowing that all was ready for +flight, I thought you might have made your escape." The deep +glow of indignation suffused the cheeks of Dantes. + +"Without you? Did you really think me capable of that?" + +"At least," said the abbe, "I now see how wrong such an +opinion would have been. Alas, alas! I am fearfully +exhausted and debilitated by this attack." + +"Be of good cheer," replied Dantes; "your strength will +return." And as he spoke he seated himself near the bed +beside Faria, and took his hands. The abbe shook his head. + +"The last attack I had," said he, "lasted but half an hour, +and after it I was hungry, and got up without help; now I +can move neither my right arm nor leg, and my head seems +uncomfortable, which shows that there has been a suffusion +of blood on the brain. The third attack will either carry me +off, or leave me paralyzed for life." + +"No, no," cried Dantes; "you are mistaken -- you will not +die! And your third attack (if, indeed, you should have +another) will find you at liberty. We shall save you another +time, as we have done this, only with a better chance of +success, because we shall be able to command every requisite +assistance." + +"My good Edmond," answered the abbe, "be not deceived. The +attack which has just passed away, condemns me forever to +the walls of a prison. None can fly from a dungeon who +cannot walk." + +"Well, we will wait, -- a week, a month, two months, if need +be, -- and meanwhile your strength will return. Everything +is in readiness for our flight, and we can select any time +we choose. As soon as you feel able to swim we will go." + +"I shall never swim again," replied Faria. "This arm is +paralyzed; not for a time, but forever. Lift it, and judge +if I am mistaken." The young man raised the arm, which fell +back by its own weight, perfectly inanimate and helpless. A +sigh escaped him. + +"You are convinced now, Edmond, are you not?" asked the +abbe. "Depend upon it, I know what I say. Since the first +attack I experienced of this malady, I have continually +reflected on it. Indeed, I expected it, for it is a family +inheritance; both my father and grandfather died of it in a +third attack. The physician who prepared for me the remedy I +have twice successfully taken, was no other than the +celebrated Cabanis, and he predicted a similar end for me." + +"The physician may be mistaken!" exclaimed Dantes. "And as +for your poor arm, what difference will that make? I can +take you on my shoulders, and swim for both of us." + +"My son," said the abbe, "you, who are a sailor and a +swimmer, must know as well as I do that a man so loaded +would sink before he had done fifty strokes. Cease, then, to +allow yourself to be duped by vain hopes, that even your own +excellent heart refuses to believe in. Here I shall remain +till the hour of my deliverance arrives, and that, in all +human probability, will be the hour of my death. As for you, +who are young and active, delay not on my account, but fly +-- go-I give you back your promise." + +"It is well," said Dantes. "Then I shall also remain." Then, +rising and extending his hand with an air of solemnity over +the old man's head, he slowly added, "By the blood of Christ +I swear never to leave you while you live." + +Faria gazed fondly on his noble-minded, single-hearted, +high-principled young friend, and read in his countenance +ample confirmation of the sincerity of his devotion and the +loyalty of his purpose. + +"Thanks," murmured the invalid, extending one hand. "I +accept. You may one of these days reap the reward of your +disinterested devotion. But as I cannot, and you will not, +quit this place, it becomes necessary to fill up the +excavation beneath the soldier's gallery; he might, by +chance, hear the hollow sound of his footsteps, and call the +attention of his officer to the circumstance. That would +bring about a discovery which would inevitably lead to our +being separated. Go, then, and set about this work, in +which, unhappily, I can offer you no assistance; keep at it +all night, if necessary, and do not return here to-morrow +till after the jailer his visited me. I shall have something +of the greatest importance to communicate to you." + +Dantes took the hand of the abbe in his, and affectionately +pressed it. Faria smiled encouragingly on him, and the young +man retired to his task, in the spirit of obedience and +respect which he had sworn to show towards his aged friend. + + + +Chapter 18 +The Treasure. + +When Dantes returned next morning to the chamber of his +companion in captivity, he found Faria seated and looking +composed. In the ray of light which entered by the narrow +window of his cell, he held open in his left hand, of which +alone, it will be recollected, he retained the use, a sheet +of paper, which, from being constantly rolled into a small +compass, had the form of a cylinder, and was not easily kept +open. He did not speak, but showed the paper to Dantes. + +"What is that?" he inquired. + +"Look at it," said the abbe with a smile. + +"I have looked at it with all possible attention," said +Dantes, "and I only see a half-burnt paper, on which are +traces of Gothic characters inscribed with a peculiar kind +of ink." + +"This paper, my friend," said Faria, "I may now avow to you, +since I have the proof of your fidelity -- this paper is my +treasure, of which, from this day forth, one-half belongs to +you." + +The sweat started forth on Dantes brow. Until this day and +for how long a time! -- he had refrained from talking of the +treasure, which had brought upon the abbe the accusation of +madness. With his instinctive delicacy Edmond had preferred +avoiding any touch on this painful chord, and Faria had been +equally silent. He had taken the silence of the old man for +a return to reason; and now these few words uttered by +Faria, after so painful a crisis, seemed to indicate a +serious relapse into mental alienation. + +"Your treasure?" stammered Dantes. Faria smiled. + +"Yes," said he. "You have, indeed, a noble nature, Edmond, +and I see by your paleness and agitation what is passing in +your heart at this moment. No, be assured, I am not mad. +This treasure exists, Dantes, and if I have not been allowed +to possess it, you will. Yes -- you. No one would listen or +believe me, because everyone thought me mad; but you, who +must know that I am not, listen to me, and believe me so +afterwards if you will." + +"Alas," murmured Edmond to himself, "this is a terrible +relapse! There was only this blow wanting." Then he said +aloud, "My dear friend, your attack has, perhaps, fatigued +you; had you not better repose awhile? To-morrow, if you +will, I will hear your narrative; but to-day I wish to nurse +you carefully. Besides," he said, "a treasure is not a thing +we need hurry about." + +"On the contrary, it is a matter of the utmost importance, +Edmond!" replied the old man. "Who knows if to-morrow, or +the next day after, the third attack may not come on? and +then must not all be over? Yes, indeed, I have often thought +with a bitter joy that these riches, which would make the +wealth of a dozen families, will be forever lost to those +men who persecute me. This idea was one of vengeance to me, +and I tasted it slowly in the night of my dungeon and the +despair of my captivity. But now I have forgiven the world +for the love of you; now that I see you, young and with a +promising future, -- now that I think of all that may result +to you in the good fortune of such a disclosure, I shudder +at any delay, and tremble lest I should not assure to one as +worthy as yourself the possession of so vast an amount of +hidden wealth." Edmond turned away his head with a sigh. + +"You persist in your incredulity, Edmond," continued Faria. +"My words have not convinced you. I see you require proofs. +Well, then, read this paper, which I have never shown to any +one." + +"To-morrow, my dear friend," said Edmond, desirous of not +yielding to the old man's madness. "I thought it was +understood that we should not talk of that until to-morrow." + +"Then we will not talk of it until to-morrow; but read this +paper to-day." + +"I will not irritate him," thought Edmond, and taking the +paper, of which half was wanting, -- having been burnt, no +doubt, by some accident, -- he read: -- + +"This treasure, which may amount to two... +of Roman crowns in the most distant a... +of the second opening wh... +declare to belong to him alo... +heir. +"25th April, l49" + +"Well!" said Faria, when the young man had finished reading +it. + +"Why," replied Dantes, "I see nothing but broken lines and +unconnected words, which are rendered illegible by fire." + +"Yes, to you, my friend, who read them for the first time; +but not for me, who have grown pale over them by many +nights' study, and have reconstructed every phrase, +completed every thought." + +"And do you believe you have discovered the hidden meaning?" + +"I am sure I have, and you shall judge for yourself; but +first listen to the history of this paper." + +"Silence!" exclaimed Dantes. "Steps approach -- I go -- +adieu." + +And Dantes, happy to escape the history and explanation +which would be sure to confirm his belief in his friend's +mental instability, glided like a snake along the narrow +passage; while Faria, restored by his alarm to a certain +amount of activity, pushed the stone into place with his +foot, and covered it with a mat in order the more +effectually to avoid discovery. + +It was the governor, who, hearing of Faria's illness from +the jailer, had come in person to see him. + +Faria sat up to receive him, avoiding all gestures in order +that he might conceal from the governor the paralysis that +had already half stricken him with death. His fear was lest +the governor, touched with pity, might order him to be +removed to better quarters, and thus separate him from his +young companion. But fortunately this was not the case, and +the governor left him, convinced that the poor madman, for +whom in his heart he felt a kind of affection, was only +troubled with a slight indisposition. + +During this time, Edmond, seated on his bed with his head in +his hands, tried to collect his scattered thoughts. Faria, +since their first acquaintance, had been on all points so +rational and logical, so wonderfully sagacious, in fact, +that he could not understand how so much wisdom on all +points could be allied with madness. Was Faria deceived as +to his treasure, or was all the world deceived as to Faria? + +Dantes remained in his cell all day, not daring to return to +his friend, thinking thus to defer the moment when he should +be convinced, once for all, that the abbe was mad -- such a +conviction would be so terrible! + +But, towards the evening after the hour for the customary +visit had gone by, Faria, not seeing the young man appear, +tried to move and get over the distance which separated +them. Edmond shuddered when he heard the painful efforts +which the old man made to drag himself along; his leg was +inert, and he could no longer make use of one arm. Edmond +was obliged to assist him, for otherwise he would not have +been able to enter by the small aperture which led to +Dantes' chamber. + +"Here I am, pursuing you remorselessly," he said with a +benignant smile. "You thought to escape my munificence, but +it is in vain. Listen to me." + +Edmond saw there was no escape, and placing the old man on +his bed, he seated himself on the stool beside him. + +"You know," said the abbe, "that I was the secretary and +intimate friend of Cardinal Spada, the last of the princes +of that name. I owe to this worthy lord all the happiness I +ever knew. He was not rich, although the wealth of his +family had passed into a proverb, and I heard the phrase +very often, `As rich as a Spada.' But he, like public rumor, +lived on this reputation for wealth; his palace was my +paradise. I was tutor to his nephews, who are dead; and when +he was alone in the world, I tried by absolute devotion to +his will, to make up to him all he had done for me during +ten years of unremitting kindness. The cardinal's house had +no secrets for me. I had often seen my noble patron +annotating ancient volumes, and eagerly searching amongst +dusty family manuscripts. One day when I was reproaching him +for his unavailing searches, and deploring the prostration +of mind that followed them, he looked at me, and, smiling +bitterly, opened a volume relating to the History of the +City of Rome. There, in the twentieth chapter of the Life of +Pope Alexander VI., were the following lines, which I can +never forget: -- + +"`The great wars of Romagna had ended; Caesar Borgia, who +had completed his conquest, had need of money to purchase +all Italy. The pope had also need of money to bring matters +to an end with Louis XII. King of France, who was formidable +still in spite of his recent reverses; and it was necessary, +therefore, to have recourse to some profitable scheme, which +was a matter of great difficulty in the impoverished +condition of exhausted Italy. His holiness had an idea. He +determined to make two cardinals.' + +"By choosing two of the greatest personages of Rome, +especially rich men -- this was the return the holy father +looked for. In the first place, he could sell the great +appointments and splendid offices which the cardinals +already held; and then he had the two hats to sell besides. +There was a third point in view, which will appear +hereafter. The pope and Caesar Borgia first found the two +future cardinals; they were Giovanni Rospigliosi, who held +four of the highest dignities of the Holy See, and Caesar +Spada, one of the noblest and richest of the Roman nobility; +both felt the high honor of such a favor from the pope. They +were ambitious, and Caesar Borgia soon found purchasers for +their appointments. The result was, that Rospigliosi and +Spada paid for being cardinals, and eight other persons paid +for the offices the cardinals held before their elevation, +and thus eight hundred thousand crowns entered into the +coffers of the speculators. + +"It is time now to proceed to the last part of the +speculation. The pope heaped attentions upon Rospigliosi and +Spada, conferred upon them the insignia of the cardinalate, +and induced them to arrange their affairs and take up their +residence at Rome. Then the pope and Caesar Borgia invited +the two cardinals to dinner. This was a matter of dispute +between the holy father and his son. Caesar thought they +could make use of one of the means which he always had ready +for his friends, that is to say, in the first place, the +famous key which was given to certain persons with the +request that they go and open a designated cupboard. This +key was furnished with a small iron point, -- a negligence +on the part of the locksmith. When this was pressed to +effect the opening of the cupboard, of which the lock was +difficult, the person was pricked by this small point, and +died next day. Then there was the ring with the lion's head, +which Caesar wore when he wanted to greet his friends with a +clasp of the hand. The lion bit the hand thus favored, and +at the end of twenty-four hours, the bite was mortal. Caesar +proposed to his father, that they should either ask the +cardinals to open the cupboard, or shake hands with them; +but Alexander VI., replied: `Now as to the worthy cardinals, +Spada and Rospigliosi, let us ask both of them to dinner, +something tells me that we shall get that money back. +Besides, you forget, Caesar, an indigestion declares itself +immediately, while a prick or a bite occasions a delay of a +day or two.' Caesar gave way before such cogent reasoning, +and the cardinals were consequently invited to dinner. + +"The table was laid in a vineyard belonging to the pope, +near San Pierdarena, a charming retreat which the cardinals +knew very well by report. Rospigliosi, quite set up with his +new dignities, went with a good appetite and his most +ingratiating manner. Spada, a prudent man, and greatly +attached to his only nephew, a young captain of the highest +promise, took paper and pen, and made his will. He then sent +word to his nephew to wait for him near the vineyard; but it +appeared the servant did not find him. + +"Spada knew what these invitations meant; since +Christianity, so eminently civilizing, had made progress in +Rome, it was no longer a centurion who came from the tyrant +with a message, `Caesar wills that you die.' but it was a +legate a latere, who came with a smile on his lips to say +from the pope, `His holiness requests you to dine with him.' + +"Spada set out about two o'clock to San Pierdarena. The pope +awaited him. The first sight that attracted the eyes of +Spada was that of his nephew, in full costume, and Caesar +Borgia paying him most marked attentions. Spada turned pale, +as Caesar looked at him with an ironical air, which proved +that he had anticipated all, and that the snare was well +spread. They began dinner and Spada was only able to inquire +of his nephew if he had received his message. The nephew +replied no; perfectly comprehending the meaning of the +question. It was too late, for he had already drunk a glass +of excellent wine, placed for him expressly by the pope's +butler. Spada at the same moment saw another bottle approach +him, which he was pressed to taste. An hour afterwards a +physician declared they were both poisoned through eating +mushrooms. Spada died on the threshold of the vineyard; the +nephew expired at his own door, making signs which his wife +could not comprehend. + +"Then Caesar and the pope hastened to lay hands on the +heritage, under presence of seeking for the papers of the +dead man. But the inheritance consisted in this only, a +scrap of paper on which Spada had written: -- `I bequeath to +my beloved nephew my coffers, my books, and, amongst others, +my breviary with the gold corners, which I beg he will +preserve in remembrance of his affectionate uncle.' + +"The heirs sought everywhere, admired the breviary, laid +hands on the furniture, and were greatly astonished that +Spada, the rich man, was really the most miserable of uncles +-- no treasures -- unless they were those of science, +contained in the library and laboratories. That was all. +Caesar and his father searched, examined, scrutinized, but +found nothing, or at least very little; not exceeding a few +thousand crowns in plate, and about the same in ready money; +but the nephew had time to say to his wife before he +expired: `Look well among my uncle's papers; there is a +will.' + +"They sought even more thoroughly than the august heirs had +done, but it was fruitless. There were two palaces and a +vineyard behind the Palatine Hill; but in these days landed +property had not much value, and the two palaces and the +vineyard remained to the family since they were beneath the +rapacity of the pope and his son. Months and years rolled +on. Alexander VI. died, poisoned, -- you know by what +mistake. Caesar, poisoned at the same time, escaped by +shedding his skin like a snake; but the new skin was spotted +by the poison till it looked like a tiger's. Then, compelled +to quit Rome, he went and got himself obscurely killed in a +night skirmish, scarcely noticed in history. After the +pope's death and his son's exile, it was supposed that the +Spada family would resume the splendid position they had +held before the cardinal's time; but this was not the case. +The Spadas remained in doubtful ease, a mystery hung over +this dark affair, and the public rumor was, that Caesar, a +better politician than his father, had carried off from the +pope the fortune of the two cardinals. I say the two, +because Cardinal Rospigliosi, who had not taken any +precaution, was completely despoiled. + +"Up to this point," said Faria, interrupting the thread of +his narrative, "this seems to you very meaningless, no +doubt, eh?" + +"Oh, my friend," cried Dantes, "on the contrary, it seems as +if I were reading a most interesting narrative; go on, I beg +of you." + +"I will." + +"The family began to get accustomed to their obscurity. +Years rolled on, and amongst the descendants some were +soldiers, others diplomatists; some churchmen, some bankers; +some grew rich, and some were ruined. I come now to the last +of the family, whose secretary I was -- the Count of Spada. +I had often heard him complain of the disproportion of his +rank with his fortune; and I advised him to invest all he +had in an annuity. He did so, and thus doubled his income. +The celebrated breviary remained in the family, and was in +the count's possession. It had been handed down from father +to son; for the singular clause of the only will that had +been found, had caused it to be regarded as a genuine relic, +preserved in the family with superstitious veneration. It +was an illuminated book, with beautiful Gothic characters, +and so weighty with gold, that a servant always carried it +before the cardinal on days of great solemnity. + +"At the sight of papers of all sorts, -- titles, contracts, +parchments, which were kept in the archives of the family, +all descending from the poisoned cardinal, I in my turn +examined the immense bundles of documents, like twenty +servitors, stewards, secretaries before me; but in spite of +the most exhaustive researches, I found -- nothing. Yet I +had read, I had even written a precise history of the Borgia +family, for the sole purpose of assuring myself whether any +increase of fortune had occurred to them on the death of the +Cardinal Caesar Spada; but could only trace the acquisition +of the property of the Cardinal Rospigliosi, his companion +in misfortune. + +" I was then almost assured that the inheritance had neither +profited the Borgias nor the family, but had remained +unpossessed like the treasures of the Arabian Nights, which +slept in the bosom of the earth under the eyes of the genie. +I searched, ransacked, counted, calculated a thousand and a +thousand times the income and expenditure of the family for +three hundred years. It was useless. I remained in my +ignorance, and the Count of Spada in his poverty. My patron +died. He had reserved from his annuity his family papers, +his library, composed of five thousand volumes, and his +famous breviary. All these he bequeathed to me, with a +thousand Roman crowns, which he had in ready money, on +condition that I would have anniversary masses said for the +repose of his soul, and that I would draw up a genealogical +tree and history of his house. All this I did scrupulously. +Be easy, my dear Edmond, we are near the conclusion. + +"In 1807, a month before I was arrested, and a fortnight +after the death of the Count of Spada, on the 25th of +December (you will see presently how the date became fixed +in my memory), I was reading, for the thousandth time, the +papers I was arranging, for the palace was sold to a +stranger, and I was going to leave Rome and settle at +Florence, intending to take with me twelve thousand francs I +possessed, my library, and the famous breviary, when, tired +with my constant labor at the same thing, and overcome by a +heavy dinner I had eaten, my head dropped on my hands, and I +fell asleep about three o'clock in the afternoon. I awoke as +the clock was striking six. I raised my head; I was in utter +darkness. I rang for a light, but as no one came, I +determined to find one for myself. It was indeed but +anticipating the simple manners which I should soon be under +the necessity of adopting. I took a wax-candle in one hand, +and with the other groped about for a piece of paper (my +match-box being empty), with which I proposed to get a light +from the small flame still playing on the embers. Fearing, +however, to make use of any valuable piece of paper, I +hesitated for a moment, then recollected that I had seen in +the famous breviary, which was on the table beside me, an +old paper quite yellow with age, and which had served as a +marker for centuries, kept there by the request of the +heirs. I felt for it, found it, twisted it up together, and +putting it into the expiring flame, set light to it. + +"But beneath my fingers, as if by magic, in proportion as +the fire ascended, I saw yellowish characters appear on the +paper. I grasped it in my hand, put out the flame as quickly +as I could, lighted my taper in the fire itself, and opened +the crumpled paper with inexpressible emotion, recognizing, +when I had done so, that these characters had been traced in +mysterious and sympathetic ink, only appearing when exposed +to the fire; nearly one-third of the paper had been consumed +by the flame. It was that paper you read this morning; read +it again, Dantes, and then I will complete for you the +incomplete words and unconnected sense." + +Faria, with an air of triumph, offered the paper to Dantes, +who this time read the following words, traced with an ink +of a reddish color resembling rust: -- + +"This 25th day of April, 1498, be... +Alexander VI., and fearing that not... +he may desire to become my heir, and re... +and Bentivoglio, who were poisoned,... +my sole heir, that I have bu... +and has visited with me, that is, in... +Island of Monte Cristo, all I poss... +jewels, diamonds, gems; that I alone... +may amount to nearly two mil... +will find on raising the twentieth ro... +creek to the east in a right line. Two open... +in these caves; the treasure is in the furthest a... +which treasure I bequeath and leave en... +as my sole heir. +"25th April, 1498. +"Caes... + +"And now," said the abbe, "read this other paper;" and he +presented to Dantes a second leaf with fragments of lines +written on it, which Edmond read as follows: -- + + "...ing invited to dine by his Holiness + ...content with making me pay for my hat, + ...serves for me the fate of Cardinals Caprara + ...I declare to my nephew, Guido Spada + ...ried in a place he knows + ...the caves of the small + ...essed of ingots, gold, money, + ...know of the existence of this treasure, which + ...lions of Roman crowns, and which he + ...ck from the small + ...ings have been made + ...ngle in the second; + ...tire to him + ...ar Spada." + +Faria followed him with an excited look. "and now," he said, +when he saw that Dantes had read the last line, "put the two +fragments together, and judge for yourself." Dantes obeyed, +and the conjointed pieces gave the following: -- + +"This 25th day of April, 1498, be...ing invited to dine by +his Holiness Alexander VI., and fearing that not...content +with making me pay for my hat, he may desire to become my +heir, and re...serves for me the fate of Cardinals Caprara +and Bentivoglio, who were poisoned...I declare to my nephew, +Guido Spada, my sole heir, that I have bu...ried in a place +he knows and has visited with me, that is, in...the caves of +the small Island of Monte Cristo all I poss...ssed of +ingots, gold, money, jewels, diamonds, gems; that I +alone...know of the existence of this treasure, which may +amount to nearly two mil...lions of Roman crowns, and which +he will find on raising the twentieth ro...ck from the small +creek to the east in a right line. Two open...ings have been +made in these caves; the treasure is in the furthest +a...ngle in the second; which treasure I bequeath and leave +en...tire to him as my sole heir. +"25th April, 1498. +"Caes...ar Spada." + +"Well, do you comprehend now?" inquired Faria. + +"It is the declaration of Cardinal Spada, and the will so +long sought for," replied Edmond, still incredulous. + +"Yes; a thousand times, yes!" + +"And who completed it as it now is?" + +"I did. Aided by the remaining fragment, I guessed the rest; +measuring the length of the lines by those of the paper, and +divining the hidden meaning by means of what was in part +revealed, as we are guided in a cavern by the small ray of +light above us." + +"And what did you do when you arrived at this conclusion?" + +"I resolved to set out, and did set out at that very +instant, carrying with me the beginning of my great work, +the unity of the Italian kingdom; but for some time the +imperial police (who at this period, quite contrary to what +Napoleon desired so soon as he had a son born to him, wished +for a partition of provinces) had their eyes on me; and my +hasty departure, the cause of which they were unable to +guess, having aroused their suspicions, I was arrested at +the very moment I was leaving Piombino. + +"Now," continued Faria, addressing Dantes with an almost +paternal expression, "now, my dear fellow, you know as much +as I do myself. If we ever escape together, half this +treasure is yours; if I die here, and you escape alone, the +whole belongs to you." + +"But," inquired Dantes hesitating, "has this treasure no +more legitimate possessor in the world than ourselves?" + +"No, no, be easy on that score; the family is extinct. The +last Count of Spada, moreover, made me his heir, bequeathing +to me this symbolic breviary, he bequeathed to me all it +contained; no, no, make your mind satisfied on that point. +If we lay hands on this fortune, we may enjoy it without +remorse." + +"And you say this treasure amounts to" -- + +"Two millions of Roman crowns; nearly thirteen millions of +our money."* + +* $2,600,000 in 1894. + +"Impossible!" said Dantes, staggered at the enormous amount. + +"Impossible? and why?" asked the old man. "The Spada family +was one of the oldest and most powerful families of the +fifteenth century; and in those times, when other +opportunities for investment were wanting, such +accumulations of gold and jewels were by no means rare; +there are at this day Roman families perishing of hunger, +though possessed of nearly a million in diamonds and jewels, +handed down by entail, and which they cannot touch." Edmond +thought he was in a dream -- he wavered between incredulity +and joy. + +"I have only kept this secret so long from you," continued +Faria, "that I might test your character, and then surprise +you. Had we escaped before my attack of catalepsy, I should +have conducted you to Monte Cristo; now," he added, with a +sigh, "it is you who will conduct me thither. Well, Dantes, +you do not thank me?" + +"This treasure belongs to you, my dear friend," replied +Dantes, "and to you only. I have no right to it. I am no +relation of yours." + +"You are my son, Dantes," exclaimed the old man. "You are +the child of my captivity. My profession condemns me to +celibacy. God has sent you to me to console, at one and the +same time, the man who could not be a father, and the +prisoner who could not get free." And Faria extended the arm +of which alone the use remained to him to the young man who +threw himself upon his neck and wept. + + + +Chapter 19 +The Third Attack. + +Now that this treasure, which had so long been the object of +the abbe's meditations, could insure the future happiness of +him whom Faria really loved as a son, it had doubled its +value in his eyes, and every day he expatiated on the +amount, explaining to Dantes all the good which, with +thirteen or fourteen millions of francs, a man could do in +these days to his friends; and then Dantes' countenance +became gloomy, for the oath of vengeance he had taken +recurred to his memory, and he reflected how much ill, in +these times, a man with thirteen or fourteen millions could +do to his enemies. + +The abbe did not know the Island of Monte Cristo; but Dantes +knew it, and had often passed it, situated twenty-five miles +from Pianosa, between Corsica and the Island of Elba, and +had once touched there. This island was, always had been, +and still is, completely deserted. It is a rock of almost +conical form, which looks as though it had been thrust up by +volcanic force from the depth to the surface of the ocean. +Dantes drew a plan of the island for Faria, and Faria gave +Dantes advice as to the means he should employ to recover +the treasure. But Dantes was far from being as enthusiastic +and confident as the old man. It was past a question now +that Faria was not a lunatic, and the way in which he had +achieved the discovery, which had given rise to the +suspicion of his madness, increased Edmond's admiration of +him; but at the same time Dantes could not believe that the +deposit, supposing it had ever existed, still existed; and +though he considered the treasure as by no means chimerical, +he yet believed it was no longer there. + +However, as if fate resolved on depriving the prisoners of +their last chance, and making them understand that they were +condemned to perpetual imprisonment, a new misfortune befell +them; the gallery on the sea side, which had long been in +ruins, was rebuilt. They had repaired it completely, and +stopped up with vast masses of stone the hole Dantes had +partly filled in. But for this precaution, which, it will be +remembered, the abbe had made to Edmond, the misfortune +would have been still greater, for their attempt to escape +would have been detected, and they would undoubtedly have +been separated. Thus a new, a stronger, and more inexorable +barrier was interposed to cut off the realization of their +hopes. + +"You see," said the young man, with an air of sorrowful +resignation, to Faria, "that God deems it right to take from +me any claim to merit for what you call my devotion to you. +I have promised to remain forever with you, and now I could +not break my promise if I would. The treasure will be no +more mine than yours, and neither of us will quit this +prison. But my real treasure is not that, my dear friend, +which awaits me beneath the sombre rocks of Monte Cristo, it +is your presence, our living together five or six hours a +day, in spite of our jailers; it is the rays of intelligence +you have elicited from my brain, the languages you have +implanted in my memory, and which have taken root there with +all their philological ramifications. These different +sciences that you have made so easy to me by the depth of +the knowledge you possess of them, and the clearness of the +principles to which you have reduced them -- this is my +treasure, my beloved friend, and with this you have made me +rich and happy. Believe me, and take comfort, this is better +for me than tons of gold and cases of diamonds, even were +they not as problematical as the clouds we see in the +morning floating over the sea, which we take for terra +firma, and which evaporate and vanish as we draw near to +them. To have you as long as possible near me, to hear your +eloquent speech, -- which embellishes my mind, strengthens +my soul, and makes my whole frame capable of great and +terrible things, if I should ever be free, -- so fills my +whole existence, that the despair to which I was just on the +point of yielding when I knew you, has no longer any hold +over me; and this -- this is my fortune -- not chimerical, +but actual. I owe you my real good, my present happiness; +and all the sovereigns of the earth, even Caesar Borgia +himself, could not deprive me of this." + +Thus, if not actually happy, yet the days these two +unfortunates passed together went quickly. Faria, who for so +long a time had kept silence as to the treasure, now +perpetually talked of it. As he had prophesied would be the +case, he remained paralyzed in the right arm and the left +leg, and had given up all hope of ever enjoying it himself. +But he was continually thinking over some means of escape +for his young companion, and anticipating the pleasure he +would enjoy. For fear the letter might be some day lost or +stolen, he compelled Dantes to learn it by heart; and Dantes +knew it from the first to the last word. Then he destroyed +the second portion, assured that if the first were seized, +no one would be able to discover its real meaning. Whole +hours sometimes passed while Faria was giving instructions +to Dantes, -- instructions which were to serve him when he +was at liberty. Then, once free, from the day and hour and +moment when he was so, he could have but one only thought, +which was, to gain Monte Cristo by some means, and remain +there alone under some pretext which would arouse no +suspicions; and once there, to endeavor to find the +wonderful caverns, and search in the appointed spot, -- the +appointed spot, be it remembered, being the farthest angle +in the second opening. + +In the meanwhile the hours passed, if not rapidly, at least +tolerably. Faria, as we have said, without having recovered +the use of his hand and foot, had regained all the clearness +of his understanding, and had gradually, besides the moral +instructions we have detailed, taught his youthful companion +the patient and sublime duty of a prisoner, who learns to +make something from nothing. They were thus perpetually +employed, -- Faria, that he might not see himself grow old; +Dantes, for fear of recalling the almost extinct past which +now only floated in his memory like a distant light +wandering in the night. So life went on for them as it does +for those who are not victims of misfortune and whose +activities glide along mechanically and tranquilly beneath +the eye of providence. + +But beneath this superficial calm there were in the heart of +the young man, and perhaps in that of the old man, many +repressed desires, many stifled sighs, which found vent when +Faria was left alone, and when Edmond returned to his cell. +One night Edmond awoke suddenly, believing that he heard +some one calling him. He opened his eyes upon utter +darkness. His name, or rather a plaintive voice which +essayed to pronounce his name, reached him. He sat up in bed +and a cold sweat broke out upon his brow. Undoubtedly the +call came from Faria's dungeon. "Alas," murmured Edmond; +"can it be?" + +He moved his bed, drew up the stone, rushed into the +passage, and reached the opposite extremity; the secret +entrance was open. By the light of the wretched and wavering +lamp, of which we have spoken, Dantes saw the old man, pale, +but yet erect, clinging to the bedstead. His features were +writhing with those horrible symptoms which he already knew, +and which had so seriously alarmed him when he saw them for +the first time. + +"Alas, my dear friend," said Faria in a resigned tone, "you +understand, do you not, and I need not attempt to explain to +you?" + +Edmond uttered a cry of agony, and, quite out of his senses, +rushed towards the door, exclaiming, "Help, help!" Faria had +just sufficient strength to restrain him. + +"Silence," he said, "or you are lost. We must now only think +of you, my dear friend, and so act as to render your +captivity supportable or your flight possible. It would +require years to do again what I have done here, and the +results would be instantly destroyed if our jailers knew we +had communicated with each other. Besides, be assured, my +dear Edmond, the dungeon I am about to leave will not long +remain empty; some other unfortunate being will soon take my +place, and to him you will appear like an angel of +salvation. Perhaps he will be young, strong, and enduring, +like yourself, and will aid you in your escape, while I have +been but a hindrance. You will no longer have half a dead +body tied to you as a drag to all your movements. At length +providence has done something for you; he restores to you +more than he takes away, and it was time I should die." + +Edmond could only clasp his hands and exclaim, "Oh, my +friend, my friend, speak not thus!" and then resuming all +his presence of mind, which had for a moment staggered under +this blow, and his strength, which had failed at the words +of the old man, he said, "Oh, I have saved you once, and I +will save you a second time!" And raising the foot of the +bed, he drew out the phial, still a third filled with the +red liquor. + +"See," he exclaimed, "there remains still some of the magic +draught. Quick, quick! tell me what I must do this time; are +there any fresh instructions? Speak, my friend; I listen." + +"There is not a hope," replied Faria, shaking his head, "but +no matter; God wills it that man whom he has created, and in +whose heart he has so profoundly rooted the love of life, +should do all in his power to preserve that existence, +which, however painful it may be, is yet always so dear." + +"Oh, yes, yes!" exclaimed Dantes; "and I tell you that I +will save you yet." + +"Well, then, try. The cold gains upon me. I feel the blood +flowing towards my brain. These horrible chills, which make +my teeth chatter and seem to dislocate my bones, begin to +pervade my whole frame; in five minutes the malady will +reach its height, and in a quarter of an hour there will be +nothing left of me but a corpse." + +"Oh!" exclaimed Dantes, his heart wrung with anguish. + +"Do as you did before, only do not wait so long, all the +springs of life are now exhausted in me, and death," he +continued, looking at his paralyzed arm and leg, "has but +half its work to do. If, after having made me swallow twelve +drops instead of ten, you see that I do not recover, then +pour the rest down my throat. Now lift me on my bed, for I +can no longer support myself." + +Edmond took the old man in his arms, and laid him on the +bed. + +"And now, my dear friend," said Faria, "sole consolation of +my wretched existence, -- you whom heaven gave me somewhat +late, but still gave me, a priceless gift, and for which I +am most grateful, -- at the moment of separating from you +forever, I wish you all the happiness and all the prosperity +you so well deserve. My son, I bless thee!" The young man +cast himself on his knees, leaning his head against the old +man's bed. + +"Listen, now, to what I say in this my dying moment. The +treasure of the Spadas exists. God grants me the boon of +vision unrestricted by time or space. I see it in the depths +of the inner cavern. My eyes pierce the inmost recesses of +the earth, and are dazzled at the sight of so much riches. +If you do escape, remember that the poor abbe, whom all the +world called mad, was not so. Hasten to Monte Cristo -- +avail yourself of the fortune -- for you have indeed +suffered long enough." A violent convulsion attacked the old +man. Dantes raised his head and saw Faria's eyes injected +with blood. It seemed as if a flow of blood had ascended +from the chest to the head. + +"Adieu, adieu!" murmured the old man, clasping Edmond's hand +convulsively -- "adieu!" + +"Oh, no, -- no, not yet," he cried; "do not forsake me! Oh, +succor him! Help -- help -- help!" + +"Hush -- hush!" murmured the dying man, "that they may not +separate us if you save me!" + +"You are right. Oh, yes, yes; be assured I shall save you! +Besides, although you suffer much, you do not seem to be in +such agony as you were before." + +"Do not mistake. I suffer less because there is in me less +strength to endure. At your age we have faith in life; it is +the privilege of youth to believe and hope, but old men see +death more clearly. Oh, 'tis here -- 'tis here -- 'tis over +-- my sight is gone -- my senses fail! Your hand, Dantes! +Adieu -- adieu!" And raising himself by a final effort, in +which he summoned all his faculties, he said, -- "Monte +Cristo, forget not Monte Cristo!" And he fell back on the +bed. The crisis was terrible, and a rigid form with twisted +limbs, swollen eyelids, and lips flecked with bloody foam, +lay on the bed of torture, in place of the intellectual +being who so lately rested there. + +Dantes took the lamp, placed it on a projecting stone above +the bed, whence its tremulous light fell with strange and +fantastic ray on the distorted countenance and motionless, +stiffened body. With steady gaze he awaited confidently the +moment for administering the restorative. + +When he believed that the right moment had arrived, he took +the knife, pried open the teeth, which offered less +resistance than before, counted one after the other twelve +drops, and watched; the phial contained, perhaps, twice as +much more. He waited ten minutes, a quarter of an hour, half +an hour, -- no change took place. Trembling, his hair erect, +his brow bathed with perspiration, he counted the seconds by +the beating of his heart. Then he thought it was time to +make the last trial, and he put the phial to the purple lips +of Faria, and without having occasion to force open his +jaws, which had remained extended, he poured the whole of +the liquid down his throat. + +The draught produced a galvanic effect, a violent trembling +pervaded the old man's limbs, his eyes opened until it was +fearful to gaze upon them, he heaved a sigh which resembled +a shriek, and then his convulsed body returned gradually to +its former immobility, the eyes remaining open. + +Half an hour, an hour, an hour and a half elapsed, and +during this period of anguish, Edmond leaned over his +friend, his hand applied to his heart, and felt the body +gradually grow cold, and the heart's pulsation become more +and more deep and dull, until at length it stopped; the last +movement of the heart ceased, the face became livid, the +eyes remained open, but the eyeballs were glazed. It was six +o'clock in the morning, the dawn was just breaking, and its +feeble ray came into the dungeon, and paled the ineffectual +light of the lamp. Strange shadows passed over the +countenance of the dead man, and at times gave it the +appearance of life. While the struggle between day and night +lasted, Dantes still doubted; but as soon as the daylight +gained the pre-eminence, he saw that he was alone with a +corpse. Then an invincible and extreme terror seized upon +him, and he dared not again press the hand that hung out of +bed, he dared no longer to gaze on those fixed and vacant +eyes, which he tried many times to close, but in vain -- +they opened again as soon as shut. He extinguished the lamp, +carefully concealed it, and then went away, closing as well +as he could the entrance to the secret passage by the large +stone as he descended. + +It was time, for the jailer was coming. On this occasion he +began his rounds at Dantes' cell, and on leaving him he went +on to Faria's dungeon, taking thither breakfast and some +linen. Nothing betokened that the man know anything of what +had occurred. He went on his way. + +Dantes was then seized with an indescribable desire to know +what was going on in the dungeon of his unfortunate friend. +He therefore returned by the subterraneous gallery, and +arrived in time to hear the exclamations of the turnkey, who +called out for help. Other turnkeys came, and then was heard +the regular tramp of soldiers. Last of all came the +governor. + +Edmond heard the creaking of the bed as they moved the +corpse, heard the voice of the governor, who asked them to +throw water on the dead man's face; and seeing that, in +spite of this application, the prisoner did not recover, +they sent for the doctor. The governor then went out, and +words of pity fell on Dantes' listening ears, mingled with +brutal laughter. + +"Well, well," said one, "the madman has gone to look after +his treasure. Good journey to him!" + +"With all his millions, he will not have enough to pay for +his shroud!" said another. + +"Oh," added a third voice, "the shrouds of the Chateau d'If +are not dear!" + +"Perhaps," said one of the previous speakers, "as he was a +churchman, they may go to some expense in his behalf." + +"They may give him the honors of the sack." + +Edmond did not lose a word, but comprehended very little of +what was said. The voices soon ceased, and it seemed to him +as if every one had left the cell. Still he dared not to +enter, as they might have left some turnkey to watch the +dead. He remained, therefore, mute and motionless, hardly +venturing to breathe. At the end of an hour, he heard a +faint noise, which increased. It was the governor who +returned, followed by the doctor and other attendants. There +was a moment's silence, -- it was evident that the doctor +was examining the dead body. The inquiries soon commenced. + +The doctor analyzed the symptoms of the malady to which the +prisoner had succumbed, and declared that he was dead. +Questions and answers followed in a nonchalant manner that +made Dantes indignant, for he felt that all the world should +have for the poor abbe a love and respect equal to his own. + +"I am very sorry for what you tell me," said the governor, +replying to the assurance of the doctor, "that the old man +is really dead; for he was a quiet, inoffensive prisoner, +happy in his folly, and required no watching." + +"Ah," added the turnkey, "there was no occasion for watching +him: he would have stayed here fifty years, I'll answer for +it, without any attempt to escape." + +"Still," said the governor, "I believe it will be requisite, +notwithstanding your certainty, and not that I doubt your +science, but in discharge of my official duty, that we +should be perfectly assured that the prisoner is dead." +There was a moment of complete silence, during which Dantes, +still listening, knew that the doctor was examining the +corpse a second time. + +"You may make your mind easy," said the doctor; "he is dead. +I will answer for that." + +"You know, sir," said the governor, persisting, "that we are +not content in such cases as this with such a simple +examination. In spite of all appearances, be so kind, +therefore, as to finish your duty by fulfilling the +formalities described by law." + +"Let the irons be heated," said the doctor; "but really it +is a useless precaution." This order to heat the irons made +Dantes shudder. He heard hasty steps, the creaking of a +door, people going and coming, and some minutes afterwards a +turnkey entered, saying, -- + +"Here is the brazier, lighted." There was a moment's +silence, and then was heard the crackling of burning flesh, +of which the peculiar and nauseous smell penetrated even +behind the wall where Dantes was listening in horror. The +perspiration poured forth upon the young man's brow, and he +felt as if he should faint. + +"You see, sir, he is really dead," said the doctor; "this +burn in the heel is decisive. The poor fool is cured of his +folly, and delivered from his captivity." + +"Wasn't his name Faria?" inquired one of the officers who +accompanied the governor. + +"Yes, sir; and, as he said, it was an ancient name. He was, +too, very learned, and rational enough on all points which +did not relate to his treasure; but on that, indeed, he was +intractable." + +"It is the sort of malady which we call monomania," said the +doctor. + +"You had never anything to complain of?" said the governor +to the jailer who had charge of the abbe. + +"Never, sir," replied the jailer, "never; on the contrary, +he sometimes amused me very much by telling me stories. One +day, too, when my wife was ill, he gave me a prescription +which cured her." + +"Ah, ah!" said the doctor, "I did not know that I had a +rival; but I hope, governor, that you will show him all +proper respect." + +"Yes, yes, make your mind easy, he shall be decently +interred in the newest sack we can find. Will that satisfy +you?" + +"Must this last formality take place in your presence, sir?" +inquired a turnkey. + +"Certainly. But make haste -- I cannot stay here all day." +Other footsteps, going and coming, were now heard, and a +moment afterwards the noise of rustling canvas reached +Dantes' ears, the bed creaked, and the heavy footfall of a +man who lifts a weight sounded on the floor; then the bed +again creaked under the weight deposited upon it. + +"This evening," said the governor. + +"Will there be any mass?" asked one of the attendants. + +"That is impossible," replied the governor. "The chaplain of +the chateau came to me yesterday to beg for leave of +absence, in order to take a trip to Hyeres for a week. I +told him I would attend to the prisoners in his absence. If +the poor abbe had not been in such a hurry, he might have +had his requiem." + +"Pooh, pooh;" said the doctor, with the impiety usual in +persons of his profession; "he is a churchman. God will +respect his profession, and not give the devil the wicked +delight of sending him a priest." A shout of laughter +followed this brutal jest. Meanwhile the operation of +putting the body in the sack was going on. + +"This evening," said the governor, when the task was ended. + +"At what hour?" inquired a turnkey. + +"Why, about ten or eleven o'clock." + +"Shall we watch by the corpse?" + +"Of what use would it be? Shut the dungeon as if he were +alive -- that is all." Then the steps retreated, and the +voices died away in the distance; the noise of the door, +with its creaking hinges and bolts ceased, and a silence +more sombre than that of solitude ensued, -- the silence of +death, which was all-pervasive, and struck its icy chill to +the very soul of Dantes. Then he raised the flag-stone +cautiously with his head, and looked carefully around the +chamber. It was empty, and Dantes emerged from the tunnel. + + + +Chapter 20 +The Cemetery of the Chateau D'If. + +On the bed, at full length, and faintly illuminated by the +pale light that came from the window, lay a sack of canvas, +and under its rude folds was stretched a long and stiffened +form; it was Faria's last winding-sheet, -- a winding-sheet +which, as the turnkey said, cost so little. Everything was +in readiness. A barrier had been placed between Dantes and +his old friend. No longer could Edmond look into those +wide-open eyes which had seemed to be penetrating the +mysteries of death; no longer could he clasp the hand which +had done so much to make his existence blessed. Faria, the +beneficent and cheerful companion, with whom he was +accustomed to live so intimately, no longer breathed. He +seated himself on the edge of that terrible bed, and fell +into melancholy and gloomy revery. + +Alone -- he was alone again -- again condemned to silence -- +again face to face with nothingness! Alone! -- never again +to see the face, never again to hear the voice of the only +human being who united him to earth! Was not Faria's fate +the better, after all -- to solve the problem of life at its +source, even at the risk of horrible suffering? The idea of +suicide, which his friend had driven away and kept away by +his cheerful presence, now hovered like a phantom over the +abbe's dead body. + +"If I could die," he said, "I should go where he goes, and +should assuredly find him again. But how to die? It is very +easy," he went on with a smile; "I will remain here, rush on +the first person that opens the door, strangle him, and then +they will guillotine me." But excessive grief is like a +storm at sea, where the frail bark is tossed from the depths +to the top of the wave. Dantes recoiled from the idea of so +infamous a death, and passed suddenly from despair to an +ardent desire for life and liberty. + +"Die? oh, no," he exclaimed -- "not die now, after having +lived and suffered so long and so much! Die? yes, had I died +years ago; but now to die would be, indeed, to give way to +the sarcasm of destiny. No, I want to live; I shall struggle +to the very last; I will yet win back the happiness of which +I have been deprived. Before I die I must not forget that I +have my executioners to punish, and perhaps, too, who knows, +some friends to reward. Yet they will forget me here, and I +shall die in my dungeon like Faria." As he said this, he +became silent and gazed straight before him like one +overwhelmed with a strange and amazing thought. Suddenly he +arose, lifted his hand to his brow as if his brain wore +giddy, paced twice or thrice round the dungeon, and then +paused abruptly by the bed. + +"Just God!" he muttered, "whence comes this thought? Is it +from thee? Since none but the dead pass freely from this +dungeon, let me take the place of the dead!" Without giving +himself time to reconsider his decision, and, indeed, that +he might not allow his thoughts to be distracted from his +desperate resolution, he bent over the appalling shroud, +opened it with the knife which Faria had made, drew the +corpse from the sack, and bore it along the tunnel to his +own chamber, laid it on his couch, tied around its head the +rag he wore at night around his own, covered it with his +counterpane, once again kissed the ice-cold brow, and tried +vainly to close the resisting eyes, which glared horribly, +turned the head towards the wall, so that the jailer might, +when he brought the evening meal, believe that he was +asleep, as was his frequent custom; entered the tunnel +again, drew the bed against the wall, returned to the other +cell, took from the hiding-place the needle and thread, +flung off his rags, that they might feel only naked flesh +beneath the coarse canvas, and getting inside the sack, +placed himself in the posture in which the dead body had +been laid, and sewed up the mouth of the sack from the +inside. + +He would have been discovered by the beating of his heart, +if by any mischance the jailers had entered at that moment. +Dantes might have waited until the evening visit was over, +but he was afraid that the governor would change his mind, +and order the dead body to be removed earlier. In that case +his last hope would have been destroyed. Now his plans were +fully made, and this is what he intended to do. If while he +was being carried out the grave-diggers should discover that +they were bearing a live instead of a dead body, Dantes did +not intend to give them time to recognize him, but with a +sudden cut of the knife, he meant to open the sack from top +to bottom, and, profiting by their alarm, escape; if they +tried to catch him, he would use his knife to better +purpose. + +If they took him to the cemetery and laid him in a grave, he +would allow himself to be covered with earth, and then, as +it was night, the grave-diggers could scarcely have turned +their backs before he would have worked his way through the +yielding soil and escaped. He hoped that the weight of earth +would not be so great that he could not overcome it. If he +was detected in this and the earth proved too heavy, he +would be stifled, and then -- so much the better, all would +be over. Dantes had not eaten since the preceding evening, +but he had not thought of hunger, nor did he think of it +now. His situation was too precarious to allow him even time +to reflect on any thought but one. + +The first risk that Dantes ran was, that the jailer, when he +brought him his supper at seven o'clock, might perceive the +change that had been made; fortunately, twenty times at +least, from misanthropy or fatigue, Dantes had received his +jailer in bed, and then the man placed his bread and soup on +the table, and went away without saying a word. This time +the jailer might not be as silent as usual, but speak to +Dantes, and seeing that he received no reply, go to the bed, +and thus discover all. + +When seven o'clock came, Dantes' agony really began. His +hand placed upon his heart was unable to redress its +throbbings, while, with the other he wiped the perspiration +from his temples. From time to time chills ran through his +whole body, and clutched his heart in a grasp of ice. Then +he thought he was going to die. Yet the hours passed on +without any unusual disturbance, and Dantes knew that he had +escaped the first peril. It was a good augury. At length, +about the hour the governor had appointed, footsteps were +heard on the stairs. Edmond felt that the moment had +arrived, summoned up all his courage, held his breath, and +would have been happy if at the same time he could have +repressed the throbbing of his veins. The footsteps -- they +were double -- paused at the door -- and Dantes guessed that +the two grave-diggers had come to seek him -- this idea was +soon converted into certainty, when he heard the noise they +made in putting down the hand-bier. The door opened, and a +dim light reached Dantes' eyes through the coarse sack that +covered him; he saw two shadows approach his bed, a third +remaining at the door with a torch in its hand. The two men, +approaching the ends of the bed, took the sack by its +extremities. + +"He's heavy though for an old and thin man," said one, as he +raised the head. + +"They say every year adds half a pound to the weight of the +bones," said another, lifting the feet. + +"Have you tied the knot?" inquired the first speaker. + +"What would be the use of carrying so much more weight?" was +the reply, "I can do that when we get there." + +"Yes, you're right," replied the companion. + +"What's the knot for?" thought Dantes. + +They deposited the supposed corpse on the bier. Edmond +stiffened himself in order to play the part of a dead man, +and then the party, lighted by the man with the torch, who +went first, ascended the stairs. Suddenly he felt the fresh +and sharp night air, and Dantes knew that the mistral was +blowing. It was a sensation in which pleasure and pain were +strangely mingled. The bearers went on for twenty paces, +then stopped, putting the bier down on the ground. One of +them went away, and Dantes heard his shoes striking on the +pavement. + +"Where am I?" he asked himself. + +"Really, he is by no means a light load!" said the other +bearer, sitting on the edge of the hand-barrow. Dantes' +first impulse was to escape, but fortunately he did not +attempt it. + +"Give us a light," said the other bearer, "or I shall never +find what I am looking for." The man with the torch +complied, although not asked in the most polite terms. + +"What can he be looking for?" thought Edmond. "The spade, +perhaps." An exclamation of satisfaction indicated that the +grave-digger had found the object of his search. "Here it is +at last," he said, "not without some trouble though." + +"Yes," was the answer, "but it has lost nothing by waiting." + +As he said this, the man came towards Edmond, who heard a +heavy metallic substance laid down beside him, and at the +same moment a cord was fastened round his feet with sudden +and painful violence. + +"Well, have you tied the knot?" inquired the grave-digger, +who was looking on. + +"Yes, and pretty tight too, I can tell you," was the answer. + +"Move on, then." And the bier was lifted once more, and they +proceeded. + +They advanced fifty paces farther, and then stopped to open +a door, then went forward again. The noise of the waves +dashing against the rocks on which the chateau is built, +reached Dantes' ear distinctly as they went forward. + +"Bad weather!" observed one of the bearers; "not a pleasant +night for a dip in the sea." + +"Why, yes, the abbe runs a chance of being wet," said the +other; and then there was a burst of brutal laughter. Dantes +did not comprehend the jest, but his hair stood erect on his +head. + +"Well, here we are at last," said one of them. "A little +farther -- a little farther," said the other. "You know very +well that the last was stopped on his way, dashed on the +rocks, and the governor told us next day that we were +careless fellows." + +They ascended five or six more steps, and then Dantes felt +that they took him, one by the head and the other by the +heels, and swung him to and fro. "One!" said the +grave-diggers, "two! three!" And at the same instant Dantes +felt himself flung into the air like a wounded bird, +falling, falling, with a rapidity that made his blood +curdle. Although drawn downwards by the heavy weight which +hastened his rapid descent, it seemed to him as if the fall +lasted for a century. + +At last, with a horrible splash, he darted like an arrow +into the ice-cold water, and as he did so he uttered a +shrill cry, stifled in a moment by his immersion beneath the +waves. + +Dantes had been flung into the sea, and was dragged into its +depths by a thirty-six pound shot tied to his feet. The sea +is the cemetery of the Chateau d'If. + + + +Chapter 21 +The Island of Tiboulen. + +Dantes, although stunned and almost suffocated, had +sufficient presence of mind to hold his breath, and as his +right hand (prepared as he was for every chance) held his +knife open, he rapidly ripped up the sack, extricated his +arm, and then his body; but in spite of all his efforts to +free himself from the shot, he felt it dragging him down +still lower. He then bent his body, and by a desperate +effort severed the cord that bound his legs, at the moment +when it seemed as if he were actually strangled. With a +mighty leap he rose to the surface of the sea, while the +shot dragged down to the depths the sack that had so nearly +become his shroud. + +Dantes waited only to get breath, and then dived, in order +to avoid being seen. When he arose a second time, he was +fifty paces from where he had first sunk. He saw overhead a +black and tempestuous sky, across which the wind was driving +clouds that occasionally suffered a twinkling star to +appear; before him was the vast expanse of waters, sombre +and terrible, whose waves foamed and roared as if before the +approach of a storm. Behind him, blacker than the sea, +blacker than the sky, rose phantom-like the vast stone +structure, whose projecting crags seemed like arms extended +to seize their prey, and on the highest rock was a torch +lighting two figures. He fancied that these two forms were +looking at the sea; doubtless these strange grave-diggers +had heard his cry. Dantes dived again, and remained a long +time beneath the water. This was an easy feat to him, for he +usually attracted a crowd of spectators in the bay before +the lighthouse at Marseilles when he swam there, and was +unanimously declared to be the best swimmer in the port. +When he came up again the light had disappeared. + +He must now get his bearings. Ratonneau and Pomegue are the +nearest islands of all those that surround the Chateau d'If, +but Ratonneau and Pomegue are inhabited, as is also the +islet of Daume, Tiboulen and Lemaire were therefore the +safest for Dantes' venture. The islands of Tiboulen and +Lemaire are a league from the Chateau d'If; Dantes, +nevertheless, determined to make for them. But how could he +find his way in the darkness of the night? At this moment he +saw the light of Planier, gleaming in front of him like a +star. By leaving this light on the right, he kept the Island +of Tiboulen a little on the left; by turning to the left, +therefore, he would find it. But, as we have said, it was at +least a league from the Chateau d'If to this island. Often +in prison Faria had said to him, when he saw him idle and +inactive, "Dantes, you must not give way to this +listlessness; you will be drowned if you seek to escape, and +your strength has not been properly exercised and prepared +for exertion." These words rang in Dantes' ears, even +beneath the waves; he hastened to cleave his way through +them to see if he had not lost his strength. He found with +pleasure that his captivity had taken away nothing of his +power, and that he was still master of that element on whose +bosom he had so often sported as a boy. + +Fear, that relentless pursuer, clogged Dantes' efforts. He +listened for any sound that might be audible, and every time +that he rose to the top of a wave he scanned the horizon, +and strove to penetrate the darkness. He fancied that every +wave behind him was a pursuing boat, and he redoubled his +exertions, increasing rapidly his distance from the chateau, +but exhausting his strength. He swam on still, and already +the terrible chateau had disappeared in the darkness. He +could not see it, but he felt its presence. An hour passed, +during which Dantes, excited by the feeling of freedom, +continued to cleave the waves. "Let us see," said he, "I +have swum above an hour, but as the wind is against me, that +has retarded my speed; however, if I am not mistaken, I must +be close to Tiboulen. But what if I were mistaken?" A +shudder passed over him. He sought to tread water, in order +to rest himself; but the sea was too violent, and he felt +that he could not make use of this means of recuperation. + +"Well," said he, "I will swim on until I am worn out, or the +cramp seizes me, and then I shall sink;" and he struck out +with the energy of despair. + +Suddenly the sky seemed to him to become still darker and +more dense, and heavy clouds seemed to sweep down towards +him; at the same time he felt a sharp pain in his knee. He +fancied for a moment that he had been shot, and listened for +the report; but he heard nothing. Then he put out his hand, +and encountered an obstacle and with another stroke knew +that he had gained the shore. + +Before him rose a grotesque mass of rocks, that resembled +nothing so much as a vast fire petrified at the moment of +its most fervent combustion. It was the Island of Tiboulen. +Dantes rose, advanced a few steps, and, with a fervent +prayer of gratitude, stretched himself on the granite. which +seemed to him softer than down. Then, in spite of the wind +and rain, he fell into the deep, sweet sleep of utter +exhaustion. At the expiration of an hour Edmond was awakened +by the roar of thunder. The tempest was let loose and +beating the atmosphere with its mighty wings; from time to +time a flash of lightning stretched across the heavens like +a fiery serpent, lighting up the clouds that rolled on in +vast chaotic waves. + +Dantes had not been deceived -- he had reached the first of +the two islands, which was, in fact, Tiboulen. He knew that +it was barren and without shelter; but when the sea became +more calm, he resolved to plunge into its waves again, and +swim to Lemaire, equally arid, but larger, and consequently +better adapted for concealment. + +An overhanging rock offered him a temporary shelter, and +scarcely had he availed himself of it when the tempest burst +forth in all its fury. Edmond felt the trembling of the rock +beneath which he lay; the waves, dashing themselves against +it, wetted him with their spray. He was safely sheltered, +and yet he felt dizzy in the midst of the warring of the +elements and the dazzling brightness of the lightning. It +seemed to him that the island trembled to its base, and that +it would, like a vessel at anchor, break moorings, and bear +him off into the centre of the storm. He then recollected +that he had not eaten or drunk for four-and-twenty hours. He +extended his hands, and drank greedily of the rainwater that +had lodged in a hollow of the rock. + +As he rose, a flash of lightning, that seemed to rive the +remotest heights of heaven, illumined the darkness. By its +light, between the Island of Lemaire and Cape Croiselle, a +quarter of a league distant, Dantes saw a fishing-boat +driven rapidly like a spectre before the power of winds and +waves. A second after, he saw it again, approaching with +frightful rapidity. Dantes cried at the top of his voice to +warn them of their danger, but they saw it themselves. +Another flash showed him four men clinging to the shattered +mast and the rigging, while a fifth clung to the broken +rudder. + +The men he beheld saw him undoubtedly, for their cries were +carried to his ears by the wind. Above the splintered mast a +sail rent to tatters was waving; suddenly the ropes that +still held it gave way, and it disappeared in the darkness +of the night like a vast sea-bird. At the same moment a +violent crash was heard, and cries of distress. Dantes from +his rocky perch saw the shattered vessel, and among the +fragments the floating forms of the hapless sailors. Then +all was dark again. + +Dantes ran down the rocks at the risk of being himself +dashed to pieces; he listened, he groped about, but he heard +and saw nothing -- the cries had ceased, and the tempest +continued to rage. By degrees the wind abated, vast gray +clouds rolled towards the west, and the blue firmament +appeared studded with bright stars. Soon a red streak became +visible in the horizon, the waves whitened, a light played +over them, and gilded their foaming crests with gold. It was +day. + +Dantes stood mute and motionless before this majestic +spectacle, as if he now beheld it for the first time; and +indeed since his captivity in the Chateau d'If he had +forgotten that such scenes were ever to be witnessed. He +turned towards the fortress, and looked at both sea and +land. The gloomy building rose from the bosom of the ocean +with imposing majesty and seemed to dominate the scene. It +was about five o'clock. The sea continued to get calmer. + +"In two or three hours," thought Dantes, "the turnkey will +enter my chamber, find the body of my poor friend, recognize +it, seek for me in vain, and give the alarm. Then the tunnel +will be discovered; the men who cast me into the sea and who +must have heard the cry I uttered, will be questioned. Then +boats filled with armed soldiers will pursue the wretched +fugitive. The cannon will warn every one to refuse shelter +to a man wandering about naked and famished. The police of +Marseilles will be on the alert by land, whilst the governor +pursues me by sea. I am cold, I am hungry. I have lost even +the knife that saved me. O my God, I have suffered enough +surely! Have pity on me, and do for me what I am unable to +do for myself." + +As Dantes (his eyes turned in the direction of the Chateau +d'If) uttered this prayer, he saw off the farther point of +the Island of Pomegue a small vessel with lateen sail +skimming the sea like a gull in search of prey; and with his +sailor's eye he knew it to be a Genoese tartan. She was +coming out of Marseilles harbor, and was standing out to sea +rapidly, her sharp prow cleaving through the waves. "Oh," +cried Edmond, "to think that in half an hour I could join +her, did I not fear being questioned, detected, and conveyed +back to Marseilles! What can I do? What story can I invent? +under pretext of trading along the coast, these men, who are +in reality smugglers, will prefer selling me to doing a good +action. I must wait. But I cannot ---I am starving. In a few +hours my strength will be utterly exhausted; besides, +perhaps I have not been missed at the fortress. I can pass +as one of the sailors wrecked last night. My story will be +accepted, for there is no one left to contradict me." + +As he spoke, Dantes looked toward the spot where the +fishing-vessel had been wrecked, and started. The red cap of +one of the sailors hung to a point of the rock and some +timbers that had formed part of the vessel's keel, floated +at the foot of the crag. It an instant Dantes' plan was +formed. he swam to the cap, placed it on his head, seized +one of the timbers, and struck out so as to cut across the +course the vessel was taking. + +"I am saved!" murmured he. And this conviction restored his +strength. + +He soon saw that the vessel, with the wind dead ahead, was +tacking between the Chateau d'If and the tower of Planier. +For an instant he feared lest, instead of keeping in shore, +she should stand out to sea; but he soon saw that she would +pass, like most vessels bound for Italy, between the islands +of Jaros and Calaseraigne. However, the vessel and the +swimmer insensibly neared one another, and in one of its +tacks the tartan bore down within a quarter of a mile of +him. He rose on the waves, making signs of distress; but no +one on board saw him, and the vessel stood on another tack. +Dantes would have shouted, but he knew that the wind would +drown his voice. + +It was then he rejoiced at his precaution in taking the +timber, for without it he would have been unable, perhaps, +to reach the vessel -- certainly to return to shore, should +he be unsuccessful in attracting attention. + +Dantes, though almost sure as to what course the vessel +would take, had yet watched it anxiously until it tacked and +stood towards him. Then he advanced; but before they could +meet, the vessel again changed her course. By a violent +effort he rose half out of the water, waving his cap, and +uttering a loud shout peculiar to sailers. This time he was +both seen and heard, and the tartan instantly steered +towards him. At the same time, he saw they were about to +lower the boat. + +An instant after, the boat, rowed by two men, advanced +rapidly towards him. Dantes let go of the timber, which he +now thought to be useless, and swam vigorously to meet them. +But he had reckoned too much upon his strength, and then he +realized how serviceable the timber had been to him. His +arms became stiff, his legs lost their flexibility, and he +was almost breathless. + +He shouted again. The two sailors redoubled their efforts, +and one of them cried in Italian, "Courage!" + +The word reached his ear as a wave which he no longer had +the strength to surmount passed over his head. He rose again +to the surface, struggled with the last desperate effort of +a drowning man, uttered a third cry, and felt himself +sinking, as if the fatal cannon shot were again tied to his +feet. The water passed over his head, and the sky turned +gray. A convulsive movement again brought him to the +surface. He felt himself seized by the hair, then he saw and +heard nothing. He had fainted. + +When he opened his eyes Dantes found himself on the deck of +the tartan. His first care was to see what course they were +taking. They were rapidly leaving the Chateau d'If behind. +Dantes was so exhausted that the exclamation of joy he +uttered was mistaken for a sigh. + +As we have said, he was lying on the deck. A sailor was +rubbing his limbs with a woollen cloth; another, whom he +recognized as the one who had cried out "Courage!" held a +gourd full of rum to his mouth; while the third, an old +sailer, at once the pilot and captain, looked on with that +egotistical pity men feel for a misfortune that they have +escaped yesterday, and which may overtake them to-morrow. + +A few drops of the rum restored suspended animation, while +the friction of his limbs restored their elasticity. + +"Who are you?" said the pilot in bad French. + +"I am," replied Dantes, in bad Italian, "a Maltese sailor. +We were coming from Syracuse laden with grain. The storm of +last night overtook us at Cape Morgion, and we were wrecked +on these rocks." + +"Where do you come from?" + +"From these rocks that I had the good luck to cling to while +our captain and the rest of the crew were all lost. I saw +your vessel, and fearful of being left to perish on the +desolate island, I swam off on a piece of wreckage to try +and intercept your course. You have saved my life, and I +thank you," continued Dantes. "I was lost when one of your +sailors caught hold of my hair." + +"It was I," said a sailor of a frank and manly appearance; +"and it was time, for you were sinking." + +"Yes," returned Dantes, holding out his hand, "I thank you +again." + +"I almost hesitated, though," replied the sailor; "you +looked more like a brigand than an honest man, with your +beard six inches, and your hair a foot long." Dantes +recollected that his hair and beard had not been cut all the +time he was at the Chateau d'If. + +"Yes," said he, "I made a vow, to our Lady of the Grotto not +to cut my hair or beard for ten years if I were saved in a +moment of danger; but to-day the vow expires." + +"Now what are we to do with you?" said the captain. + +"Alas, anything you please. My captain is dead; I have +barely escaped; but I am a good sailor. Leave me at the +first port you make; I shall be sure to find employment." + +"Do you know the Mediterranean?" + +"I have sailed over it since my childhood." + +"You know the best harbors?" + +"There are few ports that I could not enter or leave with a +bandage over my eyes." + +"I say, captain," said the sailor who had cried "Courage!" +to Dantes, "if what he says is true, what hinders his +staying with us?" + +"If he says true," said the captain doubtingly. "But in his +present condition he will promise anything, and take his +chance of keeping it afterwards." + +"I will do more than I promise," said Dantes. + +"We shall see," returned the other, smiling. + +"Where are you going?" asked Dantes. + +"To Leghorn." + +"Then why, instead of tacking so frequently, do you not sail +nearer the wind?" + +"Because we should run straight on to the Island of Rion." + +"You shall pass it by twenty fathoms." + +"Take the helm, and let us see what you know." The young man +took the helm, felt to see if the vessel answered the rudder +promptly and seeing that, without being a first-rate sailer, +she yet was tolerably obedient, -- + +"To the sheets," said he. The four seamen, who composed the +crew, obeyed, while the pilot looked on. "Haul taut." -- +They obeyed. + +"Belay." This order was also executed; and the vessel +passed, as Dantes had predicted, twenty fathoms to windward. + +"Bravo!" said the captain. + +"Bravo!" repeated the sailors. And they all looked with +astonishment at this man whose eye now disclosed an +intelligence and his body a vigor they had not thought him +capable of showing. + +"You see," said Dantes, quitting the helm, "I shall be of +some use to you, at least during the voyage. If you do not +want me at Leghorn, you can leave me there, and I will pay +you out of the first wages I get, for my food and the +clothes you lend me." + +"Ah," said the captain, "we can agree very well, if you are +reasonable." + +"Give me what you give the others, and it will be all +right," returned Dantes. + +"That's not fair," said the seaman who had saved Dantes; +"for you know more than we do." + +"What is that to you, Jacopo?" returned the Captain. "Every +one is free to ask what he pleases." + +"That's true," replied Jacopo; "I only make a remark." + +"Well, you would do much better to find him a jacket and a +pair of trousers, if you have them." + +"No," said Jacopo; "but I have a shirt and a pair of +trousers." + +"That is all I want," interrupted Dantes. Jacopo dived into +the hold and soon returned with what Edmond wanted. + +"Now, then, do you wish for anything else?" said the patron. + +"A piece of bread and another glass of the capital rum I +tasted, for I have not eaten or drunk for a long time." He +had not tasted food for forty hours. A piece of bread was +brought, and Jacopo offered him the gourd. + +"Larboard your helm," cried the captain to the steersman. +Dantes glanced that way as he lifted the gourd to his mouth; +then paused with hand in mid-air. + +"Hollo! what's the matter at the Chateau d'If?" said the +captain. + +A small white cloud, which had attracted Dantes' attention, +crowned the summit of the bastion of the Chateau d'If. At +the same moment the faint report of a gun was heard. The +sailors looked at one another. + +"What is this?" asked the captain. + +"A prisoner has escaped from the Chateau d'If, and they are +firing the alarm gun," replied Dantes. The captain glanced +at him, but he had lifted the rum to his lips and was +drinking it with so much composure, that suspicions, if the +captain had any, died away. + +"At any rate," murmured he, "if it be, so much the better, +for I have made a rare acquisition." Under pretence of being +fatigued, Dantes asked to take the helm; the steersman, glad +to be relieved, looked at the captain, and the latter by a +sign indicated that he might abandon it to his new comrade. +Dantes could thus keep his eyes on Marseilles. + +"What is the day of the month?" asked he of Jacopo, who sat +down beside him. + +"The 28th of February." + +"In what year?" + +"In what year -- you ask me in what year?" + +"Yes," replied the young man, "I ask you in what year!" + +"You have forgotten then?" + +"I got such a fright last night," replied Dantes, smiling, +"that I have almost lost my memory. I ask you what year is +it?" + +"The year 1829," returned Jacopo. It was fourteen years day +for day since Dantes' arrest. He was nineteen when he +entered the Chateau d'If; he was thirty-three when he +escaped. A sorrowful smile passed over his face; he asked +himself what had become of Mercedes, who must believe him +dead. Then his eyes lighted up with hatred as he thought of +the three men who had caused him so long and wretched a +captivity. He renewed against Danglars, Fernand, and +Villefort the oath of implacable vengeance he had made in +his dungeon. This oath was no longer a vain menace; for the +fastest sailer in the Mediterranean would have been unable +to overtake the little tartan, that with every stitch of +canvas set was flying before the wind to Leghorn. + + + +Chapter 22 +The Smugglers. + +Dantes had not been a day on board before he had a very +clear idea of the men with whom his lot had been cast. +Without having been in the school of the Abbe Faria, the +worthy master of The Young Amelia (the name of the Genoese +tartan) knew a smattering of all the tongues spoken on the +shores of that large lake called the Mediterranean, from the +Arabic to the Provencal, and this, while it spared him +interpreters, persons always troublesome and frequently +indiscreet, gave him great facilities of communication, +either with the vessels he met at sea, with the small boats +sailing along the coast, or with the people without name, +country, or occupation, who are always seen on the quays of +seaports, and who live by hidden and mysterious means which +we must suppose to be a direct gift of providence, as they +have no visible means of support. It is fair to assume that +Dantes was on board a smuggler. + +At first the captain had received Dantes on board with a +certain degree of distrust. He was very well known to the +customs officers of the coast; and as there was between +these worthies and himself a perpetual battle of wits, he +had at first thought that Dantes might be an emissary of +these industrious guardians of rights and duties, who +perhaps employed this ingenious means of learning some of +the secrets of his trade. But the skilful manner in which +Dantes had handled the lugger had entirely reassured him; +and then, when he saw the light plume of smoke floating +above the bastion of the Chateau d'If, and heard the distant +report, he was instantly struck with the idea that he had on +board his vessel one whose coming and going, like that of +kings, was accompanied with salutes of artillery. This made +him less uneasy, it must be owned, than if the new-comer had +proved to be a customs officer; but this supposition also +disappeared like the first, when he beheld the perfect +tranquillity of his recruit. + +Edmond thus had the advantage of knowing what the owner was, +without the owner knowing who he was; and however the old +sailor and his crew tried to "pump" him, they extracted +nothing more from him; he gave accurate descriptions of +Naples and Malta, which he knew as well as Marseilles, and +held stoutly to his first story. Thus the Genoese, subtle as +he was, was duped by Edmond, in whose favor his mild +demeanor, his nautical skill, and his admirable +dissimulation, pleaded. Moreover, it is possible that the +Genoese was one of those shrewd persons who know nothing but +what they should know, and believe nothing but what they +should believe. + +In this state of mutual understanding, they reached Leghorn. +Here Edmond was to undergo another trial; he was to find out +whether he could recognize himself, as he had not seen his +own face for fourteen years. He had preserved a tolerably +good remembrance of what the youth had been, and was now to +find out what the man had become. His comrades believed that +his vow was fulfilled. As he had twenty times touched at +Leghorn, he remembered a barber in St. Ferdinand Street; he +went there to have his beard and hair cut. The barber gazed +in amazement at this man with the long, thick and black hair +and beard, which gave his head the appearance of one of +Titian's portraits. At this period it was not the fashion to +wear so large a beard and hair so long; now a barber would +only be surprised if a man gifted with such advantages +should consent voluntarily to deprive himself of them. The +Leghorn barber said nothing and went to work. + +When the operation was concluded, and Edmond felt that his +chin was completely smooth, and his hair reduced to its +usual length, he asked for a hand-glass. He was now, as we +have said, three-and-thirty years of age, and his fourteen +years' imprisonment had produced a great transformation in +his appearance. Dantes had entered the Chateau d'If with the +round, open, smiling face of a young and happy man, with +whom the early paths of life have been smooth. and who +anticipates a future corresponding with his past. This was +now all changed. The oval face was lengthened, his smiling +mouth had assumed the firm and marked lines which betoken +resolution; his eyebrows were arched beneath a brow furrowed +with thought; his eyes were full of melancholy, and from +their depths occasionally sparkled gloomy fires of +misanthropy and hatred; his complexion, so long kept from +the sun, had now that pale color which produces, when the +features are encircled with black hair, the aristocratic +beauty of the man of the north; the profound learning he had +acquired had besides diffused over his features a refined +intellectual expression; and he had also acquired, being +naturally of a goodly stature, that vigor which a frame +possesses which has so long concentrated all its force +within itself. + +To the elegance of a nervous and slight form had succeeded +the solidity of a rounded and muscular figure. As to his +voice, prayers, sobs, and imprecations had changed it so +that at times it was of a singularly penetrating sweetness, +and at others rough and almost hoarse. Moreover, from being +so long in twilight or darkness, his eyes had acquired the +faculty of distinguishing objects in the night, common to +the hyena and the wolf. Edmond smiled when he beheld +himself: it was impossible that his best friend -- if, +indeed, he had any friend left -- could recognize him; he +could not recognize himself. + +The master of The Young Amelia, who was very desirous of +retaining amongst his crew a man of Edmond's value, had +offered to advance him funds out of his future profits, +which Edmond had accepted. His next care on leaving the +barber's who had achieved his first metamorphosis was to +enter a shop and buy a complete sailor's suit -- a garb, as +we all know, very simple, and consisting of white trousers, +a striped shirt, and a cap. It was in this costume, and +bringing back to Jacopo the shirt and trousers he had lent +him, that Edmond reappeared before the captain of the +lugger, who had made him tell his story over and over again +before he could believe him, or recognize in the neat and +trim sailor the man with thick and matted beard, hair +tangled with seaweed, and body soaking in seabrine, whom he +had picked up naked and nearly drowned. Attracted by his +prepossessing appearance, he renewed his offers of an +engagement to Dantes; but Dantes, who had his own projects, +would not agree for a longer time than three months. + +The Young Amelia had a very active crew, very obedient to +their captain, who lost as little time as possible. He had +scarcely been a week at Leghorn before the hold of his +vessel was filled with printed muslins, contraband cottons, +English powder, and tobacco on which the excise had +forgotten to put its mark. The master was to get all this +out of Leghorn free of duties, and land it on the shores of +Corsica, where certain speculators undertook to forward the +cargo to France. They sailed; Edmond was again cleaving the +azure sea which had been the first horizon of his youth, and +which he had so often dreamed of in prison. He left Gorgone +on his right and La Pianosa on his left, and went towards +the country of Paoli and Napoleon. The next morning going on +deck, as he always did at an early hour, the patron found +Dantes leaning against the bulwarks gazing with intense +earnestness at a pile of granite rocks, which the rising sun +tinged with rosy light. It was the Island of Monte Cristo. +The Young Amelia left it three-quarters of a league to the +larboard, and kept on for Corsica. + +Dantes thought, as they passed so closely to the island +whose name was so interesting to him, that he had only to +leap into the sea and in half an hour be at the promised +land. But then what could he do without instruments to +discover his treasure, without arms to defend himself? +Besides, what would the sailors say? What would the patron +think? He must wait. + +Fortunately, Dantes had learned how to wait; he had waited +fourteen years for his liberty, and now he was free he could +wait at least six months or a year for wealth. Would he not +have accepted liberty without riches if it had been offered +to him? Besides, were not those riches chimerical? -- +offspring of the brain of the poor Abbe Faria, had they not +died with him? It is true, the letter of the Cardinal Spada +was singularly circumstantial, and Dantes repeated it to +himself, from one end to the other, for he had not forgotten +a word. + +Evening came, and Edmond saw the island tinged with the +shades of twilight, and then disappear in the darkness from +all eyes but his own, for he, with vision accustomed to the +gloom of a prison, continued to behold it last of all, for +he remained alone upon deck. The next morn broke off the +coast of Aleria; all day they coasted, and in the evening +saw fires lighted on land; the position of these was no +doubt a signal for landing, for a ship's lantern was hung up +at the mast-head instead of the streamer, and they came to +within a gunshot of the shore. Dantes noticed that the +captain of The Young Amelia had, as he neared the land, +mounted two small culverins, which, without making much +noise, can throw a four ounce ball a thousand paces or so. + +But on this occasion the precaution was superfluous, and +everything proceeded with the utmost smoothness and +politeness. Four shallops came off with very little noise +alongside the lugger, which, no doubt, in acknowledgement of +the compliment, lowered her own shallop into the sea, and +the five boats worked so well that by two o'clock in the +morning all the cargo was out of The Young Amelia and on +terra firma. The same night, such a man of regularity was +the patron of The Young Amelia, the profits were divided, +and each man had a hundred Tuscan livres, or about eighty +francs. But the voyage was not ended. They turned the +bowsprit towards Sardinia, where they intended to take in a +cargo, which was to replace what had been discharged. The +second operation was as successful as the first, The Young +Amelia was in luck. This new cargo was destined for the +coast of the Duchy of Lucca, and consisted almost entirely +of Havana cigars, sherry, and Malaga wines. + +There they had a bit of a skirmish in getting rid of the +duties; the excise was, in truth, the everlasting enemy of +the patron of The Young Amelia. A customs officer was laid +low, and two sailors wounded; Dantes was one of the latter, +a ball having touched him in the left shoulder. Dantes was +almost glad of this affray, and almost pleased at being +wounded, for they were rude lessons which taught him with +what eye he could view danger, and with what endurance he +could bear suffering. He had contemplated danger with a +smile, and when wounded had exclaimed with the great +philosopher, "Pain, thou art not an evil." He had, moreover. +looked upon the customs officer wounded to death, and, +whether from heat of blood produced by the encounter, or the +chill of human sentiment, this sight had made but slight +impression upon him. Dantes was on the way he desired to +follow, and was moving towards the end he wished to achieve; +his heart was in a fair way of petrifying in his bosom. +Jacopo, seeing him fall, had believed him killed, and +rushing towards him raised him up, and then attended to him +with all the kindness of a devoted comrade. + +This world was not then so good as Doctor Pangloss believed +it, neither was it so wicked as Dantes thought it, since +this man, who had nothing to expect from his comrade but the +inheritance of his share of the prize-money, manifested so +much sorrow when he saw him fall. Fortunately, as we have +said, Edmond was only wounded, and with certain herbs +gathered at certain seasons, and sold to the smugglers by +the old Sardinian women, the wound soon closed. Edmond then +resolved to try Jacopo, and offered him in return for his +attention a share of his prize-money, but Jacopo refused it +indignantly. + +As a result of the sympathetic devotion which Jacopo had +from the first bestowed on Edmond, the latter was moved to a +certain degree of affection. But this sufficed for Jacopo, +who instinctively felt that Edmond had a right to +superiority of position -- a superiority which Edmond had +concealed from all others. And from this time the kindness +which Edmond showed him was enough for the brave seaman. + +Then in the long days on board ship, when the vessel, +gliding on with security over the azure sea, required no +care but the hand of the helmsman, thanks to the favorable +winds that swelled her sails, Edmond, with a chart in his +hand, became the instructor of Jacopo, as the poor Abbe +Faria had been his tutor. He pointed out to him the bearings +of the coast, explained to him the variations of the +compass, and taught him to read in that vast book opened +over our heads which they call heaven, and where God writes +in azure with letters of diamonds. And when Jacopo inquired +of him, "What is the use of teaching all these things to a +poor sailor like me?" Edmond replied, "Who knows? You may +one day be the captain of a vessel. Your fellow-countryman, +Bonaparte, became emperor." We had forgotten to say that +Jacopo was a Corsican. + +Two months and a half elapsed in these trips, and Edmond had +become as skilful a coaster as he had been a hardy seaman; +he had formed an acquaintance with all the smugglers on the +coast, and learned all the Masonic signs by which these half +pirates recognize each other. He had passed and re-passed +his Island of Monte Cristo twenty times, but not once had he +found an opportunity of landing there. He then formed a +resolution. As soon as his engagement with the patron of The +Young Amelia ended, he would hire a small vessel on his own +account -- for in his several voyages he had amassed a +hundred piastres -- and under some pretext land at the +Island of Monte Cristo. Then he would be free to make his +researches, not perhaps entirely at liberty, for he would be +doubtless watched by those who accompanied him. But in this +world we must risk something. Prison had made Edmond +prudent, and he was desirous of running no risk whatever. +But in vain did he rack his imagination; fertile as it was, +he could not devise any plan for reaching the island without +companionship. + +Dantes was tossed about on these doubts and wishes, when the +patron, who had great confidence in him, and was very +desirous of retaining him in his service, took him by the +arm one evening and led him to a tavern on the Via del' +Oglio, where the leading smugglers of Leghorn used to +congregate and discuss affairs connected with their trade. +Already Dantes had visited this maritime Bourse two or three +times, and seeing all these hardy free-traders, who supplied +the whole coast for nearly two hundred leagues in extent, he +had asked himself what power might not that man attain who +should give the impulse of his will to all these contrary +and diverging minds. This time it was a great matter that +was under discussion, connected with a vessel laden with +Turkey carpets, stuffs of the Levant, and cashmeres. It was +necessary to find some neutral ground on which an exchange +could be made, and then to try and land these goods on the +coast of France. If the venture was successful the profit +would be enormous, there would be a gain of fifty or sixty +piastres each for the crew. + +The patron of The Young Amelia proposed as a place of +landing the Island of Monte Cristo, which being completely +deserted, and having neither soldiers nor revenue officers, +seemed to have been placed in the midst of the ocean since +the time of the heathen Olympus by Mercury, the god of +merchants and robbers, classes of mankind which we in modern +times have separated if not made distinct, but which +antiquity appears to have included in the same category. At +the mention of Monte Cristo Dantes started with joy; he rose +to conceal his emotion, and took a turn around the smoky +tavern, where all the languages of the known world were +jumbled in a lingua franca. When he again joined the two +persons who had been discussing the matter, it had been +decided that they should touch at Monte Cristo and set out +on the following night. Edmond, being consulted, was of +opinion that the island afforded every possible security, +and that great enterprises to be well done should be done +quickly. Nothing then was altered in the plan, and orders +were given to get under weigh next night, and, wind and +weather permitting, to make the neutral island by the +following day. + + + +Chapter 23 +The Island of Monte Cristo. + +Thus, at length, by one of the unexpected strokes of fortune +which sometimes befall those who have for a long time been +the victims of an evil destiny, Dantes was about to secure +the opportunity he wished for, by simple and natural means, +and land on the island without incurring any suspicion. One +night more and he would be on his way. + +The night was one of feverish distraction, and in its +progress visions good and evil passed through Dantes' mind. +If he closed his eyes, he saw Cardinal Spada's letter +written on the wall in characters of flame -- if he slept +for a moment the wildest dreams haunted his brain. He +ascended into grottos paved with emeralds, with panels of +rubies, and the roof glowing with diamond stalactites. +Pearls fell drop by drop, as subterranean waters filter in +their caves. Edmond, amazed, wonderstruck, filled his +pockets with the radiant gems and then returned to daylight, +when be discovered that his prizes had all changed into +common pebbles. He then endeavored to re-enter the +marvellous grottos, but they had suddenly receded, and now +the path became a labyrinth, and then the entrance vanished, +and in vain did he tax his memory for the magic and +mysterious word which opened the splendid caverns of Ali +Baba to the Arabian fisherman. All was useless, the treasure +disappeared, and had again reverted to the genii from whom +for a moment he had hoped to carry it off. The day came at +length, and was almost as feverish as the night had been, +but it brought reason to the aid of imagination, and Dantes +was then enabled to arrange a plan which had hitherto been +vague and unsettled in his brain. Night came, and with it +the preparation for departure, and these preparations served +to conceal Dantes' agitation. He had by degrees assumed such +authority over his companions that he was almost like a +commander on board; and as his orders were always clear, +distinct, and easy of execution, his comrades obeyed him +with celerity and pleasure. + +The old patron did not interfere, for he too had recognized +the superiority of Dantes over the crew and himself. He saw +in the young man his natural successor, and regretted that +he had not a daughter, that he might have bound Edmond to +him by a more secure alliance. At seven o'clock in the +evening all was ready, and at ten minutes past seven they +doubled the lighthouse just as the beacon was kindled. The +sea was calm, and, with a fresh breeze from the south-east, +they sailed beneath a bright blue sky, in which God also +lighted up in turn his beacon lights, each of which is a +world. Dantes told them that all hands might turn in, and he +would take the helm. When the Maltese (for so they called +Dantes) had said this, it was sufficient, and all went to +their bunks contentedly. This frequently happened. Dantes, +cast from solitude into the world, frequently experienced an +imperious desire for solitude; and what solitude is more +complete, or more poetical, then that of a ship floating in +isolation on the sea during the obscurity of the night, in +the silence of immensity, and under the eye of heaven? + +Now this solitude was peopled with his thoughts, the night +lighted up by his illusions, and the silence animated by his +anticipations. When the patron awoke, the vessel was +hurrying on with every sail set, and every sail full with +the breeze. They were making nearly ten knots an hour. The +Island of Monte Cristo loomed large in the horizon. Edmond +resigned the lugger to the master's care, and went and lay +down in his hammock; but, in spite of a sleepless night, he +could not close his eyes for a moment. Two hours afterwards +he came on deck, as the boat was about to double the Island +of Elba. They were just abreast of Mareciana, and beyond the +flat but verdant Island of La Pianosa. The peak of Monte +Cristo reddened by the burning sun, was seen against the +azure sky. Dantes ordered the helmsman to put down his helm, +in order to leave La Pianosa to starboard, as he knew that +he should shorten his course by two or three knots. About +five o'clock in the evening the island was distinct, and +everything on it was plainly perceptible, owing to that +clearness of the atmosphere peculiar to the light which the +rays of the sun cast at its setting. + +Edmond gazed very earnestly at the mass of rocks which gave +out all the variety of twilight colors, from the brightest +pink to the deepest blue; and from time to time his cheeks +flushed, his brow darkened, and a mist passed over his eyes. +Never did gamester, whose whole fortune is staked on one +cast of the die, experience the anguish which Edmond felt in +his paroxysms of hope. Night came, and at ten o'clock they +anchored. The Young Amelia was first at the rendezvous. In +spite of his usual command over himself, Dantes could not +restrain his impetuosity. He was the first to jump on shore; +and had he dared, he would, like Lucius Brutus, have "kissed +his mother earth." It was dark, but at eleven o'clock the +moon rose in the midst of the ocean, whose every wave she +silvered, and then, "ascending high," played in floods of +pale light on the rocky hills of this second Pelion. + +The island was familiar to the crew of The Young Amelia, -- +it was one of her regular haunts. As to Dantes, he had +passed it on his voyage to and from the Levant, but never +touched at it. He questioned Jacopo. "Where shall we pass +the night?" he inquired. + +"Why, on board the tartan," replied the sailor. + +"Should we not do better in the grottos?" + +"What grottos?" + +"Why, the grottos -- caves of the island." + +"I do not know of any grottos," replied Jacopo. The cold +sweat sprang forth on Dantes' brow. + +"What, are there no grottos at Monte Cristo?" he asked. + +"None." + +For a moment Dantes was speechless; then he remembered that +these caves might have been filled up by some accident, or +even stopped up, for the sake of greater security, by +Cardinal Spada. The point was, then, to discover the hidden +entrance. It was useless to search at night, and Dantes +therefore delayed all investigation until the morning. +Besides, a signal made half a league out at sea, and to +which The Young Amelia replied by a similar signal, +indicated that the moment for business had come. The boat +that now arrived, assured by the answering signal that all +was well, soon came in sight, white and silent as a phantom, +and cast anchor within a cable's length of shore. + +Then the landing began. Dantes reflected, as he worked, on +the shout of joy which, with a single word, he could evoke +from all these men, if he gave utterance to the one +unchanging thought that pervaded his heart; but, far from +disclosing this precious secret, he almost feared that he +had already said too much, and by his restlessness and +continual questions, his minute observations and evident +pre-occupation, aroused suspicions. Fortunately, as regarded +this circumstance at least, his painful past gave to his +countenance an indelible sadness, and the glimmerings of +gayety seen beneath this cloud were indeed but transitory. + +No one had the slightest suspicion; and when next day, +taking a fowling-piece, powder, and shot, Dantes declared +his intention to go and kill some of the wild goats that +were seen springing from rock to rock, his wish was +construed into a love of sport, or a desire for solitude. +However, Jacopo insisted on following him, and Dantes did +not oppose this, fearing if he did so that he might incur +distrust. Scarcely, however, had they gone a quarter of a +league when, having killed a kid, he begged Jacopo to take +it to his comrades, and request them to cook it, and when +ready to let him know by firing a gun. This and some dried +fruits and a flask of Monte Pulciano, was the bill of fare. +Dantes went on, looking from time to time behind and around +about him. Having reached the summit of a rock, he saw, a +thousand feet beneath him, his companions, whom Jacopo had +rejoined, and who were all busy preparing the repast which +Edmond's skill as a marksman had augmented with a capital +dish. + +Edmond looked at them for a moment with the sad and gentle +smile of a man superior to his fellows. "In two hours' +time," said he, "these persons will depart richer by fifty +piastres each, to go and risk their lives again by +endeavoring to gain fifty more; then they will return with a +fortune of six hundred francs, and waste this treasure in +some city with the pride of sultans and the insolence of +nabobs. At this moment hope makes me despise their riches, +which seem to me contemptible. Yet perchance to-morrow +deception will so act on me, that I shall, on compulsion, +consider such a contemptible possession as the utmost +happiness. Oh, no!" exclaimed Edmond, "that will not be. The +wise, unerring Faria could not be mistaken in this one +thing. Besides, it were better to die than to continue to +lead this low and wretched life." Thus Dantes, who but three +months before had no desire but liberty had now not liberty +enough, and panted for wealth. The cause was not in Dantes, +but in providence, who, while limiting the power of man, has +filled him with boundless desires. + +Meanwhile, by a cleft between two walls of rock, following a +path worn by a torrent, and which, in all human probability, +human foot had never before trod, Dantes approached the spot +where he supposed the grottos must have existed. Keeping +along the shore, and examining the smallest object with +serious attention, he thought he could trace, on certain +rocks, marks made by the hand of man. + +Time, which encrusts all physical substances with its mossy +mantle, as it invests all things of the mind with +forgetfulness, seemed to have respected these signs, which +apparently had been made with some degree of regularity, and +probably with a definite purpose. Occasionally the marks +were hidden under tufts of myrtle, which spread into large +bushes laden with blossoms, or beneath parasitical lichen. +So Edmond had to separate the branches or brush away the +moss to know where the guide-marks were. The sight of marks +renewed Edmond fondest hopes. Might it not have been the +cardinal himself who had first traced them, in order that +they might serve as a guide for his nephew in the event of a +catastrophe, which he could not foresee would have been so +complete. This solitary place was precisely suited to the +requirements of a man desirous of burying treasure. Only, +might not these betraying marks have attracted other eyes +than those for whom they were made? and had the dark and +wondrous island indeed faithfully guarded its precious +secret? + +It seemed, however, to Edmond, who was hidden from his +comrades by the inequalities of the ground, that at sixty +paces from the harbor the marks ceased; nor did they +terminate at any grotto. A large round rock, placed solidly +on its base, was the only spot to which they seemed to lead. +Edmond concluded that perhaps instead of having reached the +end of the route he had only explored its beginning, and he +therefore turned round and retraced his steps. + +Meanwhile his comrades had prepared the repast, had got some +water from a spring, spread out the fruit and bread, and +cooked the kid. Just at the moment when they were taking the +dainty animal from the spit, they saw Edmond springing with +the boldness of a chamois from rock to rock, and they fired +the signal agreed upon. The sportsman instantly changed his +direction, and ran quickly towards them. But even while they +watched his daring progress, Edmond's foot slipped, and they +saw him stagger on the edge of a rock and disappear. They +all rushed towards him, for all loved Edmond in spite of his +superiority; yet Jacopo reached him first. + +He found Edmond lying prone, bleeding, and almost senseless. +He had rolled down a declivity of twelve or fifteen feet. +They poured a little rum down his throat, and this remedy +which had before been so beneficial to him, produced the +same effect as formerly. Edmond opened his eyes, complained +of great pain in his knee, a feeling of heaviness in his +head, and severe pains in his loins. They wished to carry +him to the shore; but when they touched him, although under +Jacopo's directions, he declared, with heavy groans, that he +could not bear to be moved. + +It may be supposed that Dantes did not now think of his +dinner, but he insisted that his comrades, who had not his +reasons for fasting, should have their meal. As for himself, +he declared that he had only need of a little rest, and that +when they returned he should be easier. The sailors did not +require much urging. They were hungry, and the smell of the +roasted kid was very savory, and your tars are not very +ceremonious. An hour afterwards they returned. All that +Edmond had been able to do was to drag himself about a dozen +paces forward to lean against a moss-grown rock. + +But, instead of growing easier, Dantes' pains appeared to +increase in violence. The old patron, who was obliged to +sail in the morning in order to land his cargo on the +frontiers of Piedmont and France, between Nice and Frejus, +urged Dantes to try and rise. Edmond made great exertions in +order to comply; but at each effort he fell back, moaning +and turning pale. + +"He has broken his ribs," said the commander, in a low +voice. "No matter; he is an excellent fellow, and we must +not leave him. We will try and carry him on board the +tartan." Dantes declared, however, that he would rather die +where he was than undergo the agony which the slightest +movement cost him. "Well," said the patron, "let what may +happen, it shall never be said that we deserted a good +comrade like you. We will not go till evening." This very +much astonished the sailors, although, not one opposed it. +The patron was so strict that this was the first time they +had ever seen him give up an enterprise, or even delay in +its execution. Dantes would not allow that any such +infraction of regular and proper rules should be made in his +favor. "No, no," he said to the patron, "I was awkward, and +it is just that I pay the penalty of my clumsiness. Leave me +a small supply of biscuit, a gun, powder, and balls, to kill +the kids or defend myself at need, and a pickaxe, that I may +build a shelter if you delay in coming back for me." + +"But you'll die of hunger," said the patron. + +"I would rather do so," was Edmond reply, "than suffer the +inexpressible agonies which the slightest movement causes +me." The patron turned towards his vessel, which was rolling +on the swell in the little harbor, and, with sails partly +set, would be ready for sea when her toilet should be +completed. + +"What are we to do, Maltese?" asked the captain. "We cannot +leave you here so, and yet we cannot stay." + +"Go, go!" exclaimed Dantes. + +"We shall be absent at least a week," said the patron, "and +then we must run out of our course to come here and take you +up again." + +"Why," said Dantes, "if in two or three days you hail any +fishing-boat, desire them to come here to me. I will pay +twenty-five piastres for my passage back to Leghorn. If you +do not come across one, return for me." The patron shook his +head. + +"Listen, Captain Baldi; there's one way of settling this," +said Jacopo. "Do you go, and I will stay and take care of +the wounded man." + +"And give up your share of the venture," said Edmond, "to +remain with me?" + +"Yes," said Jacopo, "and without any hesitation." + +"You are a good fellow and a kind-hearted messmate," replied +Edmond, "and heaven will recompense you for your generous +intentions; but I do not wish any one to stay with me. A day +or two of rest will set me up, and I hope I shall find among +the rocks certain herbs most excellent for bruises." + +A peculiar smile passed over Dantes' lips; he squeezed +Jacopo's hand warmly, but nothing could shake his +determination to remain -- and remain alone. The smugglers +left with Edmond what he had requested and set sail, but not +without turning about several times, and each time making +signs of a cordial farewell, to which Edmond replied with +his hand only, as if he could not move the rest of his body. +Then, when they had disappeared, he said with a smile, -- +"'Tis strange that it should be among such men that we find +proofs of friendship and devotion." Then he dragged himself +cautiously to the top of a rock, from which he had a full +view of the sea, and thence he saw the tartan complete her +preparations for sailing, weigh anchor, and, balancing +herself as gracefully as a water-fowl ere it takes to the +wing, set sail. At the end of an hour she was completely out +of sight; at least, it was impossible for the wounded man to +see her any longer from the spot where he was. Then Dantes +rose more agile and light than the kid among the myrtles and +shrubs of these wild rocks, took his gun in one hand, his +pickaxe in the other, and hastened towards the rock on which +the marks he had noted terminated. "And now," he exclaimed, +remembering the tale of the Arabian fisherman, which Faria +had related to him, "now, open sesame!" + + + +Chapter 24 +The Secret Cave. + +The sun had nearly reached the meridian, and his scorching +rays fell full on the rocks, which seemed themselves +sensible of the heat. Thousands of grasshoppers, hidden in +the bushes, chirped with a monotonous and dull note; the +leaves of the myrtle and olive trees waved and rustled in +the wind. At every step that Edmond took he disturbed the +lizards glittering with the hues of the emerald; afar off he +saw the wild goats bounding from crag to crag. In a word, +the island was inhabited, yet Edmond felt himself alone, +guided by the hand of God. He felt an indescribable +sensation somewhat akin to dread -- that dread of the +daylight which even in the desert makes us fear we are +watched and observed. This feeling was so strong that at the +moment when Edmond was about to begin his labor, he stopped, +laid down his pickaxe, seized his gun, mounted to the summit +of the highest rock, and from thence gazed round in every +direction. + +But it was not upon Corsica, the very houses of which he +could distinguish; or on Sardinia; or on the Island of Elba, +with its historical associations; or upon the almost +imperceptible line that to the experienced eye of a sailor +alone revealed the coast of Genoa the proud, and Leghorn the +commercial, that he gazed. It was at the brigantine that had +left in the morning, and the tartan that had just set sail, +that Edmond fixed his eyes. The first was just disappearing +in the straits of Bonifacio; the other, following an +opposite direction, was about to round the Island of +Corsica. This sight reassured him. He then looked at the +objects near him. He saw that he was on the highest point of +the island, -- a statue on this vast pedestal of granite, +nothing human appearing in sight, while the blue ocean beat +against the base of the island, and covered it with a fringe +of foam. Then he descended with cautious and slow step, for +he dreaded lest an accident similar to that he had so +adroitly feigned should happen in reality. + +Dantes, as we have said, had traced the marks along the +rocks, and he had noticed that they led to a small creek. +which was hidden like the bath of some ancient nymph. This +creek was sufficiently wide at its mouth, and deep in the +centre, to admit of the entrance of a small vessel of the +lugger class, which would be perfectly concealed from +observation. + +Then following the clew that, in the hands of the Abbe +Faria, had been so skilfully used to guide him through the +Daedalian labyrinth of probabilities, he thought that the +Cardinal Spada, anxious not to be watched, had entered the +creek, concealed his little barque, followed the line marked +by the notches in the rock, and at the end of it had buried +his treasure. It was this idea that had brought Dantes back +to the circular rock. One thing only perplexed Edmond, and +destroyed his theory. How could this rock, which weighed +several tons, have been lifted to this spot, without the aid +of many men? Suddenly an idea flashed across his mind. +Instead of raising it, thought he, they have lowered it. And +he sprang from the rock in order to inspect the base on +which it had formerly stood. He soon perceived that a slope +had been formed, and the rock had slid along this until it +stopped at the spot it now occupied. A large stone had +served as a wedge; flints and pebbles had been inserted +around it, so as to conceal the orifice; this species of +masonry had been covered with earth, and grass and weeds had +grown there, moss had clung to the stones, myrtle-bushes had +taken root, and the old rock seemed fixed to the earth. + +Dantes dug away the earth carefully, and detected, or +fancied he detected, the ingenious artifice. He attacked +this wall, cemented by the hand of time, with his pickaxe. +After ten minutes' labor the wall gave way, and a hole large +enough to insert the arm was opened. Dantes went and cut the +strongest olive-tree he could find, stripped off its +branches, inserted it in the hole, and used it as a lever. +But the rock was too heavy, and too firmly wedged, to be +moved by any one man, were he Hercules himself. Dantes saw +that he must attack the wedge. But how? He cast his eyes +around, and saw the horn full of powder which his friend +Jacopo had left him. He smiled; the infernal invention would +serve him for this purpose. With the aid of his pickaxe, +Dantes, after the manner of a labor-saving pioneer, dug a +mine between the upper rock and the one that supported it, +filled it with powder, then made a match by rolling his +handkerchief in saltpetre. He lighted it and retired. The +explosion soon followed; the upper rock was lifted from its +base by the terrific force of the powder; the lower one flew +into pieces; thousands of insects escaped from the aperture +Dantes had previously formed, and a huge snake, like the +guardian demon of the treasure, rolled himself along in +darkening coils, and disappeared. + +Dantes approached the upper rock, which now, without any +support, leaned towards the sea. The intrepid +treasure-seeker walked round it, and, selecting the spot +from whence it appeared most susceptible to attack, placed +his lever in one of the crevices, and strained every nerve +to move the mass. The rock, already shaken by the explosion, +tottered on its base. Dantes redoubled his efforts; he +seemed like one of the ancient Titans, who uprooted the +mountains to hurl against the father of the gods. The rock +yielded, rolled over, bounded from point to point, and +finally disappeared in the ocean. + +On the spot it had occupied was a circular space, exposing +an iron ring let into a square flag-stone. Dantes uttered a +cry of joy and surprise; never had a first attempt been +crowned with more perfect success. He would fain have +continued, but his knees trembled, and his heart beat so +violently, and his sight became so dim, that he was forced +to pause. This feeling lasted but for a moment. Edmond +inserted his lever in the ring and exerted all his strength; +the flag-stone yielded, and disclosed steps that descended +until they were lost in the obscurity of a subterraneous +grotto. Any one else would have rushed on with a cry of joy. +Dantes turned pale, hesitated, and reflected. "Come," said +he to himself, "be a man. I am accustomed to adversity. I +must not be cast down by the discovery that I have been +deceived. What, then, would be the use of all I have +suffered? The heart breaks when, after having been elated by +flattering hopes, it sees all its illusions destroyed. Faria +has dreamed this; the Cardinal Spada buried no treasure +here; perhaps he never came here, or if he did, Caesar +Borgia, the intrepid adventurer, the stealthy and +indefatigable plunderer, has followed him, discovered his +traces, pursued them as I have done, raised the stone, and +descending before me, has left me nothing." He remained +motionless and pensive, his eyes fixed on the gloomy +aperture that was open at his feet. + +"Now that I expect nothing, now that I no longer entertain +the slightest hopes, the end of this adventure becomes +simply a matter of curiosity." And he remained again +motionless and thoughtful. + +"Yes, yes; this is an adventure worthy a place in the varied +career of that royal bandit. This fabulous event formed but +a link in a long chain of marvels. Yes, Borgia has been +here, a torch in one band, a sword in the other, and within +twenty paces, at the foot of this rock, perhaps two guards +kept watch on land and sea, while their master descended, as +I am about to descend, dispelling the darkness before his +awe-inspiring progress." + +"But what was the fate of the guards who thus possessed his +secret?" asked Dantes of himself. + +"The fate," replied he, smiling, "of those who buried +Alaric." + +"Yet, had he come," thought Dantes, "he would have found the +treasure, and Borgia, he who compared Italy to an artichoke, +which he could devour leaf by leaf, knew too well the value +of time to waste it in replacing this rock. I will go down." + +Then he descended, a smile on his lips, and murmuring that +last word of human philosophy, "Perhaps!" But instead of the +darkness, and the thick and mephitic atmosphere he had +expected to find, Dantes saw a dim and bluish light, which, +as well as the air, entered, not merely by the aperture he +had just formed, but by the interstices and crevices of the +rock which were visible from without, and through which he +could distinguish the blue sky and the waving branches of +the evergreen oaks, and the tendrils of the creepers that +grew from the rocks. After having stood a few minutes in the +cavern, the atmosphere of which was rather warm than damp, +Dantes' eye, habituated as it was to darkness, could pierce +even to the remotest angles of the cavern, which was of +granite that sparkled like diamonds. "Alas," said Edmond, +smiling, "these are the treasures the cardinal has left; and +the good abbe, seeing in a dream these glittering walls, has +indulged in fallacious hopes." + +But he called to mind the words of the will, which he knew +by heart. "In the farthest angle of the second opening," +said the cardinal's will. He had only found the first +grotto; he had now to seek the second. Dantes continued his +search. He reflected that this second grotto must penetrate +deeper into the island; he examined the stones, and sounded +one part of the wall where he fancied the opening existed, +masked for precaution's sake. The pickaxe struck for a +moment with a dull sound that drew out of Dantes' forehead +large drops of perspiration. At last it seemed to him that +one part of the wall gave forth a more hollow and deeper +echo; he eagerly advanced, and with the quickness of +perception that no one but a prisoner possesses, saw that +there, in all probability, the opening must be. + +However, he, like Caesar Borgia, knew the value of time; +and, in order to avoid fruitless toil, he sounded all the +other walls with his pickaxe, struck the earth with the butt +of his gun, and finding nothing that appeared suspicious, +returned to that part of the wall whence issued the +consoling sound he had before heard. He again struck it, and +with greater force. Then a singular thing occurred. As he +struck the wall, pieces of stucco similar to that used in +the ground work of arabesques broke off, and fell to the +ground in flakes, exposing a large white stone. The aperture +of the rock had been closed with stones, then this stucco +had been applied, and painted to imitate granite. Dantes +struck with the sharp end of his pickaxe, which entered +someway between the interstices. It was there he must dig. +But by some strange play of emotion, in proportion as the +proofs that Faria, had not been deceived became stronger, so +did his heart give way, and a feeling of discouragement +stole over him. This last proof, instead of giving him fresh +strength, deprived him of it; the pickaxe descended, or +rather fell; he placed it on the ground, passed his hand +over his brow, and remounted the stairs, alleging to +himself, as an excuse, a desire to be assured that no one +was watching him, but in reality because he felt that he was +about to faint. The island was deserted, and the sun seemed +to cover it with its fiery glance; afar off, a few small +fishing boats studded the bosom of the blue ocean. + +Dantes had tasted nothing, but he thought not of hunger at +such a moment; he hastily swallowed a few drops of rum, and +again entered the cavern. The pickaxe that had seemed so +heavy, was now like a feather in his grasp; he seized it, +and attacked the wall. After several blows he perceived that +the stones were not cemented, but had been merely placed one +upon the other, and covered with stucco; he inserted the +point of his pickaxe, and using the handle as a lever, with +joy soon saw the stone turn as if on hinges, and fall at his +feet. He had nothing more to do now, but with the iron tooth +of the pickaxe to draw the stones towards him one by one. +The aperture was already sufficiently large for him to +enter, but by waiting, he could still cling to hope, and +retard the certainty of deception. At last, after renewed +hesitation, Dantes entered the second grotto. The second +grotto was lower and more gloomy than the first; the air +that could only enter by the newly formed opening had the +mephitic smell Dantes was surprised not to find in the outer +cavern. He waited in order to allow pure air to displace the +foul atmosphere, and then went on. At the left of the +opening was a dark and deep angle. But to Dantes' eye there +was no darkness. He glanced around this second grotto; it +was, like the first, empty. + +The treasure, if it existed, was buried in this corner. The +time had at length arrived; two feet of earth removed, and +Dantes' fate would be decided. He advanced towards the +angle, and summoning all his resolution, attacked the ground +with the pickaxe. At the fifth or sixth blow the pickaxe +struck against an iron substance. Never did funeral knell, +never did alarm-bell, produce a greater effect on the +hearer. Had Dantes found nothing he could not have become +more ghastly pale. He again struck his pickaxe into the +earth, and encountered the same resistance, but not the same +sound. "It is a casket of wood bound with iron," thought he. +At this moment a shadow passed rapidly before the opening; +Dantes seized his gun, sprang through the opening, and +mounted the stair. A wild goat had passed before the mouth +of the cave, and was feeding at a little distance. This +would have been a favorable occasion to secure his dinner; +but Dantes feared lest the report of his gun should attract +attention. + +He thought a moment, cut a branch of a resinous tree, +lighted it at the fire at which the smugglers had prepared +their breakfast, and descended with this torch. He wished to +see everything. He approached the hole he had dug. and now, +with the aid of the torch, saw that his pickaxe had in +reality struck against iron and wood. He planted his torch +in the ground and resumed his labor. In an instant a space +three feet long by two feet broad was cleared, and Dantes +could see an oaken coffer, bound with cut steel; in the +middle of the lid he saw engraved on a silver plate, which +was still untarnished, the arms of the Spada family -- viz., +a sword, pale, on an oval shield, like all the Italian +armorial bearings, and surmounted by a cardinal's hat; +Dantes easily recognized them, Faria had so often drawn them +for him. There was no longer any doubt: the treasure was +there -- no one would have been at such pains to conceal an +empty casket. In an instant he had cleared every obstacle +away, and he saw successively the lock, placed between two +padlocks, and the two handles at each end, all carved as +things were carved at that epoch, when art rendered the +commonest metals precious. Dantes seized the handles, and +strove to lift the coffer; it was impossible. He sought to +open it; lock and padlock were fastened; these faithful +guardians seemed unwilling to surrender their trust. Dantes +inserted the sharp end of the pickaxe between the coffer and +the lid, and pressing with all his force on the handle, +burst open the fastenings. The hinges yielded in their turn +and fell, still holding in their grasp fragments of the +wood, and the chest was open. + +Edmond was seized with vertigo; he cocked his gun and laid +it beside him. He then closed his eyes as children do in +order that they may see in the resplendent night of their +own imagination more stars than are visible in the +firmament; then he re-opened them, and stood motionless with +amazement. Three compartments divided the coffer. In the +first, blazed piles of golden coin; in the second, were +ranged bars of unpolished gold, which possessed nothing +attractive save their value; in the third, Edmond grasped +handfuls of diamonds, pearls, and rubies, which, as they +fell on one another, sounded like hail against glass. After +having touched, felt, examined these treasures, Edmond +rushed through the caverns like a man seized with frenzy; he +leaped on a rock, from whence he could behold the sea. He +was alone -- alone with these countless, these unheard-of +treasures! was he awake, or was it but a dream? + +He would fain have gazed upon his gold, and yet he had not +strength enough; for an instant he leaned his head in his +hands as if to prevent his senses from leaving him, and then +rushed madly about the rocks of Monte Cristo, terrifying the +wild goats and scaring the sea-fowls with his wild cries and +gestures; then he returned, and, still unable to believe the +evidence of his senses, rushed into the grotto, and found +himself before this mine of gold and jewels. This time he +fell on his knees, and, clasping his hands convulsively, +uttered a prayer intelligible to God alone. He soon became +calmer and more happy, for only now did he begin to realize +his felicity. He then set himself to work to count his +fortune. There were a thousand ingots of gold, each weighing +from two to three pounds; then he piled up twenty-five +thousand crowns, each worth about eighty francs of our +money, and bearing the effigies of Alexander VI. and his +predecessors; and he saw that the complement was not half +empty. And he measured ten double handfuls of pearls, +diamonds, and other gems, many of which, mounted by the most +famous workmen, were valuable beyond their intrinsic worth. +Dantes saw the light gradually disappear, and fearing to be +surprised in the cavern, left it, his gun in his hand. A +piece of biscuit and a small quantity of rum formed his +supper, and he snatched a few hours' sleep, lying over the +mouth of the cave. + +It was a night of joy and terror, such as this man of +stupendous emotions had already experienced twice or thrice +in his lifetime. + + + +Chapter 25 +The Unknown. + +Day, for which Dantes had so eagerly and impatiently waited +with open eyes, again dawned. With the first light Dantes +resumed his search. Again he climbed the rocky height he had +ascended the previous evening, and strained his view to +catch every peculiarity of the landscape; but it wore the +same wild, barren aspect when seen by the rays of the +morning sun which it had done when surveyed by the fading +glimmer of eve. Descending into the grotto, he lifted the +stone, filled his pockets with gems, put the box together as +well and securely as he could, sprinkled fresh sand over the +spot from which it had been taken, and then carefully trod +down the earth to give it everywhere a uniform appearance; +then, quitting the grotto, he replaced the stone, heaping on +it broken masses of rocks and rough fragments of crumbling +granite, filling the interstices with earth, into which he +deftly inserted rapidly growing plants, such as the wild +myrtle and flowering thorn, then carefully watering these +new plantations, he scrupulously effaced every trace of +footsteps, leaving the approach to the cavern as +savage-looking and untrodden as he had found it. This done, +he impatiently awaited the return of his companions. To wait +at Monte Cristo for the purpose of watching like a dragon +over the almost incalculable richs that had thus fallen into +his possession satisfied not the cravings of his heart, +which yearned to return to dwell among mankind, and to +assume the rank, power, and influence which are always +accorded to wealth -- that first and greatest of all the +forces within the grasp of man. + +On the sixth day, the smugglers returned. From a distance +Dantes recognized the rig and handling of The Young Amelia, +and dragging himself with affected difficulty towards the +landing-place, he met his companions with an assurance that, +although considerably better than when they quitted him, he +still suffered acutely from his late accident. He then +inquired how they had fared in their trip. To this question +the smugglers replied that, although successful in landing +their cargo in safety, they had scarcely done so when they +received intelligence that a guard-ship had just quitted the +port of Toulon and was crowding all sail towards them. This +obliged them to make all the speed they could to evade the +enemy, when they could but lament the absence of Dantes, +whose superior skill in the management of a vessel would +have availed them so materially. In fact, the pursuing +vessel had almost overtaken them when, fortunately, night +came on, and enabled them to double the Cape of Corsica, and +so elude all further pursuit. Upon the whole, however, the +trip had been sufficiently successful to satisfy all +concerned; while the crew, and particularly Jacopo, +expressed great regrets that Dantes had not been an equal +sharer with themselves in the profits, which amounted to no +less a sum than fifty piastres each. + +Edmond preserved the most admirable self-command, not +suffering the faintest indication of a smile to escape him +at the enumeration of all the benefits he would have reaped +had he been able to quit the island; but as The Young Amelia +had merely come to Monte Cristo to fetch him away, he +embarked that same evening, and proceeded with the captain +to Leghorn. Arrived at Leghorn, he repaired to the house of +a Jew, a dealer in precious stones, to whom he disposed of +four of his smallest diamonds for five thousand francs each. +Dantes half feared that such valuable jewels in the hands of +a poor sailor like himself might excite suspicion; but the +cunning purchaser asked no troublesome questions concerning +a bargain by which he gained a round profit of at least +eighty per cent. + +The following day Dantes presented Jacopo with an entirely +new vessel, accompanying the gift by a donation of one +hundred piastres, that he might provide himself with a +suitable crew and other requisites for his outfit, upon +condition that he would go at once to Marseilles for the +purpose of inquiring after an old man named Louis Dantes, +residing in the Allees de Meillan, and also a young woman +called Mercedes, an inhabitant of the Catalan village. +Jacopo could scarcely believe his senses at receiving this +magnificent present, which Dantes hastened to account for by +saying that he had merely been a sailor from whim and a +desire to spite his family, who did not allow him as much +money as he liked to spend; but that on his arrival at +Leghorn he had come into possession of a large fortune, left +him by an uncle, whose sole heir he was. The superior +education of Dantes gave an air of such extreme probability +to this statement that it never once occurred to Jacopo to +doubt its accuracy. The term for which Edmond had engaged to +serve on board The Young Amelia having expired, Dantes took +leave of the captain, who at first tried all his powers of +persuasion to induce him to remain as one of the crew, but +having been told the history of the legacy, he ceased to +importune him further. The following morning Jacopo set sail +for Marseilles, with directions from Dantes to join him at +the Island of Monte Cristo. + +Having seen Jacopo fairly out of the harbor, Dantes +proceeded to make his final adieus on board The Young +Amelia, distributing so liberal a gratuity among her crew as +to secure for him the good wishes of all, and expressions of +cordial interest in all that concerned him. To the captain +he promised to write when he had made up his mind as to his +future plans. Then Dantes departed for Genoa. At the moment +of his arrival a small yacht was under trial in the bay; +this yacht had been built by order of an Englishman, who, +having heard that the Genoese excelled all other builders +along the shores of the Mediterranean in the construction of +fast-sailing vessels, was desirous of possessing a specimen +of their skill; the price agreed upon between the Englishman +and the Genoese builder was forty thousand francs. Dantes, +struck with the beauty and capability of the little vessel, +applied to its owner to transfer it to him, offering sixty +thousand francs, upon condition that he should be allowed to +take immediate possession. The proposal was too advantageous +to be refused, the more so as the person for whom the yacht +was intended had gone upon a tour through Switzerland, and +was not expected back in less than three weeks or a month, +by which time the builder reckoned upon being able to +complete another. A bargain was therefore struck. Dantes led +the owner of the yacht to the dwelling of a Jew; retired +with the latter for a few minutes to a small back parlor, +and upon their return the Jew counted out to the shipbuilder +the sum of sixty thousand francs in bright gold pieces. + +The delighted builder then offered his services in providing +a suitable crew for the little vessel, but this Dantes +declined with many thanks, saying he was accustomed to +cruise about quite alone, and his principal pleasure +consisted in managing his yacht himself; the only thing the +builder could oblige him in would be to contrive a sort of +secret closet in the cabin at his bed's head, the closet to +contain three divisions, so constructed as to be concealed +from all but himself. The builder cheerfully undertook the +commission, and promised to have these secret places +completed by the next day, Dantes furnishing the dimensions +and plan in accordance with which they were to be +constructed. + +The following day Dantes sailed with his yacht from Genoa, +under the inspection of an immense crowd drawn together by +curiosity to see the rich Spanish nobleman who preferred +managing his own yacht. But their wonder was soon changed to +admiration at seeing the perfect skill with which Dantes +handled the helm. The boat, indeed, seemed to be animated +with almost human intelligence, so promptly did it obey the +slightest touch; and Dantes required but a short trial of +his beautiful craft to acknowledge that the Genoese had not +without reason attained their high reputation in the art of +shipbuilding. The spectators followed the little vessel with +their eyes as long as it remained visible; they then turned +their conjectures upon her probable destination. Some +insisted she was making for Corsica, others the Island of +Elba; bets were offered to any amount that she was bound for +Spain; while Africa was positively reported by many persons +as her intended course; but no one thought of Monte Cristo. +Yet thither it was that Dantes guided his vessel, and at +Monte Cristo he arrived at the close of the second day; his +boat had proved herself a first-class sailer, and had come +the distance from Genoa in thirty-five hours. Dantes had +carefully noted the general appearance of the shore, and, +instead of landing at the usual place, he dropped anchor in +the little creek. The island was utterly deserted, and bore +no evidence of having been visited since he went away; his +treasure was just as he had left it. Early on the following +morning he commenced the removal of his riches, and ere +nightfall the whole of his immense wealth was safely +deposited in the compartments of the secret locker. + +A week passed by. Dantes employed it in manoeuvring his +yacht round the island, studying it as a skilful horseman +would the animal he destined for some important service, +till at the end of that time he was perfectly conversant +with its good and bad qualities. The former Dantes proposed +to augment, the latter to remedy. + +Upon the eighth day he discerned a small vessel under full +sail approaching Monte Cristo. As it drew near, he +recognized it as the boat he had given to Jacopo. He +immediately signalled it. His signal was returned, and in +two hours afterwards the newcomer lay at anchor beside the +yacht. A mournful answer awaited each of Edmond's eager +inquiries as to the information Jacopo had obtained. Old +Dantes was dead, and Mercedes had disappeared. Dantes +listened to these melancholy tidings with outward calmness; +but, leaping lightly ashore, he signified his desire to be +quite alone. In a couple of hours he returned. Two of the +men from Jacopo's boat came on board the yacht to assist in +navigating it, and he gave orders that she should be steered +direct to Marseilles. For his father's death he was in some +manner prepared; but he knew not how to account for the +mysterious disappearance of Mercedes. + +Without divulging his secret, Dantes could not give +sufficiently clear instructions to an agent. There were, +besides, other particulars he was desirous of ascertaining, +and those were of a nature he alone could investigate in a +manner satisfactory to himself. His looking-glass had +assured him, during his stay at Leghorn, that he ran no risk +of recognition; moreover, he had now the means of adopting +any disguise he thought proper. One fine morning, then, his +yacht, followed by the little fishing-boat, boldly entered +the port of Marseilles, and anchored exactly opposite the +spot from whence, on the never-to-be-forgotten night of his +departure for the Chateau d'If, he had been put on board the +boat destined to convey him thither. Still Dantes could not +view without a shudder the approach of a gendarme who +accompanied the officers deputed to demand his bill of +health ere the yacht was permitted to hold communication +with the shore; but with that perfect self-possession he had +acquired during his acquaintance with Faria, Dantes coolly +presented an English passport he had obtained from Leghorn, +and as this gave him a standing which a French passport +would not have afforded, he was informed that there existed +no obstacle to his immediate debarkation. + +The first person to attract the attention of Dantes, as he +landed on the Canebiere, was one of the crew belonging to +the Pharaon. Edmond welcomed the meeting with this fellow -- +who had been one of his own sailors -- as a sure means of +testing the extent of the change which time had worked in +his own appearance. Going straight towards him, he +propounded a variety of questions on different subjects, +carefully watching the man's countenance as he did so; but +not a word or look implied that he had the slightest idea of +ever having seen before the person with whom he was then +conversing. Giving the sailor a piece of money in return for +his civility, Dantes proceeded onwards; but ere he had gone +many steps he heard the man loudly calling him to stop. +Dantes instantly turned to meet him. "I beg your pardon, +sir," said the honest fellow, in almost breathless haste, +"but I believe you made a mistake; you intended to give me a +two-franc piece, and see, you gave me a double Napoleon." + +"Thank you, my good friend. I see that I have made a +trifling mistake, as you say; but by way of rewarding your +honesty I give you another double Napoleon, that you may +drink to my health, and be able to ask your messmates to +join you." + +So extreme was the surprise of the sailor, that he was +unable even to thank Edmond, whose receding figure he +continued to gaze after in speechless astonishment. "Some +nabob from India," was his comment. + +Dantes, meanwhile, went on his way. Each step he trod +oppressed his heart with fresh emotion; his first and most +indelible recollections were there; not a tree, not a +street, that he passed but seemed filled with dear and +cherished memories. And thus he proceeded onwards till he +arrived at the end of the Rue de Noailles, from whence a +full view of the Allees de Meillan was obtained. At this +spot, so pregnant with fond and filial remembrances, his +heart beat almost to bursting, his knees tottered under him, +a mist floated over his sight, and had he not clung for +support to one of the trees, he would inevitably have fallen +to the ground and been crushed beneath the many vehicles +continually passing there. Recovering himself, however, he +wiped the perspiration from his brows, and stopped not again +till he found himself at the door of the house in which his +father had lived. + +The nasturtiums and other plants, which his father had +delighted to train before his window, had all disappeared +from the upper part of the house. Leaning against the tree, +he gazed thoughtfully for a time at the upper stories of the +shabby little house. Then he advanced to the door, and asked +whether there were any rooms to be let. Though answered in +the negative, he begged so earnestly to be permitted to +visit those on the fifth floor, that, in despite of the +oft-repeated assurance of the concierge that they were +occupied, Dantes succeeded in inducing the man to go up to +the tenants, and ask permission for a gentleman to be +allowed to look at them. + +The tenants of the humble lodging were a young couple who +had been scarcely married a week; and seeing them, Dantes +sighed heavily. Nothing in the two small chambers forming +the apartments remained as it had been in the time of the +elder Dantes; the very paper was different, while the +articles of antiquated furniture with which the rooms had +been filled in Edmond's time had all disappeared; the four +walls alone remained as he had left them. The bed belonging +to the present occupants was placed as the former owner of +the chamber had been accustomed to have his; and, in spite +of his efforts to prevent it, the eyes of Edmond were +suffused in tears as he reflected that on that spot the old +man had breathed his last, vainly calling for his son. The +young couple gazed with astonishment at the sight of their +visitor's emotion, and wondered to see the large tears +silently chasing each other down his otherwise stern and +immovable features; but they felt the sacredness of his +grief, and kindly refrained from questioning him as to its +cause, while, with instinctive delicacy, they left him to +indulge his sorrow alone. When he withdrew from the scene of +his painful recollections, they both accompanied him +downstairs, reiterating their hope that he would come again +whenever he pleased, and assuring him that their poor +dwelling would ever be open to him. As Edmond passed the +door on the fourth floor, he paused to inquire whether +Caderousse the tailor still dwelt there; but he received, +for reply, that the person in question had got into +difficulties, and at the present time kept a small inn on +the route from Bellegarde to Beaucaire. + +Having obtained the address of the person to whom the house +in the Allees de Meillan belonged, Dantes next proceeded +thither, and, under the name of Lord Wilmore (the name and +title inscribed on his passport), purchased the small +dwelling for the sum of twenty-five thousand francs, at +least ten thousand more than it was worth; but had its owner +asked half a million, it would unhesitatingly have been +given. The very same day the occupants of the apartments on +the fifth floor of the house, now become the property of +Dantes, were duly informed by the notary who had arranged +the necessary transfer of deeds, etc., that the new landlord +gave them their choice of any of the rooms in the house, +without the least augmentation of rent, upon condition of +their giving instant possession of the two small chambers +they at present inhabited. + +This strange event aroused great wonder and curiosity in the +neighborhood of the Allees de Meillan, and a multitude of +theories were afloat, none of which was anywhere near the +truth. But what raised public astonishment to a climax, and +set all conjecture at defiance, was the knowledge that the +same stranger who had in the morning visited the Allees de +Meillan had been seen in the evening walking in the little +village of the Catalans, and afterwards observed to enter a +poor fisherman's hut, and to pass more than an hour in +inquiring after persons who had either been dead or gone +away for more than fifteen or sixteen years. But on the +following day the family from whom all these particulars had +been asked received a handsome present, consisting of an +entirely new fishing-boat, with two seines and a tender. The +delighted recipients of these munificent gifts would gladly +have poured out their thanks to their generous benefactor, +but they had seen him, upon quitting the hut, merely give +some orders to a sailor, and then springing lightly on +horseback, leave Marseilles by the Porte d'Aix. + + + +Chapter 26 +The Pont du Gard Inn. + +Such of my readers as have made a pedestrian excursion to +the south of France may perchance have noticed, about midway +between the town of Beaucaire and the village of Bellegarde, +-- a little nearer to the former than to the latter, -- a +small roadside inn, from the front of which hung, creaking +and flapping in the wind, a sheet of tin covered with a +grotesque representation of the Pont du Gard. This modern +place of entertainment stood on the left-hand side of the +post road, and backed upon the Rhone. It also boasted of +what in Languedoc is styled a garden, consisting of a small +plot of ground, on the side opposite to the main entrance +reserved for the reception of guests. A few dingy olives and +stunted fig-trees struggled hard for existence, but their +withered dusty foliage abundantly proved how unequal was the +conflict. Between these sickly shrubs grew a scanty supply +of garlic, tomatoes, and eschalots; while, lone and +solitary, like a forgotten sentinel, a tall pine raised its +melancholy head in one of the corners of this unattractive +spot, and displayed its flexible stem and fan-shaped summit +dried and cracked by the fierce heat of the sub-tropical +sun. + +In the surrounding plain, which more resembled a dusty lake +than solid ground, were scattered a few miserable stalks of +wheat, the effect, no doubt, of a curious desire on the part +of the agriculturists of the country to see whether such a +thing as the raising of grain in those parched regions was +practicable. Each stalk served as a perch for a grasshopper, +which regaled the passers by through this Egyptian scene +with its strident, monotonous note. + +For about seven or eight years the little tavern had been +kept by a man and his wife, with two servants, -- a +chambermaid named Trinette, and a hostler called Pecaud. +This small staff was quite equal to all the requirements, +for a canal between Beaucaire and Aiguemortes had +revolutionized transportation by substituting boats for the +cart and the stagecoach. And, as though to add to the daily +misery which this prosperous canal inflicted on the +unfortunate inn-keeper, whose utter ruin it was fast +accomplishing, it was situated between the Rhone from which +it had its source and the post-road it had depleted, not a +hundred steps from the inn, of which we have given a brief +but faithful description. + +The inn-keeper himself was a man of from forty to fifty-five +years of age, tall, strong, and bony, a perfect specimen of +the natives of those southern latitudes; he had dark, +sparkling, and deep-set eyes, hooked nose, and teeth white +as those of a carnivorous animal; his hair, like his beard, +which he wore under his chin, was thick and curly, and in +spite of his age but slightly interspersed with a few +silvery threads. His naturally dark complexion had assumed a +still further shade of brown from the habit the unfortunate +man had acquired of stationing himself from morning till eve +at the threshold of his door, on the lookout for guests who +seldom came, yet there he stood, day after day, exposed to +the meridional rays of a burning sun, with no other +protection for his head than a red handkerchief twisted +around it, after the manner of the Spanish muleteers. This +man was our old acquaintance, Gaspard Caderousse. His wife, +on the contrary, whose maiden name had been Madeleine +Radelle, was pale, meagre, and sickly-looking. Born in the +neighborhood of Arles, she had shared in the beauty for +which its women are proverbial; but that beauty had +gradually withered beneath the devastating influence of the +slow fever so prevalent among dwellers by the ponds of +Aiguemortes and the marshes of Camargue. She remained nearly +always in her second-floor chamber, shivering in her chair, +or stretched languid and feeble on her bed, while her +husband kept his daily watch at the door -- a duty he +performed with so much the greater willingness, as it saved +him the necessity of listening to the endless plaints and +murmurs of his helpmate, who never saw him without breaking +out into bitter invectives against fate; to all of which her +husband would calmly return an unvarying reply, in these +philosophic words: -- + +"Hush, La Carconte. It is God's pleasure that things should +be so." + +The sobriquet of La Carconte had been bestowed on Madeleine +Radelle from the fact that she had been born in a village, +so called, situated between Salon and Lambesc; and as a +custom existed among the inhabitants of that part of France +where Caderousse lived of styling every person by some +particular and distinctive appellation, her husband had +bestowed on her the name of La Carconte in place of her +sweet and euphonious name of Madeleine, which, in all +probability, his rude gutteral language would not have +enabled him to pronounce. Still, let it not be supposed that +amid this affected resignation to the will of Providence, +the unfortunate inn-keeper did not writhe under the double +misery of seeing the hateful canal carry off his customers +and his profits, and the daily infliction of his peevish +partner's murmurs and lamentations. + +Like other dwellers in the south, he was a man of sober +habits and moderate desires, but fond of external show, +vain, and addicted to display. During the days of his +prosperity, not a festivity took place without himself and +wife being among the spectators. He dressed in the +picturesque costume worn upon grand occasions by the +inhabitants of the south of France, bearing equal +resemblance to the style adopted both by the Catalans and +Andalusians; while La Carconte displayed the charming +fashion prevalent among the women of Arles, a mode of attire +borrowed equally from Greece and Arabia. But, by degrees, +watch-chains, necklaces, parti-colored scarfs, embroidered +bodices, velvet vests, elegantly worked stockings, striped +gaiters, and silver buckles for the shoes, all disappeared; +and Gaspard Caderousse, unable to appear abroad in his +pristine splendor, had given up any further participation in +the pomps and vanities, both for himself and wife, although +a bitter feeling of envious discontent filled his mind as +the sound of mirth and merry music from the joyous revellers +reached even the miserable hostelry to which he still clung, +more for the shelter than the profit it afforded. + +Caderousse, then, was, as usual, at his place of observation +before the door, his eyes glancing listlessly from a piece +of closely shaven grass -- on which some fowls were +industriously, though fruitlessly, endeavoring to turn up +some grain or insect suited to their palate -- to the +deserted road, which led away to the north and south, when +he was aroused by the shrill voice of his wife, and +grumbling to himself as he went, he mounted to her chamber, +first taking care, however, to set the entrance door wide +open, as an invitation to any chance traveller who might be +passing. + +At the moment Caderousse quitted his sentry-like watch +before the door, the road on which he so eagerly strained +his sight was void and lonely as a desert at mid-day. There +it lay stretching out into one interminable line of dust and +sand, with its sides bordered by tall, meagre trees, +altogether presenting so uninviting an appearance, that no +one in his senses could have imagined that any traveller, at +liberty to regulate his hours for journeying, would choose +to expose himself in such a formidable Sahara. Nevertheless, +had Caderousse but retained his post a few minutes longer, +he might have caught a dim outline of something approaching +from the direction of Bellegarde; as the moving object drew +nearer, he would easily have perceived that it consisted of +a man and horse, between whom the kindest and most amiable +understanding appeared to exist. The horse was of Hungarian +breed, and ambled along at an easy pace. His rider was a +priest, dressed in black, and wearing a three-cornered hat; +and, spite of the ardent rays of a noonday sun, the pair +came on with a fair degree of rapidity. + +Having arrived before the Pont du Gard, the horse stopped, +but whether for his own pleasure or that of his rider would +have been difficult to say. However that might have been, +the priest, dismounting, led his steed by the bridle in +search of some place to which he could secure him. Availing +himself of a handle that projected from a half-fallen door, +he tied the animal safely and having drawn a red cotton +handkerchief, from his pocket, wiped away the perspiration +that streamed from his brow, then, advancing to the door, +struck thrice with the end of his iron-shod stick. At this +unusual sound, a huge black dog came rushing to meet the +daring assailant of his ordinarily tranquil abode, snarling +and displaying his sharp white teeth with a determined +hostility that abundantly proved how little he was +accustomed to society. At that moment a heavy footstep was +heard descending the wooden staircase that led from the +upper floor, and, with many bows and courteous smiles, mine +host of the Pont du Gard besought his guest to enter. + +"You are welcome, sir, most welcome!" repeated the +astonished Caderousse. "Now, then, Margotin," cried he, +speaking to the dog, "will you be quiet? Pray don't heed +him, sir! -- he only barks, he never bites. I make no doubt +a glass of good wine would be acceptable this dreadfully hot +day." Then perceiving for the first time the garb of the +traveller he had to entertain, Caderousse hastily exclaimed: +"A thousand pardons! I really did not observe whom I had the +honor to receive under my poor roof. What would the abbe +please to have? What refreshment can I offer? All I have is +at his service." + +The priest gazed on the person addressing him with a long +and searching gaze -- there even seemed a disposition on his +part to court a similar scrutiny on the part of the +inn-keeper; then, observing in the countenance of the latter +no other expression than extreme surprise at his own want of +attention to an inquiry so courteously worded, he deemed it +as well to terminate this dumb show, and therefore said, +speaking with a strong Italian accent, "You are, I presume, +M. Caderousse?" + +"Yes, sir," answered the host, even more surprised at the +question than he had been by the silence which had preceded +it; "I am Gaspard Caderousse, at your service." + +"Gaspard Caderousse," rejoined the priest. "Yes, -- +Christian and surname are the same. You formerly lived, I +believe in the Allees de Meillan, on the fourth floor?" + +"I did." + +"And you followed the business of a tailor?" + +"True, I was a tailor, till the trade fell off. It is so hot +at Marseilles, that really I believe that the respectable +inhabitants will in time go without any clothing whatever. +But talking of heat, is there nothing I can offer you by way +of refreshment?" + +"Yes; let me have a bottle of your best wine, and then, with +your permission, we will resume our conversation from where +we left off." + +"As you please, sir," said Caderousse, who, anxious not to +lose the present opportunity of finding a customer for one +of the few bottles of Cahors still remaining in his +possession, hastily raised a trap-door in the floor of the +apartment they were in, which served both as parlor and +kitchen. Upon issuing forth from his subterranean retreat at +the expiration of five minutes, he found the abbe seated +upon a wooden stool, leaning his elbow on a table, while +Margotin, whose animosity seemed appeased by the unusual +command of the traveller for refreshments, had crept up to +him, and had established himself very comfortably between +his knees, his long, skinny neck resting on his lap, while +his dim eye was fixed earnestly on the traveller's face. + +"Are you quite alone?" inquired the guest, as Caderousse +placed before him the bottle of wine and a glass. + +"Quite, quite alone," replied the man -- "or, at least, +practically so, for my poor wife, who is the only person in +the house besides myself, is laid up with illness, and +unable to render me the least assistance, poor thing!" + +"You are married, then?" said the priest, with a show of +interest, glancing round as he spoke at the scanty +furnishings of the apartment. + +"Ah, sir," said Caderousse with a sigh, "it is easy to +perceive I am not a rich man; but in this world a man does +not thrive the better for being honest." The abbe fixed on +him a searching, penetrating glance. + +"Yes, honest -- I can certainly say that much for myself," +continued the inn-keeper, fairly sustaining the scrutiny of +the abbe's gaze; "I can boast with truth of being an honest +man; and," continued he significantly, with a hand on his +breast and shaking his head, "that is more than every one +can say nowadays." + +"So much the better for you, if what you assert be true," +said the abbe; "for I am firmly persuaded that, sooner or +later, the good will be rewarded, and the wicked punished." + +"Such words as those belong to your profession," answered +Caderousse, "and you do well to repeat them; but," added he, +with a bitter expression of countenance, "one is free to +believe them or not, as one pleases." + +"You are wrong to speak thus," said the abbe; "and perhaps I +may, in my own person, be able to prove to you how +completely you are in error." + +"What mean you?" inquired Caderousse with a look of +surprise. + +"In the first place, I must be satisfied that you are the +person I am in search of." + +"What proofs do you require?" + +"Did you, in the year 1814 or 1815, know anything of a young +sailor named Dantes?" + +"Dantes? Did I know poor dear Edmond? Why, Edmond Dantes and +myself were intimate friends!" exclaimed Caderousse, whose +countenance flushed darkly as he caught the penetrating gaze +of the abbe fixed on him, while the clear, calm eye of the +questioner seemed to dilate with feverish scrutiny. + +"You remind me," said the priest, "that the young man +concerning whom I asked you was said to bear the name of +Edmond." + +"Said to bear the name!" repeated Caderousse, becoming +excited and eager. "Why, he was so called as truly as I +myself bore the appellation of Gaspard Caderousse; but tell +me, I pray, what has become of poor Edmond? Did you know +him? Is he alive and at liberty? Is he prosperous and +happy?" + +"He died a more wretched, hopeless, heart-broken prisoner +than the felons who pay the penalty of their crimes at the +galleys of Toulon." + +A deadly pallor followed the flush on the countenance of +Caderousse, who turned away, and the priest saw him wiping +the tears from his eyes with the corner of the red +handkerchief twisted round his head. + +"Poor fellow, poor fellow!" murmured Caderousse. "Well, +there, sir, is another proof that good people are never +rewarded on this earth, and that none but the wicked +prosper. Ah," continued Caderousse, speaking in the highly +colored language of the south, "the world grows worse and +worse. Why does not God, if he really hates the wicked, as +he is said to do, send down brimstone and fire, and consume +them altogether?" + +"You speak as though you had loved this young Dantes," +observed the abbe, without taking any notice of his +companion's vehemence. + +"And so I did," replied Caderousse; "though once, I confess, +I envied him his good fortune. But I swear to you, sir, I +swear to you, by everything a man holds dear, I have, since +then, deeply and sincerely lamented his unhappy fate." There +was a brief silence, during which the fixed, searching eye +of the abbe was employed in scrutinizing the agitated +features of the inn-keeper. + +"You knew the poor lad, then?" continued Caderousse. + +"I was called to see him on his dying bed, that I might +administer to him the consolations of religion." + +"And of what did he die?" asked Caderousse in a choking +voice. + +"Of what, think you, do young and strong men die in prison, +when they have scarcely numbered their thirtieth year, +unless it be of imprisonment?" Caderousse wiped away the +large beads of perspiration that gathered on his brow. + +"But the strangest part of the story is," resumed the abbe, +"that Dantes, even in his dying moments, swore by his +crucified Redeemer, that he was utterly ignorant of the +cause of his detention." + +"And so he was," murmured Caderousse. "How should he have +been otherwise? Ah, sir, the poor fellow told you the +truth." + +"And for that reason, he besought me to try and clear up a +mystery he had never been able to penetrate, and to clear +his memory should any foul spot or stain have fallen on it." + +And here the look of the abbe, becoming more and more fixed, +seemed to rest with ill-concealed satisfaction on the gloomy +depression which was rapidly spreading over the countenance +of Caderousse. + +"A rich Englishman," continued the abbe, "who had been his +companion in misfortune, but had been released from prison +during the second restoration, was possessed of a diamond of +immense value; this jewel he bestowed on Dantes upon himself +quitting the prison, as a mark of his gratitude for the +kindness and brotherly care with which Dantes had nursed him +in a severe illness he underwent during his confinement. +Instead of employing this diamond in attempting to bribe his +jailers, who might only have taken it and then betrayed him +to the governor, Dantes carefully preserved it, that in the +event of his getting out of prison he might have wherewithal +to live, for the sale of such a diamond would have quite +sufficed to make his fortune." + +"Then, I suppose," asked Caderousse, with eager, glowing +looks, "that it was a stone of immense value?" + +"Why, everything is relative," answered the abbe. "To one in +Edmond's position the diamond certainly was of great value. +It was estimated at fifty thousand francs." + +"Bless me!" exclaimed Caderousse, "fifty thousand francs! +Surely the diamond was as large as a nut to be worth all +that." + +"No," replied the abbe, "it was not of such a size as that; +but you shall judge for yourself. I have it with me." + +The sharp gaze of Caderousse was instantly directed towards +the priest's garments, as though hoping to discover the +location of the treasure. Calmly drawing forth from his +pocket a small box covered with black shagreen, the abbe +opened it, and displayed to the dazzled eyes of Caderousse +the sparkling jewel it contained, set in a ring of admirable +workmanship. "And that diamond," cried Caderousse, almost +breathless with eager admiration, "you say, is worth fifty +thousand francs?" + +"It is, without the setting, which is also valuable," +replied the abbe, as he closed the box, and returned it to +his pocket, while its brilliant hues seemed still to dance +before the eyes of the fascinated inn-keeper. + +"But how comes the diamond in your possession, sir? Did +Edmond make you his heir?" + +"No, merely his testamentary executor. `I once possessed +four dear and faithful friends, besides the maiden to whom I +was betrothed' he said; `and I feel convinced they have all +unfeignedly grieved over my loss. The name of one of the +four friends is Caderousse.'" The inn-keeper shivered. + +"`Another of the number,'" continued the abbe, without +seeming to notice the emotion of Caderousse, "`is called +Danglars; and the third, in spite of being my rival, +entertained a very sincere affection for me.'" A fiendish +smile played over the features of Caderousse, who was about +to break in upon the abbe's speech, when the latter, waving +his hand, said, "Allow me to finish first, and then if you +have any observations to make, you can do so afterwards. +`The third of my friends, although my rival, was much +attached to me, -- his name was Fernand; that of my +betrothed was' -- Stay, stay," continued the abbe, "I have +forgotten what he called her." + +"Mercedes," said Caderousse eagerly. + +"True," said the abbe, with a stifled sigh, "Mercedes it +was." + +"Go on," urged Caderousse. + +"Bring me a carafe of water," said the abbe. + +Caderousse quickly performed the stranger's bidding; and +after pouring some into a glass, and slowly swallowing its +contents, the abbe, resuming his usual placidity of manner, +said, as he placed his empty glass on the table, -- "Where +did we leave off?" + +"The name of Edmond's betrothed was Mercedes." + +"To be sure. `You will go to Marseilles,' said Dantes, -- +for you understand, I repeat his words just as he uttered +them. Do you understand?" + +"Perfectly." + +"`You will sell this diamond; you will divide the money into +five equal parts, and give an equal portion to these good +friends, the only persons who have loved me upon earth.'" + +"But why into five parts?" asked Caderousse; "you only +mentioned four persons." + +"Because the fifth is dead, as I hear. The fifth sharer in +Edmond's bequest, was his own father." + +"Too true, too true!" ejaculated Caderousse, almost +suffocated by the contending passions which assailed him, +"the poor old man did die." + +"I learned so much at Marseilles," replied the abbe, making +a strong effort to appear indifferent; "but from the length +of time that has elapsed since the death of the elder +Dantes, I was unable to obtain any particulars of his end. +Can you enlighten me on that point?" + +"I do not know who could if I could not," said Caderousse. +"Why, I lived almost on the same floor with the poor old +man. Ah, yes, about a year after the disappearance of his +son the poor old man died." + +"Of what did he die?" + +"Why, the doctors called his complaint gastro-enteritis, I +believe; his acquaintances say he died of grief; but I, who +saw him in his dying moments, I say he died of" -- +Caderousse paused. + +"Of what?" asked the priest, anxiously and eagerly. + +"Why, of downright starvation." + +"Starvation!" exclaimed the abbe, springing from his seat. +"Why, the vilest animals are not suffered to die by such a +death as that. The very dogs that wander houseless and +homeless in the streets find some pitying hand to cast them +a mouthful of bread; and that a man, a Christian, should be +allowed to perish of hunger in the midst of other men who +call themselves Christians, is too horrible for belief. Oh, +it is impossible -- utterly impossible!" + +"What I have said, I have said," answered Caderousse. + +"And you are a fool for having said anything about it," said +a voice from the top of the stairs. "Why should you meddle +with what does not concern you?" + +The two men turned quickly, and saw the sickly countenance +of La Carconte peering between the baluster rails; attracted +by the sound of voices, she had feebly dragged herself down +the stairs, and, seated on the lower step, head on knees, +she had listened to the foregoing conversation. "Mind your +own business, wife," replied Caderousse sharply. "This +gentleman asks me for information, which common politeness +will not permit me to refuse." + +"Politeness, you simpleton!" retorted La Carconte. "What +have you to do with politeness, I should like to know? +Better study a little common prudence. How do you know the +motives that person may have for trying to extract all he +can from you?" + +"I pledge you my word, madam," said the abbe, "that my +intentions are good; and that you husband can incur no risk, +provided he answers me candidly." + +"Ah, that's all very fine," retorted the woman. "Nothing is +easier than to begin with fair promises and assurances of +nothing to fear; but when poor, silly folks, like my husband +there, have been persuaded to tell all they know, the +promises and assurances of safety are quickly forgotten; and +at some moment when nobody is expecting it, behold trouble +and misery, and all sorts of persecutions, are heaped on the +unfortunate wretches, who cannot even see whence all their +afflictions come." + +"Nay, nay, my good woman, make yourself perfectly easy, I +beg of you. Whatever evils may befall you, they will not be +occasioned by my instrumentality, that I solemnly promise +you." + +La Carconte muttered a few inarticulate words, then let her +head again drop upon her knees, and went into a fit of ague, +leaving the two speakers to resume the conversation, but +remaining so as to be able to hear every word they uttered. +Again the abbe had been obliged to swallow a draught of +water to calm the emotions that threatened to overpower him. +When he had sufficiently recovered himself, he said, "It +appears, then, that the miserable old man you were telling +me of was forsaken by every one. Surely, had not such been +the case, he would not have perished by so dreadful a +death." + +"Why, he was not altogether forsaken," continued Caderousse, +"for Mercedes the Catalan and Monsieur Morrel were very kind +to him; but somehow the poor old man had contracted a +profound hatred for Fernand -- the very person," added +Caderousse with a bitter smile, "that you named just now as +being one of Dantes' faithful and attached friends." + +"And was he not so?" asked the abbe. + +"Gaspard, Gaspard!" murmured the woman, from her seat on the +stairs, "mind what you are saying!" Caderousse made no reply +to these words, though evidently irritated and annoyed by +the interruption, but, addressing the abbe, said, "Can a man +be faithful to another whose wife he covets and desires for +himself? But Dantes was so honorable and true in his own +nature, that he believed everybody's professions of +friendship. Poor Edmond, he was cruelly deceived; but it was +fortunate that he never knew, or he might have found it more +difficult, when on his deathbed, to pardon his enemies. And, +whatever people may say," continued Caderousse, in his +native language, which was not altogether devoid of rude +poetry, "I cannot help being more frightened at the idea of +the malediction of the dead than the hatred of the living." + +"Imbecile!" exclaimed La Carconte. + +"Do you, then, know in what manner Fernand injured Dantes?" +inquired the abbe of Caderousse. + +"Do I? No one better." + +"Speak out then, say what it was!" + +"Gaspard!" cried La Carconte, "do as you will; you are +master -- but if you take my advice you'll hold your +tongue." + +"Well, wife," replied Caderousse, "I don't know but what +you're right!" + +"So you will say nothing?" asked the abbe. + +"Why, what good would it do?" asked Caderousse. "If the poor +lad were living, and came to me and begged that I would +candidly tell which were his true and which his false +friends, why, perhaps, I should not hesitate. But you tell +me he is no more, and therefore can have nothing to do with +hatred or revenge, so let all such feeling be buried with +him." + +"You prefer, then," said the abbe, "that I should bestow on +men you say are false and treacherous, the reward intended +for faithful friendship?" + +"That is true enough," returned Caderousse. "You say truly, +the gift of poor Edmond was not meant for such traitors as +Fernand and Danglars; besides, what would it be to them? no +more than a drop of water in the ocean." + +"Remember," chimed in La Carconte, "those two could crush +you at a single blow!" + +"How so?" inquired the abbe. "Are these persons, then, so +rich and powerful?" + +"Do you not know their history?" + +"I do not. Pray relate it to me!" Caderousse seemed to +reflect for a few moments, then said, "No, truly, it would +take up too much time." + +"Well, my good friend," returned the abbe, in a tone that +indicated utter indifference on his part, "you are at +liberty, either to speak or be silent, just as you please; +for my own part, I respect your scruples and admire your +sentiments; so let the matter end. I shall do my duty as +conscientiously as I can, and fulfil my promise to the dying +man. My first business will be to dispose of this diamond." +So saying, the abbe again draw the small box from his +pocket, opened it, and contrived to hold it in such a light, +that a bright flash of brilliant hues passed before the +dazzled gaze of Caderousse. + +"Wife, wife!" cried he in a hoarse voice, "come here!" + +"Diamond!" exclaimed La Carconte, rising and descending to +the chamber with a tolerably firm step; "what diamond are +you talking about?" + +"Why, did you not hear all we said?" inquired Caderousse. +"It is a beautiful diamond left by poor Edmond Dantes, to be +sold, and the money divided between his father, Mercedes, +his betrothed bride, Fernand, Danglars, and myself. The +jewel is worth at least fifty thousand francs." + +"Oh, what a magnificent jewel!" cried the astonished woman. + +"The fifth part of the profits from this stone belongs to us +then, does it not?" asked Caderousse. + +"It does," replied the abbe; "with the addition of an equal +division of that part intended for the elder Dantes, which I +believe myself at liberty to divide equally with the four +survivors." + +"And why among us four?" inquired Caderousse. + +"As being the friends Edmond esteemed most faithful and +devoted to him." + +"I don't call those friends who betray and ruin you," +murmured the wife in her turn, in a low, muttering voice. + +"Of course not!" rejoined Caderousse quickly; "no more do I, +and that was what I was observing to this gentleman just +now. I said I looked upon it as a sacrilegious profanation +to reward treachery, perhaps crime." + +"Remember," answered the abbe calmly, as he replaced the +jewel and its case in the pocket of his cassock, "it is your +fault, not mine, that I do so. You will have the goodness to +furnish me with the address of both Fernand and Danglars, in +order that I may execute Edmond's last wishes." The +agitation of Caderousse became extreme, and large drops of +perspiration rolled from his heated brow. As he saw the abbe +rise from his seat and go towards the door, as though to +ascertain if his horse were sufficiently refreshed to +continue his journey, Caderousse and his wife exchanged +looks of deep meaning. + +"There, you see, wife," said the former, "this splendid +diamond might all be ours, if we chose!" + +"Do you believe it?" + +"Why, surely a man of his holy profession would not deceive +us!" + +"Well," replied La Carconte, "do as you like. For my part, I +wash my hands of the affair." So saying, she once more +climbed the staircase leading to her chamber, her body +convulsed with chills, and her teeth rattling in her head, +in spite of the intense heat of the weather. Arrived at the +top stair, she turned round, and called out, in a warning +tone, to her husband, "Gaspard, consider well what you are +about to do!" + +"I have both reflected and decided," answered he. La +Carconte then entered her chamber, the flooring of which +creaked beneath her heavy, uncertain tread, as she proceeded +towards her arm-chair, into which she fell as though +exhausted. + +"Well," asked the abbe, as he returned to the apartment +below, "what have you made up your mind to do?" + +"To tell you all I know," was the reply. + +"I certainly think you act wisely in so doing," said the +priest. "Not because I have the least desire to learn +anything you may please to conceal from me, but simply that +if, through your assistance, I could distribute the legacy +according to the wishes of the testator, why, so much the +better, that is all." + +"I hope it may be so," replied Caderousse, his face flushed +with cupidity. + +"I am all attention," said the abbe. + +"Stop a minute," answered Caderousse; "we might be +interrupted in the most interesting part of my story, which +would be a pity; and it is as well that your visit hither +should be made known only to ourselves." With these words he +went stealthily to the door, which he closed, and, by way of +still greater precaution, bolted and barred it, as he was +accustomed to do at night. During this time the abbe had +chosen his place for listening at his ease. He removed his +seat into a corner of the room, where he himself would be in +deep shadow, while the light would be fully thrown on the +narrator; then, with head bent down and hands clasped, or +rather clinched together, he prepared to give his whole +attention to Caderousse, who seated himself on the little +stool, exactly opposite to him. + +"Remember, this is no affair of mine," said the trembling +voice of La Carconte, as though through the flooring of her +chamber she viewed the scene that was enacting below. + +"Enough, enough!" replied Caderousse; "say no more about it; +I will take all the consequences upon myself." And he began +his story. + + + +Chapter 27 +The Story. + +"First, sir," said Caderousse, "you must make me a promise." + +"What is that?" inquired the abbe. + +"Why, if you ever make use of the details I am about to give +you, that you will never let any one know that it was I who +supplied them; for the persons of whom I am about to talk +are rich and powerful, and if they only laid the tips of +their fingers on me, I should break to pieces like glass." + +"Make yourself easy, my friend," replied the abbe. "I am a +priest, and confessions die in my breast. Recollect, our +only desire is to carry out, in a fitting manner, the last +wishes of our friend. Speak, then, without reserve, as +without hatred; tell the truth, the whole truth; I do not +know, never may know, the persons of whom you are about to +speak; besides, I am an Italian, and not a Frenchman, and +belong to God, and not to man, and I shall shortly retire to +my convent, which I have only quitted to fulfil the last +wishes of a dying man." This positive assurance seemed to +give Caderousse a little courage. + +"Well, then, under these circumstances," said Caderousse, "I +will, I even believe I ought to undeceive you as to the +friendship which poor Edmond thought so sincere and +unquestionable." + +"Begin with his father, if you please." said the abbe; +"Edmond talked to me a great deal about the old man for whom +he had the deepest love." + +"The history is a sad one, sir," said Caderousse, shaking +his head; "perhaps you know all the earlier part of it?" + +"Yes." answered the abbe; "Edmond related to me everything +until the moment when he was arrested in a small cabaret +close to Marseilles." + +"At La Reserve! Oh, yes; I can see it all before me this +moment." + +"Was it not his betrothal feast?" + +"It was and the feast that began so gayly had a very +sorrowful ending; a police commissary, followed by four +soldiers, entered, and Dantes was arrested." + +"Yes, and up to this point I know all," said the priest. +"Dantes himself only knew that which personally concerned +him, for he never beheld again the five persons I have named +to you, or heard mention of any one of them." + +"Well, when Dantes was arrested, Monsieur Morrel hastened to +obtain the particulars, and they were very sad. The old man +returned alone to his home, folded up his wedding suit with +tears in his eyes, and paced up and down his chamber the +whole day, and would not go to bed at all, for I was +underneath him and heard him walking the whole night; and +for myself, I assure you I could not sleep either, for the +grief of the poor father gave me great uneasiness, and every +step he took went to my heart as really as if his foot had +pressed against my breast. The next day Mercedes came to +implore the protection of M. de Villefort; she did not +obtain it, however, and went to visit the old man; when she +saw him so miserable and heart-broken, having passed a +sleepless night, and not touched food since the previous +day, she wished him to go with her that she might take care +of him; but the old man would not consent. `No,' was the old +man's reply, `I will not leave this house, for my poor dear +boy loves me better than anything in the world; and if he +gets out of prison he will come and see me the first thing, +and what would he think if I did not wait here for him?' I +heard all this from the window, for I was anxious that +Mercedes should persuade the old man to accompany her, for +his footsteps over my head night and day did not leave me a +moment's repose." + +"But did you not go up-stairs and try to console the poor +old man?" asked the abbe. + +"Ah, sir," replied Caderousse, "we cannot console those who +will not be consoled, and he was one of these; besides, I +know not why, but he seemed to dislike seeing me. One night, +however, I heard his sobs, and I could not resist my desire +to go up to him, but when I reached his door he was no +longer weeping but praying. I cannot now repeat to you, sir, +all the eloquent words and imploring language he made use +of; it was more than piety, it was more than grief, and I, +who am no canter, and hate the Jesuits, said then to myself, +`It is really well, and I am very glad that I have not any +children; for if I were a father and felt such excessive +grief as the old man does, and did not find in my memory or +heart all he is now saying, I should throw myself into the +sea at once, for I could not bear it.'" + +"Poor father!" murmured the priest. + +"From day to day he lived on alone, and more and more +solitary. M. Morrel and Mercedes came to see him, but his +door was closed; and, although I was certain he was at home, +he would not make any answer. One day, when, contrary to his +custom, he had admitted Mercedes, and the poor girl, in +spite of her own grief and despair, endeavored to console +him, he said to her, -- `Be assured, my dear daughter, he is +dead; and instead of expecting him, it is he who is awaiting +us; I am quite happy, for I am the oldest, and of course +shall see him first.' However well disposed a person may be, +why you see we leave off after a time seeing persons who are +in sorrow, they make one melancholy; and so at last old +Dantes was left all to himself, and I only saw from time to +time strangers go up to him and come down again with some +bundle they tried to hide; but I guessed what these bundles +were, and that he sold by degrees what he had to pay for his +subsistence. At length the poor old fellow reached the end +of all he had; he owed three quarters' rent, and they +threatened to turn him out; he begged for another week, +which was granted to him. I know this, because the landlord +came into my apartment when he left his. For the first three +days I heard him walking about as usual, but, on the fourth +I heard nothing. I then resolved to go up to him at all +risks. The door was closed, but I looked through the +keyhole, and saw him so pale and haggard, that believing him +very ill, I went and told M. Morrel and then ran on to +Mercedes. They both came immediately, M. Morrel bringing a +doctor, and the doctor said it was inflammation of the +bowels, and ordered him a limited diet. I was there, too, +and I never shall forget the old man's smile at this +prescription. From that time he received all who came; he +had an excuse for not eating any more; the doctor had put +him on a diet." The abbe uttered a kind of groan. "The story +interests you, does it not, sir?" inquired Caderousse. + +"Yes," replied the abbe, "it is very affecting." + +"Mercedes came again, and she found him so altered that she +was even more anxious than before to have him taken to her +own home. This was M. Morrel's wish also, who would fain +have conveyed the old man against his consent; but the old +man resisted, and cried so that they were actually +frightened. Mercedes remained, therefore, by his bedside, +and M. Morrel went away, making a sign to the Catalan that +he had left his purse on the chimney-piece. But availing +himself of the doctor's order, the old man would not take +any sustenance; at length (after nine days of despair and +fasting), the old man died, cursing those who had caused his +misery, and saying to Mercedes, `If you ever see my Edmond +again, tell him I die blessing him.'" The abbe rose from his +chair, made two turns round the chamber, and pressed his +trembling hand against his parched throat. "And you believe +he died" -- + +"Of hunger, sir, of hunger," said Caderousse. "I am as +certain of it as that we two are Christians." + +The abbe, with a shaking hand, seized a glass of water that +was standing by him half-full, swallowed it at one gulp, and +then resumed his seat, with red eyes and pale cheeks. "This +was, indeed, a horrid event." said he in a hoarse voice. + +"The more so, sir, as it was men's and not God's doing." + +"Tell me of those men," said the abbe, "and remember too," +he added in an almost menacing tone, "you have promised to +tell me everything. Tell me, therefore, who are these men +who killed the son with despair, and the father with +famine?" + +"Two men jealous of him, sir; one from love, and the other +from ambition, -- Fernand and Danglars." + +"How was this jealousy manifested? Speak on." + +"They denounced Edmond as a Bonapartist agent." + +"Which of the two denounced him? Which was the real +delinquent?" + +"Both, sir; one with a letter, and the other put it in the +post." + +"And where was this letter written?" + +"At La Reserve, the day before the betrothal feast." + +"'Twas so, then -- 'twas so, then," murmured the abbe. "Oh, +Faria, Faria, how well did you judge men and things!" + +"What did you please to say, sir?" asked Caderousse. + +"Nothing, nothing," replied the priest; "go on." + +"It was Danglars who wrote the denunciation with his left +hand, that his writing might not be recognized, and Fernand +who put it in the post." + +"But," exclaimed the abbe suddenly, "you were there +yourself." + +"I!" said Caderousse, astonished; "who told you I was +there?" + +The abbe saw he had overshot the mark, and he added quickly, +-- "No one; but in order to have known everything so well, +you must have been an eye-witness." + +"True, true!" said Caderousse in a choking voice, "I was +there." + +"And did you not remonstrate against such infamy?" asked the +abbe; "if not, you were an accomplice." + +"Sir," replied Caderousse, "they had made me drink to such +an excess that I nearly lost all perception. I had only an +indistinct understanding of what was passing around me. I +said all that a man in such a state could say; but they both +assured me that it was a jest they were carrying on, and +perfectly harmless." + +"Next day -- next day, sir, you must have seen plain enough +what they had been doing, yet you said nothing, though you +were present when Dantes was arrested." + +"Yes, sir, I was there, and very anxious to speak; but +Danglars restrained me. `If he should really be guilty,' +said he, `and did really put in to the Island of Elba; if he +is really charged with a letter for the Bonapartist +committee at Paris, and if they find this letter upon him, +those who have supported him will pass for his accomplices.' +I confess I had my fears, in the state in which politics +then were, and I held my tongue. It was cowardly, I confess, +but it was not criminal." + +"I understand -- you allowed matters to take their course, +that was all." + +"Yes, sir," answered Caderousse; "and remorse preys on me +night and day. I often ask pardon of God, I swear to you, +because this action, the only one with which I have +seriously to reproach myself in all my life, is no doubt the +cause of my abject condition. I am expiating a moment of +selfishness, and so I always say to La Carconte, when she +complains, `Hold your tongue, woman; it is the will of +God.'" And Caderousse bowed his head with every sign of real +repentance. + +"Well, sir," said the abbe, "you have spoken unreservedly; +and thus to accuse yourself is to deserve pardon." + +"Unfortunately, Edmond is dead, and has not pardoned me." + +"He did not know," said the abbe. + +"But he knows it all now," interrupted Caderousse; "they say +the dead know everything." There was a brief silence; the +abbe rose and paced up and down pensively, and then resumed +his seat. "You have two or three times mentioned a M. +Morrel," he said; "who was he?" + +"The owner of the Pharaon and patron of Dantes." + +"And what part did he play in this sad drama?" inquired the +abbe. + +"The part of an honest man, full of courage and real regard. +Twenty times he interceded for Edmond. When the emperor +returned, he wrote, implored, threatened, and so +energetically, that on the second restoration he was +persecuted as a Bonapartist. Ten times, as I told you, he +came to see Dantes' father, and offered to receive him in +his own house; and the night or two before his death, as I +have already said, he left his purse on the mantelpiece, +with which they paid the old man's debts, and buried him +decently; and so Edmond's father died, as he had lived, +without doing harm to any one. I have the purse still by me +-- a large one, made of red silk." + +"And," asked the abbe, "is M. Morrel still alive?" + +"Yes," replied Caderousse. + +"In that case," replied the abbe, "he should be rich, +happy." + +Caderousse smiled bitterly. "Yes, happy as myself," said he. + +"What! M. Morrel unhappy?" exclaimed the abbe. + +"He is reduced almost to the last extremity -- nay, he is +almost at the point of dishonor." + +"How?" + +"Yes," continued Caderousse, "so it is; after five and +twenty years of labor, after having acquired a most +honorable name in the trade of Marseilles, M. Morrel is +utterly ruined; he has lost five ships in two years, has +suffered by the bankruptcy of three large houses, and his +only hope now is in that very Pharaon which poor Dantes +commanded, and which is expected from the Indies with a +cargo of cochineal and indigo. If this ship founders, like +the others, he is a ruined man." + +"And has the unfortunate man wife or children?" inquired the +abbe. + +"Yes, he has a wife, who through everything has behaved like +an angel; he has a daughter, who was about to marry the man +she loved, but whose family now will not allow him to wed +the daughter of a ruined man; he has, besides, a son, a +lieutenant in the army; and, as you may suppose, all this, +instead of lessening, only augments his sorrows. If he were +alone in the world he would blow out his brains, and there +would be an end." + +"Horrible!" ejaculated the priest. + +"And it is thus heaven recompenses virtue, sir," added +Caderousse. "You see, I, who never did a bad action but that +I have told you of -- am in destitution, with my poor wife +dying of fever before my very eyes, and I unable to do +anything in the world for her; I shall die of hunger, as old +Dantes did, while Fernand and Danglars are rolling in +wealth." + +"How is that?" + +"Because their deeds have brought them good fortune, while +honest men have been reduced to misery." + +"What has become of Danglars, the instigator, and therefore +the most guilty?" + +"What has become of him? Why, he left Marseilles, and was +taken, on the recommendation of M. Morrel, who did not know +his crime, as cashier into a Spanish bank. During the war +with Spain he was employed in the commissariat of the French +army, and made a fortune; then with that money he speculated +in the funds, and trebled or quadrupled his capital; and, +having first married his banker's daughter, who left him a +widower, he has married a second time, a widow, a Madame de +Nargonne, daughter of M. de Servieux, the king's +chamberlain, who is in high favor at court. He is a +millionaire, and they have made him a baron, and now he is +the Baron Danglars, with a fine residence in the Rue de +Mont-Blanc, with ten horses in his stables, six footmen in +his ante-chamber, and I know not how many millions in his +strongbox." + +"Ah!" said the abbe, in a peculiar tone, "he is happy." + +"Happy? Who can answer for that? Happiness or unhappiness is +the secret known but to one's self and the walls -- walls +have ears but no tongue; but if a large fortune produces +happiness, Danglars is happy." + +"And Fernand?" + +"Fernand? Why, much the same story." + +"But how could a poor Catalan fisher-boy, without education +or resources, make a fortune? I confess this staggers me." + +"And it has staggered everybody. There must have been in his +life some strange secret that no one knows." + +"But, then, by what visible steps has he attained this high +fortune or high position?" + +"Both, sir -- he has both fortune and position -- both." + +"This must be impossible!" + +"It would seem so; but listen, and you will understand. Some +days before the return of the emperor, Fernand was drafted. +The Bourbons left him quietly enough at the Catalans, but +Napoleon returned, a special levy was made, and Fernand was +compelled to join. I went too; but as I was older than +Fernand, and had just married my poor wife, I was only sent +to the coast. Fernand was enrolled in the active troop, went +to the frontier with his regiment, and was at the battle of +Ligny. The night after that battle he was sentry at the door +of a general who carried on a secret correspondence with the +enemy. That same night the general was to go over to the +English. He proposed to Fernand to accompany him; Fernand +agreed to do so, deserted his post, and followed the +general. Fernand would have been court-martialed if Napoleon +had remained on the throne, but his action was rewarded by +the Bourbons. He returned to France with the epaulet of +sub-lieutenant, and as the protection of the general, who is +in the highest favor, was accorded to him, he was a captain +in 1823, during the Spanish war -- that is to say, at the +time when Danglars made his early speculations. Fernand was +a Spaniard, and being sent to Spain to ascertain the feeling +of his fellow-countrymen, found Danglars there, got on very +intimate terms with him, won over the support of the +royalists at the capital and in the provinces, received +promises and made pledges on his own part, guided his +regiment by paths known to himself alone through the +mountain gorges which were held by the royalists, and, in +fact, rendered such services in this brief campaign that, +after the taking of Trocadero, he was made colonel, and +received the title of count and the cross of an officer of +the Legion of Honor." + +"Destiny! destiny!" murmured the abbe. + +"Yes, but listen: this was not all. The war with Spain being +ended, Fernand's career was checked by the long peace which +seemed likely to endure throughout Europe. Greece only had +risen against Turkey, and had begun her war of independence; +all eyes were turned towards Athens -- it was the fashion to +pity and support the Greeks. The French government, without +protecting them openly, as you know, gave countenance to +volunteer assistance. Fernand sought and obtained leave to +go and serve in Greece, still having his name kept on the +army roll. Some time after, it was stated that the Comte de +Morcerf (this was the name he bore) had entered the service +of Ali Pasha with the rank of instructor-general. Ali Pasha +was killed, as you know, but before he died he recompensed +the services of Fernand by leaving him a considerable sum, +with which he returned to France, when he was gazetted +lieutenant-general." + +"So that now?" -- inquired the abbe. + +"So that now," continued Caderousse, "he owns a magnificent +house -- No. 27, Rue du Helder, Paris." The abbe opened his +mouth, hesitated for a moment, then, making an effort at +self-control, he said, "And Mercedes -- they tell me that +she has disappeared?" + +"Disappeared," said Caderousse, "yes, as the sun disappears, +to rise the next day with still more splendor." + +"Has she made a fortune also?" inquired the abbe, with an +ironical smile. + +"Mercedes is at this moment one of the greatest ladies in +Paris," replied Caderousse. + +"Go on," said the abbe; "it seems as if I were listening to +the story of a dream. But I have seen things so +extraordinary, that what you tell me seems less astonishing +than it otherwise might." + +"Mercedes was at first in the deepest despair at the blow +which deprived her of Edmond. I have told you of her +attempts to propitiate M. de Villefort, her devotion to the +elder Dantes. In the midst of her despair, a new affliction +overtook her. This was the departure of Fernand -- of +Fernand, whose crime she did not know, and whom she regarded +as her brother. Fernand went, and Mercedes remained alone. +Three months passed and still she wept -- no news of Edmond, +no news of Fernand, no companionship save that of an old man +who was dying with despair. One evening, after a day of +accustomed vigil at the angle of two roads leading to +Marseilles from the Catalans, she returned to her home more +depressed than ever. Suddenly she heard a step she knew, +turned anxiously around, the door opened, and Fernand, +dressed in the uniform of a sub-lieutenant, stood before +her. It was not the one she wished for most, but it seemed +as if a part of her past life had returned to her. Mercedes +seized Fernand's hands with a transport which he took for +love, but which was only joy at being no longer alone in the +world, and seeing at last a friend, after long hours of +solitary sorrow. And then, it must be confessed, Fernand had +never been hated -- he was only not precisely loved. Another +possessed all Mercedes' heart; that other was absent, had +disappeared, perhaps was dead. At this last thought Mercedes +burst into a flood of tears, and wrung her hands in agony; +but the thought, which she had always repelled before when +it was suggested to her by another, came now in full force +upon her mind; and then, too, old Dantes incessantly said to +her, `Our Edmond is dead; if he were not, he would return to +us.' The old man died, as I have told you; had he lived, +Mercedes, perchance, had not become the wife of another, for +he would have been there to reproach her infidelity. Fernand +saw this, and when he learned of the old man's death he +returned. He was now a lieutenant. At his first coming he +had not said a word of love to Mercedes; at the second he +reminded her that he loved her. Mercedes begged for six +months more in which to await and mourn for Edmond." + +"So that," said the abbe, with a bitter smile, "that makes +eighteen months in all. What more could the most devoted +lover desire?" Then he murmured the words of the English +poet, "`Frailty, thy name is woman.'" + +"Six months afterwards," continued Caderousse, "the marriage +took place in the church of Accoules." + +"The very church in which she was to have married Edmond," +murmured the priest; "there was only a change of +bride-grooms." + +"Well, Mercedes was married," proceeded Caderousse; "but +although in the eyes of the world she appeared calm, she +nearly fainted as she passed La Reserve, where, eighteen +months before, the betrothal had been celebrated with him +whom she might have known she still loved had she looked to +the bottom of her heart. Fernand, more happy, but not more +at his ease -- for I saw at this time he was in constant +dread of Edmond's return -- Fernand was very anxious to get +his wife away, and to depart himself. There were too many +unpleasant possibilities associated with the Catalans, and +eight days after the wedding they left Marseilles." + +"Did you ever see Mercedes again?" inquired the priest. + +"Yes, during the Spanish war, at Perpignan, where Fernand +had left her; she was attending to the education of her +son." The abbe started. "Her son?" said he. + +"Yes," replied Caderousse, "little Albert." + +"But, then, to be able to instruct her child," continued the +abbe, "she must have received an education herself. I +understood from Edmond that she was the daughter of a simple +fisherman, beautiful but uneducated." + +"Oh," replied Caderousse, "did he know so little of his +lovely betrothed? Mercedes might have been a queen, sir, if +the crown were to be placed on the heads of the loveliest +and most intelligent. Fernand's fortune was already waxing +great, and she developed with his growing fortune. She +learned drawing, music -- everything. Besides, I believe, +between ourselves, she did this in order to distract her +mind, that she might forget; and she only filled her head in +order to alleviate the weight on her heart. But now her +position in life is assured," continued Caderousse; "no +doubt fortune and honors have comforted her; she is rich, a +countess, and yet" -- Caderousse paused. + +"And yet what?" asked the abbe. + +"Yet, I am sure, she is not happy," said Caderousse. + +"What makes you believe this?" + +"Why, when I found myself utterly destitute, I thought my +old friends would, perhaps, assist me. So I went to +Danglars, who would not even receive me. I called on +Fernand, who sent me a hundred francs by his +valet-de-chambre." + +"Then you did not see either of them?" + +"No, but Madame de Morcerf saw me." + +"How was that?" + +"As I went away a purse fell at my feet -- it contained five +and twenty louis; I raised my head quickly, and saw +Mercedes, who at once shut the blind." + +"And M. de Villefort?" asked the abbe. + +"Oh, he never was a friend of mine, I did not know him, and +I had nothing to ask of him." + +"Do you not know what became of him, and the share he had in +Edmond's misfortunes?" + +"No; I only know that some time after Edmond's arrest, he +married Mademoiselle de Saint-Meran, and soon after left +Marseilles; no doubt he has been as lucky as the rest; no +doubt he is as rich as Danglars, as high in station as +Fernand. I only, as you see, have remained poor, wretched, +and forgotten." + +"You are mistaken, my friend," replied the abbe; "God may +seem sometimes to forget for a time, while his justice +reposes, but there always comes a moment when he remembers +-- and behold -- a proof!" As he spoke, the abbe took the +diamond from his pocket, and giving it to Caderousse, said, +-- "Here, my friend, take this diamond, it is yours." + +"What, for me only?" cried Caderousse, "ah, sir, do not jest +with me!" + +"This diamond was to have been shared among his friends. +Edmond had one friend only, and thus it cannot be divided. +Take the diamond, then, and sell it; it is worth fifty +thousand francs, and I repeat my wish that this sum may +suffice to release you from your wretchedness." + +"Oh, sir," said Caderousse, putting out one hand timidly, +and with the other wiping away the perspiration which +bedewed his brow, -- "Oh, sir, do not make a jest of the +happiness or despair of a man." + +"I know what happiness and what despair are, and I never +make a jest of such feelings. Take it, then, but in exchange +-- " + +Caderousse, who touched the diamond, withdrew his hand. The +abbe smiled. "In exchange," he continued, "give me the red +silk purse that M. Morrel left on old Dantes' chimney-piece, +and which you tell me is still in your hands." Caderousse, +more and more astonished, went toward a large oaken +cupboard, opened it, and gave the abbe a long purse of faded +red silk, round which were two copper runners that had once +been gilt. The abbe took it, and in return gave Caderousse +the diamond. + +"Oh, you are a man of God, sir," cried Caderousse; "for no +one knew that Edmond had given you this diamond, and you +might have kept it." + +"Which," said the abbe to himself, "you would have done." +The abbe rose, took his hat and gloves. "Well," he said, +"all you have told me is perfectly true, then, and I may +believe it in every particular." + +"See, sir," replied Caderousse, "in this corner is a +crucifix in holy wood -- here on this shelf is my wife's +testament; open this book, and I will swear upon it with my +hand on the crucifix. I will swear to you by my soul's +salvation, my faith as a Christian, I have told everything +to you as it occurred, and as the recording angel will tell +it to the ear of God at the day of the last judgment!" + +"'Tis well," said the abbe, convinced by his manner and tone +that Caderousse spoke the truth. "'Tis well, and may this +money profit you! Adieu; I go far from men who thus so +bitterly injure each other." The abbe with difficulty got +away from the enthusiastic thanks of Caderousse, opened the +door himself, got out and mounted his horse, once more +saluted the innkeeper, who kept uttering his loud farewells, +and then returned by the road he had travelled in coming. +When Caderousse turned around, he saw behind him La +Carconte, paler and trembling more than ever. "Is, then, all +that I have heard really true?" she inquired. + +"What? That he has given the diamond to us only?" inquired +Caderousse, half bewildered with joy; "yes, nothing more +true! See, here it is." The woman gazed at it a moment, and +then said, in a gloomy voice, "Suppose it's false?" +Caderousse started and turned pale. "False!" he muttered. +"False! Why should that man give me a false diamond?" + +"To get your secret without paying for it, you blockhead!" + +Caderousse remained for a moment aghast under the weight of +such an idea. "Oh!" he said, taking up his hat, which he +placed on the red handkerchief tied round his head, "we will +soon find out." + +"In what way?" + +"Why, the fair is on at Beaucaire, there are always +jewellers from Paris there, and I will show it to them. Look +after the house, wife, and I shall be back in two hours," +and Caderousse left the house in haste, and ran rapidly in +the direction opposite to that which the priest had taken. +"Fifty thousand francs!" muttered La Carconte when left +alone; "it is a large sum of money, but it is not a +fortune." + + + +Chapter 28 +The Prison Register. + +The day after that in which the scene we have just described +had taken place on the road between Bellegarde and +Beaucaire, a man of about thirty or two and thirty, dressed +in a bright blue frock coat, nankeen trousers, and a white +waistcoat, having the appearance and accent of an +Englishman, presented himself before the mayor of +Marseilles. "Sir," said he, "I am chief clerk of the house +of Thomson & French, of Rome. We are, and have been these +ten years, connected with the house of Morrel & Son, of +Marseilles. We have a hundred thousand francs or thereabouts +loaned on their securities, and we are a little uneasy at +reports that have reached us that the firm is on the brink +of ruin. I have come, therefore, express from Rome, to ask +you for information." + +"Sir," replied the mayor. "I know very well that during the +last four or five years misfortune has seemed to pursue M. +Morrel. He has lost four or five vessels, and suffered by +three or four bankruptcies; but it is not for me, although I +am a creditor myself to the amount of ten thousand francs, +to give any information as to the state of his finances. Ask +of me, as mayor, what is my opinion of M. Morrel, and I +shall say that he is a man honorable to the last degree, and +who has up to this time fulfilled every engagement with +scrupulous punctuality. This is all I can say, sir; if you +wish to learn more, address yourself to M. de Boville, the +inspector of prisons, No. 15, Rue de Nouailles; he has, I +believe, two hundred thousand francs in Morrel's hands, and +if there be any grounds for apprehension, as this is a +greater amount than mine, you will most probably find him +better informed than myself." + +The Englishman seemed to appreciate this extreme delicacy, +made his bow and went away, proceeding with a characteristic +British stride towards the street mentioned. M. de Boville +was in his private room, and the Englishman, on perceiving +him, made a gesture of surprise, which seemed to indicate +that it was not the first time he had been in his presence. +As to M. de Boville, he was in such a state of despair, that +it was evident all the faculties of his mind, absorbed in +the thought which occupied him at the moment, did not allow +either his memory or his imagination to stray to the past. +The Englishman, with the coolness of his nation, addressed +him in terms nearly similar to those with which he had +accosted the mayor of Marseilles. "Oh, sir," exclaimed M. de +Boville, "your fears are unfortunately but too well founded, +and you see before you a man in despair. I had two hundred +thousand francs placed in the hands of Morrel & Son; these +two hundred thousand francs were the dowry of my daughter, +who was to be married in a fortnight, and these two hundred +thousand francs were payable, half on the 15th of this +month, and the other half on the 15th of next month. I had +informed M. Morrel of my desire to have these payments +punctually, and he has been here within the last half-hour +to tell me that if his ship, the Pharaon, did not come into +port on the 15th, he would be wholly unable to make this +payment." + +"But," said the Englishman, "this looks very much like a +suspension of payment." + +"It looks more like bankruptcy!" exclaimed M. de Boville +despairingly. + +The Englishman appeared to reflect a moment, and then said, +-- "From which it would appear, sir, that this credit +inspires you with considerable apprehension?" + +"To tell you the truth, I consider it lost." + +"Well, then, I will buy it of you!" + +"You?" + +"Yes, I!" + +"But at a tremendous discount, of course?" + +"No, for two hundred thousand francs. Our house," added the +Englishman with a laugh, "does not do things in that way." + +"And you will pay" -- + +"Ready money." And the Englishman drew from his pocket a +bundle of bank-notes, which might have been twice the sum M. +de Boville feared to lose. A ray of joy passed across M. de +Boville's countenance, yet he made an effort at +self-control, and said, -- "Sir, I ought to tell you that, +in all probability, you will not realize six per cent of +this sum." + +"That's no affair of mine," replied the Englishman, "that is +the affair of the house of Thomson & French, in whose name I +act. They have, perhaps, some motive to serve in hastening +the ruin of a rival firm. But all I know, sir, is, that I am +ready to hand you over this sum in exchange for your +assignment of the debt. I only ask a brokerage." + +"Of course, that is perfectly just," cried M. de Boville. +"The commission is usually one and a half; will you have two +-- three -- five per cent, or even more? Whatever you say." + +"Sir," replied the Englishman, laughing, "I am like my +house, and do not do such things -- no, the commission I ask +is quite different." + +"Name it, sir, I beg." + +"You are the inspector of prisons?" + +"I have been so these fourteen years." + +"You keep the registers of entries and departures?" + +"I do." + +"To these registers there are added notes relative to the +prisoners?" + +"There are special reports on every prisoner." + +"Well, sir, I was educated at home by a poor devil of an +abbe, who disappeared suddenly. I have since learned that he +was confined in the Chateau d'If, and I should like to learn +some particulars of his death." + +"What was his name?" + +"The Abbe Faria." + +"Oh, I recollect him perfectly," cried M. de Boville; "he +was crazy." + +"So they said." + +"Oh, he was, decidedly." + +"Very possibly; but what sort of madness was it?" + +"He pretended to know of an immense treasure, and offered +vast sums to the government if they would liberate him." + +"Poor devil! -- and he is dead?" + +"Yes, sir, five or six months ago -- last February." + +"You have a good memory, sir, to recollect dates so well." + +"I recollect this, because the poor devil's death was +accompanied by a singular incident." + +"May I ask what that was?" said the Englishman with an +expression of curiosity, which a close observer would have +been astonished at discovering in his phlegmatic +countenance. + +"Oh dear, yes, sir; the abbe's dungeon was forty or fifty +feet distant from that of one of Bonaparte's emissaries, -- +one of those who had contributed the most to the return of +the usurper in 1815, -- a very resolute and very dangerous +man." + +"Indeed!" said the Englishman. + +"Yes," replied M. de Boville; "I myself had occasion to see +this man in 1816 or 1817, and we could only go into his +dungeon with a file of soldiers. That man made a deep +impression on me; I shall never forget his countenance!" The +Englishman smiled imperceptibly. + +"And you say, sir," he interposed, "that the two dungeons" +-- + +"Were separated by a distance of fifty feet; but it appears +that this Edmond Dantes" -- + +"This dangerous man's name was" -- + +"Edmond Dantes. It appears, sir, that this Edmond Dantes had +procured tools, or made them, for they found a tunnel +through which the prisoners held communication with one +another." + +"This tunnel was dug, no doubt, with an intention of +escape?" + +"No doubt; but unfortunately for the prisoners, the Abbe +Faria had an attack of catalepsy, and died." + +"That must have cut short the projects of escape." + +"For the dead man, yes," replied M. de Boville, "but not for +the survivor; on the contrary, this Dantes saw a means of +accelerating his escape. He, no doubt, thought that +prisoners who died in the Chateau d'If were interred in an +ordinary burial-ground, and he conveyed the dead man into +his own cell, took his place in the sack in which they had +sewed up the corpse, and awaited the moment of interment." + +"It was a bold step, and one that showed some courage," +remarked the Englishman. + +"As I have already told you, sir, he was a very dangerous +man; and, fortunately, by his own act disembarrassed the +government of the fears it had on his account." + +"How was that?" + +"How? Do you not comprehend?" + +"No." + +"The Chateau d'If has no cemetery, and they simply throw the +dead into the sea, after fastening a thirty-six pound +cannon-ball to their feet." + +"Well," observed the Englishman as if he were slow of +comprehension. + +"Well, they fastened a thirty-six pound ball to his feet, +and threw him into the sea." + +"Really!" exclaimed the Englishman. + +"Yes, sir," continued the inspector of prisons. "You may +imagine the amazement of the fugitive when he found himself +flung headlong over the rocks! I should like to have seen +his face at that moment." + +"That would have been difficult." + +"No matter," replied De Boville, in supreme good-humor at +the certainty of recovering his two hundred thousand francs, +-- "no matter, I can fancy it." And he shouted with +laughter. + +"So can I," said the Englishman, and he laughed too; but he +laughed as the English do, "at the end of his teeth." + +"And so," continued the Englishman who first gained his +composure, "he was drowned?" + +"Unquestionably." + +"So that the governor got rid of the dangerous and the crazy +prisoner at the same time?" + +"Precisely." + +"But some official document was drawn up as to this affair, +I suppose?" inquired the Englishman. + +"Yes, yes, the mortuary deposition. You understand, Dantes' +relations, if he had any, might have some interest in +knowing if he were dead or alive." + +"So that now, if there were anything to inherit from him, +they may do so with easy conscience. He is dead, and no +mistake about it." + +"Oh, yes; and they may have the fact attested whenever they +please." + +"So be it," said the Englishman. "But to return to these +registers." + +"True, this story has diverted our attention from them. +Excuse me." + +"Excuse you for what? For the story? By no means; it really +seems to me very curious." + +"Yes, indeed. So, sir, you wish to see all relating to the +poor abbe, who really was gentleness itself." + +"Yes, you will much oblige me." + +"Go into my study here, and I will show it to you." And they +both entered M. de Boville's study. Everything was here +arranged in perfect order; each register had its number, +each file of papers its place. The inspector begged the +Englishman to seat himself in an arm-chair, and placed +before him the register and documents relative to the +Chateau d'If, giving him all the time he desired for the +examination, while De Boville seated himself in a corner, +and began to read his newspaper. The Englishman easily found +the entries relative to the Abbe Faria; but it seemed that +the history which the inspector had related interested him +greatly, for after having perused the first documents he +turned over the leaves until he reached the deposition +respecting Edmond Dantes. There he found everything arranged +in due order, -- the accusation, examination, Morrel's +petition, M. de Villefort's marginal notes. He folded up the +accusation quietly, and put it as quietly in his pocket; +read the examination, and saw that the name of Noirtier was +not mentioned in it; perused, too, the application dated +10th April, 1815, in which Morrel, by the deputy procureur's +advice, exaggerated with the best intentions (for Napoleon +was then on the throne) the services Dantes had rendered to +the imperial cause -- services which Villefort's +certificates rendered indispensable. Then he saw through the +whole thing. This petition to Napoleon, kept back by +Villefort, had become, under the second restoration, a +terrible weapon against him in the hands of the king's +attorney. He was no longer astonished when he searched on to +find in the register this note, placed in a bracket against +his name: -- + +Edmond Dantes. + +An inveterate Bonapartist; took an active part in the return +from the Island of Elba. + +To be kept in strict solitary confinement, and to be closely +watched and guarded. + +Beneath these lines was written in another hand: "See note +above -- nothing can be done." He compared the writing in +the bracket with the writing of the certificate placed +beneath Morrel's petition, and discovered that the note in +the bracket was the some writing as the certificate -- that +is to say, was in Villefort's handwriting. As to the note +which accompanied this, the Englishman understood that it +might have been added by some inspector who had taken a +momentary interest in Dantes' situation, but who had, from +the remarks we have quoted, found it impossible to give any +effect to the interest he had felt. + +As we have said, the inspector, from discretion, and that he +might not disturb the Abbe Faria's pupil in his researches, +had seated himself in a corner, and was reading Le Drapeau +Blanc. He did not see the Englishman fold up and place in +his pocket the accusation written by Danglars under the +arbor of La Reserve, and which had the postmark, +"Marseilles, 27th Feb., delivery 6 o'clock, P.M." But it +must be said that if he had seen it, he attached so little +importance to this scrap of paper, and so much importance to +his two hundred thousand francs, that he would not have +opposed whatever the Englishman might do, however irregular +it might be. + +"Thanks," said the latter, closing the register with a slam, +"I have all I want; now it is for me to perform my promise. +Give me a simple assignment of your debt; acknowledge +therein the receipt of the cash, and I will hand you over +the money." He rose, gave his seat to M. de Boville, who +took it without ceremony, and quickly drew up the required +assignment, while the Englishman counted out the bank-notes +on the other side of the desk. + + + +Chapter 29 +The House of Morrel & Son. + +Any one who had quitted Marseilles a few years previously, +well acquainted with the interior of Morrel's warehouse, and +had returned at this date, would have found a great change. +Instead of that air of life, of comfort, and of happiness +that permeates a flourishing and prosperous business +establishment -- instead of merry faces at the windows, busy +clerks hurrying to and fro in the long corridors -- instead +of the court filled with bales of goods, re-echoing with the +cries and the jokes of porters, one would have immediately +perceived all aspect of sadness and gloom. Out of all the +numerous clerks that used to fill the deserted corridor and +the empty office, but two remained. One was a young man of +three or four and twenty, who was in love with M. Morrel's +daughter, and had remained with him in spite of the efforts +of his friends to induce him to withdraw; the other was an +old one-eyed cashier, called "Cocles," or "Cock-eye," a +nickname given him by the young men who used to throng this +vast now almost deserted bee-hive, and which had so +completely replaced his real name that he would not, in all +probability, have replied to any one who addressed him by +it. + +Cocles remained in M. Morrel's service, and a most singular +change had taken place in his position; he had at the same +time risen to the rank of cashier, and sunk to the rank of a +servant. He was, however, the same Cocles, good, patient, +devoted, but inflexible on the subject of arithmetic, the +only point on which he would have stood firm against the +world, even against M. Morrel; and strong in the +multiplication-table, which he had at his fingers' ends, no +matter what scheme or what trap was laid to catch him. In +the midst of the disasters that befell the house, Cocles was +the only one unmoved. But this did not arise from a want of +affection; on the contrary, from a firm conviction. Like the +rats that one by one forsake the doomed ship even before the +vessel weighs anchor, so all the numerous clerks had by +degrees deserted the office and the warehouse. Cocles had +seen them go without thinking of inquiring the cause of +their departure. Everything was as we have said, a question +of arithmetic to Cocles, and during twenty years he had +always seen all payments made with such exactitude, that it +seemed as impossible to him that the house should stop +payment, as it would to a miller that the river that had so +long turned his mill should cease to flow. + +Nothing had as yet occurred to shake Cocles' belief; the +last month's payment had been made with the most scrupulous +exactitude; Cocles had detected an overbalance of fourteen +sous in his cash, and the same evening he had brought them +to M. Morrel, who, with a melancholy smile, threw them into +an almost empty drawer, saying: -- + +"Thanks, Cocles; you are the pearl of cashiers " + +Cocles went away perfectly happy, for this eulogium of M. +Morrel, himself the pearl of the honest men of Marseilles, +flattered him more than a present of fifty crowns. But since +the end of the month M. Morrel had passed many an anxious +hour. In order to meet the payments then due; he had +collected all his resources, and, fearing lest the report of +his distress should get bruited abroad at Marseilles when he +was known to be reduced to such an extremity, he went to the +Beaucaire fair to sell his wife's and daughter's jewels and +a portion of his plate. By this means the end of the month +was passed, but his resources were now exhausted. Credit, +owing to the reports afloat, was no longer to be had; and to +meet the one hundred thousand francs due on the 10th of the +present month, and the one hundred thousand francs due on +the 15th of the next month to M. de Boville, M. Morrel had, +in reality, no hope but the return of the Pharaon, of whose +departure he had learnt from a vessel which had weighed +anchor at the same time, and which had already arrived in +harbor. But this vessel which, like the Pharaon, came from +Calcutta, had been in for a fortnight, while no intelligence +had been received of the Pharaon. + +Such was the state of affairs when, the day after his +interview with M. de Boville, the confidential clerk of the +house of Thomson & French of Rome, presented himself at M. +Morrel's. Emmanuel received him; this young man was alarmed +by the appearance of every new face, for every new face +might be that of a new creditor, come in anxiety to question +the head of the house. The young man, wishing to spare his +employer the pain of this interview, questioned the +new-comer; but the stranger declared that he had nothing to +say to M. Emmanuel, and that his business was with M. Morrel +in person. Emmanuel sighed, and summoned Cocles. Cocles +appeared, and the young man bade him conduct the stranger to +M. Morrel's apartment. Cocles went first, and the stranger +followed him. On the staircase they met a beautiful girl of +sixteen or seventeen, who looked with anxiety at the +stranger. + +"M. Morrel is in his room, is he not, Mademoiselle Julie?" +said the cashier. + +"Yes; I think so, at least," said the young girl +hesitatingly. "Go and see, Cocles, and if my father is +there, announce this gentleman." + +"It will be useless to announce me, mademoiselle," returned +the Englishman. "M. Morrel does not know my name; this +worthy gentleman has only to announce the confidential clerk +of the house of Thomson & French of Rome, with whom your +father does business." + +The young girl turned pale and continued to descend, while +the stranger and Cocles continued to mount the staircase. +She entered the office where Emmanuel was, while Cocles, by +the aid of a key he possessed, opened a door in the corner +of a landing-place on the second staircase, conducted the +stranger into an ante-chamber, opened a second door, which +he closed behind him, and after having left the clerk of the +house of Thomson & French alone, returned and signed to him +that he could enter. The Englishman entered, and found +Morrel seated at a table, turning over the formidable +columns of his ledger, which contained the list of his +liabilities. At the sight of the stranger, M. Morrel closed +the ledger, arose, and offered a seat to the stranger; and +when he had seen him seated, resumed his own chair. Fourteen +years had changed the worthy merchant, who, in his +thirty-sixth year at the opening of this history, was now in +his fiftieth; his hair had turned white, time and sorrow had +ploughed deep furrows on his brow, and his look, once so +firm and penetrating, was now irresolute and wandering, as +if he feared being forced to fix his attention on some +particular thought or person. The Englishman looked at him +with an air of curiosity, evidently mingled with interest. +"Monsieur," said Morrel, whose uneasiness was increased by +this examination, "you wish to speak to me?" + +"Yes, monsieur; you are aware from whom I come?" + +"The house of Thomson & French; at least, so my cashier +tells me." + +"He has told you rightly. The house of Thomson & French had +300,000 or 400,000 francs to pay this month in France; and, +knowing your strict punctuality, have collected all the +bills bearing your signature, and charged me as they became +due to present them, and to employ the money otherwise." +Morrel sighed deeply, and passed his hand over his forehead, +which was covered with perspiration. + +"So then, sir," said Morrel, "you hold bills of mine?" + +"Yes, and for a considerable sum." + +"What is the amount?" asked Morrel with a voice he strove to +render firm. + +"Here is," said the Englishman, taking a quantity of papers +from his pocket, "an assignment of 200,000 francs to our +house by M. de Boville, the inspector of prisons, to whom +they are due. You acknowledge, of course, that you owe this +sum to him?" + +"Yes; he placed the money in my hands at four and a half per +cent nearly five years ago." + +"When are you to pay?" + +"Half the 15th of this month, half the 15th of next." + +"Just so; and now here are 32,500 francs payable shortly; +they are all signed by you, and assigned to our house by the +holders." + +"I recognize them," said Morrel, whose face was suffused, as +he thought that, for the first time in his life, he would be +unable to honor his own signature. "Is this all?" + +"No, I have for the end of the month these bills which have +been assigned to us by the house of Pascal, and the house of +Wild & Turner of Marseilles, amounting to nearly 55,000 +francs; in all, 287,500 francs." It is impossible to +describe what Morrel suffered during this enumeration. "Two +hundred and eighty-seven thousand five hundred francs," +repeated he. + +"Yes, sir," replied the Englishman. "I will not," continued +he, after a moment's silence, "conceal from you, that while +your probity and exactitude up to this moment are +universally acknowledged, yet the report is current in +Marseilles that you are not able to meet your liabilities." +At this almost brutal speech Morrel turned deathly pale. +"Sir," said he, "up to this time -- and it is now more than +four-and-twenty years since I received the direction of this +house from my father, who had himself conducted it for five +and thirty years -- never has anything bearing the signature +of Morrel & Son been dishonored." + +"I know that," replied the Englishman. "But as a man of +honor should answer another, tell me fairly, shall you pay +these with the same punctuality?" Morrel shuddered, and +looked at the man, who spoke with more assurance than he had +hitherto shown. "To questions frankly put," said he, "a +straightforward answer should be given. Yes, I shall pay, +if, as I hope, my vessel arrives safely; for its arrival +will again procure me the credit which the numerous +accidents, of which I have been the victim, have deprived +me; but if the Pharaon should be lost, and this last +resource be gone" -- the poor man's eyes filled with tears. + +"Well," said the other, "if this last resource fail you?" + +"Well," returned Morrel, "it is a cruel thing to be forced +to say, but, already used to misfortune, I must habituate +myself to shame. I fear I shall be forced to suspend +payment." + +"Have you no friends who could assist you?" Morrel smiled +mournfully. "In business, sir," said he, "one has no +friends, only correspondents." + +"It is true," murmured the Englishman; "then you have but +one hope." + +"But one." + +"The last?" + +"The last." + +"So that if this fail" -- + +"I am ruined, -- completely ruined!" + +"As I was on my way here, a vessel was coming into port." + +"I know it, sir; a young man, who still adheres to my fallen +fortunes, passes a part of his time in a belvidere at the +top of the house, in hopes of being the first to announce +good news to me; he has informed me of the arrival of this +ship." + +"And it is not yours?" + +"No, she is a Bordeaux vessel, La Gironde; she comes from +India also; but she is not mine." + +"Perhaps she has spoken the Pharaon, and brings you some +tidings of her?" + +"Shall I tell you plainly one thing, sir? I dread almost as +much to receive any tidings of my vessel as to remain in +doubt. uncertainty is still hope." Then in a low voice +Morrel added, -- "This delay is not natural. The Pharaon +left Calcutta the 5th February; she ought to have been here +a month ago." + +"What is that?" said the Englishman. "What is the meaning of +that noise?" + +"Oh, oh!" cried Morrel, turning pale, "what is it?" A loud +noise was heard on the stairs of people moving hastily, and +half-stifled sobs. Morrel rose and advanced to the door; but +his strength failed him and he sank into a chair. The two +men remained opposite one another, Morrel trembling in every +limb, the stranger gazing at him with an air of profound +pity. The noise had ceased; but it seemed that Morrel +expected something -- something had occasioned the noise, +and something must follow. The stranger fancied he heard +footsteps on the stairs; and that the footsteps, which were +those of several persons, stopped at the door. A key was +inserted in the lock of the first door, and the creaking of +hinges was audible. + +"There are only two persons who have the key to that door," +murmured Morrel, "Cocles and Julie." At this instant the +second door opened, and the young girl, her eyes bathed with +tears, appeared. Morrel rose tremblingly, supporting himself +by the arm of the chair. He would have spoken, but his voice +failed him. "Oh, father!" said she, clasping her hands, +"forgive your child for being the bearer of evil tidings." + +Morrel again changed color. Julie threw herself into his +arms. + +"Oh, father, father!" murmured she, "courage!" + +"The Pharaon has gone down, then?" said Morrel in a hoarse +voice. The young girl did not speak; but she made an +affirmative sign with her head as she lay on her father's +breast. + +"And the crew?" asked Morrel. + +"Saved," said the girl; "saved by the crew of the vessel +that has just entered the harbor." Morrel raised his two +hands to heaven with an expression of resignation and +sublime gratitude. "Thanks, my God," said he, "at least thou +strikest but me alone." A tear moistened the eye of the +phlegmatic Englishman. + +"Come in, come in," said Morrel, "for I presume you are all +at the door." + +Scarcely had he uttered those words than Madame Morrel +entered weeping bitterly. Emmanuel followed her, and in the +antechamber were visible the rough faces of seven or eight +half-naked sailors. At the sight of these men the Englishman +started and advanced a step; then restrained himself, and +retired into the farthest and most obscure corner of the +apartment. Madame Morrel sat down by her husband and took +one of his hands in hers, Julie still lay with her head on +his shoulder, Emmanuel stood in the centre of the chamber +and seemed to form the link between Morrel's family and the +sailors at the door. + +"How did this happen?" said Morrel. + +"Draw nearer, Penelon," said the young man, "and tell us all +about it." + +An old seaman, bronzed by the tropical sun, advanced, +twirling the remains of a tarpaulin between his hands. +"Good-day, M. Morrel," said he, as if he had just quitted +Marseilles the previous evening, and had just returned from +Aix or Toulon. + +"Good-day, Penelon," returned Morrel, who could not refrain +from smiling through his tears, "where is the captain?" + +"The captain, M. Morrel, -- he has stayed behind sick at +Palma; but please God, it won't be much, and you will see +him in a few days all alive and hearty." + +"Well, now tell your story, Penelon." + +Penelon rolled his quid in his cheek, placed his hand before +his mouth, turned his head, and sent a long jet of +tobacco-juice into the antechamber, advanced his foot, +balanced himself, and began, -- "You see, M. Morrel," said +he, "we were somewhere between Cape Blanc and Cape Boyador, +sailing with a fair breeze, south-south-west after a week's +calm, when Captain Gaumard comes up to me -- I was at the +helm I should tell you -- and says, `Penelon, what do you +think of those clouds coming up over there?' I was just then +looking at them myself. `What do I think, captain? Why I +think that they are rising faster than they have any +business to do, and that they would not be so black if they +didn't mean mischief.' -- `That's my opinion too,' said the +captain, `and I'll take precautions accordingly. We are +carrying too much canvas. Avast, there, all hands! Take in +the studding-sl's and stow the flying jib.' It was time; the +squall was on us, and the vessel began to heel. `Ah,' said +the captain, `we have still too much canvas set; all hands +lower the mains'l!' Five minutes after, it was down; and we +sailed under mizzen-tops'ls and to'gall'nt sails. `Well, +Penelon,' said the captain, `what makes you shake your +head?' `Why,' I says, `I still think you've got too much +on.' `I think you're right,' answered he, `we shall have a +gale.' `A gale? More than that, we shall have a tempest, or +I don't know what's what.' You could see the wind coming +like the dust at Montredon; luckily the captain understood +his business. `Take in two reefs in the tops'ls,' cried the +captain; `let go the bowlin's, haul the brace, lower the +to'gall'nt sails, haul out the reef-tackles on the yards.'" + +"That was not enough for those latitudes," said the +Englishman; "I should have taken four reefs in the topsails +and furled the spanker." + +His firm, sonorous, and unexpected voice made every one +start. Penelon put his hand over his eyes, and then stared +at the man who thus criticized the manoeuvres of his +captain. "We did better than that, sir," said the old sailor +respectfully; "we put the helm up to run before the tempest; +ten minutes after we struck our tops'ls and scudded under +bare poles." + +"The vessel was very old to risk that," said the Englishman. + +"Eh, it was that that did the business; after pitching +heavily for twelve hours we sprung a leak. `Penelon,' said +the captain, `I think we are sinking, give me the helm, and +go down into the hold.' I gave him the helm, and descended; +there was already three feet of water. `All hands to the +pumps!' I shouted; but it was too late, and it seemed the +more we pumped the more came in. `Ah,' said I, after four +hours' work, `since we are sinking, let us sink; we can die +but once.' `That's the example you set, Penelon,' cries the +captain; `very well, wait a minute.' He went into his cabin +and came back with a brace of pistols. `I will blow the +brains out of the first man who leaves the pump,' said he." + +"Well done!" said the Englishman. + +"There's nothing gives you so much courage as good reasons," +continued the sailor; "and during that time the wind had +abated, and the sea gone down, but the water kept rising; +not much, only two inches an hour, but still it rose. Two +inches an hour does not seem much, but in twelve hours that +makes two feet, and three we had before, that makes five. +`Come,' said the captain, `we have done all in our power, +and M. Morrel will have nothing to reproach us with, we have +tried to save the ship, let us now save ourselves. To the +boats, my lads, as quick as you can.' Now," continued +Penelon, "you see, M. Morrel, a sailor is attached to his +ship, but still more to his life, so we did not wait to be +told twice; the more so, that the ship was sinking under us, +and seemed to say, `Get along -- save yourselves.' We soon +launched the boat, and all eight of us got into it. The +captain descended last, or rather, he did not descend, he +would not quit the vessel; so I took him round the waist, +and threw him into the boat, and then I jumped after him. It +was time, for just as I jumped the deck burst with a noise +like the broadside of a man-of-war. Ten minutes after she +pitched forward, then the other way, spun round and round, +and then good-by to the Pharaon. As for us, we were three +days without anything to eat or drink, so that we began to +think of drawing lots who should feed the rest, when we saw +La Gironde; we made signals of distress, she perceived us, +made for us, and took us all on board. There now, M. Morrel, +that's the whole truth, on the honor of a sailor; is not it +true, you fellows there?" A general murmur of approbation +showed that the narrator had faithfully detailed their +misfortunes and sufferings. + +"Well, well," said M. Morrel, "I know there was no one in +fault but destiny. It was the will of God that this should +happen, blessed be his name. What wages are due to you?" + +"Oh, don't let us talk of that, M. Morrel." + +"Yes, but we will talk of it." + +"Well, then, three months," said Penelon. + +"Cocles, pay two hundred francs to each of these good +fellows," said Morrel. "At another time," added be, "I +should have said, Give them, besides, two hundred francs +over as a present; but times are changed, and the little +money that remains to me is not my own." + +Penelon turned to his companions, and exchanged a few words +with them. + +"As for that, M. Morrel," said he, again turning his quid, +"as for that" -- + +"As for what?" + +"The money." + +"Well" -- + +"Well, we all say that fifty francs will be enough for us at +present, and that we will wait for the rest." + +"Thanks, my friends, thanks!" cried Morrel gratefully; "take +it -- take it; and if you can find another employer, enter +his service; you are free to do so." These last words +produced a prodigious effect on the seaman. Penelon nearly +swallowed his quid; fortunately he recovered. "What, M. +Morrel!" said he in a low voice, "you send us away; you are +then angry with us!" + +"No, no," said M. Morrel, "I am not angry, quite the +contrary, and I do not send you away; but I have no more +ships, and therefore I do not want any sailors." + +"No more ships!" returned Penelon; "well, then, you'll build +some; we'll wait for you." + +"I have no money to build ships with, Penelon," said the +poor owner mournfully, "so I cannot accept your kind offer." + +"No more money? Then you must not pay us; we can scud, like +the Pharaon, under bare poles." + +"Enough, enough!" cried Morrel, almost overpowered; "leave +me, I pray you; we shall meet again in a happier time. +Emmanuel, go with them, and see that my orders are +executed." + +"At least, we shall see each other again, M. Morrel?" asked +Penelon. + +"Yes; I hope so, at least. Now go." He made a sign to +Cocles, who went first; the seamen followed him and Emmanuel +brought up the rear. "Now," said the owner to his wife and +daughter, "leave me; I wish to speak with this gentleman." +And he glanced towards the clerk of Thomson & French, who +had remained motionless in the corner during this scene, in +which he had taken no part, except the few words we have +mentioned. The two women looked at this person whose +presence they had entirely forgotten, and retired; but, as +she left the apartment, Julie gave the stranger a +supplicating glance, to which he replied by a smile that an +indifferent spectator would have been surprised to see on +his stern features. The two men were left alone. "Well, +sir," said Morrel, sinking into a chair, "you have heard +all, and I have nothing further to tell you." + +"I see," returned the Englishman, "that a fresh and +unmerited misfortune his overwhelmed you, and this only +increases my desire to serve you." + +"Oh, sir!" cried Morrel. + +"Let me see," continued the stranger, "I am one of your +largest creditors." + +"Your bills, at least, are the first that will fall due." + +"Do you wish for time to pay?" + +"A delay would save my honor, and consequently my life." + +"How long a delay do you wish for?" -- Morrel reflected. +"Two months," said he. + +"I will give you three," replied the stranger. + +"But," asked Morrel, "will the house of Thomson & French +consent?" + +"Oh, I take everything on myself. To-day is the 5th of +June." + +"Yes." + +"Well, renew these bills up to the 5th of September; and on +the 5th of September at eleven o'clock (the hand of the +clock pointed to eleven), I shall come to receive the +money." + +"I shall expect you," returned Morrel; "and I will pay you +-- or I shall he dead." These last words were uttered in so +low a tone that the stranger could not hear them. The bills +were renewed, the old ones destroyed, and the poor +ship-owner found himself with three months before him to +collect his resources. The Englishman received his thanks +with the phlegm peculiar to his nation; and Morrel, +overwhelming him with grateful blessings, conducted him to +the staircase. The stranger met Julie on the stairs; she +pretended to be descending, but in reality she was waiting +for him. "Oh, sir" -- said she, clasping her hands. + +"Mademoiselle," said the stranger, "one day you will receive +a letter signed `Sinbad the Sailor.' Do exactly what the +letter bids you, however strange it may appear." + +"Yes, sir," returned Julie. + +"Do you promise?" + +"I swear to you I will." + +"It is well. Adieu, mademoiselle. Continue to be the good, +sweet girl you are at present, and I have great hopes that +heaven will reward you by giving you Emmanuel for a +husband." + +Julie uttered a faint cry, blushed like a rose, and leaned +against the baluster. The stranger waved his hand, and +continued to descend. In the court he found Penelon, who, +with a rouleau of a hundred francs in either hand, seemed +unable to make up his mind to retain them. "Come with me, my +friend," said the Englishman; "I wish to speak to you." + + + +Chapter 30 +The Fifth of September. + +The extension provided for by the agent of Thomson & French, +at the moment when Morrel expected it least, was to the poor +shipowner so decided a stroke of good fortune that he almost +dared to believe that fate was at length grown weary of +wasting her spite upon him. The same day he told his wife, +Emmanuel, and his daughter all that had occurred; and a ray +of hope, if not of tranquillity, returned to the family. +Unfortunately, however, Morrel had not only engagements with +the house of Thomson & French, who had shown themselves so +considerate towards him; and, as he had said, in business he +had correspondents, and not friends. When he thought the +matter over, he could by no means account for this generous +conduct on the part of Thomson & French towards him; and +could only attribute it to some such selfish argument as +this: -- "We had better help a man who owes us nearly +300,000 francs, and have those 300,000 francs at the end of +three months than hasten his ruin, and get only six or eight +per cent of our money back again." Unfortunately, whether +through envy or stupidity, all Morrel's correspondents did +not take this view; and some even came to a contrary +decision. The bills signed by Morrel were presented at his +office with scrupulous exactitude, and, thanks to the delay +granted by the Englishman, were paid by Cocles with equal +punctuality. Cocles thus remained in his accustomed +tranquillity. It was Morrel alone who remembered with alarm, +that if he had to repay on the 15th the 50,000 francs of M. +de Boville, and on the 30th the 32,500 francs of bills, for +which, as well as the debt due to the inspector of prisons, +he had time granted, he must be a ruined man. + +The opinion of all the commercial men was that, under the +reverses which had successively weighed down Morrel, it was +impossible for him to remain solvent. Great, therefore, was +the astonishment when at the end of the month, he cancelled +all his obligations with his usual punctuality. Still +confidence was not restored to all minds, and the general +opinion was that the complete ruin of the unfortunate +shipowner had been postponed only until the end of the +month. The month passed, and Morrel made extraordinary +efforts to get in all his resources. Formerly his paper, at +any date, was taken with confidence, and was even in +request. Morrel now tried to negotiate bills at ninety days +only, and none of the banks would give him credit. +Fortunately, Morrel had some funds coming in on which he +could rely; and, as they reached him, he found himself in a +condition to meet his engagements when the end of July came. +The agent of Thomson & French had not been again seen at +Marseilles; the day after, or two days after his visit to +Morrel, he had disappeared; and as in that city he had had +no intercourse but with the mayor, the inspector of prisons, +and M. Morrel, his departure left no trace except in the +memories of these three persons. As to the sailors of the +Pharaon, they must have found snug berths elsewhere, for +they also had disappeared. + +Captain Gaumard, recovered from his illness, had returned +from Palma. He delayed presenting himself at Morrel's, but +the owner, hearing of his arrival, went to see him. The +worthy shipowner knew, from Penelon's recital, of the +captain's brave conduct during the storm, and tried to +console him. He brought him also the amount of his wages, +which Captain Gaumard had not dared to apply for. As he +descended the staircase, Morrel met Penelon, who was going +up. Penelon had, it would seem, made good use of his money, +for he was newly clad. When he saw his employer, the worthy +tar seemed much embarrassed, drew on one side into the +corner of the landing-place, passed his quid from one cheek +to the other, stared stupidly with his great eyes, and only +acknowledged the squeeze of the hand which Morrel as usual +gave him by a slight pressure in return. Morrel attributed +Penelon's embarrassment to the elegance of his attire; it +was evident the good fellow had not gone to such an expense +on his own account; he was, no doubt, engaged on board some +other vessel, and thus his bashfulness arose from the fact +of his not having, if we may so express ourselves, worn +mourning for the Pharaon longer. Perhaps he had come to tell +Captain Gaumard of his good luck, and to offer him +employment from his new master. "Worthy fellows!" said +Morrel, as he went away, "may your new master love you as I +loved you, and be more fortunate than I have been!" + +August rolled by in unceasing efforts on the part of Morrel +to renew his credit or revive the old. On the 20th of August +it was known at Marseilles that he had left town in the +mailcoach, and then it was said that the bills would go to +protest at the end of the month, and that Morrel had gone +away and left his chief clerk Emmanuel, and his cashier +Cocles, to meet the creditors. But, contrary to all +expectation, when the 31st of August came, the house opened +as usual, and Cocles appeared behind the grating of the +counter, examined all bills presented with the usual +scrutiny, and, from first to last, paid all with the usual +precision. There came in, moreover, two drafts which M. +Morrel had fully anticipated, and which Cocles paid as +punctually as the bills which the shipowner had accepted. +All this was incomprehensible, and then, with the tenacity +peculiar to prophets of bad news, the failure was put off +until the end of September. On the 1st, Morrel returned; he +was awaited by his family with extreme anxiety, for from +this journey to Paris they hoped great things. Morrel had +thought of Danglars, who was now immensely rich, and had +lain under great obligations to Morrel in former days, since +to him it was owing that Danglars entered the service of the +Spanish banker, with whom he had laid the foundations of his +vast wealth. It was said at this moment that Danglars was +worth from six to eight millions of francs, and had +unlimited credit. Danglars, then, without taking a crown +from his pocket, could save Morrel; he had but to pass his +word for a loan, and Morrel was saved. Morrel had long +thought of Danglars, but had kept away from some instinctive +motive, and had delayed as long as possible availing himself +of this last resource. And Morrel was right, for he returned +home crushed by the humiliation of a refusal. Yet, on his +arrival, Morrel did not utter a complaint, or say one harsh +word. He embraced his weeping wife and daughter, pressed +Emmanuel's hand with friendly warmth, and then going to his +private room on the second floor had sent for Cocles. +"Then," said the two women to Emmanuel, "we are indeed +ruined." + +It was agreed in a brief council held among them, that Julie +should write to her brother, who was in garrison at Nimes, +to come to them as speedily as possible. The poor women felt +instinctively that they required all their strength to +support the blow that impended. Besides, Maximilian Morrel, +though hardly two and twenty, had great influence over his +father. He was a strong-minded, upright young man. At the +time when he decided on his profession his father had no +desire to choose for him, but had consulted young +Maximilian's taste. He had at once declared for a military +life, and had in consequence studied hard, passed +brilliantly through the Polytechnic School, and left it as +sub-lieutenant of the 53d of the line. For a year he had +held this rank, and expected promotion on the first vacancy. +In his regiment Maximilian Morrel was noted for his rigid +observance, not only of the obligations imposed on a +soldier, but also of the duties of a man; and he thus gained +the name of "the stoic." We need hardly say that many of +those who gave him this epithet repeated it because they had +heard it, and did not even know what it meant. This was the +young man whom his mother and sister called to their aid to +sustain them under the serious trial which they felt they +would soon have to endure. They had not mistaken the gravity +of this event, for the moment after Morrel had entered his +private office with Cocles, Julie saw the latter leave it +pale, trembling, and his features betraying the utmost +consternation. She would have questioned him as he passed by +her, but the worthy creature hastened down the staircase +with unusual precipitation, and only raised his hands to +heaven and exclaimed, "Oh, mademoiselle, mademoiselle, what +a dreadful misfortune! Who could ever have believed it!" A +moment afterwards Julie saw him go up-stairs carrying two or +three heavy ledgers, a portfolio, and a bag of money. + +Morrel examined the ledgers, opened the portfolio, and +counted the money. All his funds amounted to 6,000, or 8,000 +francs, his bills receivable up to the 5th to 4,000 or +5,000, which, making the best of everything, gave him 14,000 +francs to meet debts amounting to 287,500 francs. He had not +even the means for making a possible settlement on account. +However, when Morrel went down to his dinner, he appeared +very calm. This calmness was more alarming to the two women +than the deepest dejection would have been. After dinner +Morrel usually went out and used to take his coffee at the +Phocaean club, and read the Semaphore; this day he did not +leave the house, but returned to his office. + +As to Cocles, he seemed completely bewildered. For part of +the day he went into the court-yard, seated himself on a +stone with his head bare and exposed to the blazing sun. +Emmanuel tried to comfort the women, but his eloquence +faltered. The young man was too well acquainted with the +business of the house, not to feel that a great catastrophe +hung over the Morrel family. Night came, the two women had +watched, hoping that when he left his room Morrel would come +to them, but they heard him pass before their door, and +trying to conceal the noise of his footsteps. They listened; +he went into his sleeping-room, and fastened the door +inside. Madame Morrel sent her daughter to bed, and half an +hour after Julie had retired, she rose, took off her shoes, +and went stealthily along the passage, to see through the +keyhole what her husband was doing. In the passage she saw a +retreating shadow; it was Julie, who, uneasy herself, had +anticipated her mother. The young lady went towards Madame +Morrel. + +"He is writing," she said. They had understood each other +without speaking. Madame Morrel looked again through the +keyhole, Morrel was writing; but Madame Morrel remarked, +what her daughter had not observed, that her husband was +writing on stamped paper. The terrible idea that he was +writing his will flashed across her; she shuddered, and yet +had not strength to utter a word. Next day M. Morrel seemed +as calm as ever, went into his office as usual, came to his +breakfast punctually, and then, after dinner, he placed his +daughter beside him, took her head in his arms, and held her +for a long time against his bosom. In the evening, Julie +told her mother, that although he was apparently so calm, +she had noticed that her father's heart beat violently. The +next two days passed in much the same way. On the evening of +the 4th of September, M. Morrel asked his daughter for the +key of his study. Julie trembled at this request, which +seemed to her of bad omen. Why did her father ask for this +key which she always kept, and which was only taken from her +in childhood as a punishment? The young girl looked at +Morrel. + +"What have I done wrong, father," she said, "that you should +take this key from me?" + +"Nothing, my dear," replied the unhappy man, the tears +starting to his eyes at this simple question, -- "nothing, +only I want it." Julie made a pretence to feel for the key. +"I must have left it in my room," she said. And she went +out, but instead of going to her apartment she hastened to +consult Emmanuel. "Do not give this key to your father," +said he, "and to-morrow morning, if possible, do not quit +him for a moment." She questioned Emmanuel, but he knew +nothing, or would not say what he knew. During the night, +between the 4th and 5th of September, Madame Morrel remained +listening for every sound, and, until three o'clock in the +morning, she heard her husband pacing the room in great +agitation. It was three o'clock when he threw himself on the +bed. The mother and daughter passed the night together. They +had expected Maximilian since the previous evening. At eight +o'clock in the morning Morrel entered their chamber. He was +calm; but the agitation of the night was legible in his pale +and careworn visage. They did not dare to ask him how he had +slept. Morrel was kinder to his wife, more affectionate to +his daughter, than he had ever been. He could not cease +gazing at and kissing the sweet girl. Julie, mindful of +Emmanuel's request, was following her father when he quitted +the room, but he said to her quickly, -- "Remain with your +mother, dearest." Julie wished to accompany him. "I wish you +to do so," said he. + +This was the first time Morrel had ever so spoken, but he +said it in a tone of paternal kindness, and Julie did not +dare to disobey. She remained at the same spot standing mute +and motionless. An instant afterwards the door opened, she +felt two arms encircle her, and a mouth pressed her +forehead. She looked up and uttered an exclamation of joy. + +"Maximilian, my dearest brother!" she cried. At these words +Madame Morrel rose, and threw herself into her son's arms. +"Mother," said the young man, looking alternately at Madame +Morrel and her daughter, "what has occurred -- what has +happened? Your letter has frightened me, and I have come +hither with all speed." + +"Julie," said Madame Morrel, making a sign to the young man, +"go and tell your father that Maximilian has just arrived." +The young lady rushed out of the apartment, but on the first +step of the staircase she found a man holding a letter in +his hand. + +"Are you not Mademoiselle Julie Morrel?" inquired the man, +with a strong Italian accent. + +"Yes, sir," replied Julie with hesitation; "what is your +pleasure? I do not know you." + +"Read this letter," he said, handing it to her. Julie +hesitated. "It concerns the best interests of your father," +said the messenger. + +The young girl hastily took the letter from him. She opened +it quickly and read: -- + +"Go this moment to the Allees de Meillan, enter the house +No. 15, ask the porter for the key of the room on the fifth +floor, enter the apartment, take from the corner of the +mantelpiece a purse netted in red silk, and give it to your +father. It is important that he should receive it before +eleven o'clock. You promised to obey me implicitly. Remember +your oath. + +"Sinbad the Sailor." + +The young girl uttered a joyful cry, raised her eyes, looked +round to question the messenger, but he had disappeared. She +cast her eyes again over the note to peruse it a second +time, and saw there was a postscript. She read: -- + +"It is important that you should fulfil this mission in +person and alone. If you go accompanied by any other person, +or should any one else go in your place, the porter will +reply that he does not know anything about it." + +This postscript decreased greatly the young girl's +happiness. Was there nothing to fear? was there not some +snare laid for her? Her innocence had kept her in ignorance +of the dangers that might assail a young girl of her age. +But there is no need to know danger in order to fear it; +indeed, it may be observed, that it is usually unknown +perils that inspire the greatest terror. + +Julie hesitated, and resolved to take counsel. Yet, through +a singular impulse, it was neither to her mother nor her +brother that she applied, but to Emmanuel. She hastened down +and told him what had occurred on the day when the agent of +Thomson & French had come to her father's, related the scene +on the staircase, repeated the promise she had made, and +showed him the letter. "You must go, then, mademoiselle," +said Emmanuel. + +"Go there?" murmured Julie. + +"Yes; I will accompany you." + +"But did you not read that I must be alone?" said Julie. + +"And you shall be alone," replied the young man. "I will +await you at the corner of the Rue de Musee, and if you are +so long absent as to make me uneasy, I will hasten to rejoin +you, and woe to him of whom you shall have cause to complain +to me!" + +"Then, Emmanuel?" said the young girl with hesitation, "it +is your opinion that I should obey this invitation?" + +"Yes. Did not the messenger say your father's safety +depended upon it?" + +"But what danger threatens him, then, Emmanuel?" she asked. + +Emmanuel hesitated a moment, but his desire to make Julie +decide immediately made him reply. + +"Listen," he said; "to-day is the 5th of September, is it +not?" + +"Yes." + +"To-day, then, at eleven o'clock, your father has nearly +three hundred thousand francs to pay?" + +"Yes, we know that." + +"Well, then," continued Emmanuel, "we have not fifteen +thousand francs in the house." + +"What will happen then?" + +"Why, if to-day before eleven o'clock your father has not +found someone who will come to his aid, he will be compelled +at twelve o'clock to declare himself a bankrupt." + +"Oh, come, then, come!" cried she, hastening away with the +young man. During this time, Madame Morrel had told her son +everything. The young man knew quite well that, after the +succession of misfortunes which had befallen his father, +great changes had taken place in the style of living and +housekeeping; but he did not know that matters had reached +such a point. He was thunderstruck. Then, rushing hastily +out of the apartment, he ran up-stairs, expecting to find +his father in his study, but he rapped there in vain. + +While he was yet at the door of the study he heard the +bedroom door open, turned, and saw his father. Instead of +going direct to his study, M. Morrel had returned to his +bed-chamber, which he was only this moment quitting. Morrel +uttered a cry of surprise at the sight of his son, of whose +arrival he was ignorant. He remained motionless on the spot, +pressing with his left hand something he had concealed under +his coat. Maximilian sprang down the staircase, and threw +his arms round his father's neck; but suddenly he recoiled, +and placed his right hand on Morrel's breast. "Father," he +exclaimed, turning pale as death, "what are you going to do +with that brace of pistols under your coat?" + +"Oh, this is what I feared!" said Morrel. + +"Father, father, in heaven's name," exclaimed the young man, +"what are these weapons for?" + +"Maximilian," replied Morrel, looking fixedly at his son, +"you are a man, and a man of honor. Come, and I will explain +to you." + +And with a firm step Morrel went up to his study, while +Maximilian followed him, trembling as he went. Morrel opened +the door, and closed it behind his son; then, crossing the +anteroom, went to his desk on which he placed the pistols, +and pointed with his finger to an open ledger. In this +ledger was made out an exact balance-sheet of his affair's. +Morrel had to pay, within half an hour, 287,500 francs. All +he possessed was 15,257 francs. "Read!" said Morrel. + +The young man was overwhelmed as he read. Morrel said not a +word. What could he say? What need he add to such a +desperate proof in figures? "And have you done all that is +possible, father, to meet this disastrous result?" asked the +young man, after a moment's pause. "I have," replied Morrel. + +"You have no money coming in on which you can rely?" + +"None." + +"You have exhausted every resource?" + +"All." + +"And in half an hour," said Maximilian in a gloomy voice, +"our name is dishonored!" + +"Blood washes out dishonor," said Morrel. + +"You are right, father; I understand you." Then extending +his hand towards one of the pistols, he said, "There is one +for you and one for me -- thanks!" Morrel caught his hand. +"Your mother -- your sister! Who will support them?" A +shudder ran through the young man's frame. "Father," he +said, "do you reflect that you are bidding me to live?" + +"Yes, I do so bid you," answered Morrel, "it is your duty. +You have a calm, strong mind, Maximilian. Maximilian, you +are no ordinary man. I make no requests or commands; I only +ask you to examine my position as if it were your own, and +then judge for yourself." + +The young man reflected for a moment, then an expression of +sublime resignation appeared in his eyes, and with a slow +and sad gesture he took off his two epaulets, the insignia +of his rank. "Be it so, then, my father," he said, extending +his hand to Morrel, "die in peace, my father; I will live." +Morrel was about to cast himself on his knees before his +son, but Maximilian caught him in his arms, and those two +noble hearts were pressed against each other for a moment. +"You know it is not my fault," said Morrel. Maximilian +smiled. "I know, father, you are the most honorable man I +have ever known." + +"Good, my son. And now there is no more to be said; go and +rejoin your mother and sister." + +"My father," said the young man, bending his knee, "bless +me!" Morrel took the head of his son between his two hands, +drew him forward, and kissing his forehead several times +said, "Oh, yes, yes, I bless you in my own name, and in the +name of three generations of irreproachable men, who say +through me, `The edifice which misfortune has destroyed, +providence may build up again.' On seeing me die such a +death, the most inexorable will have pity on you. To you, +perhaps, they will accord the time they have refused to me. +Then do your best to keep our name free from dishonor. Go to +work, labor, young man, struggle ardently and courageously; +live, yourself, your mother and sister, with the most rigid +economy, so that from day to day the property of those whom +I leave in your hands may augment and fructify. Reflect how +glorious a day it will be, how grand, how solemn, that day +of complete restoration, on which you will say in this very +office, `My father died because he could not do what I have +this day done; but he died calmly and peaceably, because in +dying he knew what I should do.'" + +"My father, my father!" cried the young man, "why should you +not live?" + +"If I live, all would be changed; if I live, interest would +be converted into doubt, pity into hostility; if I live I am +only a man who his broken his word, failed in his +engagements -- in fact, only a bankrupt. If, on the +contrary, I die, remember, Maximilian, my corpse is that of +an honest but unfortunate man. Living, my best friends would +avoid my house; dead, all Marseilles will follow me in tears +to my last home. Living, you would feel shame at my name; +dead, you may raise your head and say, `I am the son of him +you killed, because, for the first time, he has been +compelled to break his word.'" + +The young man uttered a groan, but appeared resigned. + +"And now," said Morrel, "leave me alone, and endeavor to +keep your mother and sister away." + +"Will you not see my sister once more?" asked Maximilian. A +last but final hope was concealed by the young man in the +effect of this interview, and therefore he had suggested it. +Morrel shook his head. "I saw her this morning, and bade her +adieu." + +"Have you no particular commands to leave with me, my +father?" inquired Maximilian in a faltering voice. + +"Yes; my son, and a sacred command." + +"Say it, my father." + +"The house of Thomson & French is the only one who, from +humanity, or, it may be, selfishness -- it is not for me to +read men's hearts -- has had any pity for me. Its agent, who +will in ten minutes present himself to receive the amount of +a bill of 287,500 francs, I will not say granted, but +offered me three months. Let this house be the first repaid, +my son, and respect this man." + +"Father, I will," said Maximilian. + +"And now, once more, adieu," said Morrel. "Go, leave me; I +would be alone. You will find my will in the secretary in my +bedroom." + +The young man remained standing and motionless, having but +the force of will and not the power of execution. + +"Hear me, Maximilian," said his father. "Suppose I was a +soldier like you, and ordered to carry a certain redoubt, +and you knew I must be killed in the assault, would you not +say to me, as you said just now, `Go, father; for you are +dishonored by delay, and death is preferable to shame!'" + +"Yes, yes," said the young man, "yes;" and once again +embracing his father with convulsive pressure, he said, "Be +it so, my father." + +And he rushed out of the study. When his son had left him, +Morrel remained an instant standing with his eyes fixed on +the door; then putting forth his arm, he pulled the bell. +After a moment's interval, Cocles appeared. + +It was no longer the same man -- the fearful revelations of +the three last days had crushed him. This thought -- the +house of Morrel is about to stop payment -- bent him to the +earth more than twenty years would otherwise have done. + +"My worthy Cocles," said Morrel in a tone impossible to +describe, "do you remain in the ante-chamber. When the +gentleman who came three months ago -- the agent of Thomson +& French -- arrives, announce his arrival to me." Cocles +made no reply; he made a sign with his head, went into the +anteroom, and seated himself. Morrel fell back in his chair, +his eyes fixed on the clock; there were seven minutes left, +that was all. The hand moved on with incredible rapidity, he +seemed to see its motion. + +What passed in the mind of this man at the supreme moment of +his agony cannot be told in words. He was still +comparatively young, he was surrounded by the loving care of +a devoted family, but he had convinced himself by a course +of reasoning, illogical perhaps, yet certainly plausible, +that he must separate himself from all he held dear in the +world, even life itself. To form the slightest idea of his +feelings, one must have seen his face with its expression of +enforced resignation and its tear-moistened eyes raised to +heaven. The minute hand moved on. The pistols were loaded; +he stretched forth his hand, took one up, and murmured his +daughter's name. Then he laid it down seized his pen, and +wrote a few words. It seemed to him as if he had not taken a +sufficient farewell of his beloved daughter. Then he turned +again to the clock, counting time now not by minutes, but by +seconds. He took up the deadly weapon again, his lips parted +and his eyes fixed on the clock, and then shuddered at the +click of the trigger as he cocked the pistol. At this moment +of mortal anguish the cold sweat came forth upon his brow, a +pang stronger than death clutched at his heart-strings. He +heard the door of the staircase creak on its hinges -- the +clock gave its warning to strike eleven -- the door of his +study opened; Morrel did not turn round -- he expected these +words of Cocles, "The agent of Thomson & French." + +He placed the muzzle of the pistol between his teeth. +Suddenly he heard a cry -- it was his daughter's voice. He +turned and saw Julie. The pistol fell from his hands. "My +father!" cried the young girl, out of breath, and half dead +with joy -- "saved, you are saved!" And she threw herself +into his arms, holding in her extended hand a red, netted +silk purse. + +"Saved, my child!" said Morrel; "what do you mean?" + +"Yes, saved -- saved! See, see!" said the young girl. + +Morrel took the purse, and started as he did so, for a vague +remembrance reminded him that it once belonged to himself. +At one end was the receipted bill for the 287,000 francs, +and at the other was a diamond as large as a hazel-nut, with +these words on a small slip of parchment: -- Julie's Dowry. + +Morrel passed his hand over his brow; it seemed to him a +dream. At this moment the clock struck eleven. He felt as if +each stroke of the hammer fell upon his heart. "Explain, my +child," he said, "Explain, my child," he said, "explain -- +where did you find this purse?" + +"In a house in the Allees de Meillan, No. 15, on the corner +of a mantelpiece in a small room on the fifth floor." + +"But," cried Morrel, "this purse is not yours!" Julie handed +to her father the letter she had received in the morning. + +"And did you go alone?" asked Morrel, after he had read it. + +"Emmanuel accompanied me, father. He was to have waited for +me at the corner of the Rue de Musee, but, strange to say, +he was not there when I returned." + +"Monsieur Morrel!" exclaimed a voice on the stairs. -- +"Monsieur Morrel!" + +"It is his voice!" said Julie. At this moment Emmanuel +entered, his countenance full of animation and joy. "The +Pharaon!" he cried; "the Pharaon!" + +"What -- what -- the Pharaon! Are you mad, Emmanuel? You +know the vessel is lost." + +"The Pharaon, sir -- they signal the Pharaon! The Pharaon is +entering the harbor!" Morrel fell back in his chair, his +strength was failing him; his understanding weakened by such +events, refused to comprehend such incredible, unheard-of, +fabulous facts. But his son came in. "Father," cried +Maximilian, "how could you say the Pharaon was lost? The +lookout has signalled her, and they say she is now coming +into port." + +"My dear friends," said Morrel, "if this be so, it must be a +miracle of heaven! Impossible, impossible!" + +But what was real and not less incredible was the purse he +held in his hand, the acceptance receipted -- the splendid +diamond. + +"Ah, sir," exclaimed Cocles, "what can it mean? -- the +Pharaon?" + +"Come, dear ones," said Morrel, rising from his seat, "let +us go and see, and heaven have pity upon us if it be false +intelligence!" They all went out, and on the stairs met +Madame Morrel, who had been afraid to go up into the study. +In a moment they were at the Cannebiere. There was a crowd +on the pier. All the crowd gave way before Morrel. "The +Pharaon, the Pharaon!" said every voice. + +And, wonderful to see, in front of the tower of Saint-Jean, +was a ship bearing on her stern these words, printed in +white letters, "The Pharaon, Morrel & Son, of Marseilles." +She was the exact duplicate of the other Pharaon, and +loaded, as that had been, with cochineal and indigo. She +cast anchor, clued up sails, and on the deck was Captain +Gaumard giving orders, and good old Penelon making signals +to M. Morrel. To doubt any longer was impossible; there was +the evidence of the senses, and ten thousand persons who +came to corroborate the testimony. As Morrel and his son +embraced on the pier-head, in the presence and amid the +applause of the whole city witnessing this event, a man, +with his face half-covered by a black beard, and who, +concealed behind the sentry-box, watched the scene with +delight, uttered these words in a low tone: "Be happy, noble +heart, be blessed for all the good thou hast done and wilt +do hereafter, and let my gratitude remain in obscurity like +your good deeds." + +And with a smile expressive of supreme content, he left his +hiding-place, and without being observed, descended one of +the flights of steps provided for debarkation, and hailing +three times, shouted "Jacopo, Jacopo, Jacopo!" Then a launch +came to shore, took him on board, and conveyed him to a +yacht splendidly fitted up, on whose deck he sprung with the +activity of a sailor; thence he once again looked towards +Morrel, who, weeping with joy, was shaking hands most +cordially with all the crowd around him, and thanking with a +look the unknown benefactor whom he seemed to be seeking in +the skies. "And now," said the unknown, "farewell kindness, +humanity, and gratitude! Farewell to all the feelings that +expand the heart! I have been heaven's substitute to +recompense the good -- now the god of vengeance yields to me +his power to punish the wicked!" At these words he gave a +signal, and, as if only awaiting this signal, the yacht +instantly put out to sea. + + + +Chapter 31 +Italy: Sinbad the Sailor. + +Towards the beginning of the year 1838, two young men +belonging to the first society of Paris, the Vicomte Albert +de Morcerf and the Baron Franz d'Epinay, were at Florence. +They had agreed to see the Carnival at Rome that year, and +that Franz, who for the last three or four years had +inhabited Italy, should act as cicerone to Albert. As it is +no inconsiderable affair to spend the Carnival at Rome, +especially when you have no great desire to sleep on the +Piazza del Popolo, or the Campo Vaccino, they wrote to +Signor Pastrini, the proprietor of the Hotel de Londres, +Piazza di Spagna, to reserve comfortable apartments for +them. Signor Pastrini replied that he had only two rooms and +a parlor on the third floor, which he offered at the low +charge of a louis per diem. They accepted his offer; but +wishing to make the best use of the time that was left, +Albert started for Naples. As for Franz, he remained at +Florence, and after having passed a few days in exploring +the paradise of the Cascine, and spending two or three +evenings at the houses of the Florentine nobility, he took a +fancy into his head (having already visited Corsica, the +cradle of Bonaparte) to visit Elba, the waiting-place of +Napoleon. + +One evening he cast off the painter of a sailboat from the +iron ring that secured it to the dock at Leghorn, wrapped +himself in his coat and lay down, and said to the crew, -- +"To the Island of Elba!" The boat shot out of the harbor +like a bird and the next morning Franz disembarked at +Porto-Ferrajo. He traversed the island, after having +followed the traces which the footsteps of the giant have +left, and re-embarked for Marciana. Two hours after he again +landed at Pianosa, where he was assured that red partridges +abounded. The sport was bad; Franz only succeeded in killing +a few partridges, and, like every unsuccessful sportsman, he +returned to the boat very much out of temper. "Ah, if your +excellency chose," said the captain, "you might have capital +sport." + +"Where?" + +"Do you see that island?" continued the captain, pointing to +a conical pile rising from the indigo sea. + +"Well, what is this island?" + +"The Island of Monte Cristo." + +"But I have no permission to shoot over this island." + +"Your excellency does not require a permit, for the island +is uninhabited." + +"Ah, indeed!" said the young man. "A desert island in the +midst of the Mediterranean must be a curiosity." + +"It is very natural; this island is a mass of rocks, and +does not contain an acre of land capable of cultivation." + +"To whom does this island belong?" + +"To Tuscany." + +"What game shall I find there!" + +"Thousands of wild goats." + +"Who live upon the stones, I suppose," said Franz with an +incredulous smile. + +"No, but by browsing the shrubs and trees that grow out of +the crevices of the rocks." + +"Where can I sleep?" + +"On shore in the grottos, or on board in your cloak; +besides, if your excellency pleases, we can leave as soon as +you like -- we can sail as well by night as by day, and if +the wind drops we can use our oars." + +As Franz had sufficient time, and his apartments at Rome +were not yet available, he accepted the proposition. Upon +his answer in the affirmative, the sailors exchanged a few +words together in a low tone. "Well," asked he, "what now? +Is there any difficulty in the way?" + +"No." replied the captain, "but we must warn your excellency +that the island is an infected port." + +"What do you mean?" + +"Monte Cristo although uninhabited, yet serves occasionally +as a refuge for the smugglers and pirates who come from +Corsica, Sardinia, and Africa, and if it becomes known that +we have been there, we shall have to perform quarantine for +six days on our return to Leghorn." + +"The deuce! That puts a different face on the matter. Six +days! Why, that's as long as the Almighty took to make the +world! Too long a wait -- too long." + +"But who will say your excellency has been to Monte Cristo?" + +"Oh, I shall not," cried Franz. + +"Nor I, nor I," chorused the sailors. + +"Then steer for Monte Cristo." + +The captain gave his orders, the helm was put up, and the +boat was soon sailing in the direction of the island. Franz +waited until all was in order, and when the sail was filled, +and the four sailors had taken their places -- three +forward, and one at the helm -- he resumed the conversation. +"Gaetano," said he to the captain, "you tell me Monte Cristo +serves as a refuge for pirates, who are, it seems to me, a +very different kind of game from the goats." + +"Yes, your excellency, and it is true." + +"I knew there were smugglers, but I thought that since the +capture of Algiers, and the destruction of the regency, +pirates existed only in the romances of Cooper and Captain +Marryat." + +"Your excellency is mistaken; there are pirates, like the +bandits who were believed to have been exterminated by Pope +Leo XII., and who yet, every day, rob travellers at the +gates of Rome. Has not your excellency heard that the French +charge d'affaires was robbed six months ago within five +hundred paces of Velletri?" + +"Oh, yes, I heard that." + +"Well, then, if, like us, your excellency lived at Leghorn, +you would hear, from time to time, that a little merchant +vessel, or an English yacht that was expected at Bastia, at +Porto-Ferrajo, or at Civita Vecchia, has not arrived; no one +knows what has become of it, but, doubtless, it has struck +on a rock and foundered. Now this rock it has met has been a +long and narrow boat, manned by six or eight men, who have +surprised and plundered it, some dark and stormy night, near +some desert and gloomy island, as bandits plunder a carriage +in the recesses of a forest." + +"But," asked Franz, who lay wrapped in his cloak at the +bottom of the boat, "why do not those who have been +plundered complain to the French, Sardinian, or Tuscan +governments?" + +"Why?" said Gaetano with a smile. + +"Yes, why?" + +"Because, in the first place, they transfer from the vessel +to their own boat whatever they think worth taking, then +they bind the crew hand and foot, they attach to every one's +neck a four and twenty pound ball, a large hole is chopped +in the vessel's bottom, and then they leave her. At the end +of ten minutes the vessel begins to roll heavily and settle +down. First one gun'l goes under, then the other. Then they +lift and sink again, and both go under at once. All at once +there's a noise like a cannon -- that's the air blowing up +the deck. Soon the water rushes out of the scupper-holes +like a whale spouting, the vessel gives a last groan, spins +round and round, and disappears, forming a vast whirlpool in +the ocean, and then all is over, so that in five minutes +nothing but the eye of God can see the vessel where she lies +at the bottom of the sea. Do you understand now," said the +captain, "why no complaints are made to the government, and +why the vessel never reaches port?" + +It is probable that if Gaetano had related this previous to +proposing the expedition, Franz would have hesitated, but +now that they had started, he thought it would be cowardly +to draw back. He was one of those men who do not rashly +court danger, but if danger presents itself, combat it with +the most unalterable coolness. Calm and resolute, he treated +any peril as he would an adversary in a duel, -- calculated +its probable method of approach; retreated, if at all, as a +point of strategy and not from cowardice; was quick to see +an opening for attack, and won victory at a single thrust. +"Bah!" said he, "I have travelled through Sicily and +Calabria -- I have sailed two months in the Archipelago, and +yet I never saw even the shadow of a bandit or a pirate." + +"I did not tell your excellency this to deter you from your +project," replied Gaetano, "but you questioned me, and I +have answered; that's all." + +"Yes, and your conversation is most interesting; and as I +wish to enjoy it as long as possible, steer for Monte +Cristo." + +The wind blew strongly, the boat made six or seven knots an +hour, and they were rapidly reaching the end of their +voyage. As they drew near the island seemed to lift from the +sea, and the air was so clear that they could already +distinguish the rocks heaped on one another, like cannon +balls in an arsenal, with green bushes and trees growing in +the crevices. As for the sailors, although they appeared +perfectly tranquil yet it was evident that they were on the +alert, and that they carefully watched the glassy surface +over which they were sailing, and on which a few +fishing-boats, with their white sails, were alone visible. +They were within fifteen miles of Monte Cristo when the sun +began to set behind Corsica, whose mountains appeared +against the sky, showing their rugged peaks in bold relief; +this mass of rock, like the giant Adamastor, rose dead +ahead, a formidable barrier, and intercepting the light that +gilded its massive peaks so that the voyagers were in +shadow. Little by little the shadow rose higher and seemed +to drive before it the last rays of the expiring day; at +last the reflection rested on the summit of the mountain, +where it paused an instant, like the fiery crest of a +volcano, then gloom gradually covered the summit as it had +covered the base, and the island now only appeared to be a +gray mountain that grew continually darker; half an hour +after, the night was quite dark. + +Fortunately, the mariners were used to these latitudes, and +knew every rock in the Tuscan Archipelago; for in the midst +of this obscurity Franz was not without uneasiness -- +Corsica had long since disappeared, and Monte Cristo itself +was invisible; but the sailors seemed, like the lynx, to see +in the dark, and the pilot who steered did not evince the +slightest hesitation. An hour had passed since the sun had +set, when Franz fancied he saw, at a quarter of a mile to +the left, a dark mass, but he could not precisely make out +what it was, and fearing to excite the mirth of the sailors +by mistaking a floating cloud for land, he remained silent; +suddenly a great light appeared on the strand; land might +resemble a cloud, but the fire was not a meteor. "What is +this light?" asked he. + +"Hush!" said the captain; "it is a fire." + +"But you told me the island was uninhabited?" + +"l said there were no fixed habitations on it, but I said +also that it served sometimes as a harbor for smugglers." + +"And for pirates?" + +"And for pirates," returned Gaetano, repeating Franz's +words. "It is for that reason I have given orders to pass +the island, for, as you see, the fire is behind us." + +"But this fire?" continued Franz. "It seems to me rather +reassuring than otherwise; men who did not wish to be seen +would not light a fire." + +"Oh, that goes for nothing," said Gaetano. "If you can guess +the position of the island in the darkness, you will see +that the fire cannot be seen from the side or from Pianosa, +but only from the sea." + +"You think, then, this fire indicates the presence of +unpleasant neighbors?" + +"That is what we must find out," returned Gaetano, fixing +his eyes on this terrestrial star. + +"How can you find out?" + +"You shall see." Gaetano consulted with his companions, and +after five minutes' discussion a manoeuvre was executed +which caused the vessel to tack about, they returned the way +they had come, and in a few minutes the fire disappeared, +hidden by an elevation of the land. The pilot again changed +the course of the boat, which rapidly approached the island, +and was soon within fifty paces of it. Gaetano lowered the +sail, and the boat came to rest. All this was done in +silence, and from the moment that their course was changed +not a word was spoken. + +Gaetano, who had proposed the expedition, had taken all the +responsibility on himself; the four sailors fixed their eyes +on him, while they got out their oars and held themselves in +readiness to row away, which, thanks to the darkness, would +not be difficult. As for Franz, he examined his arms with +the utmost coolness; he had two double-barrelled guns and a +rifle; he loaded them, looked at the priming, and waited +quietly. During this time the captain had thrown off his +vest and shirt, and secured his trousers round his waist; +his feet were naked, so he had no shoes and stockings to +take off; after these preparations he placed his finger on +his lips, and lowering himself noiselessly into the sea, +swam towards the shore with such precaution that it was +impossible to hear the slightest sound; he could only be +traced by the phosphorescent line in his wake. This track +soon disappeared; it was evident that he had touched the +shore. Every one on board remained motionless for half an +hour, when the same luminous track was again observed, and +the swimmer was soon on board. "Well?" exclaimed Franz and +the sailors in unison. + +"They are Spanish smugglers," said he; "they have with them +two Corsican bandits." + +"And what are these Corsican bandits doing here with Spanish +smugglers?" + +"Alas," returned the captain with an accent of the most +profound pity, "we ought always to help one another. Very +often the bandits are hard pressed by gendarmes or +carbineers; well, they see a vessel, and good fellows like +us on board, they come and demand hospitality of us; you +can't refuse help to a poor hunted devil; we receive them, +and for greater security we stand out to sea. This costs us +nothing, and saves the life, or at least the liberty, of a +fellow-creature, who on the first occasion returns the +service by pointing out some safe spot where we can land our +goods without interruption." + +"Ah!" said Franz, "then you are a smuggler occasionally, +Gaetano?" + +"Your excellency, we must live somehow," returned the other, +smiling impenetrably. + +"Then you know the men who are now on Monte Cristo?" + +"Oh, yes, we sailors are like freemasons, and recognize each +other by signs." + +"And do you think we have nothing to fear if we land?" + +"Nothing at all; smugglers are not thieves." + +"But these two Corsican bandits?" said Franz, calculating +the chances of peril. + +"It is not their fault that they are bandits, but that of +the authorities." + +"How so?" + +"Because they are pursued for having made a stiff, as if it +was not in a Corsican's nature to revenge himself." + +"What do you mean by having made a stiff? -- having +assassinated a man?" said Franz, continuing his +investigation. + +"I mean that they have killed an enemy, which is a very +different thing," returned the captain. + +"Well," said the young man, "let us demand hospitality of +these smugglers and bandits. Do you think they will grant +it?" + +"Without doubt." + +"How many are they?" + +"Four, and the two bandits make six." + +"Just our number, so that if they prove troublesome, we +shall be able to hold them in check; so, for the last time, +steer to Monte Cristo." + +"Yes, but your excellency will permit us to take all due +precautions." + +"By all means, be as wise as Nestor and as prudent as +Ulysses; I do more than permit, I exhort you." + +"Silence, then!" said Gaetano. + +Every one obeyed. For a man who, like Franz, viewed his +position in its true light, it was a grave one. He was alone +in the darkness with sailors whom he did not know, and who +had no reason to be devoted to him; who knew that he had +several thousand francs in his belt, and who had often +examined his weapons, -- which were very beautiful, -- if +not with envy, at least with curiosity. On the other hand, +he was about to land, without any other escort than these +men, on an island which had, indeed, a very religious name, +but which did not seem to Franz likely to afford him much +hospitality, thanks to the smugglers and bandits. The +history of the scuttled vessels, which had appeared +improbable during the day, seemed very probable at night; +placed as he was between two possible sources of danger, he +kept his eye on the crew, and his gun in his hand. The +sailors had again hoisted sail, and the vessel was once more +cleaving the waves. Through the darkness Franz, whose eyes +were now more accustomed to it, could see the looming shore +along which the boat was sailing, and then, as they rounded +a rocky point, he saw the fire more brilliant than ever, and +about it five or six persons seated. The blaze illumined the +sea for a hundred paces around. Gaetano skirted the light, +carefully keeping the boat in the shadow; then, when they +were opposite the fire, he steered to the centre of the +circle, singing a fishing song, of which his companions sung +the chorus. At the first words of the song the men seated +round the fire arose and approached the landing-place, their +eyes fixed on the boat, evidently seeking to know who the +new-comers were and what were their intentions. They soon +appeared satisfied and returned (with the exception of one, +who remained at the shore) to their fire, at which the +carcass of a goat was roasting. When the boat was within +twenty paces of the shore, the man on the beach, who carried +a carbine, presented arms after the manner of a sentinel, +and cried, "Who comes there?" in Sardinian. Franz coolly +cocked both barrels. Gaetano then exchanged a few words with +this man which the traveller did not understand, but which +evidently concerned him. "Will your excellency give your +name, or remain incognito?" asked the captain. + +"My name must rest unknown, -- merely say I am a Frenchman +travelling for pleasure." As soon as Gaetano had transmitted +this answer, the sentinel gave an order to one of the men +seated round the fire, who rose and disappeared among the +rocks. Not a word was spoken, every one seemed occupied, +Franz with his disembarkment, the sailors with their sails, +the smugglers with their goat; but in the midst of all this +carelessness it was evident that they mutually observed each +other. The man who had disappeared returned suddenly on the +opposite side to that by which he had left; he made a sign +with his head to the sentinel, who, turning to the boat, +said, "S'accommodi." The Italian s'accommodi is +untranslatable; it means at once, "Come, enter, you are +welcome; make yourself at home; you are the master." It is +like that Turkish phrase of Moliere's that so astonished the +bourgeois gentleman by the number of things implied in its +utterance. The sailors did not wait for a second invitation; +four strokes of the oar brought them to land; Gaetano sprang +to shore, exchanged a few words with the sentinel, then his +comrades disembarked, and lastly came Franz. One of his guns +was swung over his shoulder, Gaetano had the other, and a +sailor held his rifle; his dress, half artist, half dandy, +did not excite any suspicion, and, consequently, no +disquietude. The boat was moored to the shore, and they +advanced a few paces to find a comfortable bivouac; but, +doubtless, the spot they chose did not suit the smuggler who +filled the post of sentinel, for he cried out, "Not that +way, if you please." + +Gaetano faltered an excuse, and advanced to the opposite +side, while two sailors kindled torches at the fire to light +them on their way. They advanced about thirty paces, and +then stopped at a small esplanade surrounded with rocks, in +which seats had been cut, not unlike sentry-boxes. Around in +the crevices of the rocks grew a few dwarf oaks and thick +bushes of myrtles. Franz lowered a torch, and saw by the +mass of cinders that had accumulated that he was not the +first to discover this retreat, which was, doubtless, one of +the halting-places of the wandering visitors of Monte +Cristo. As for his suspicions, once on terra firma, once +that he had seen the indifferent, if not friendly, +appearance of his hosts, his anxiety had quite disappeared, +or rather, at sight of the goat, had turned to appetite. He +mentioned this to Gaetano, who replied that nothing could be +more easy than to prepare a supper when they had in their +boat, bread, wine, half a dozen partridges, and a good fire +to roast them by. "Besides," added he, "if the smell of +their roast meat tempts you, I will go and offer them two of +our birds for a slice." + +"You are a born diplomat," returned Franz; "go and try." + +Meanwhile the sailors had collected dried sticks and +branches with which they made a fire. Franz waited +impatiently, inhaling the aroma of the roasted meat, when +the captain returned with a mysterious air. + +"Well," said Franz, "anything new? -- do they refuse?" + +"On the contrary," returned Gaetano, "the chief, who was +told you were a young Frenchman, invites you to sup with +him." + +"Well," observed Franz, "this chief is very polite, and I +see no objection -- the more so as I bring my share of the +supper." + +"Oh, it is not that; he has plenty, and to spare, for +supper; but he makes one condition, and rather a peculiar +one, before he will receive you at his house." + +"His house? Has he built one here, then?" + +"No; but he has a very comfortable one all the same, so they +say." + +"You know this chief, then?" + +"I have heard talk of him." + +"Favorably or otherwise?" + +"Both." + +"The deuce! -- and what is this condition?" + +"That you are blindfolded, and do not take off the bandage +until he himself bids you." Franz looked at Gaetano, to see, +if possible, what he thought of this proposal. "Ah," replied +he, guessing Franz's thought, "I know this is a serious +matter." + +"What should you do in my place?" + +"I, who have nothing to lose, -- I should go." + +"You would accept?" + +"Yes, were it only out of curiosity." + +"There is something very peculiar about this chief, then?" + +"Listen," said Gaetano, lowering his voice, "I do not know +if what they say is true" -- he stopped to see if any one +was near. + +"What do they say?" + +"That this chief inhabits a cavern to which the Pitti Palace +is nothing." + +"What nonsense!" said Franz, reseating himself. + +"It is no nonsense; it is quite true. Cama, the pilot of the +Saint Ferdinand, went in once, and he came back amazed, +vowing that such treasures were only to be heard of in fairy +tales." + +"Do you know," observed Franz, "that with such stories you +make me think of Ali Baba's enchanted cavern?" + +"I tell you what I have been told." + +"Then you advise me to accept?" + +"Oh, I don't say that; your excellency will do as you +please; I should be sorry to advise you in the matter." +Franz pondered the matter for a few moments, concluded that +a man so rich could not have any intention of plundering him +of what little he had, and seeing only the prospect of a +good supper, accepted. Gaetano departed with the reply. +Franz was prudent, and wished to learn all he possibly could +concerning his host. He turned towards the sailor, who, +during this dialogue, had sat gravely plucking the +partridges with the air of a man proud of his office, and +asked him how these men had landed, as no vessel of any kind +was visible. + +"Never mind that," returned the sailor, "I know their +vessel." + +"Is it a very beautiful vessel?" + +"I would not wish for a better to sail round the world." + +"Of what burden is she?" + +"About a hundred tons; but she is built to stand any +weather. She is what the English call a yacht." + +"Where was she built?" + +"I know not; but my own opinion is she is a Genoese." + +"And how did a leader of smugglers," continued Franz, +"venture to build a vessel designed for such a purpose at +Genoa?" + +"I did not say that the owner was a smuggler," replied the +sailor. + +"No; but Gaetano did, I thought." + +"Gaetano had only seen the vessel from a distance, he had +not then spoken to any one." + +"And if this person be not a smuggler, who is he?" + +"A wealthy signor, who travels for his pleasure." + +"Come," thought Franz, "he is still more mysterious, since +the two accounts do not agree." + +"What is his name?" + +"If you ask him he says Sinbad the Sailor; but I doubt if it +be his real name." + +"Sinbad the Sailor?" + +"Yes." + +"And where does he reside?" + +"On the sea." + +"What country does he come from?" + +"I do not know." + +"Have you ever seen him?" + +"Sometimes." + +"What sort of a man is he?" + +"Your excellency will judge for yourself." + +"Where will he receive me?" + +"No doubt in the subterranean palace Gaetano told you of." + +"Have you never had the curiosity, when you have landed and +found this island deserted, to seek for this enchanted +palace?" + +"Oh, yes, more than once, but always in vain; we examined +the grotto all over, but we never could find the slightest +trace of any opening; they say that the door is not opened +by a key, but a magic word." + +"Decidedly," muttered Franz, "this is an Arabian Nights' +adventure." + +"His excellency waits for you," said a voice, which he +recognized as that of the sentinel. He was accompanied by +two of the yacht's crew. Franz drew his handkerchief from +his pocket, and presented it to the man who had spoken to +him. Without uttering a word, they bandaged his eyes with a +care that showed their apprehensions of his committing some +indiscretion. Afterwards he was made to promise that he +would not make the least attempt to raise the bandage. He +promised. Then his two guides took his arms, and he went on, +guided by them, and preceded by the sentinel. After going +about thirty paces, he smelt the appetizing odor of the kid +that was roasting, and knew thus that he was passing the +bivouac; they then led him on about fifty paces farther, +evidently advancing towards that part of the shore where +they would not allow Gaetano to go -- a refusal he could now +comprehend. Presently, by a change in the atmosphere, he +knew that they were entering a cave; after going on for a +few seconds more he heard a crackling, and it seemed to him +as though the atmosphere again changed, and became balmy and +perfumed. At length his feet touched on a thick and soft +carpet, and his guides let go their hold of him. There was a +moment's silence, and then a voice, in excellent French, +although, with a foreign accent, said, "Welcome, sir. I beg +you will remove your bandage." It may be supposed, then, +Franz did not wait for a repetition of this permission, but +took off the handkerchief, and found himself in the presence +of a man from thirty-eight to forty years of age, dressed in +a Tunisian costume -- that is to say, a red cap with a long +blue silk tassel, a vest of black cloth embroidered with +gold, pantaloons of deep red, large and full gaiters of the +same color, embroidered with gold like the vest, and yellow +slippers; he had a splendid cashmere round his waist, and a +small sharp and crooked cangiar was passed through his +girdle. Although of a paleness that was almost livid, this +man had a remarkably handsome face; his eyes were +penetrating and sparkling; his nose, quite straight, and +projecting direct from the brow, was of the pure Greek type, +while his teeth, as white as pearls, were set off to +admiration by the black mustache that encircled them. + +His pallor was so peculiar, that it seemed to pertain to one +who had been long entombed, and who was incapable of +resuming the healthy glow and hue of life. He was not +particularly tall, but extremely well made, and, like the +men of the south, had small hands and feet. But what +astonished Franz, who had treated Gaetano's description as a +fable, was the splendor of the apartment in which he found +himself. The entire chamber was lined with crimson brocade, +worked with flowers of gold. In a recess was a kind of +divan, surmounted with a stand of Arabian swords in silver +scabbards, and the handles resplendent with gems; from the +ceiling hung a lamp of Venetian glass, of beautiful shape +and color, while the feet rested on a Turkey carpet, in +which they sunk to the instep; tapestry hung before the door +by which Franz had entered, and also in front of another +door, leading into a second apartment which seemed to be +brilliantly illuminated. The host gave Franz time to recover +from his surprise, and, moreover, returned look for look, +not even taking his eyes off him. "Sir," he said, after a +pause, "a thousand excuses for the precaution taken in your +introduction hither; but as, during the greater portion of +the year, this island is deserted, if the secret of this +abode were discovered. I should doubtless, find on my return +my temporary retirement in a state of great disorder, which +would be exceedingly annoying, not for the loss it +occasioned me, but because I should not have the certainty I +now possess of separating myself from all the rest of +mankind at pleasure. Let me now endeavor to make you forget +this temporary unpleasantness, and offer you what no doubt +you did not expect to find here -- that is to say, a +tolerable supper and pretty comfortable beds." + +"Ma foi, my dear sir," replied Franz, "make no apologies. I +have always observed that they bandage people's eyes who +penetrate enchanted palaces, for instance, those of Raoul in +the `Huguenots,' and really I have nothing to complain of, +for what I see makes me think of the wonders of the `Arabian +Nights.'" + +"Alas, I may say with Lucullus, if I could have anticipated +the honor of your visit, I would have prepared for it. But +such as is my hermitage, it is at your disposal; such as is +my supper, it is yours to share, if you will. Ali, is the +supper ready?" At this moment the tapestry moved aside, and +a Nubian, black as ebony, and dressed in a plain white +tunic, made a sign to his master that all was prepared in +the dining-room. "Now," said the unknown to Franz, "I do not +know if you are of my opinion, but I think nothing is more +annoying than to remain two or three hours together without +knowing by name or appellation how to address one another. +Pray observe, that I too much respect the laws of +hospitality to ask your name or title. I only request you to +give me one by which I may have the pleasure of addressing +you. As for myself, that I may put you at your ease, I tell +you that I am generally called `Sinbad the Sailor.'" + +"And I," replied Franz, "will tell you, as I only require +his wonderful lamp to make me precisely like Aladdin, that I +see no reason why at this moment I should not be called +Aladdin. That will keep us from going away from the East +whither I am tempted to think I have been conveyed by some +good genius." + +"Well, then, Signor Aladdin," replied the singular +amphitryon, "you heard our repast announced, will you now +take the trouble to enter the dining-room, your humble +servant going first to show the way?" At these words, moving +aside the tapestry, Sinbad preceded his guest. Franz now +looked upon another scene of enchantment; the table was +splendidly covered, and once convinced of this important +point he cast his eyes around him. The dining-room was +scarcely less striking than the room he had just left; it +was entirely of marble, with antique bas-reliefs of +priceless value; and at the four corners of this apartment, +which was oblong, were four magnificent statues, having +baskets in their hands. These baskets contained four +pyramids of most splendid fruit; there were Sicily +pine-apples, pomegranates from Malaga, oranges from the +Balearic Isles, peaches from France, and dates from Tunis. +The supper consisted of a roast pheasant garnished with +Corsican blackbirds; a boar's ham with jelly, a quarter of a +kid with tartar sauce, a glorious turbot, and a gigantic +lobster. Between these large dishes were smaller ones +containing various dainties. The dishes were of silver, and +the plates of Japanese china. + +Franz rubbed his eyes in order to assure himself that this +was not a dream. Ali alone was present to wait at table, and +acquitted himself so admirably, that the guest complimented +his host thereupon. "Yes," replied he, while he did the +honors of the supper with much ease and grace -- "yes, he is +a poor devil who is much devoted to me, and does all he can +to prove it. He remembers that I saved his life, and as he +has a regard for his head, he feels some gratitude towards +me for having kept it on his shoulders." Ali approached his +master, took his hand, and kissed it. + +"Would it be impertinent, Signor Sinbad," said Franz, "to +ask you the particulars of this kindness?" + +"Oh, they are simple enough," replied the host. "It seems +the fellow had been caught wandering nearer to the harem of +the Bey of Tunis than etiquette permits to one of his color, +and he was condemned by the bey to have his tongue cut out, +and his hand and head cut off; the tongue the first day, the +hand the second, and the head the third. I always had a +desire to have a mute in my service, so learning the day his +tongue was cut out, I went to the bey, and proposed to give +him for Ali a splendid double-barreled gun which I knew he +was very desirous of having. He hesitated a moment, he was +so very desirous to complete the poor devil's punishment. +But when I added to the gun an English cutlass with which I +had shivered his highness's yataghan to pieces, the bey +yielded, and agreed to forgive the hand and head, but on +condition that the poor fellow never again set foot in +Tunis. This was a useless clause in the bargain, for +whenever the coward sees the first glimpse of the shores of +Africa, he runs down below, and can only be induced to +appear again when we are out of sight of that quarter of the +globe." + +Franz remained a moment silent and pensive, hardly knowing +what to think of the half-kindness, half-cruelty, with which +his host related the brief narrative. "And like the +celebrated sailor whose name you have assumed," he said, by +way of changing the conversation, "you pass your life in +travelling?" + +"Yes. I made a vow at a time when I little thought I should +ever be able to accomplish it," said the unknown with a +singular smile; "and I made some others also which I hope I +may fulfil in due season." Although Sinbad pronounced these +words with much calmness, his eyes gave forth gleams of +extraordinary ferocity. + +"You have suffered a great deal, sir?" said Franz +inquiringly. + +Sinbad started and looked fixedly at him, as he replied, +"What makes you suppose so?" + +"Everything," answered Franz, -- "your voice, your look, +your pallid complexion, and even the life you lead." + +"I? -- I live the happiest life possible, the real life of a +pasha. I am king of all creation. I am pleased with one +place, and stay there; I get tired of it, and leave it; I am +free as a bird and have wings like one; my attendants obey +my slightest wish. Sometimes I amuse myself by delivering +some bandit or criminal from the bonds of the law. Then I +have my mode of dispensing justice, silent and sure, without +respite or appeal, which condemns or pardons, and which no +one sees. Ah, if you had tasted my life, you would not +desire any other, and would never return to the world unless +you had some great project to accomplish there." + +"Revenge, for instance!" observed Franz. + +The unknown fixed on the young man one of those looks which +penetrate into the depth of the heart and thoughts. "And why +revenge?" he asked. + +"Because," replied Franz, "you seem to me like a man who, +persecuted by society, has a fearful account to settle with +it." + +"Ah," responded Sinbad, laughing with his singular laugh +which displayed his white and sharp teeth. "You have not +guessed rightly. Such as you see me I am, a sort of +philosopher, and one day perhaps I shall go to Paris to +rival Monsieur Appert, and the little man in the blue +cloak." + +"And will that be the first time you ever took that +journey?" + +"Yes; it will. I must seem to you by no means curious, but I +assure you that it is not my fault I have delayed it so long +-- it will happen one day or the other." + +"And do you propose to make this journey very shortly?" + +"I do not know; it depends on circumstances which depend on +certain arrangements." + +"I should like to be there at the time you come, and I will +endeavor to repay you, as far as lies in my power, for your +liberal hospitality displayed to me at Monte Cristo." + +"I should avail myself of your offer with pleasure," replied +the host, "but, unfortunately, if I go there, it will be, in +all probability, incognito." + +The supper appeared to have been supplied solely for Franz, +for the unknown scarcely touched one or two dishes of the +splendid banquet to which his guest did ample justice. Then +Ali brought on the dessert, or rather took the baskets from +the hands of the statues and placed them on the table. +Between the two baskets he placed a small silver cup with a +silver cover. The care with which Ali placed this cup on the +table roused Franz's curiosity. He raised the cover and saw +a kind of greenish paste, something like preserved angelica, +but which was perfectly unknown to him. He replaced the lid, +as ignorant of what the cup contained as he was before he +had looked at it, and then casting his eyes towards his host +he saw him smile at his disappointment. "You cannot guess," +said he, "what there is in that small vase, can you?" + +"No, I really cannot." + +"Well, then, that green preserve is nothing less than the +ambrosia which Hebe served at the table of Jupiter." + +"But," replied Franz, "this ambrosia, no doubt, in passing +through mortal hands has lost its heavenly appellation and +assumed a human name; in vulgar phrase, what may you term +this composition, for which, to tell the truth, I do not +feel any particular desire?" + +"Ah, thus it is that our material origin is revealed," cried +Sinbad; "we frequently pass so near to happiness without +seeing, without regarding it, or if we do see and regard it, +yet without recognizing it. Are you a man for the +substantials, and is gold your god? taste this, and the +mines of Peru, Guzerat, and Golconda are opened to you. Are +you a man of imagination -- a poet? taste this, and the +boundaries of possibility disappear; the fields of infinite +space open to you, you advance free in heart, free in mind, +into the boundless realms of unfettered revery. Are you +ambitious, and do you seek after the greatnesses of the +earth? taste this, and in an hour you will be a king, not a +king of a petty kingdom hidden in some corner of Europe like +France, Spain, or England, but king of the world, king of +the universe, king of creation; without bowing at the feet +of Satan, you will be king and master of all the kingdoms of +the earth. Is it not tempting what I offer you, and is it +not an easy thing, since it is only to do thus? look!" At +these words he uncovered the small cup which contained the +substance so lauded, took a teaspoonful of the magic +sweetmeat, raised it to his lips, and swallowed it slowly +with his eyes half shut and his head bent backwards. Franz +did not disturb him whilst he absorbed his favorite +sweetmeat, but when he had finished, he inquired, -- "What, +then, is this precious stuff?" + +"Did you ever hear," he replied, "of the Old Man of the +Mountain, who attempted to assassinate Philip Augustus?" + +"Of course I have." + +"Well, you know he reigned over a rich valley which was +overhung by the mountain whence he derived his picturesque +name. In this valley were magnificent gardens planted by +Hassen-ben-Sabah, and in these gardens isolated pavilions. +Into these pavilions he admitted the elect, and there, says +Marco Polo, gave them to eat a certain herb, which +transported them to Paradise, in the midst of ever-blooming +shrubs, ever-ripe fruit, and ever-lovely virgins. What these +happy persons took for reality was but a dream; but it was a +dream so soft, so voluptuous, so enthralling, that they sold +themselves body and soul to him who gave it to them, and +obedient to his orders as to those of a deity, struck down +the designated victim, died in torture without a murmur, +believing that the death they underwent was but a quick +transition to that life of delights of which the holy herb, +now before you had given them a slight foretaste." + +"Then," cried Franz, "it is hashish! I know that -- by name +at least." + +"That is it precisely, Signor Aladdin; it is hashish -- the +purest and most unadulterated hashish of Alexandria, -- the +hashish of Abou-Gor, the celebrated maker, the only man, the +man to whom there should be built a palace, inscribed with +these words, `A grateful world to the dealer in happiness.'" + +"Do you know," said Franz, "I have a very great inclination +to judge for myself of the truth or exaggeration of your +eulogies." + +"Judge for yourself, Signor Aladdin -- judge, but do not +confine yourself to one trial. Like everything else, we must +habituate the senses to a fresh impression, gentle or +violent, sad or joyous. There is a struggle in nature +against this divine substance, -- in nature which is not +made for joy and clings to pain. Nature subdued must yield +in the combat, the dream must succeed to reality, and then +the dream reigns supreme, then the dream becomes life, and +life becomes the dream. But what changes occur! It is only +by comparing the pains of actual being with the joys of the +assumed existence, that you would desire to live no longer, +but to dream thus forever. When you return to this mundane +sphere from your visionary world, you would seem to leave a +Neapolitan spring for a Lapland winter -- to quit paradise +for earth -- heaven for hell! Taste the hashish, guest of +mine -- taste the hashish." + +Franz's only reply was to take a teaspoonful of the +marvellous preparation, about as much in quantity as his +host had eaten, and lift it to his mouth. "Diable!" he said, +after having swallowed the divine preserve. "I do not know +if the result will be as agreeable as you describe, but the +thing does not appear to me as palatable as you say." + +"Because your palate his not yet been attuned to the +sublimity of the substances it flavors. Tell me, the first +time you tasted oysters, tea, porter, truffles, and sundry +other dainties which you now adore, did you like them? Could +you comprehend how the Romans stuffed their pheasants with +assafoetida, and the Chinese eat swallows' nests? Eh? no! +Well, it is the same with hashish; only eat for a week, and +nothing in the world will seem to you to equal the delicacy +of its flavor, which now appears to you flat and +distasteful. Let us now go into the adjoining chamber, which +is your apartment, and Ali will bring us coffee and pipes." +They both arose, and while he who called himself Sinbad -- +and whom we have occasionally named so, that we might, like +his guest, have some title by which to distinguish him -- +gave some orders to the servant, Franz entered still another +apartment. It was simply yet richly furnished. It was round, +and a large divan completely encircled it. Divan, walls, +ceiling, floor, were all covered with magnificent skins as +soft and downy as the richest carpets; there were +heavy-maned lion-skins from Atlas, striped tiger-skins from +Bengal; panther-skins from the Cape, spotted beautifully, +like those that appeared to Dante; bear-skins from Siberia, +fox-skins from Norway, and so on; and all these skins were +strewn in profusion one on the other, so that it seemed like +walking over the most mossy turf, or reclining on the most +luxurious bed. Both laid themselves down on the divan; +chibouques with jasmine tubes and amber mouthpieces were +within reach, and all prepared so that there was no need to +smoke the same pipe twice. Each of them took one, which Ali +lighted and then retired to prepare the coffee. There was a +moment's silence, during which Sinbad gave himself up to +thoughts that seemed to occupy him incessantly, even in the +midst of his conversation; and Franz abandoned himself to +that mute revery, into which we always sink when smoking +excellent tobacco, which seems to remove with its fume all +the troubles of the mind, and to give the smoker in exchange +all the visions of the soul. Ali brought in the coffee. "How +do you take it?" inquired the unknown; "in the French or +Turkish style, strong or weak, sugar or none, cool or +boiling? As you please; it is ready in all ways." + +"I will take it in the Turkish style," replied Franz. + +"And you are right," said his host; "it shows you have a +tendency for an Oriental life. Ah, those Orientals; they are +the only men who know how to live. As for me," he added, +with one of those singular smiles which did not escape the +young man, "when I have completed my affairs in Paris, I +shall go and die in the East; and should you wish to see me +again, you must seek me at Cairo, Bagdad, or Ispahan." + +"Ma foi," said Franz, "it would be the easiest thing in the +world; for I feel eagle's wings springing out at my +shoulders, and with those wings I could make a tour of the +world in four and twenty hours." + +"Ah, yes, the hashish is beginning its work. Well, unfurl +your wings, and fly into superhuman regions; fear nothing, +there is a watch over you; and if your wings, like those of +Icarus, melt before the sun, we are here to ease your fall." +He then said something in Arabic to Ali, who made a sign of +obedience and withdrew, but not to any distance. As to Franz +a strange transformation had taken place in him. All the +bodily fatigue of the day, all the preoccupation of mind +which the events of the evening had brought on, disappeared +as they do at the first approach of sleep, when we are still +sufficiently conscious to be aware of the coming of slumber. +His body seemed to acquire an airy lightness, his perception +brightened in a remarkable manner, his senses seemed to +redouble their power, the horizon continued to expand; but +it was not the gloomy horizon of vague alarms, and which he +had seen before he slept, but a blue, transparent, unbounded +horizon, with all the blue of the ocean, all the spangles of +the sun, all the perfumes of the summer breeze; then, in the +midst of the songs of his sailors, -- songs so clear and +sonorous, that they would have made a divine harmony had +their notes been taken down, -- he saw the Island of Monte +Cristo, no longer as a threatening rock in the midst of the +waves, but as an oasis in the desert; then, as his boat drew +nearer, the songs became louder, for an enchanting and +mysterious harmony rose to heaven, as if some Loreley had +decreed to attract a soul thither, or Amphion, the +enchanter, intended there to build a city. + +At length the boat touched the shore, but without effort, +without shock, as lips touch lips; and he entered the grotto +amidst continued strains of most delicious melody. He +descended, or rather seemed to descend, several steps, +inhaling the fresh and balmy air, like that which may be +supposed to reign around the grotto of Circe, formed from +such perfumes as set the mind a dreaming, and such fires as +burn the very senses; and he saw again all he had seen +before his sleep, from Sinbad, his singular host, to Ali, +the mute attendant; then all seemed to fade away and become +confused before his eyes, like the last shadows of the magic +lantern before it is extinguished, and he was again in the +chamber of statues, lighted only by one of those pale and +antique lamps which watch in the dead of the night over the +sleep of pleasure. They were the same statues, rich in form, +in attraction. and poesy, with eyes of fascination, smiles +of love, and bright and flowing hair. They were Phryne, +Cleopatra, Messalina, those three celebrated courtesans. +Then among them glided like a pure ray, like a Christian +angel in the midst of Olympus, one of those chaste figures, +those calm shadows, those soft visions, which seemed to veil +its virgin brow before these marble wantons. Then the three +statues advanced towards him with looks of love, and +approached the couch on which he was reposing, their feet +hidden in their long white tunics, their throats bare, hair +flowing like waves, and assuming attitudes which the gods +could not resist, but which saints withstood, and looks +inflexible and ardent like those with which the serpent +charms the bird; and then he gave way before looks that held +him in a torturing grasp and delighted his senses as with a +voluptuous kiss. It seemed to Franz that he closed his eyes, +and in a last look about him saw the vision of modesty +completely veiled; and then followed a dream of passion like +that promised by the Prophet to the elect. Lips of stone +turned to flame, breasts of ice became like heated lava, so +that to Franz, yielding for the first time to the sway of +the drug, love was a sorrow and voluptuousness a torture, as +burning mouths were pressed to his thirsty lips, and he was +held in cool serpent-like embraces. The more he strove +against this unhallowed passion the more his senses yielded +to its thrall, and at length, weary of a struggle that taxed +his very soul, he gave way and sank back breathless and +exhausted beneath the kisses of these marble goddesses, and +the enchantment of his marvellous dream. + + + +Chapter 32 +The Waking. + +When Franz returned to himself, he seemed still to be in a +dream. He thought himself in a sepulchre, into which a ray +of sunlight in pity scarcely penetrated. He stretched forth +his hand, and touched stone; he rose to his seat, and found +himself lying on his bournous in a bed of dry heather, very +soft and odoriferous. The vision had fled; and as if the +statues had been but shadows from the tomb, they had +vanished at his waking. He advanced several paces towards +the point whence the light came, and to all the excitement +of his dream succeeded the calmness of reality. He found +that he was in a grotto, went towards the opening, and +through a kind of fanlight saw a blue sea and an azure sky. +The air and water were shining in the beams of the morning +sun; on the shore the sailors were sitting, chatting and +laughing; and at ten yards from them the boat was at anchor, +undulating gracefully on the water. There for some time he +enjoyed the fresh breeze which played on his brow, and +listened to the dash of the waves on the beach, that left +against the rocks a lace of foam as white as silver. He was +for some time without reflection or thought for the divine +charm which is in the things of nature, specially after a +fantastic dream; then gradually this view of the outer +world, so calm, so pure, so grand, reminded him of the +illusiveness of his vision, and once more awakened memory. +He recalled his arrival on the island, his presentation to a +smuggler chief, a subterranean palace full of splendor, an +excellent supper, and a spoonful of hashish. It seemed, +however, even in the very face of open day, that at least a +year had elapsed since all these things had passed, so deep +was the impression made in his mind by the dream, and so +strong a hold had it taken of his imagination. Thus every +now and then he saw in fancy amid the sailors, seated on a +rock, or undulating in the vessel, one of the shadows which +had shared his dream with looks and kisses. Otherwise, his +head was perfectly clear, and his body refreshed; he was +free from the slightest headache; on the contrary, he felt a +certain degree of lightness, a faculty for absorbing the +pure air, and enjoying the bright sunshine more vividly than +ever. + +He went gayly up to the sailors, who rose as soon as they +perceived him; and the patron, accosting him, said, "The +Signor Sinbad has left his compliments for your excellency, +and desires us to express the regret he feels at not being +able to take his leave in person; but he trusts you will +excuse him, as very important business calls him to Malaga." + +"So, then, Gaetano," said Franz, "this is, then, all +reality; there exists a man who has received me in this +island, entertained me right royally, and his departed while +I was asleep?" + +"He exists as certainly as that you may see his small yacht +with all her sails spread; and if you will use your glass, +you will, in all probability, recognize your host in the +midst of his crew." So saying, Gaetano pointed in a +direction in which a small vessel was making sail towards +the southern point of Corsica. Franz adjusted his telescope, +and directed it towards the yacht. Gaetano was not mistaken. +At the stern the mysterious stranger was standing up looking +towards the shore, and holding a spy-glass in his hand. He +was attired as he had been on the previous evening, and +waved his pocket-handkerchief to his guest in token of +adieu. Franz returned the salute by shaking his handkerchief +as an exchange of signals. After a second, a slight cloud of +smoke was seen at the stern of the vessel, which rose +gracefully as it expanded in the air, and then Franz heard a +slight report. "There, do you hear?" observed Gaetano; "he +is bidding you adieu." The young man took his carbine and +fired it in the air, but without any idea that the noise +could be heard at the distance which separated the yacht +from the shore. + +"What are your excellency's orders?" inquired Gaetano. + +"In the first place, light me a torch." + +"Ah, yes, I understand," replied the patron, "to find the +entrance to the enchanted apartment. With much pleasure, +your excellency, if it would amuse you; and I will get you +the torch you ask for. But I too have had the idea you have, +and two or three times the same fancy has come over me; but +I have always given it up. Giovanni, light a torch," he +added, "and give it to his excellency." + +Giovanni obeyed. Franz took the lamp, and entered the +subterranean grotto, followed by Gaetano. He recognized the +place where he had awaked by the bed of heather that was +there; but it was in vain that he carried his torch all +round the exterior surface of the grotto. He saw nothing, +unless that, by traces of smoke, others had before him +attempted the same thing, and, like him, in vain. Yet he did +not leave a foot of this granite wall, as impenetrable as +futurity, without strict scrutiny; he did not see a fissure +without introducing the blade of his hunting sword into it, +or a projecting point on which he did not lean and press in +the hopes it would give way. All was vain; and he lost two +hours in his attempts, which were at last utterly useless. +At the end of this time he gave up his search, and Gaetano +smiled. + +When Franz appeared again on the shore, the yacht only +seemed like a small white speck on the horizon. He looked +again through his glass, but even then he could not +distinguish anything. Gaetano reminded him that he had come +for the purpose of shooting goats, which he had utterly +forgotten. He took his fowling-piece, and began to hunt over +the island with the air of a man who is fulfilling a duty, +rather than enjoying a pleasure; and at the end of a quarter +of an hour he had killed a goat and two kids. These animals, +though wild and agile as chamois, were too much like +domestic goats, and Franz could not consider them as game. +Moreover, other ideas, much more enthralling, occupied his +mind. Since, the evening before, he had really been the hero +of one of the tales of the "Thousand and One Nights," and he +was irresistibly attracted towards the grotto. Then, in +spite of the failure of his first search, he began a second, +after having told Gaetano to roast one of the two kids. The +second visit was a long one, and when he returned the kid +was roasted and the repast ready. Franz was sitting on the +spot where he was on the previous evening when his +mysterious host had invited him to supper; and he saw the +little yacht, now like a sea-gull on the wave, continuing +her flight towards Corsica. "Why," he remarked to Gaetano, +"you told me that Signor Sinbad was going to Malaga, while +it seems he is in the direction of Porto-Vecchio." + +"Don't you remember," said the patron, "I told you that +among the crew there were two Corsican brigands?" + +"True; and he is going to land them," added Franz. + +"Precisely so," replied Gaetano. "Ah, he is one who fears +neither God nor Satan, they say, and would at any time run +fifty leagues out of his course to do a poor devil a +service." + +"But such services as these might involve him with the +authorities of the country in which he practices this kind +of philanthropy," said Franz. + +"And what cares he for that," replied Gaetano with a laugh, +"or any authorities? He smiles at them. Let them try to +pursue him! Why, in the first place, his yacht is not a +ship, but a bird, and he would beat any frigate three knots +in every nine; and if he were to throw himself on the coast, +why, is he not certain of finding friends everywhere?" + +It was perfectly clear that the Signor Sinbad, Franz's host, +had the honor of being on excellent terms with the smugglers +and bandits along the whole coast of the Mediterranean, and +so enjoyed exceptional privileges. As to Franz, he had no +longer any inducement to remain at Monte Cristo. He had lost +all hope of detecting the secret of the grotto; he +consequently despatched his breakfast, and, his boat being +ready, he hastened on board, and they were soon under way. +At the moment the boat began her course they lost sight of +the yacht, as it disappeared in the gulf of Porto-Vecchio. +With it was effaced the last trace of the preceding night; +and then supper, Sinbad, hashish, statues, -- all became a +dream for Franz. The boat sailed on all day and all night, +and next morning, when the sun rose, they had lost sight of +Monte Cristo. When Franz had once again set foot on shore, +he forgot, for the moment at least, the events which had +just passed, while he finished his affairs of pleasure at +Florence, and then thought of nothing but how he should +rejoin his companion, who was awaiting him at Rome. + +He set out, and on the Saturday evening reached the Eternal +City by the mail-coach. An apartment, as we have said, had +been retained beforehand, and thus he had but to go to +Signor Pastrini's hotel. But this was not so easy a matter, +for the streets were thronged with people, and Rome was +already a prey to that low and feverish murmur which +precedes all great events; and at Rome there are four great +events in every year, -- the Carnival, Holy Week, Corpus +Christi, and the Feast of St. Peter. All the rest of the +year the city is in that state of dull apathy, between life +and death, which renders it similar to a kind of station +between this world and the next -- a sublime spot, a +resting-place full of poetry and character, and at which +Franz had already halted five or six times, and at each time +found it more marvellous and striking. At last he made his +way through the mob, which was continually increasing and +getting more and more turbulent, and reached the hotel. On +his first inquiry he was told, with the impertinence +peculiar to hired hackney-coachmen and inn-keepers with +their houses full, that there was no room for him at the +Hotel de Londres. Then he sent his card to Signor Pastrini, +and asked for Albert de Morcerf. This plan succeeded; and +Signor Pastrini himself ran to him, excusing himself for +having made his excellency wait, scolding the waiters, +taking the candlestick from the porter, who was ready to +pounce on the traveller and was about to lead him to Albert, +when Morcerf himself appeared. + +The apartment consisted of two small rooms and a parlor. The +two rooms looked onto the street -- a fact which Signor +Pastrini commented upon as an inappreciable advantage. The +rest of the floor was hired by a very rich gentleman who was +supposed to be a Sicilian or Maltese; but the host was +unable to decide to which of the two nations the traveller +belonged. "Very good, signor Pastrini," said Franz; "but we +must have some supper instantly, and a carriage for tomorrow +and the following days." + +"As to supper," replied the landlord, "you shall be served +immediately; but as for the carriage" -- + +"What as to the carriage?" exclaimed Albert. "Come, come, +Signor Pastrini, no joking; we must have a carriage." + +"Sir," replied the host, "we will do all in our power to +procure you one -- this is all I can say." + +"And when shall we know?" inquired Franz. + +"To-morrow morning," answered the inn-keeper. + +"Oh, the deuce! then we shall pay the more, that's all, I +see plainly enough. At Drake's or Aaron's one pays +twenty-five lire for common days, and thirty or thirty-five +lire a day more for Sundays and feast days; add five lire a +day more for extras, that will make forty, and there's an +end of it." + +"I am afraid if we offer them double that we shall not +procure a carriage." + +"Then they must put horses to mine. It is a little worse for +the journey, but that's no matter." + +"There are no horses." Albert looked at Franz like a man who +hears a reply he does not understand. + +"Do you understand that, my dear Franz -- no horses?" he +said, "but can't we have post-horses?" + +"They have been all hired this fortnight, and there are none +left but those absolutely requisite for posting." + +"What are we to say to this?" asked Franz. + +"I say, that when a thing completely surpasses my +comprehension, I am accustomed not to dwell on that thing, +but to pass to another. Is supper ready, Signor Pastrini?" + +"Yes, your excellency." + +"Well, then, let us sup." + +"But the carriage and horses?" said Franz. + +"Be easy, my dear boy; they will come in due season; it is +only a question of how much shall be charged for them." +Morcerf then, with that delighted philosophy which believes +that nothing is impossible to a full purse or well-lined +pocketbook, supped, went to bed, slept soundly, and dreamed +he was racing all over Rome at Carnival time in a coach with +six horses. + + + +Chapter 33 +Roman Bandits. + +The next morning Franz woke first, and instantly rang the +bell. The sound had not yet died away when Signor Pastrini +himself entered. + +"Well, excellency," said the landlord triumphantly, and +without waiting for Franz to question him, "I feared +yesterday, when I would not promise you anything, that you +were too late -- there is not a single carriage to be had -- +that is, for the last three days of the carnival." + +"Yes," returned Franz, "for the very three days it is most +needed." + +"What is the matter?" said Albert, entering; "no carriage to +be had?" + +"Just so," returned Franz, "you have guessed it." + +"Well, your Eternal City is a nice sort of place." + +"That is to say, excellency," replied Pastrini, who was +desirous of keeping up the dignity of the capital of the +Christian world in the eyes of his guest, "that there are no +carriages to be had from Sunday to Tuesday evening, but from +now till Sunday you can have fifty if you please." + +"Ah, that is something," said Albert; "to-day is Thursday, +and who knows what may arrive between this and Sunday?" + +"Ten or twelve thousand travellers will arrive," replied +Franz, "which will make it still more difficult." + +"My friend," said Morcerf, "let us enjoy the present without +gloomy forebodings for the future." + +"At least we can have a window?" + +"Where?" + +"In the Corso." + +"Ah, a window!" exclaimed Signor Pastrini, -- "utterly +impossible; there was only one left on the fifth floor of +the Doria Palace, and that has been let to a Russian prince +for twenty sequins a day." + +The two young men looked at each other with an air of +stupefaction. + +"Well," said Franz to Albert, "do you know what is the best +thing we can do? It is to pass the Carnival at Venice; there +we are sure of obtaining gondolas if we cannot have +carriages." + +"Ah, the devil, no," cried Albert; "I came to Rome to see +the Carnival, and I will, though I see it on stilts." + +"Bravo! an excellent idea. We will disguise ourselves as +monster pulchinellos or shepherds of the Landes, and we +shall have complete success." + +"Do your excellencies still wish for a carriage from now to +Sunday morning?" + +"Parbleu!" said Albert, "do you think we are going to run +about on foot in the streets of Rome, like lawyer's clerks?" + +"I hasten to comply with your excellencies' wishes; only, I +tell you beforehand, the carriage will cost you six piastres +a day." + +"And, as I am not a millionaire, like the gentleman in the +next apartments," said Franz, "I warn you, that as I have +been four times before at Rome, I know the prices of all the +carriages; we will give you twelve piastres for to-day, +tomorrow, and the day after, and then you will make a good +profit." + +"But, excellency" -- said Pastrini, still striving to gain +his point. + +"Now go," returned Franz, "or I shall go myself and bargain +with your affettatore, who is mine also; he is an old friend +of mine, who has plundered me pretty well already, and, in +the hope of making more out of me, he will take a less price +than the one I offer you; you will lose the preference, and +that will be your fault." + +"Do not give yourselves the trouble, excellency," returned +Signor Pastrini, with the smile peculiar to the Italian +speculator when he confesses defeat; "I will do all I can, +and I hope you will be satisfied." + +"And now we understand each other." + +"When do you wish the carriage to be here?" + +"In an hour." + +"In an hour it will be at the door." + +An hour after the vehicle was at the door; it was a hack +conveyance which was elevated to the rank of a private +carriage in honor of the occasion, but, in spite of its +humble exterior, the young men would have thought themselves +happy to have secured it for the last three days of the +Carnival. "Excellency," cried the cicerone, seeing Franz +approach the window, "shall I bring the carriage nearer to +the palace?" + +Accustomed as Franz was to the Italian phraseology, his +first impulse was to look round him, but these words were +addressed to him. Franz was the "excellency," the vehicle +was the "carriage," and the Hotel de Londres was the +"palace." The genius for laudation characteristic of the +race was in that phrase. + +Franz and Albert descended, the carriage approached the +palace; their excellencies stretched their legs along the +seats; the cicerone sprang into the seat behind. "Where do +your excellencics wish to go?" asked he. + +"To Saint Peter's first, and then to the Colosseum," +returned Albert. But Albert did not know that it takes a day +to see Saint Peter's, and a month to study it. The day was +passed at Saint Peter's alone. Suddenly the daylight began +to fade away; Franz took out his watch -- it was half-past +four. They returned to the hotel; at the door Franz ordered +the coachman to be ready at eight. He wished to show Albert +the Colosseum by moonlight, as he had shown him Saint +Peter's by daylight. When we show a friend a city one has +already visited, we feel the same pride as when we point out +a woman whose lover we have been. He was to leave the city +by the Porta del Popolo, skirt the outer wall, and re-enter +by the Porta San Giovanni; thus they would behold the +Colosseum without finding their impressions dulled by first +looking on the Capitol, the Forum, the Arch of Septimus +Severus, the Temple of Antoninus and Faustina, and the Via +Sacra. They sat down to dinner. Signor Pastrini had promised +them a banquet; he gave them a tolerable repast. At the end +of the dinner he entered in person. Franz thought that he +came to hear his dinner praised, and began accordingly, but +at the first words he was interrupted. "Excellency," said +Pastrini, "I am delighted to have your approbation, but it +was not for that I came." + +"Did you come to tell us you have procured a carriage?" +asked Albert, lighting his cigar. + +"No; and your excellencies will do well not to think of that +any longer; at Rome things can or cannot be done; when you +are told anything cannot he done, there is an end of it." + +"It is much more convenient at Paris, -- when anything +cannot be done, you pay double, and it is done directly." + +"That is what all the French say," returned Signor Pastrini, +somewhat piqued; "for that reason, I do not understand why +they travel." + +"But," said Albert, emitting a volume of smoke and balancing +his chair on its hind legs, "only madmen, or blockheads like +us, ever do travel. Men in their senses do not quit their +hotel in the Rue du Helder, their walk on the Boulevard de +Gand, and the Cafe de Paris." It is of course understood +that Albert resided in the aforesaid street, appeared every +day on the fashionable walk, and dined frequently at the +only restaurant where you can really dine, that is, if you +are on good terms with its frequenters. Signor Pastrini +remained silent a short time; it was evident that he was +musing over this answer, which did not seem very clear. +"But," said Franz, in his turn interrupting his host's +meditations, "you had some motive for coming here, may I beg +to know what it was?" + +"Ah, yes; you have ordered your carriage at eight o'clock +precisely?" + +"I have." + +"You intend visiting Il Colosseo." + +"You mean the Colosseum?" + +"It is the same thing. You have told your coachman to leave +the city by the Porta del Popolo, to drive round the walls, +and re-enter by the Porta San Giovanni?" + +"These are my words exactly." + +"Well, this route is impossible." + +"Impossible!" + +"Very dangerous, to say the least." + +"Dangerous! -- and why?" + +"On account of the famous Luigi Vampa." + +"Pray, who may this famous Luigi Vampa be?" inquired Albert; +"he may be very famous at Rome, but I can assure you he is +quite unknown at Paris." + +"What! do you not know him?" + +"I have not that honor." + +"You have never heard his name?" + +"Never." + +"Well, then, he is a bandit, compared to whom the Decesaris +and the Gasparones were mere children." + +"Now then, Albert," cried Franz, "here is a bandit for you +at last." + +"I forewarn you, Signor Pastrini, that I shall not believe +one word of what you are going to tell us; having told you +this, begin." + +"Once upon a time" -- + +"Well, go on." Signor Pastrini turned toward Franz, who +seemed to him the more reasonable of the two; we must do him +justice, -- he had had a great many Frenchmen in his house, +but had never been able to comprehend them. "Excellency," +said he gravely, addressing Franz, "if you look upon me as a +liar, it is useless for me to say anything; it was for your +interest I" -- + +"Albert does not say you are a liar, Signor Pastrini," said +Franz, "but that he will not believe what you are going to +tell us, -- but I will believe all you say; so proceed." + +"But if your excellency doubt my veracity" -- + +"Signor Pastrini," returned Franz, "you are more susceptible +than Cassandra, who was a prophetess, and yet no one +believed her; while you, at least, are sure of the credence +of half your audience. Come, sit down, and tell us all about +this Signor Vampa." + +"I had told your excellency he is the most famous bandit we +have had since the days of Mastrilla." + +"Well, what has this bandit to do with the order I have +given the coachman to leave the city by the Porta del +Popolo, and to re-enter by the Porta San Giovanni?" + +"This," replied Signor Pastrini, "that you will go out by +one, but I very much doubt your returning by the other." + +"Why?" asked Franz. + +"Because, after nightfall, you are not safe fifty yards from +the gates." + +"On your honor is that true?" cried Albert. + +"Count," returned Signor Pastrini, hurt at Albert's repeated +doubts of the truth of his assertions, "I do not say this to +you, but to your companion, who knows Rome, and knows, too, +that these things are not to be laughed at." + +"My dear fellow," said Albert, turning to Franz, "here is an +admirable adventure; we will fill our carriage with pistols, +blunderbusses, and double-barrelled guns. Luigi Vampa comes +to take us, and we take him -- we bring him back to Rome, +and present him to his holiness the Pope, who asks how he +can repay so great a service; then we merely ask for a +carriage and a pair of horses, and we see the Carnival in +the carriage, and doubtless the Roman people will crown us +at the Capitol, and proclaim us, like Curtius and the veiled +Horatius, the preservers of their country." Whilst Albert +proposed this scheme, Signor Pastrini's face assumed an +expression impossible to describe. + +"And pray," asked Franz, "where are these pistols, +blunderbusses, and other deadly weapons with which you +intend filling the carriage?" + +"Not out of my armory, for at Terracina I was plundered even +of my hunting-knife." + +"I shared the same fate at Aquapendente." + +"Do you know, Signor Pastrini," said Albert, lighting a +second cigar at the first, "that this practice is very +convenient for bandits, and that it seems to be due to an +arrangement of their own." Doubtless Signor Pastrini found +this pleasantry compromising, for he only answered half the +question, and then he spoke to Franz, as the only one likely +to listen with attention. "Your excellency knows that it is +not customary to defend yourself when attacked by bandits." + +"What!" cried Albert, whose courage revolted at the idea of +being plundered tamely, "not make any resistance!" + +"No, for it would be useless. What could you do against a +dozen bandits who spring out of some pit, ruin, or aqueduct, +and level their pieces at you?" + +"Eh, parbleu! -- they should kill me." + +The inn-keeper turned to Franz with an air that seemed to +say, "Your friend is decidedly mad." + +"My dear Albert," returned Franz, "your answer is sublime, +and worthy the `Let him die,' of Corneille, only, when +Horace made that answer, the safety of Rome was concerned; +but, as for us, it is only to gratify a whim, and it would +be ridiculous to risk our lives for so foolish a motive." +Albert poured himself out a glass of lacryma Christi, which +he sipped at intervals, muttering some unintelligible words. + +"Well, Signor Pastrini," said Franz, "now that my companion +is quieted, and you have seen how peaceful my intentions +are, tell me who is this Luigi Vampa. Is he a shepherd or a +nobleman? -- young or old? -- tall or short? Describe him, +in order that, if we meet him by chance, like Bugaboo John +or Lara, we may recognize him." + +"You could not apply to any one better able to inform you on +all these points, for I knew him when he was a child, and +one day that I fell into his hands, going from Ferentino to +Alatri, he, fortunately for me, recollected me, and set me +free, not only without ransom, but made me a present of a +very splendid watch, and related his history to me." + +"Let us see the watch," said Albert. + +Signor Pastrini drew from his fob a magnificent Breguet, +bearing the name of its maker, of Parisian manufacture, and +a count's coronet. + +"Here it is," said he. + +"Peste," returned Albert, "I compliment you on it; I have +its fellow" -- he took his watch from his waistcoat pocket +-- "and it cost me 3,000 francs." + +"Let us hear the history," said Franz, motioning Signor +Pastrini to seat himself. + +"Your excellencies permit it?" asked the host. + +"Pardieu!" cried Albert, "you are not a preacher, to remain +standing!" + +The host sat down, after having made each of them a +respectful bow, which meant that he was ready to tell them +all they wished to know concerning Luigi Vampa. "You tell +me," said Franz, at the moment Signor Pastrini was about to +open his mouth, "that you knew Luigi Vampa when he was a +child -- he is still a young man, then?" + +"A young man? he is only two and twenty; -- he will gain +himself a reputation." + +"What do you think of that, Albert? -- at two and twenty to +be thus famous?" + +"Yes, and at his age, Alexander, Caesar, and Napoleon, who +have all made some noise in the world, were quite behind +him." + +"So," continued Franz, "the hero of this history is only two +and twenty?" + +"Scarcely so much." + +"Is he tall or short?" + +"Of the middle height -- about the same stature as his +excellency," returned the host, pointing to Albert. + +"Thanks for the comparison," said Albert, with a bow. + +"Go on, Signor Pastrini," continued Franz, smiling at his +friend's susceptibility. "To what class of society does he +belong?" + +"He was a shepherd-boy attached to the farm of the Count of +San-Felice, situated between Palestrina and the lake of +Gabri; he was born at Pampinara, and entered the count's +service when he was five years old; his father was also a +shepherd, who owned a small flock, and lived by the wool and +the milk, which he sold at Rome. When quite a child, the +little Vampa displayed a most extraordinary precocity. One +day, when he was seven years old, he came to the curate of +Palestrina, and asked to be taught to read; it was somewhat +difficult, for he could not quit his flock; but the good +curate went every day to say mass at a little hamlet too +poor to pay a priest and which, having no other name, was +called Borgo; he told Luigi that he might meet him on his +return, and that then he would give him a lesson, warning +him that it would be short, and that he must profit as much +as possible by it. The child accepted joyfully. Every day +Luigi led his flock to graze on the road that leads from +Palestrina to Borgo; every day, at nine o'clock in the +morning, the priest and the boy sat down on a bank by the +wayside, and the little shepherd took his lesson out of the +priest's breviary. At the end of three months he had learned +to read. This was not enough -- he must now learn to write. +The priest had a writing teacher at Rome make three +alphabets -- one large, one middling, and one small; and +pointed out to him that by the help of a sharp instrument he +could trace the letters on a slate, and thus learn to write. +The same evening, when the flock was safe at the farm, the +little Luigi hastened to the smith at Palestrina, took a +large nail, heated and sharpened it, and formed a sort of +stylus. The next morning he gathered an armful of pieces of +slate and began. At the end of three months he had learned +to write. The curate, astonished at his quickness and +intelligence, made him a present of pens, paper, and a +penknife. This demanded new effort, but nothing compared to +the first; at the end of a week he wrote as well with this +pen as with the stylus. The curate related the incident to +the Count of San-Felice, who sent for the little shepherd, +made him read and write before him, ordered his attendant to +let him eat with the domestics, and to give him two piastres +a month. With this, Luigi purchased books and pencils. He +applied his imitative powers to everything, and, like +Giotto, when young, he drew on his slate sheep, houses, and +trees. Then, with his knife, he began to carve all sorts of +objects in wood; it was thus that Pinelli, the famous +sculptor, had commenced. + +"A girl of six or seven -- that is, a little younger than +Vampa -- tended sheep on a farm near Palestrina; she was an +orphan, born at Valmontone and was named Teresa. The two +children met, sat down near each other, let their flocks +mingle together, played, laughed, and conversed together; in +the evening they separated the Count of San-Felice's flock +from those of Baron Cervetri, and the children returned to +their respective farms, promising to meet the next morning. +The next day they kept their word, and thus they grew up +together. Vampa was twelve, and Teresa eleven. And yet their +natural disposition revealed itself. Beside his taste for +the fine arts, which Luigi had carried as far as he could in +his solitude, he was given to alternating fits of sadness +and enthusiasm, was often angry and capricious, and always +sarcastic. None of the lads of Pampinara, Palestrina, or +Valmontone had been able to gain any influence over him or +even to become his companion. His disposition (always +inclined to exact concessions rather than to make them) kept +him aloof from all friendships. Teresa alone ruled by a +look, a word, a gesture, this impetuous character, which +yielded beneath the hand of a woman, and which beneath the +hand of a man might have broken, but could never have been +bended. Teresa was lively and gay, but coquettish to excess. +The two piastres that Luigi received every month from the +Count of San-Felice's steward, and the price of all the +little carvings in wood he sold at Rome, were expended in +ear-rings, necklaces, and gold hairpins. So that, thanks to +her friend's generosity, Teresa was the most beautiful and +the best-attired peasant near Rome. The two children grew up +together, passing all their time with each other, and giving +themselves up to the wild ideas of their different +characters. Thus, in all their dreams, their wishes, and +their conversations, Vampa saw himself the captain of a +vessel, general of an army, or governor of a province. +Teresa saw herself rich, superbly attired, and attended by a +train of liveried domestics. Then, when they had thus passed +the day in building castles in the air, they separated their +flocks, and descended from the elevation of their dreams to +the reality of their humble position. + +"One day the young shepherd told the count's steward that he +had seen a wolf come out of the Sabine mountains, and prowl +around his flock. The steward gave him a gun; this was what +Vampa longed for. This gun had an excellent barrel, made at +Breschia, and carrying a ball with the precision of an +English rifle; but one day the count broke the stock, and +had then cast the gun aside. This, however, was nothing to a +sculptor like Vampa; he examined the broken stock, +calculated what change it would require to adapt the gun to +his shoulder, and made a fresh stock, so beautifully carved +that it would have fetched fifteen or twenty piastres, had +he chosen to sell it. But nothing could be farther from his +thoughts. For a long time a gun had been the young man's +greatest ambition. In every country where independence has +taken the place of liberty, the first desire of a manly +heart is to possess a weapon, which at once renders him +capable of defence or attack, and, by rendering its owner +terrible, often makes him feared. From this moment Vampa +devoted all his leisure time to perfecting himself in the +use of his precious weapon; he purchased powder and ball, +and everything served him for a mark -- the trunk of some +old and moss-grown olive-tree, that grew on the Sabine +mountains; the fox, as he quitted his earth on some +marauding excursion; the eagle that soared above their +heads: and thus he soon became so expert, that Teresa +overcame the terror she at first felt at the report, and +amused herself by watching him direct the ball wherever he +pleased, with as much accuracy as if he placed it by hand. + +"One evening a wolf emerged from a pine-wood hear which they +were usually stationed, but the wolf had scarcely advanced +ten yards ere he was dead. Proud of this exploit, Vampa took +the dead animal on his shoulders, and carried him to the +farm. These exploits had gained Luigi considerable +reputation. The man of superior abilities always finds +admirers, go where he will. He was spoken of as the most +adroit, the strongest, and the most courageous contadino for +ten leagues around; and although Teresa was universally +allowed to be the most beautiful girl of the Sabines, no one +had ever spoken to her of love, because it was known that +she was beloved by Vampa. And yet the two young people had +never declared their affection; they had grown together like +two trees whose roots are mingled, whose branches +intertwined, and whose intermingled perfume rises to the +heavens. Only their wish to see each other had become a +necessity, and they would have preferred death to a day's +separation. Teresa was sixteen, and Vampa seventeen. About +this time, a band of brigands that had established itself in +the Lepini mountains began to be much spoken of. The +brigands have never been really extirpated from the +neighborhood of Rome. Sometimes a chief is wanted, but when +a chief presents himself he rarely has to wait long for a +band of followers. + +"The celebrated Cucumetto, pursued in the Abruzzo, driven +out of the kingdom of Naples, where he had carried on a +regular war, had crossed the Garigliano, like Manfred, and +had taken refuge on the banks of the Amasine between Sonnino +and Juperno. He strove to collect a band of followers, and +followed the footsteps of Decesaris and Gasperone, whom he +hoped to surpass. Many young men of Palestrina, Frascati, +and Pampinara had disappeared. Their disappearance at first +caused much disquietude; but it was soon known that they had +joined Cucumetto. After some time Cucumetto became the +object of universal attention; the most extraordinary traits +of ferocious daring and brutality were related of him. One +day he carried off a young girl, the daughter of a surveyor +of Frosinone. The bandit's laws are positive; a young girl +belongs first to him who carries her off, then the rest draw +lots for her, and she is abandoned to their brutality until +death relieves her sufferings. When their parents are +sufficiently rich to pay a ransom, a messenger is sent to +negotiate; the prisoner is hostage for the security of the +messenger; should the ransom be refused, the prisoner is +irrevocably lost. The young girl's lover was in Cucumetto's +troop; his name was Carlini. When she recognized her lover, +the poor girl extended her arms to him, and believed herself +safe; but Carlini felt his heart sink, for he but too well +knew the fate that awaited her. However, as he was a +favorite with Cucumetto, as he had for three years +faithfully served him, and as he had saved his life by +shooting a dragoon who was about to cut him down, he hoped +the chief would have pity on him. He took Cucumetto one +side, while the young girl, seated at the foot of a huge +pine that stood in the centre of the forest, made a veil of +her picturesque head-dress to hide her face from the +lascivious gaze of the bandits. There he told the chief all +-- his affection for the prisoner, their promises of mutual +fidelity, and how every night, since he had been near, they +had met in some neighboring ruins. + +"It so happened that night that Cucumetto had sent Carlini +to a village, so that he had been unable to go to the place +of meeting. Cucumetto had been there, however, by accident, +as he said, and had carried the maiden off. Carlini besought +his chief to make an exception in Rita's favor, as her +father was rich, and could pay a large ransom. Cucumetto +seemed to yield to his friend's entreaties, and bade him +find a shepherd to send to Rita's father at Frosinone. +Carlini flew joyfully to Rita, telling her she was saved, +and bidding her write to her father, to inform him what had +occurred, and that her ransom was fixed at three hundred +piastres. Twelve hours' delay was all that was granted -- +that is, until nine the next morning. The instant the letter +was written, Carlini seized it, and hastened to the plain to +find a messenger. He found a young shepherd watching his +flock. The natural messengers of the bandits are the +shepherds who live between the city and the mountains, +between civilized and savage life. The boy undertook the +commission, promising to be in Frosinone in less than an +hour. Carlini returned, anxious to see his mistress, and +announce the joyful intelligence. He found the troop in the +glade, supping off the provisions exacted as contributions +from the peasants; but his eye vainly sought Rita and +Cucumetto among them. He inquired where they were, and was +answered by a burst of laughter. A cold perspiration burst +from every pore, and his hair stood on end. He repeated his +question. One of the bandits rose, and offered him a glass +filled with Orvietto, saying, `To the health of the brave +Cucumetto and the fair Rita.' At this moment Carlini heard a +woman's cry; he divined the truth, seized the glass, broke +it across the face of him who presented it, and rushed +towards the spot whence the cry came. After a hundred yards +he turned the corner of the thicket; he found Rita senseless +in the arms of Cucumetto. At the sight of Carlini, Cucumetto +rose, a pistol in each hand. The two brigands looked at each +other for a moment -- the one with a smile of lasciviousness +on his lips, the other with the pallor of death on his brow. +A terrible battle between the two men seemed imminent; but +by degrees Carlini's features relaxed, his hand, which had +grasped one of the pistols in his belt, fell to his side. +Rita lay between them. The moon lighted the group. + +"`Well,' said Cucumetto, `have you executed your +commission?' + +"`Yes, captain,' returned Carlini. `At nine o'clock +to-morrow Rita's father will be here with the money.' -- `It +is well; in the meantime, we will have a merry night; this +young girl is charming, and does credit to your taste. Now, +as I am not egotistical, we will return to our comrades and +draw lots for her.' -- `You have determined, then, to +abandon her to the common law?" said Carlini. + +"`Why should an exception be made in her favor?' + +"`I thought that my entreaties' -- + +"`What right have you, any more than the rest, to ask for an +exception?' -- `It is true.' -- `But never mind,' continued +Cucumetto, laughing, `sooner or later your turn will come.' +Carlini's teeth clinched convulsively. + +"`Now, then,' said Cucumetto, advancing towards the other +bandits, `are you coming?' -- `I follow you.' + +"Cucumetto departed, without losing sight of Carlini, for, +doubtless, he feared lest he should strike him unawares; but +nothing betrayed a hostile design on Carlini's part. He was +standing, his arms folded, near Rita, who was still +insensible. Cucumetto fancied for a moment the young man was +about to take her in his arms and fly; but this mattered +little to him now Rita had been his; and as for the money, +three hundred piastres distributed among the band was so +small a sum that he cared little about it. He continued to +follow the path to the glade; but, to his great surprise, +Carlini arrived almost as soon as himself. `Let us draw +lots! let us draw lots!' cried all the brigands, when they +saw the chief. + +"Their demand was fair, and the chief inclined his head in +sign of acquiescence. The eyes of all shone fiercely as they +made their demand, and the red light of the fire made them +look like demons. The names of all, including Carlini, were +placed in a hat, and the youngest of the band drew forth a +ticket; the ticket bore the name of Diovolaccio. He was the +man who had proposed to Carlini the health of their chief, +and to whom Carlini replied by breaking the glass across his +face. A large wound, extending from the temple to the mouth, +was bleeding profusely. Diovalaccio, seeing himself thus +favored by fortune, burst into a loud laugh. `Captain,' said +he, `just now Carlini would not drink your health when I +proposed it to him; propose mine to him, and let us see if +he will be more condescending to you than to me.' Every one +expected an explosion on Carlini's part; but to their great +surprise, he took a glass in one hand and a flask in the +other, and filling it, -- `Your health, Diavolaccio,' said +he calmly, and he drank it off, without his hand trembling +in the least. Then sitting down by the fire, `My supper,' +said he; `my expedition has given me an appetite.' -- `Well +done, Carlini!' cried the brigands; `that is acting like a +good fellow;' and they all formed a circle round the fire, +while Diavolaccio disappeared. Carlini ate and drank as if +nothing had happened. The bandits looked on with +astonishment at this singular conduct until they heard +footsteps. They turned round, and saw Diavolaccio bearing +the young girl in his arms. Her head hung back, and her long +hair swept the ground. As they entered the circle, the +bandits could perceive, by the firelight, the unearthly +pallor of the young girl and of Diavolaccio. This apparition +was so strange and so solemn, that every one rose, with the +exception of Carlini, who remained seated, and ate and drank +calmly. Diavolaccio advanced amidst the most profound +silence, and laid Rita at the captain's feet. Then every one +could understand the cause of the unearthly pallor in the +young girl and the bandit. A knife was plunged up to the +hilt in Rita's left breast. Every one looked at Carlini; the +sheath at his belt was empty. `Ah, ah,' said the chief, `I +now understand why Carlini stayed behind.' All savage +natures appreciate a desperate deed. No other of the bandits +would, perhaps, have done the same; but they all understood +what Carlini had done. `Now, then,' cried Carlini, rising in +his turn, and approaching the corpse, his hand on the butt +of one of his pistols, `does any one dispute the possession +of this woman with me?' -- `No,' returned the chief, `she is +thine.' Carlini raised her in his arms, and carried her out +of the circle of firelight. Cucumetto placed his sentinels +for the night, and the bandits wrapped themselves in their +cloaks, and lay down before the fire. At midnight the +sentinel gave the alarm, and in an instant all were on the +alert. It was Rita's father, who brought his daughter's +ransom in person. `Here,' said he, to Cucumetto, `here are +three hundred piastres; give me back my child. But the +chief, without taking the money, made a sign to him to +follow. The old man obeyed. They both advanced beneath the +trees, through whose branches streamed the moonlight. +Cucumetto stopped at last, and pointed to two persons +grouped at the foot of a tree. + +"`There,' said he, `demand thy child of Carlini; he will +tell thee what has become of her;' and he returned to his +companions. The old man remained motionless; he felt that +some great and unforeseen misfortune hung over his head. At +length he advanced toward the group, the meaning of which he +could not comprehend. As he approached, Carlini raised his +head, and the forms of two persons became visible to the old +man's eyes. A woman lay on the ground, her head resting on +the knees of a man, who was seated by her; as he raised his +head, the woman's face became visible. The old man +recognized his child, and Carlini recognized the old man. `I +expected thee,' said the bandit to Rita's father. -- +`Wretch!' returned the old man, `what hast thou done?' and +he gazed with terror on Rita, pale and bloody, a knife +buried in her bosom. A ray of moonlight poured through the +trees, and lighted up the face of the dead. -- `Cucumetto +had violated thy daughter,' said the bandit; `I loved her, +therefore I slew her; for she would have served as the sport +of the whole band.' The old man spoke not, and grew pale as +death. `Now,' continued Carlini, `if I have done wrongly, +avenge her;' and withdrawing the knife from the wound in +Rita's bosom, he held it out to the old man with one hand, +while with the other he tore open his vest. -- `Thou hast +done well!' returned the old man in a hoarse voice; `embrace +me, my son.' Carlini threw himself, sobbing like a child, +into the arms of his mistress's father. These were the first +tears the man of blood had ever wept. `Now,' said the old +man, `aid me to bury my child.' Carlini fetched two +pickaxes; and the father and the lover began to dig at the +foot of a huge oak, beneath which the young girl was to +repose. When the grave was formed, the father kissed her +first, and then the lover; afterwards, one taking the head, +the other the feet, they placed her in the grave. Then they +knelt on each side of the grave, and said the prayers of the +dead. Then, when they had finished, they cast the earth over +the corpse, until the grave was filled. Then, extending his +hand, the old man said; `I thank you, my son; and now leave +me alone.' -- `Yet' -- replied Carlini. -- `Leave me, I +command you.' Carlini obeyed, rejoined his comrades, folded +himself in his cloak, and soon appeared to sleep as soundly +as the rest. It had been resolved the night before to change +their encampment. An hour before daybreak, Cucumetto aroused +his men, and gave the word to march. But Carlini would not +quit the forest, without knowing what had become of Rita's +father. He went toward the place where he had left him. He +found the old man suspended from one of the branches of the +oak which shaded his daughter's grave. He then took an oath +of bitter vengeance over the dead body of the one and the +tomb of the other. But he was unable to complete this oath, +for two days afterwards, in an encounter with the Roman +carbineers, Carlini was killed. There was some surprise, +however, that, as he was with his face to the enemy, he +should have received a ball between his shoulders. That +astonishment ceased when one of the brigands remarked to his +comrades that Cucumetto was stationed ten paces in Carlini's +rear when he fell. On the morning of the departure from the +forest of Frosinone he had followed Carlini in the darkness, +and heard this oath of vengeance, and, like a wise man, +anticipated it. They told ten other stories of this bandit +chief, each more singular than the other. Thus, from Fondi +to Perusia, every one trembles at the name of Cucumetto. + +"These narratives were frequently the theme of conversation +between Luigi and Teresa. The young girl trembled very much +at hearing the stories; but Vampa reassured her with a +smile, tapping the butt of his good fowling-piece, which +threw its ball so well; and if that did not restore her +courage, he pointed to a crow, perched on some dead branch, +took aim, touched the trigger, and the bird fell dead at the +foot of the tree. Time passed on, and the two young people +had agreed to be married when Vampa should be twenty and +Teresa nineteen years of age. They were both orphans, and +had only their employers' leave to ask, which had been +already sought and obtained. One day when they were talking +over their plans for the future, they heard two or three +reports of firearms, and then suddenly a man came out of the +wood, near which the two young persons used to graze their +flocks, and hurried towards them. When he came within +hearing, he exclaimed. `I am pursued; can you conceal me?' +They knew full well that this fugitive must be a bandit; but +there is an innate sympathy between the Roman brigand and +the Roman peasant and the latter is always ready to aid the +former. Vampa, without saying a word, hastened to the stone +that closed up the entrance to their grotto, drew it away, +made a sign to the fugitive to take refuge there, in a +retreat unknown to every one, closed the stone upon him, and +then went and resumed his seat by Teresa. Instantly +afterwards four carbineers, on horseback, appeared on the +edge of the wood; three of them appeared to be looking for +the fugitive, while the fourth dragged a brigand prisoner by +the neck. The three carbineers looked about carefully on +every side, saw the young peasants, and galloping up, began +to question them. They had seen no one. `That is very +annoying,' said the brigadier; for the man we are looking +for is the chief.' -- `Cucumetto?' cried Luigi and Teresa at +the same moment. + +"`Yes,' replied the brigadier; `and as his head is valued at +a thousand Roman crowns, there would have been five hundred +for you, if you had helped us to catch him.' The two young +persons exchanged looks. The brigadier had a moment's hope. +Five hundred Roman crowns are three thousand lire, and three +thousand lire are a fortune for two poor orphans who are +going to be married. + +"`Yes, it is very annoying,' said Vampa; `but we have not +seen him.' + +"Then the carbineers scoured the country in different +directions, but in vain; then, after a time, they +disappeared. Vampa then removed the stone, and Cucumetto +came out. Through the crevices in the granite he had seen +the two young peasants talking with the carbineers, and +guessed the subject of their parley. He had read in the +countenances of Luigi and Teresa their steadfast resolution +not to surrender him, and he drew from his pocket a purse +full of gold, which he offered to them. But Vampa raised his +head proudly; as to Teresa, her eyes sparkled when she +thought of all the fine gowns and gay jewellery she could +buy with this purse of gold. + +"Cucumetto was a cunning fiend, and had assumed the form of +a brigand instead of a serpent, and this look from Teresa +showed to him that she was a worthy daughter of Eve, and he +returned to the forest, pausing several times on his way, +under the pretext of saluting his protectors. Several days +elapsed, and they neither saw nor heard of Cucumetto. The +time of the Carnival was at hand. The Count of San-Felice +announced a grand masked ball, to which all that were +distinguished in Rome were invited. Teresa had a great +desire to see this ball. Luigi asked permission of his +protector, the steward, that she and he might be present +amongst the servants of the house. This was granted. The +ball was given by the Count for the particular pleasure of +his daughter Carmela, whom he adored. Carmela was precisely +the age and figure of Teresa, and Teresa was as handsome as +Carmela. On the evening of the ball Teresa was attired in +her best, her most brilliant ornaments in her hair, and +gayest glass beads, -- she was in the costume of the women +of Frascati. Luigi wore the very picturesque garb of the +Roman peasant at holiday time. They both mingled, as they +had leave to do, with the servants and peasants. + +"The festa was magnificent; not only was the villa +brilliantly illuminated, but thousands of colored lanterns +were suspended from the trees in the garden; and very soon +the palace overflowed to the terraces, and the terraces to +the garden-walks. At each cross-path was an orchestra, and +tables spread with refreshments; the guests stopped, formed +quadrilles, and danced in any part of the grounds they +pleased. Carmela was attired like a woman of Sonnino. Her +cap was embroidered with pearls, the pins in her hair were +of gold and diamonds, her girdle was of Turkey silk, with +large embroidered flowers, her bodice and skirt were of +cashmere, her apron of Indian muslin, and the buttons of her +corset were of jewels. Two of her companions were dressed, +the one as a woman of Nettuno, and the other as a woman of +La Riccia. Four young men of the richest and noblest +families of Rome accompanied them with that Italian freedom +which has not its parallel in any other country in the +world. They were attired as peasants of Albano, Velletri, +Civita-Castellana, and Sora. We need hardly add that these +peasant costumes, like those of the young women, were +brilliant with gold and jewels. + +"Carmela wished to form a quadrille, but there was one lady +wanting. Carmela looked all around her, but not one of the +guests had a costume similar to her own, or those of her +companions. The Count of San-Felice pointed out Teresa, who +was hanging on Luigi's arm in a group of peasants. `Will you +allow me, father?' said Carmela. -- `Certainly,' replied the +count, `are we not in Carnival time?' -- Carmela turned +towards the young man who was talking with her, and saying a +few words to him, pointed with her finger to Teresa. The +young man looked, bowed in obedience, and then went to +Teresa, and invited her to dance in a quadrille directed by +the count's daughter. Teresa felt a flush pass over her +face; she looked at Luigi, who could not refuse his assent. +Luigi slowly relinquished Teresa's arm, which he had held +beneath his own, and Teresa, accompanied by her elegant +cavalier, took her appointed place with much agitation in +the aristocratic quadrille. Certainly, in the eyes of an +artist, the exact and strict costume of Teresa had a very +different character from that of Carmela and her companions; +and Teresa was frivolous and coquettish, and thus the +embroidery and muslins, the cashmere waist-girdles, all +dazzled her, and the reflection of sapphires and diamonds +almost turned her giddy brain. + +"Luigi felt a sensation hitherto unknown arising in his +mind. It was like an acute pain which gnawed at his heart, +and then thrilled through his whole body. He followed with +his eye each movement of Teresa and her cavalier; when their +hands touched, he felt as though he should swoon; every +pulse beat with violence, and it seemed as though a bell +were ringing in his ears. When they spoke, although Teresa +listened timidly and with downcast eyes to the conversation +of her cavalier, as Luigi could read in the ardent looks of +the good-looking young man that his language was that of +praise, it seemed as if the whole world was turning round +with him, and all the voices of hell were whispering in his +ears ideas of murder and assassination. Then fearing that +his paroxysm might get the better of him, he clutched with +one hand the branch of a tree against which he was leaning, +and with the other convulsively grasped the dagger with a +carved handle which was in his belt, and which, unwittingly, +he drew from the scabbard from time to time. Luigi was +jealous! He felt that, influenced by her ambitions and +coquettish disposition, Teresa might escape him. + +"The young peasant girl, at first timid and scared, soon +recovered herself. We have said that Teresa was handsome, +but this is not all; Teresa was endowed with all those wild +graces which are so much more potent than our affected and +studied elegancies. She had almost all the honors of the +quadrille, and if she were envious of the Count of +San-Felice's daughter, we will not undertake to say that +Carmela was not jealous of her. And with overpowering +compliments her handsome cavalier led her back to the place +whence he had taken her, and where Luigi awaited her. Twice +or thrice during the dance the young girl had glanced at +Luigi, and each time she saw that he was pale and that his +features were agitated, once even the blade of his knife, +half drawn from its sheath, had dazzled her eyes with its +sinister glare. Thus, it was almost tremblingly that she +resumed her lover's arm. The quadrille had been most +perfect, and it was evident there was a great demand for a +repetition, Carmela alone objecting to it, but the Count of +San-Felice besought his daughter so earnestly, that she +acceded. One of the cavaliers then hastened to invite +Teresa, without whom it was impossible for the quadrille to +be formed, but the young girl had disappeared. The truth +was, that Luigi had not felt the strength to support another +such trial, and, half by persuasion and half by force, he +had removed Teresa toward another part of the garden. Teresa +had yielded in spite of herself, but when she looked at the +agitated countenance of the young man, she understood by his +silence and trembling voice that something strange was +passing within him. She herself was not exempt from internal +emotion, and without having done anything wrong, yet fully +comprehended that Luigi was right in reproaching her. Why, +she did not know, but yet she did not the less feel that +these reproaches were merited. However, to Teresa's great +astonishment, Luigi remained mute, and not a word escaped +his lips the rest of the evening. When the chill of the +night had driven away the guests from the gardens, and the +gates of the villa were closed on them for the festa +in-doors, he took Teresa quite away, and as he left her at +her home, he said, -- + +"`Teresa, what were you thinking of as you danced opposite +the young Countess of San-Felice?' -- `I thought,' replied +the young girl, with all the frankness of her nature, `that +I would give half my life for a costume such as she wore.' + +"`And what said your cavalier to you?' -- `He said it only +depended on myself to have it, and I had only one word to +say.' + +"`He was right,' said Luigi. `Do you desire it as ardently +as you say?' -- `Yes.' -- `Well, then, you shall have it!' + +"The young girl, much astonished, raised her head to look at +him, but his face was so gloomy and terrible that her words +froze to her lips. As Luigi spoke thus, he left her. Teresa +followed him with her eyes into the darkness as long as she +could, and when he had quite disappeared, she went into the +house with a sigh. + +"That night a memorable event occurred, due, no doubt, to +the imprudence of some servant who had neglected to +extinguish the lights. The Villa of San-Felice took fire in +the rooms adjoining the very apartment of the lovely +Carmela. Awakened in the night by the light of the flames, +she sprang out of bed, wrapped herself in a dressing-gown, +and attempted to escape by the door, but the corridor by +which she hoped to fly was already a prey to the flames. She +then returned to her room, calling for help as loudly as she +could, when suddenly her window, which was twenty feet from +the ground, was opened, a young peasant jumped into the +chamber, seized her in his arms, and with superhuman skill +and strength conveyed her to the turf of the grass-plot, +where she fainted. When she recovered, her father was by her +side. All the servants surrounded her, offering her +assistance. An entire wing of the villa was burnt down; but +what of that, as long as Carmela was safe and uninjured? Her +preserver was everywhere sought for, but he did not appear; +he was inquired after, but no one had seen him. Carmela was +greatly troubled that she had not recognized him. As the +count was immensely rich, excepting the danger Carmela had +run, -- and the marvellous manner in which she had escaped, +made that appear to him rather a favor of providence than a +real misfortune, -- the loss occasioned by the conflagration +was to him but a trifle. + +"The next day, at the usual hour, the two young peasants +were on the borders of the forest. Luigi arrived first. He +came toward Teresa in high spirits, and seemed to have +completely forgotten the events of the previous evening. The +young girl was very pensive, but seeing Luigi so cheerful, +she on her part assumed a smiling air, which was natural to +her when she was not excited or in a passion. Luigi took her +arm beneath his own, and led her to the door of the grotto. +Then he paused. The young girl, perceiving that there was +something extraordinary, looked at him steadfastly. +`Teresa,' said Luigi, `yesterday evening you told me you +would give all the world to have a costume similar to that +of the count's daughter.' -- `Yes,' replied Teresa with +astonishment; `but I was mad to utter such a wish.' -- `And +I replied, "Very well, you shall have it."' -- `Yes,' +replied the young girl, whose astonishment increased at +every word uttered by Luigi, `but of course your reply was +only to please me.' + +"`I have promised no more than I have given you, Teresa,' +said Luigi proudly. `Go into the grotto and dress yourself.' +At these words he drew away the stone, and showed Teresa the +grotto, lighted up by two wax lights, which burnt on each +side of a splendid mirror; on a rustic table, made by Luigi, +were spread out the pearl necklace and the diamond pins, and +on a chair at the side was laid the rest of the costume. + +"Teresa uttered a cry of joy, and, without inquiring whence +this attire came, or even thanking Luigi, darted into the +grotto, transformed into a dressing-room. Luigi pushed the +stone behind her, for on the crest of a small adjacent hill +which cut off the view toward Palestrina, he saw a traveller +on horseback, stopping a moment, as if uncertain of his +road, and thus presenting against the blue sky that perfect +outline which is peculiar to distant objects in southern +climes. When he saw Luigi, he put his horse into a gallop +and advanced toward him. Luigi was not mistaken. The +traveller, who was going from Palestrina to Tivoli, had +mistaken his way; the young man directed him; but as at a +distance of a quarter of a mile the road again divided into +three ways, and on reaching these the traveller might again +stray from his route, he begged Luigi to be his guide. Luigi +threw his cloak on the ground, placed his carbine on his +shoulder, and freed from his heavy covering, preceded the +traveller with the rapid step of a mountaineer, which a +horse can scarcely keep up with. In ten minutes Luigi and +the traveller reached the cross-roads. On arriving there, +with an air as majestic as that of an emperor, he stretched +his hand towards that one of the roads which the traveller +was to follow. -- "That is your road, excellency, and now +you cannot again mistake.' -- `And here is your recompense,' +said the traveller, offering the young herdsman some small +pieces of money. + +"`Thank you,' said Luigi, drawing back his hand; `I render a +service, I do not sell it.' -- `Well,' replied the +traveller, who seemed used to this difference between the +servility of a man of the cities and the pride of the +mountaineer, `if you refuse wages, you will, perhaps, accept +a gift.' -- `Ah, yes, that is another thing.' -- `Then,' +said the traveller, `take these two Venetian sequins and +give them to your bride, to make herself a pair of +earrings.' + +"`And then do you take this poniard,' said the young +herdsman; `you will not find one better carved between +Albano and Civita-Castellana.' + +"`I accept it,' answered the traveller, `but then the +obligation will be on my side, for this poniard is worth +more than two sequins.' -- `For a dealer perhaps; but for +me, who engraved it myself, it is hardly worth a piastre.' + +"`What is your name?' inquired the traveller. -- `Luigi +Vampa,' replied the shepherd, with the same air as he would +have replied, Alexander, King of Macedon. -- `And yours?' -- +`I,' said the traveller, `am called Sinbad the Sailor.'" +Franz d'Epinay started with surprise. + +"Sinbad the Sailor." he said. + +"Yes," replied the narrator; "that was the name which the +traveller gave to Vampa as his own." + +"Well, and what may you have to say against this name?" +inquired Albert; "it is a very pretty name, and the +adventures of the gentleman of that name amused me very much +in my youth, I must confess." -- Franz said no more. The +name of Sinbad the Sailor, as may well be supposed, awakened +in him a world of recollections, as had the name of the +Count of Monte Cristo on the previous evening. + +"Proceed!" said he to the host. + +"Vampa put the two sequins haughtily into his pocket, and +slowly returned by the way he had gone. As he came within +two or three hundred paces of the grotto, he thought he +heard a cry. He listened to know whence this sound could +proceed. A moment afterwards he thought he heard his own +name pronounced distinctly. The cry proceeded from the +grotto. He bounded like a chamois, cocking his carbine as he +went, and in a moment reached the summit of a hill opposite +to that on which he had perceived the traveller. Three cries +for help came more distinctly to his ear. He cast his eyes +around him and saw a man carrying off Teresa, as Nessus, the +centaur, carried Dejanira. This man, who was hastening +towards the wood, was already three-quarters of the way on +the road from the grotto to the forest. Vampa measured the +distance; the man was at least two hundred paces in advance +of him, and there was not a chance of overtaking him. The +young shepherd stopped, as if his feet had been rooted to +the ground; then he put the butt of his carbine to his +shoulder, took aim at the ravisher, followed him for a +second in his track, and then fired. The ravisher stopped +suddenly, his knees bent under him, and he fell with Teresa +in his arms. The young girl rose instantly, but the man lay +on the earth struggling in the agonies of death. Vampa then +rushed towards Teresa; for at ten paces from the dying man +her legs had failed her, and she had dropped on her knees, +so that the young man feared that the ball that had brought +down his enemy, had also wounded his betrothed. Fortunately, +she was unscathed, and it was fright alone that had overcome +Teresa. When Luigi had assured himself that she was safe and +unharmed, he turned towards the wounded man. He had just +expired, with clinched hands, his mouth in a spasm of agony, +and his hair on end in the sweat of death. His eyes remained +open and menacing. Vampa approached the corpse, and +recognized Cucumetto. From the day on which the bandit had +been saved by the two young peasants, he had been enamoured +of Teresa, and had sworn she should be his. From that time +he had watched them, and profiting by the moment when her +lover had left her alone, had carried her off, and believed +he at length had her in his power, when the ball, directed +by the unerring skill of the young herdsman, had pierced his +heart. Vampa gazed on him for a moment without betraying the +slightest emotion; while, on the contrary, Teresa, +shuddering in every limb, dared not approach the slain +ruffian but by degrees, and threw a hesitating glance at the +dead body over the shoulder of her lover. Suddenly Vampa +turned toward his mistress: -- `Ah,' said he -- `good, good! +You are dressed; it is now my turn to dress myself.' + +"Teresa was clothed from head to foot in the garb of the +Count of San-Felice's daughter. Vampa took Cucumetto's body +in his arms and conveyed it to the grotto, while in her turn +Teresa remained outside. If a second traveller had passed, +he would have seen a strange thing, -- a shepherdess +watching her flock, clad in a cashmere grown, with ear-rings +and necklace of pearls, diamond pins, and buttons of +sapphires, emeralds, and rubies. He would, no doubt, have +believed that he had returned to the times of Florian, and +would have declared, on reaching Paris, that he had met an +Alpine shepherdess seated at the foot of the Sabine Hill. At +the end of a quarter of an hour Vampa quitted the grotto; +his costume was no less elegant than that of Teresa. He wore +a vest of garnet-colored velvet, with buttons of cut gold; a +silk waistcoat covered with embroidery; a Roman scarf tied +round his neck; a cartridge-box worked with gold, and red +and green silk; sky-blue velvet breeches, fastened above the +knee with diamond buckles; garters of deerskin, worked with +a thousand arabesques, and a hat whereon hung ribbons of all +colors; two watches hung from his girdle, and a splendid +poniard was in his belt. Teresa uttered a cry of admiration. +Vampa in this attire resembled a painting by Leopold Robert, +or Schnetz. He had assumed the entire costume of Cucumetto. +The young man saw the effect produced on his betrothed, and +a smile of pride passed over his lips. -- `Now,' he said to +Teresa, `are you ready to share my fortune, whatever it may +be?' -- `Oh, yes!' exclaimed the young girl +enthusiastically. -- `And follow me wherever I go?' -- `To +the world's end.' -- `Then take my arm, and let us on; we +have no time to lose.' -- The young girl did so without +questioning her lover as to where he was conducting her, for +he appeared to her at this moment as handsome, proud, and +powerful as a god. They went towards the forest, and soon +entered it. We need scarcely say that all the paths of the +mountain were known to Vampa; he therefore went forward +without a moment's hesitation, although there was no beaten +track, but he knew his path by looking at the trees and +bushes, and thus they kept on advancing for nearly an hour +and a half. At the end of this time they had reached the +thickest of the forest. A torrent, whose bed was dry, led +into a deep gorge. Vampa took this wild road, which, +enclosed between two ridges, and shadowed by the tufted +umbrage of the pines, seemed, but for the difficulties of +its descent, that path to Avernus of which Virgil speaks. +Teresa had become alarmed at the wild and deserted look of +the plain around her, and pressed closely against her guide, +not uttering a syllable; but as she saw him advance with +even step and composed countenance, she endeavored to +repress her emotion. Suddenly, about ten paces from them, a +man advanced from behind a tree and aimed at Vampa. -- `Not +another step,' he said, `or you are a dead man.' -- `What, +then,' said Vampa, raising his hand with a gesture of +disdain, while Teresa, no longer able to restrain her alarm, +clung closely to him, `do wolves rend each other?' -- `Who +are you?' inquired the sentinel. -- `I am Luigi Vampa, +shepherd of the San-Felice farm.' -- `What do you want?' -- +`I would speak with your companions who are in the glade at +Rocca Bianca.' -- `Follow me, then,' said the sentinel; `or, +as you know your way, go first.' -- Vampa smiled +disdainfully at this precaution on the part of the bandit, +went before Teresa, and continued to advance with the same +firm and easy step as before. At the end of ten minutes the +bandit made them a sign to stop. The two young persons +obeyed. Then the bandit thrice imitated the cry of a crow; a +croak answered this signal. -- `Good!' said the sentry, `you +may now go on.' -- Luigi and Teresa again set forward; as +they went on Teresa clung tremblingly to her lover at the +sight of weapons and the glistening of carbines through the +trees. The retreat of Rocca Bianca was at the top of a small +mountain, which no doubt in former days had been a volcano +-- an extinct volcano before the days when Remus and Romulus +had deserted Alba to come and found the city of Rome. Teresa +and Luigi reached the summit, and all at once found +themselves in the presence of twenty bandits. `Here is a +young man who seeks and wishes to speak to you,' said the +sentinel. -- `What has he to say?' inquired the young man +who was in command in the chief's absence. -- `I wish to say +that I am tired of a shepherd's life,' was Vampa's reply. -- +`Ah, I understand,' said the lieutenant; `and you seek +admittance into our ranks?' -- `Welcome!' cried several +bandits from Ferrusino, Pampinara, and Anagni, who had +recognized Luigi Vampa. -- `Yes, but I came to ask something +more than to be your companion.' -- `And what may that be?' +inquired the bandits with astonishment. -- `I come to ask to +be your captain,' said the young man. The bandits shouted +with laughter. `And what have you done to aspire to this +honor?' demanded the lieutenant. -- `I have killed your +chief, Cucumetto, whose dress I now wear; and I set fire to +the villa San-Felice to procure a wedding-dress for my +betrothed.' An hour afterwards Luigi Vampa was chosen +captain, vice Cucumetto deceased." + +"Well, my dear Albert," said Franz, turning towards his +friend; "what think you of citizen Luigi Vampa?" + +"I say he is a myth," replied Albert, "and never had an +existence." + +"And what may a myth be?" inquired Pastrini. + +"The explanation would be too long, my dear landlord," +replied Franz. + +"And you say that Signor Vampa exercises his profession at +this moment in the environs of Rome?" + +"And with a boldness of which no bandit before him ever gave +an example." + +"Then the police have vainly tried to lay hands on him?" + +"Why, you see, he has a good understanding with the +shepherds in the plains, the fishermen of the Tiber, and the +smugglers of the coast. They seek for him in the mountains, +and he is on the waters; they follow him on the waters, and +he is on the open sea; then they pursue him, and he has +suddenly taken refuge in the islands, at Giglio, Guanouti, +or Monte Cristo; and when they hunt for him there, he +reappears suddenly at Albano, Tivoli, or La Riccia." + +"And how does he behave towards travellers?" + +"Alas! his plan is very simple. It depends on the distance +he may be from the city, whether he gives eight hours, +twelve hours, or a day wherein to pay their ransom; and when +that time has elapsed he allows another hour's grace. At the +sixtieth minute of this hour, if the money is not +forthcoming, he blows out the prisoner's brains with a +pistol-shot, or plants his dagger in his heart, and that +settles the account." + +"Well, Albert," inquired Franz of his companion, "are you +still disposed to go to the Colosseum by the outer wall?" + +"Quite so," said Albert, "if the way be picturesque." The +clock struck nine as the door opened, and a coachman +appeared. "Excellencies," said he, "the coach is ready." + +"Well, then," said Franz, "let us to the Colosseum." + +"By the Porta del Popolo or by the streets, your +excellencies?" + +"By the streets, morbleu, by the streets!" cried Franz. + +"Ah, my dear fellow," said Albert, rising, and lighting his +third cigar, "really, I thought you had more courage." So +saying, the two young men went down the staircase, and got +into the carriage. + + + +Chapter 34 +The Colosseum. + +Franz had so managed his route, that during the ride to the +Colosseum they passed not a single ancient ruin, so that no +preliminary impression interfered to mitigate the colossal +proportions of the gigantic building they came to admire. +The road selected was a continuation of the Via Sistina; +then by cutting off the right angle of the street in which +stands Santa Maria Maggiore and proceeding by the Via Urbana +and San Pietro in Vincoli, the travellers would find +themselves directly opposite the Colosseum. This itinerary +possessed another great advantage, -- that of leaving Franz +at full liberty to indulge his deep reverie upon the subject +of Signor Pastrini's story, in which his mysterious host of +Monte Cristo was so strangely mixed up. Seated with folded +arms in a corner of the carriage, he continued to ponder +over the singular history he had so lately listened to, and +to ask himself an interminable number of questions touching +its various circumstances without, however, arriving at a +satisfactory reply to any of them. One fact more than the +rest brought his friend "Sinbad the Sailor" back to his +recollection, and that was the mysterious sort of intimacy +that seemed to exist between the brigands and the sailors; +and Pastrini's account of Vampa's having found refuge on +board the vessels of smugglers and fishermen, reminded Franz +of the two Corsican bandits he had found supping so amicably +with the crew of the little yacht, which had even deviated +from its course and touched at Porto-Vecchio for the sole +purpose of landing them. The very name assumed by his host +of Monte Cristo and again repeated by the landlord of the +Hotel de Londres, abundantly proved to him that his island +friend was playing his philanthropic part on the shores of +Piombino, Civita-Vecchio, Ostia, and Gaeta, as on those of +Corsica, Tuscany, and Spain; and further, Franz bethought +him of having heard his singular entertainer speak both of +Tunis and Palermo, proving thereby how largely his circle of +acquaintances extended. + +But however the mind of the young man might he absorbed in +these reflections, they were at once dispersed at the sight +of the dark frowning ruins of the stupendous Colosseum, +through the various openings of which the pale moonlight +played and flickered like the unearthly gleam from the eyes +of the wandering dead. The carriage stopped near the Meta +Sudans; the door was opened, and the young men, eagerly +alighting, found themselves opposite a cicerone, who +appeared to have sprung up from the ground, so unexpected +was his appearance. + +The usual guide from the hotel having followed them, they +had paid two conductors, nor is it possible, at Rome, to +avoid this abundant supply of guides; besides the ordinary +cicerone, who seizes upon you directly you set foot in your +hotel, and never quits you while you remain in the city, +there is also a special cicerone belonging to each monument +-- nay, almost to each part of a monument. It may, +therefore, be easily imagined there is no scarcity of guides +at the Colosseum, that wonder of all ages, which Martial +thus eulogizes: "Let Memphis cease to boast the barbarous +miracles of her pyramids, and the wonders of Babylon be +talked of no more among us; all must bow to the superiority +of the gigantic labor of the Caesars, and the many voices of +Fame spread far and wide the surpassing merits of this +incomparable monument." + +As for Albert and Franz, they essayed not to escape from +their ciceronian tyrants; and, indeed, it would have been so +much the more difficult to break their bondage, as the +guides alone are permitted to visit these monuments with +torches in their hands. Thus, then, the young men made no +attempt at resistance, but blindly and confidingly +surrendered themselves into the care and custody of their +conductors. Albert had already made seven or eight similar +excursions to the Colosseum, while his less favored +companion trod for the first time in his life the classic +ground forming the monument of Flavius Vespasian; and, to +his credit be it spoken, his mind, even amid the glib +loquacity of the guides, was duly and deeply touched with +awe and enthusiastic admiration of all he saw; and certainly +no adequate notion of these stupendous ruins can be formed +save by such as have visited them, and more especially by +moonlight, at which time the vast proportions of the +building appear twice as large when viewed by the mysterious +beams of a southern moonlit sky, whose rays are sufficiently +clear and vivid to light the horizon with a glow equal to +the soft twilight of an eastern clime. Scarcely, therefore, +had the reflective Franz walked a hundred steps beneath the +interior porticoes of the ruin, than, abandoning Albert to +the guides (who would by no means yield their prescriptive +right of carrying their victims through the routine +regularly laid down, and as regularly followed by them, but +dragged the unconscious visitor to the various objects with +a pertinacity that admitted of no appeal, beginning, as a +matter of course, with the Lions' Den, and finishing with +Caesar's "Podium,"), to escape a jargon and mechanical +survey of the wonders by which he was surrounded, Franz +ascended a half-dilapidated staircase, and, leaving them to +follow their monotonous round, seated himself at the foot of +a column, and immediately opposite a large aperture, which +permitted him to enjoy a full and undisturbed view of the +gigantic dimensions of the majestic ruin. + +Franz had remained for nearly a quarter of an hour perfectly +hidden by the shadow of the vast column at whose base he had +found a resting-place, and from whence his eyes followed the +motions of Albert and his guides, who, holding torches in +their hands, had emerged from a vomitarium at the opposite +extremity of the Colosseum, and then again disappeared down +the steps conducting to the seats reserved for the Vestal +virgins, resembling, as they glided along, some restless +shades following the flickering glare of so many +ignes-fatui. All at once his ear caught a sound resembling +that of a stone rolling down the staircase opposite the one +by which he had himself ascended. There was nothing +remarkable in the circumstance of a fragment of granite +giving way and falling heavily below; but it seemed to him +that the substance that fell gave way beneath the pressure +of a foot, and also that some one, who endeavored as much as +possible to prevent his footsteps from being heard, was +approaching the spot where he sat. Conjecture soon became +certainty, for the figure of a man was distinctly visible to +Franz, gradually emerging from the staircase opposite, upon +which the moon was at that moment pouring a full tide of +silvery brightness. + +The stranger thus presenting himself was probably a person +who, like Franz, preferred the enjoyment of solitude and his +own thoughts to the frivolous gabble of the guides. And his +appearance had nothing extraordinary in it; but the +hesitation with which he proceeded, stopping and listening +with anxious attention at every step he took, convinced +Franz that he expected the arrival of some person. By a sort +of instinctive impulse, Franz withdrew as much as possible +behind his pillar. About ten feet from the spot where he and +the stranger were, the roof had given way, leaving a large +round opening, through which might be seen the blue vault of +heaven, thickly studded with stars. Around this opening, +which had, possibly, for ages permitted a free entrance to +the brilliant moonbeams that now illumined the vast pile, +grew a quantity of creeping plants, whose delicate green +branches stood out in bold relief against the clear azure of +the firmament, while large masses of thick, strong fibrous +shoots forced their way through the chasm, and hung floating +to and fro, like so many waving strings. The person whose +mysterious arrival had attracted the attention of Franz +stood in a kind of half-light, that rendered it impossible +to distinguish his features, although his dress was easily +made out. He wore a large brown mantle, one fold of which, +thrown over his left shoulder, served likewise to mask the +lower part of his countenance, while the upper part was +completely hidden by his broad-brimmed hat. The lower part +of his dress was more distinctly visible by the bright rays +of the moon, which, entering through the broken ceiling, +shed their refulgent beams on feet cased in elegantly made +boots of polished leather, over which descended fashionably +cut trousers of black cloth. + +From the imperfect means Franz had of judging, he could only +come to one conclusion, -- that the person whom he was thus +watching certainly belonged to no inferior station of life. +Some few minutes had elapsed, and the stranger began to show +manifest signs of impatience, when a slight noise was heard +outside the aperture in the roof, and almost immediately a +dark shadow seemed to obstruct the flood of light that had +entered it, and the figure of a man was clearly seen gazing +with eager scrutiny on the immense space beneath him; then, +as his eye caught sight of him in the mantle, he grasped a +floating mass of thickly matted boughs, and glided down by +their help to within three or four feet of the ground, and +then leaped lightly on his feet. The man who had performed +this daring act with so much indifference wore the +Transtevere costume. "I beg your excellency's pardon for +keeping you waiting," said the man, in the Roman dialect, +"but I don't think I'm many minutes after my time, ten +o'clock his just struck on the Lateran." + +"Say not a word about being late," replied the stranger in +purest Tuscan; "'tis I who am too soon. But even if you had +caused me to wait a little while, I should have felt quite +sure that the delay was not occasioned by any fault of +yours." + +"Your excellency is perfectly right in so thinking," said +the man; "I came here direct from the Castle of St. Angelo, +and I had an immense deal of trouble before I could get a +chance to speak to Beppo." + +"And who is Beppo?" + +"Oh, Beppo is employed in the prison, and I give him so much +a year to let me know what is going on within his holiness's +castle." + +"Indeed! You are a provident person, I see." + +"Why, you see, no one knows what may happen. Perhaps some of +these days I may be entrapped, like poor Peppino and may be +very glad to have some little nibbling mouse to gnaw the +meshes of my net, and so help me out of prison." + +"Briefly, what did you glean?" + +"That two executions of considerable interest will take +place the day after to-morrow at two o'clock, as is +customary at Rome at the commencement of all great +festivals. One of the culprits will be mazzolato;* he is an +atrocious villain, who murdered the priest who brought him +up, and deserves not the smallest pity. The other sufferer +is sentenced to be decapitato;** and he, your excellency, is +poor Peppino." + +* Knocked on the head. +** Beheaded. + +"The fact is, that you have inspired not only the pontifical +government, but also the neighboring states, with such +extreme fear, that they are glad of all opportunity of +making an example." + +"But Peppino did not even belong to my band: he was merely a +poor shepherd, whose only crime consisted in furnishing us +with provisions." + +"Which makes him your accomplice to all intents and +purposes. But mark the distinction with which he is treated; +instead of being knocked on the head as you would be if once +they caught hold of you, he is simply sentenced to be +guillotined, by which means, too, the amusements of the day +are diversified, and there is a spectacle to please every +spectator." + +"Without reckoning the wholly unexpected one I am preparing +to surprise them with." + +"My good friend," said the man in the cloak, "excuse me for +saying that you seem to me precisely in the mood to commit +some wild or extravagant act." + +"Perhaps I am; but one thing I have resolved on, and that +is, to stop at nothing to restore a poor devil to liberty, +who has got into this scrape solely from having served me. I +should hate and despise myself as a coward did I desert the +brave fellow in his present extremity." + +"And what do you mean to do?" + +"To surround the scaffold with twenty of my best men, who, +at a signal from me, will rush forward directly Peppino is +brought for execution, and, by the assistance of their +stilettos, drive back the guard, and carry off the +prisoner." + +"That seems to me as hazardous as uncertain, and convinces +me that my scheme is far better than yours." + +"And what is your excellency's project?" + +"Just this. I will so advantageously bestow 2,000 piastres, +that the person receiving them shall obtain a respite till +next year for Peppino; and during that year, another +skilfully placed 1,000 piastres will afford him the means of +escaping from his prison." + +"And do you feel sure of succeeding?" + +"Pardieu!" exclaimed the man in the cloak, suddenly +expressing himself in French. + +"What did your excellency say?" inquired the other. + +"I said, my good fellow, that I would do more single-handed +by the means of gold than you and all your troop could +effect with stilettos, pistols, carbines, and blunderbusses +included. Leave me, then, to act, and have no fears for the +result." + +"At least, there can be no harm in myself and party being in +readiness, in case your excellency should fail." + +"None whatever. Take what precautions you please, if it is +any satisfaction to you to do so; but rely upon my obtaining +the reprieve I seek." + +"Remember, the execution is fixed for the day after +tomorrow, and that you have but one day to work in." + +"And what of that? Is not a day divided into twenty-four +hours, each hour into sixty minutes, and every minute +sub-divided into sixty seconds? Now in 86,400 seconds very +many things can be done." + +"And how shall I know whether your excellency has succeeded +or not." + +"Oh, that is very easily arranged. I have engaged the three +lower windows at the Cafe Rospoli; should I have obtained +the requisite pardon for Peppino, the two outside windows +will be hung with yellow damasks, and the centre with white, +having a large cross in red marked on it." + +"And whom will you employ to carry the reprieve to the +officer directing the execution?" + +"Send one of your men, disguised as a penitent friar, and I +will give it to him. His dress will procure him the means of +approaching the scaffold itself, and he will deliver the +official order to the officer, who, in his turn, will hand +it to the executioner; in the meantime, it will be as well +to acquaint Peppino with what we have determined on, if it +be only to prevent his dying of fear or losing his senses, +because in either case a very useless expense will have been +incurred." + +"Your excellency," said the man, "you are fully persuaded of +my entire devotion to you, are you not?" + +"Nay, I flatter myself that there can be no doubt of it," +replied the cavalier in the cloak. + +"Well, then, only fulfil your promise of rescuing Peppino, +and henceforward you shall receive not only devotion, but +the most absolute obedience from myself and those under me +that one human being can render to another." + +"Have a care how far you pledge yourself, my good friend, +for I may remind you of your promise at some, perhaps, not +very distant period, when I, in my turn, may require your +aid and influence." + +"Let that day come sooner or later, your excellency will +find me what I have found you in this my heavy trouble; and +if from the other end of the world you but write me word to +do such or such a thing, you may regard it as done, for done +it shall be, on the word and faith of" -- + +"Hush!" interrupted the stranger; "I hear a noise." + +"'Tis some travellers, who are visiting the Colosseum by +torchlight." + +"'Twere better we should not be seen together; those guides +are nothing but spies, and might possibly recognize you; +and, however I may be honored by your friendship, my worthy +friend, if once the extent of our intimacy were known, I am +sadly afraid both my reputation and credit would suffer +thereby." + +"Well, then, if you obtain the reprieve?" + +"The middle window at the Cafe Rospoli will be hung with +white damask, bearing a red cross." + +"And if you fail?" + +"Then all three windows will have yellow draperies." + +"And then?" + +"And then, my good fellow, use your daggers in any way you +please, and I further promise you to be there as a spectator +of your prowess." + +"We understand each other perfectly, then. Adieu, your +excellency; depend upon me as firmly as I do upon you." + +Saying these words, the Transteverin disappeared down the +staircase, while his companion, muffling his features more +closely than before in the folds of his mantle, passed +almost close to Franz, and descended to the arena by an +outward flight of steps. The next minute Franz heard himself +called by Albert, who made the lofty building re-echo with +the sound of his friend's name. Franz, however, did not obey +the summons till he had satisfied himself that the two men +whose conversation he had overheard were at a sufficient +distance to prevent his encountering them in his descent. In +ten minutes after the strangers had departed, Franz was on +the road to the Piazza de Spagni, listening with studied +indifference to the learned dissertation delivered by +Albert, after the manner of Pliny and Calpurnius, touching +the iron-pointed nets used to prevent the ferocious beasts +from springing on the spectators. Franz let him proceed +without interruption, and, in fact, did not hear what was +said; he longed to be alone, and free to ponder over all +that had occurred. One of the two men, whose mysterious +meeting in the Colosseum he had so unintentionally +witnessed, was an entire stranger to him, but not so the +other; and though Franz had been unable to distinguish his +features, from his being either wrapped in his mantle or +obscured by the shadow, the tones of his voice had made too +powerful an impression on him the first time he had heard +them for him ever again to forget them, hear them when or +where he might. It was more especially when this man was +speaking in a manner half jesting, half bitter, that Franz's +ear recalled most vividly the deep sonorous, yet +well-pitched voice that had addressed him in the grotto of +Monte Cristo, and which he heard for the second time amid +the darkness and ruined grandeur of the Colosseum. And the +more he thought, the more entire was his conviction, that +the person who wore the mantle was no other than his former +host and entertainer, "Sinbad the Sailor." + +Under any other circumstances, Franz would have found it +impossible to resist his extreme curiosity to know more of +so singular a personage, and with that intent have sought to +renew their short acquaintance; but in the present instance, +the confidential nature of the conversation he had overheard +made him, with propriety, judge that his appearance at such +a time would be anything but agreeable. As we have seen, +therefore, he permitted his former host to retire without +attempting a recognition, but fully promising himself a rich +indemnity for his present forbearance should chance afford +him another opportunity. In vain did Franz endeavor to +forget the many perplexing thoughts which assailed him; in +vain did he court the refreshment of sleep. Slumber refused +to visit his eyelids and the night was passed in feverish +contemplation of the chain of circumstances tending to prove +the identity of the mysterious visitant to the Colosseum +with the inhabitant of the grotto of Monte Cristo; and the +more he thought, the firmer grew his opinion on the subject. +Worn out at length, he fell asleep at daybreak, and did not +awake till late. Like a genuine Frenchman, Albert had +employed his time in arranging for the evening's diversion; +he had sent to engage a box at the Teatro Argentino; and +Franz, having a number of letters to write, relinquished the +carriage to Albert for the whole of the day. At five o'clock +Albert returned, delighted with his day's work; he had been +occupied in leaving his letters of introduction, and had +received in return more invitations to balls and routs than +it would be possible for him to accept; besides this, he had +seen (as he called it) all the remarkable sights at Rome. +Yes, in a single day he had accomplished what his more +serious-minded companion would have taken weeks to effect. +Neither had he neglected to ascertain the name of the piece +to be played that night at the Teatro Argentino, and also +what performers appeared in it. + +The opera of "Parisina" was announced for representation, +and the principal actors were Coselli, Moriani, and La +Specchia. The young men, therefore, had reason to consider +themselves fortunate in having the opportunity of hearing +one of the best works by the composer of "Lucia di +Lammermoor," supported by three of the most renowned +vocalists of Italy. Albert had never been able to endure the +Italian theatres, with their orchestras from which it is +impossible to see, and the absence of balconies, or open +boxes; all these defects pressed hard on a man who had had +his stall at the Bouffes, and had shared a lower box at the +Opera. Still, in spite of this, Albert displayed his most +dazzling and effective costumes each time he visited the +theatres; but, alas, his elegant toilet was wholly thrown +away, and one of the most worthy representatives of Parisian +fashion had to carry with him the mortifying reflection that +he had nearly overrun Italy without meeting with a single +adventure. + +Sometimes Albert would affect to make a joke of his want of +success; but internally he was deeply wounded, and his +self-love immensely piqued, to think that Albert de Morcerf, +the most admired and most sought after of any young person +of his day, should thus be passed over, and merely have his +labor for his pains. And the thing was so much the more +annoying, as, according to the characteristic modesty of a +Frenchman, Albert had quitted Paris with the full conviction +that he had only to show himself in Italy to carry all +before him, and that upon his return he should astonish the +Parisian world with the recital of his numerous +love-affairs. Alas, poor Albert! none of those interesting +adventures fell in his way; the lovely Genoese, Florentines, +and Neapolitans were all faithful, if not to their husbands, +at least to their lovers, and thought not of changing even +for the splendid appearance of Albert de Morcerf; and all he +gained was the painful conviction that the ladies of Italy +have this advantage over those of France, that they are +faithful even in their infidelity. Yet he could not restrain +a hope that in Italy, as elsewhere, there might be an +exception to the general rule. Albert, besides being an +elegant, well-looking young man, was also possessed of +considerable talent and ability; moreover, he was a viscount +-- a recently created one, certainly, but in the present day +it is not necessary to go as far back as Noah in tracing a +descent, and a genealogical tree is equally estimated, +whether dated from 1399 or merely 1815; but to crown all +these advantages, Albert de Morcerf commanded an income of +50,000 livres, a more than sufficient sum to render him a +personage of considerable importance in Paris. It was +therefore no small mortification to him to have visited most +of the principal cities in Italy without having excited the +most trifling observation. Albert, however, hoped to +indemnify himself for all these slights and indifferences +during the Carnival, knowing full well that among the +different states and kingdoms in which this festivity is +celebrated, Rome is the spot where even the wisest and +gravest throw off the usual rigidity of their lives, and +deign to mingle in the follies of this time of liberty and +relaxation. + +The Carnival was to commence on the morrow; therefore Albert +had not an instant to lose in setting forth the programme of +his hopes, expectations, and claims to notice. With this +design he had engaged a box in the most conspicuous part of +the theatre, and exerted himself to set off his personal +attractions by the aid of the most rich and elaborate +toilet. The box taken by Albert was in the first circle; +although each of the three tiers of boxes is deemed equally +aristocratic, and is, for this reason, generally styled the +"nobility's boxes," and although the box engaged for the two +friends was sufficiently capacious to contain at least a +dozen persons, it had cost less than would be paid at some +of the French theatres for one admitting merely four +occupants. Another motive had influenced Albert's selection +of his seat, -- who knew but that, thus advantageously +placed, he might not in truth attract the notice of some +fair Roman, and an introduction might ensue that would +procure him the offer of a seat in a carriage, or a place in +a princely balcony, from which he might behold the gayeties +of the Carnival? These united considerations made Albert +more lively and anxious to please than he had hitherto been. +Totally disregarding the business of the stage, he leaned +from his box and began attentively scrutinizing the beauty +of each pretty woman, aided by a powerful opera-glass; but, +alas, this attempt to attract notice wholly failed; not even +curiosity had been excited, and it was but too apparent that +the lovely creatures, into whose good graces he was desirous +of stealing, were all so much engrossed with themselves, +their lovers, or their own thoughts, that they had not so +much as noticed him or the manipulation of his glass. + +The truth was, that the anticipated pleasures of the +Carnival, with the "holy week" that was to succeed it, so +filled every fair breast, as to prevent the least attention +being bestowed even on the business of the stage. The actors +made their entries and exits unobserved or unthought of; at +certain conventional moments, the spectators would suddenly +cease their conversation, or rouse themselves from their +musings, to listen to some brilliant effort of Moriani's, a +well-executed recitative by Coselli, or to join in loud +applause at the wonderful powers of La Specchia; but that +momentary excitement over, they quickly relapsed into their +former state of preoccupation or interesting conversation. +Towards the close of the first act, the door of a box which +had been hitherto vacant was opened; a lady entered to whom +Franz had been introduced in Paris, where indeed, he had +imagined she still was. The quick eye of Albert caught the +involuntary start with which his friend beheld the new +arrival, and, turning to him, he said hastily, "Do you know +the woman who has just entered that box?" + +"Yes; what do you think of her?" + +"Oh, she is perfectly lovely -- what a complexion! And such +magnificent hair! Is she French?" + +"No; a Venetian." + +"And her name is -- " + +"Countess G---- ." + +"Ah, I know her by name!" exclaimed Albert; "she is said to +possess as much wit and cleverness as beauty. I was to have +been presented to her when I met her at Madame Villefort's +ball." + +"Shall I assist you in repairing your negligence?" asked +Franz. + +"My dear fellow, are you really on such good terms with her +as to venture to take me to her box?" + +"Why, I have only had the honor of being in her society and +conversing with her three or four times in my life; but you +know that even such an acquaintance as that might warrant my +doing what you ask." At that instant, the countess perceived +Franz, and graciously waved her hand to him, to which he +replied by a respectful inclination of the head. "Upon my +word," said Albert, "you seem to be on excellent terms with +the beautiful countess." + +"You are mistaken in thinking so," returned Franz calmly; +"but you merely fall into the same error which leads so many +of our countrymen to commit the most egregious blunders, -- +I mean that of judging the habits and customs of Italy and +Spain by our Parisian notions; believe me, nothing is more +fallacious than to form any estimate of the degree of +intimacy you may suppose existing among persons by the +familiar terms they seem upon; there is a similarity of +feeling at this instant between ourselves and the countess +-- nothing more." + +"Is there, indeed, my good fellow? Pray tell me, is it +sympathy of heart?" + +"No; of taste," continued Franz gravely. + +"And in what manner has this congeniality of mind been +evinced?" + +"By the countess's visiting the Colosseum, as we did last +night, by moonlight, and nearly alone." + +"You were with her, then?" + +"I was." + +"And what did you say to her?" + +"Oh, we talked of the illustrious dead of whom that +magnificent ruin is a glorious monument!" + +"Upon my word," cried Albert, "you must have been a very +entertaining companion alone, or all but alone, with a +beautiful woman in such a place of sentiment as the +Colosseum, and yet to find nothing better a talk about than +the dead! All I can say is, if ever I should get such a +chance, the living should be my theme." + +"And you will probably find your theme ill-chosen." + +"But," said Albert, breaking in upon his discourse, "never +mind the past; let us only remember the present. Are you not +going to keep your promise of introducing me to the fair +subject of our remarks?" + +"Certainly, directly the curtain falls on the stage." + +"What a confounded time this first act takes. I believe, on +my soul, that they never mean to finish it." + +"Oh, yes, they will; only listen to that charming finale. +How exquisitely Coselli sings his part." + +"But what an awkward, inelegant fellow he is." + +"Well, then, what do you say to La Specchia? Did you ever +see anything more perfect than her acting?" + +"Why, you know, my dear fellow, when one has been accustomed +to Malibran and Sontag, such singers as these don't make the +same impression on you they perhaps do on others." + +"At least, you must admire Moriani's style and execution." + +"I never fancied men of his dark, ponderous appearance +singing with a voice like a woman's." + +"My good friend," said Franz, turning to him, while Albert +continued to point his glass at every box in the theatre, +"you seem determined not to approve; you are really too +difficult to please." The curtain at length fell on the +performances, to the infinite satisfaction of the Viscount +of Morcerf, who seized his hat, rapidly passed his fingers +through his hair, arranged his cravat and wristbands, and +signified to Franz that he was waiting for him to lead the +way. Franz, who had mutely interrogated the countess, and +received from her a gracious smile in token that he would be +welcome, sought not to retard the gratification of Albert's +eager impatience, but began at once the tour of the house, +closely followed by Albert, who availed himself of the few +minutes required to reach the opposite side of the theatre +to settle the height and smoothness of his collar, and to +arrange the lappets of his coat. This important task was +just completed as they arrived at the countess's box. At the +knock, the door was immediately opened, and the young man +who was seated beside the countess, in obedience to the +Italian custom, instantly rose and surrendered his place to +the strangers, who, in turn, would be expected to retire +upon the arrival of other visitors. + +Franz presented Albert as one of the most distinguished +young men of the day, both as regarded his position in +society and extraordinary talents; nor did he say more than +the truth, for in Paris and the circle in which the viscount +moved, he was looked upon and cited as a model of +perfection. Franz added that his companion, deeply grieved +at having been prevented the honor of being presented to the +countess during her sojourn in Paris, was most anxious to +make up for it, and had requested him (Franz) to remedy the +past misfortune by conducting him to her box, and concluded +by asking pardon for his presumption in having taken it upon +himself to do so. The countess, in reply, bowed gracefully +to Albert, and extended her hand with cordial kindness to +Franz; then, inviting Albert to take the vacant seat beside +her, she recommended Franz to take the next best, if he +wished to view the ballet, and pointed to the one behind her +own chair. Albert was soon deeply engrossed in discoursing +upon Paris and Parisian matters, speaking to the countess of +the various persons they both knew there. Franz perceived +how completely he was in his element; and, unwilling to +interfere with the pleasure he so evidently felt, took up +Albert's glass, and began in his turn to survey the +audience. Sitting alone, in the front of a box immediately +opposite, but situated on the third row, was a woman of +exquisite beauty, dressed in a Greek costume, which +evidently, from the ease and grace with which she wore it, +was her national attire. Behind her, but in deep shadow, was +the outline of a masculine figure; but the features of this +latter personage it was not possible to distinguish. Franz +could not forbear breaking in upon the apparently +interesting conversation passing between the countess and +Albert, to inquire of the former if she knew who was the +fair Albanian opposite, since beauty such as hers was well +worthy of being observed by either sex. "All I can tell +about her," replied the countess, "is, that she has been at +Rome since the beginning of the season; for I saw her where +she now sits the very first night of the season, and since +then she has never missed a performance. Sometimes she is +accompanied by the person who is now with her, and at others +she is merely attended by a black servant." + +"And what do you think of her personal appearance?" + +"Oh, I consider her perfectly lovely -- she is just my idea +of what Medora must have been." + +Franz and the countess exchanged a smile, and then the +latter resumed her conversation with Albert, while Franz +returned to his previous survey of the house and company. +The curtain rose on the ballet, which was one of those +excellent specimens of the Italian school, admirably +arranged and put on the stage by Henri, who has established +for himself a great reputation throughout Italy for his +taste and skill in the choregraphic art -- one of those +masterly productions of grace, method, and elegance in which +the whole corps de ballet, from the principal dancers to the +humblest supernumerary, are all engaged on the stage at the +same time; and a hundred and fifty persons may be seen +exhibiting the same attitude, or elevating the same arm or +leg with a simultaneous movement, that would lead you to +suppose that but one mind, one act of volition, influenced +the moving mass -- the ballet was called "Poliska." However +much the ballet might have claimed his attention, Franz was +too deeply occupied with the beautiful Greek to take any +note of it; while she seemed to experience an almost +childlike delight in watching it, her eager, animated looks +contrasting strongly with the utter indifference of her +companion, who, during the whole time the piece lasted, +never even moved, not even when the furious, crashing din +produced by the trumpets, cymbals, and Chinese bells sounded +their loudest from the orchestra. Of this he took no heed, +but was, as far as appearances might be trusted, enjoying +soft repose and bright celestial dreams. The ballet at +length came to a close, and the curtain fell amid the loud, +unanimous plaudits of an enthusiastic and delighted +audience. + +Owing to the very judicious plan of dividing the two acts of +the opera with a ballet, the pauses between the performances +are very short, the singers in the opera having time to +repose themselves and change their costume, when necessary, +while the dancers are executing their pirouettes and +exhibiting their graceful steps. The overture to the second +act began; and, at the first sound of the leader's bow +across his violin, Franz observed the sleeper slowly arise +and approach the Greek girl, who turned around to say a few +words to him, and then, leaning forward again on the railing +of her box, she became as absorbed as before in what was +going on. The countenance of the person who had addressed +her remained so completely in the shade, that, though Franz +tried his utmost, he could not distinguish a single feature. +The curtain rose, and the attention of Franz was attracted +by the actors; and his eyes turned from the box containing +the Greek girl and her strange companion to watch the +business of the stage. + +Most of my readers are aware that the second act of +"Parisina" opens with the celebrated and effective duet in +which Parisina, while sleeping, betrays to Azzo the secret +of her love for Ugo. The injured husband goes through all +the emotions of jealousy, until conviction seizes on his +mind, and then, in a frenzy of rage and indignation, he +awakens his guilty wife to tell her that he knows her guilt +and to threaten her with his vengeance. This duet is one of +the most beautiful, expressive and terrible conceptions that +has ever emanated from the fruitful pen of Donizetti. Franz +now listened to it for the third time; yet it's notes, so +tenderly expressive and fearfully grand as the wretched +husband and wife give vent to their different griefs and +passions, thrilled through the soul of Franz with an effect +equal to his first emotions upon hearing it. Excited beyond +his usual calm demeanor, Franz rose with the audience, and +was about to join the loud, enthusiastic applause that +followed; but suddenly his purpose was arrested, his hands +fell by his sides, and the half-uttered "bravos" expired on +his lips. The occupant of the box in which the Greek girl +sat appeared to share the universal admiration that +prevailed; for he left his seat to stand up in front, so +that, his countenance being fully revealed, Franz had no +difficulty in recognizing him as the mysterious inhabitant +of Monte Cristo, and the very same person he had encountered +the preceding evening in the ruins of the Colosseum, and +whose voice and figure had seemed so familiar to him. All +doubt of his identity was now at an end; his singular host +evidently resided at Rome. The surprise and agitation +occasioned by this full confirmation of Franz's former +suspicion had no doubt imparted a corresponding expression +to his features; for the countess, after gazing with a +puzzled look at his face, burst into a fit of laughter, and +begged to know what had happened. "Countess," returned +Franz, totally unheeding her raillery, "I asked you a short +time since if you knew any particulars respecting the +Albanian lady opposite; I must now beseech you to inform me +who and what is her husband?" + +"Nay," answered the countess, "I know no more of him than +yourself." + +"Perhaps you never before noticed him?" + +"What a question -- so truly French! Do you not know that we +Italians have eyes only for the man we love?" + +"True," replied Franz. + +"All I call say is," continued the countess, taking up the +lorgnette, and directing it toward the box in question, +"that the gentleman, whose history I am unable to furnish, +seems to me as though he had just been dug up; he looks more +like a corpse permitted by some friendly grave-digger to +quit his tomb for a while, and revisit this earth of ours, +than anything human. How ghastly pale he is!" + +"Oh, he is always as colorless as you now see him," said +Franz. + +"Then you know him?" almost screamed the countess. "Oh, pray +do, for heaven's sake, tell us all about -- is he a vampire, +or a resuscitated corpse, or what?" + +"I fancy I have seen him before; and I even think he +recognizes me." + +"And I can well understand," said the countess, shrugging up +her beautiful shoulders, as though an involuntary shudder +passed through her veins, "that those who have once seen +that man will never be likely to forget him." The sensation +experienced by Franz was evidently not peculiar to himself; +another, and wholly uninterested person, felt the same +unaccountable awe and misgiving. "Well." inquired Franz, +after the countess had a second time directed her lorgnette +at the box, "what do you think of our opposite neighbor?" + +"Why, that he is no other than Lord Ruthven himself in a +living form." This fresh allusion to Byron* drew a smile to +Franz's countenance; although he could but allow that if +anything was likely to induce belief in the existence of +vampires, it would be the presence of such a man as the +mysterious personage before him. + +"I must positively find out who and what he is," said Franz, +rising from his seat. + +"No, no," cried the countess; "you must not leave me. I +depend upon you to escort me home. Oh, indeed, I cannot +permit you to go." + +* Scott, of course: "The son of an ill-fated sire, and the +father of a yet more unfortunate family, bore in his looks +that cast of inauspicious melancholy by which the +physiognomists of that time pretended to distinguish those +who were predestined to a violent and unhappy death." -- The +Abbot, ch. xxii. + +"Is it possible," whispered Franz, "that you entertain any +fear?" + +"I'll tell you," answered the countess. "Byron had the most +perfect belief in the existence of vampires, and even +assured me that he had seen them. The description he gave me +perfectly corresponds with the features and character of the +man before us. Oh, he is the exact personification of what I +have been led to expect! The coal-black hair, large bright, +glittering eyes, in which a wild, unearthly fire seems +burning, -- the same ghastly paleness. Then observe, too, +that the woman with him is altogether unlike all others of +her sex. She is a foreigner -- a stranger. Nobody knows who +she is, or where she comes from. No doubt she belongs to the +same horrible race he does, and is, like himself, a dealer +in magical arts. I entreat of you not to go near him -- at +least to-night; and if to-morrow your curiosity still +continues as great, pursue your researches if you will; but +to-night you neither can nor shall. For that purpose I mean +to keep you all to myself." Franz protested he could not +defer his pursuit till the following day, for many reasons. +"Listen to me," said the countess, "and do not be so very +headstrong. I am going home. I have a party at my house +to-night, and therefore cannot possibly remain till the end +of the opera. Now, I cannot for one instant believe you so +devoid of gallantry as to refuse a lady your escort when she +even condescends to ask you for it." + +There was nothing else left for Franz to do but to take up +his hat, open the door of the box, and offer the countess +his arm. It was quite evident, by her manner, that her +uneasiness was not feigned; and Franz himself could not +resist a feeling of superstitious dread -- so much the +stronger in him, as it arose from a variety of corroborative +recollections, while the terror of the countess sprang from +an instinctive belief, originally created in her mind by the +wild tales she had listened to till she believed them +truths. Franz could even feel her arm tremble as he assisted +her into the carriage. Upon arriving at her hotel, Franz +perceived that she had deceived him when she spoke of +expecting company; on the contrary, her own return before +the appointed hour seemed greatly to astonish the servants. +"Excuse my little subterfuge," said the countess, in reply +to her companion's half-reproachful observation on the +subject; "but that horrid man had made me feel quite +uncomfortable, and I longed to be alone, that I might +compose my startled mind." Franz essayed to smile. "Nay," +said she, "do not smile; it ill accords with the expression +of your countenance, and I am sure it does not spring from +your heart. however, promise me one thing." + +"What is it?" + +"Promise me, I say." + +"I will do anything you desire, except relinquish my +determination of finding out who this man is. I have more +reasons than you can imagine for desiring to know who he is, +from whence he came, and whither he is going." + +"Where he comes from I am ignorant; but I can readily tell +you where he is going to, and that is down below, without +the least doubt." + +"Let us only speak of the promise you wished me to make," +said Franz. + +"Well, then, you must give me your word to return +immediately to your hotel, and make no attempt to follow +this man to-night. There are certain affinities between the +persons we quit and those we meet afterwards. For heaven's +sake, do not serve as a conductor between that man and me. +Pursue your chase after him to-morrow as eagerly as you +please; but never bring him near me, if you would not see me +die of terror. And now, good-night; go to your rooms, and +try to sleep away all recollections of this evening. For my +own part, I am quite sure I shall not be able to close my +eyes." So saying, the countess quitted Franz, leaving him +unable to decide whether she were merely amusing herself at +his expense, or whether her fears and agitations were +genuine. + +Upon his return to the hotel, Franz found Albert in his +dressing-gown and slippers, listlessly extended on a sofa, +smoking a cigar. "My dear fellow." cried he, springing up, +"is it really you? Why, I did not expect to see you before +to-morrow." + +"My dear Albert," replied Franz, "I am glad of this +opportunity to tell you, once and forever, that you +entertain a most erroneous notion concerning Italian women. +I should have thought the continual failures you have met +with in all your own love affairs might have taught you +better by this time." + +"Upon my soul, these women would puzzle the very Devil to +read them aright. Why, here -- they give you their hand -- +they press yours in return -- they keep up a whispering +conversation -- permit you to accompany them home. Why, if a +Parisian were to indulge in a quarter of these marks of +flattering attention, her reputation would be gone forever." + +"And the very reason why the women of this fine country put +so little restraint on their words and actions, is because +they live so much in public, and have really nothing to +conceal. Besides, you must have perceived that the countess +was really alarmed." + +"At what? At the sight of that respectable gentleman sitting +opposite to us in the same box with the lovely Greek girl? +Now, for my part, I met them in the lobby after the +conclusion of the piece; and hang me, if I can guess where +you took your notions of the other world from. I can assure +you that this hobgoblin of yours is a deuced fine-looking +fellow -- admirably dressed. Indeed, I feel quite sure, from +the cut of his clothes, they are made by a first-rate Paris +tailor -- probably Blin or Humann. He was rather too pale, +certainly; but then, you know, paleness is always looked +upon as a strong proof of aristocratic descent and +distinguished breeding." Franz smiled; for he well +remembered that Albert particularly prided himself on the +entire absence of color in his own complexion. + +"Well, that tends to confirm my own ideas," said Franz, +"that the countess's suspicions were destitute alike of +sense and reason. Did he speak in your hearing? and did you +catch any of his words?" + +"I did; but they were uttered in the Romaic dialect. I knew +that from the mixture of Greek words. I don't know whether I +ever told you that when I was at college I was rather -- +rather strong in Greek." + +"He spoke the Romaic language, did he?" + +"I think so." + +"That settles it," murmured Franz. "'Tis he, past all +doubt." + +"What do you say?" + +"Nothing, nothing. But tell me, what were you thinking about +when I came in?" + +"Oh, I was arranging a little surprise for you." + +"Indeed. Of what nature?" + +"Why, you know it is quite impossible to procure a +carriage." + +"Certainly; and I also know that we have done all that human +means afforded to endeavor to get one." + +"Now, then, in this difficulty a bright idea has flashed +across my brain." Franz looked at Albert as though he had +not much confidence in the suggestions of his imagination. +"I tell you what, Sir Franz," cried Albert, "you deserve to +be called out for such a misgiving and incredulous glance as +that you were pleased to bestow on me just now." + +"And I promise to give you the satisfaction of a gentleman +if your scheme turns out as ingenious as you assert." + +"Well, then, hearken to me." + +"I listen." + +"You agree, do you not, that obtaining a carriage is out of +the question?" + +"I do." + +"Neither can we procure horses?" + +"True; we have offered any sum, but have failed." + +"Well, now, what do you say to a cart? I dare say such a +thing might be had." + +"Very possibly." + +"And a pair of oxen?" + +"As easily found as the cart." + +"Then you see, my good fellow, with a cart and a couple of +oxen our business can be managed. The cart must be +tastefully ornamented; and if you and I dress ourselves as +Neapolitan reapers, we may get up a striking tableau, after +the manner of that splendid picture by Leopold Robert. It +would add greatly to the effect if the countess would join +us in the costume of a peasant from Puzzoli or Sorrento. Our +group would then be quite complete, more especially as the +countess is quite beautiful enough to represent a madonna." + +"Well," said Franz, "this time, Albert, I am bound to give +you credit for having hit upon a most capital idea." + +"And quite a national one, too," replied Albert with +gratified pride. "A mere masque borrowed from our own +festivities. Ha, ha, ye Romans! you thought to make us, +unhappy strangers, trot at the heels of your processions, +like so many lazzaroni, because no carriages or horses are +to be had in your beggarly city. But you don't know us; when +we can't have one thing we invent another." + +"And have you communicated your triumphant idea to anybody?" + +"Only to our host. Upon my return home I sent for him, and I +then explained to him what I wished to procure. He assured +me that nothing would be easier than to furnish all I +desired. One thing I was sorry for; when I bade him have the +horns of the oxen gilded, he told me there would not be +time, as it would require three days to do that; so you see +we must do without this little superfluity." + +"And where is he now?" + +"Who?" + +"Our host." + +"Gone out in search of our equipage, by to-morrow it might +be too late." + +"Then he will be able to give us an answer to-night." + +"Oh, I expect him every minute." At this instant the door +opened, and the head of Signor Pastrini appeared. +"Permesso?" inquired he. + +"Certainly -- certainly," cried Franz. "Come in, mine host." + +"Now, then," asked Albert eagerly, "have you found the +desired cart and oxen?" + +"Better than that!" replied Signor Pastrini, with the air of +a man perfectly well satisfied with himself. + +"Take care, my worthy host," said Albert, "better is a sure +enemy to well." + +"Let your excellencies only leave the matter to me," +returned Signor Pastrini in a tone indicative of unbounded +self-confidence. + +"But what have you done?" asked Franz. "Speak out, there's a +worthy fellow." + +"Your excellencies are aware," responded the landlord, +swelling with importance, "that the Count of Monte Cristo is +living on the same floor with yourselves!" + +"I should think we did know it," exclaimed Albert, "since it +is owing to that circumstance that we are packed into these +small rooms, like two poor students in the back streets of +Paris." + +"When, then, the Count of Monte Cristo, hearing of the +dilemma in which you are placed, has sent to offer you seats +in his carriage and two places at his windows in the Palazzo +Rospoli." The friends looked at each other with unutterable +surprise. + +"But do you think," asked Albert, "that we ought to accept +such offers from a perfect stranger?" + +"What sort of person is this Count of Monte Cristo?" asked +Franz of his host. "A very great nobleman, but whether +Maltese or Sicilian I cannot exactly say; but this I know, +that he is noble as a Borghese and rich as a gold-mine." + +"It seems to me," said Franz, speaking in an undertone to +Albert, "that if this person merited the high panegyrics of +our landlord, he would have conveyed his invitation through +another channel, and not permitted it to be brought to us in +this unceremonious way. He would have written -- or" -- + +At this instant some one knocked at the door. "Come in," +said Franz. A servant, wearing a livery of considerable +style and richness, appeared at the threshold, and, placing +two cards in the landlord's hands, who forthwith presented +them to the two young men, he said, "Please to deliver +these, from the Count of Monte Cristo to Viscomte Albert de +Morcerf and M. Franz d'Epinay. The Count of Monte Cristo," +continued the servant, "begs these gentlemen's permission to +wait upon them as their neighbor, and he will be honored by +an intimation of what time they will please to receive him." + +"Faith, Franz," whispered Albert, "there is not much to find +fault with here." + +"Tell the count," replied Franz, "that we will do ourselves +the pleasure of calling on him." The servant bowed and +retired. + +"That is what I call an elegant mode of attack," said +Albert, "You were quite correct in what you said, Signor +Pastrini. The Count of Monte Cristo is unquestionably a man +of first-rate breeding and knowledge of the world." + +"Then you accept his offer?" said the host. + +"Of course we do," replied Albert. "Still, I must own I am +sorry to be obliged to give up the cart and the group of +reapers -- it would have produced such an effect! And were +it not for the windows at the Palazzo Rospoli, by way of +recompense for the loss of our beautiful scheme, I don't +know but what I should have held on by my original plan. +What say you, Franz?" + +"Oh, I agree with you; the windows in the Palazzo Rospoli +alone decided me." The truth was, that the mention of two +places in the Palazzo Rospoli had recalled to Franz the +conversation he had overheard the preceding evening in the +ruins of the Colosseum between the mysterious unknown and +the Transteverin, in which the stranger in the cloak had +undertaken to obtain the freedom of a condemned criminal; +and if this muffled-up individual proved (as Franz felt sure +he would) the same as the person he had just seen in the +Teatro Argentino, then he should be able to establish his +identity, and also to prosecute his researches respecting +him with perfect facility and freedom. Franz passed the +night in confused dreams respecting the two meetings he had +already had with his mysterious tormentor, and in waking +speculations as to what the morrow would produce. The next +day must clear up every doubt; and unless his near neighbor +and would-be friend, the Count of Monte Cristo, possessed +the ring of Gyges, and by its power was able to render +himself invisible, it was very certain he could not escape +this time. Eight o'clock found Franz up and dressed, while +Albert, who had not the same motives for early rising, was +still soundly asleep. The first act of Franz was to summon +his landlord, who presented himself with his accustomed +obsequiousness. + +"Pray, Signor Pastrini," asked Franz, "is not some execution +appointed to take place to-day?" + +"Yes, your excellency; but if your reason for inquiry is +that you may procure a window to view it from, you are much +too late." + +"Oh, no," answered Franz, "I had no such intention; and even +if I had felt a wish to witness the spectacle, I might have +done so from Monte Pincio -- could I not?" + +"Ah!" exclaimed mine host, "I did not think it likely your +excellency would have chosen to mingle with such a rabble as +are always collected on that hill, which, indeed, they +consider as exclusively belonging to themselves." + +"Very possibly I may not go," answered Franz; "but in case I +feel disposed, give me some particulars of to-day's +executions." + +"What particulars would your excellency like to hear?" + +"Why, the number of persons condemned to suffer, their +names, and description of the death they are to die." + +"That happens just lucky, your excellency! Only a few +minutes ago they brought me the tavolettas." + +"What are they?" + +"Sort of wooden tablets hung up at the corners of streets +the evening before an execution, on which is pasted up a +paper containing the names of the condemned persons, their +crimes, and mode of punishment. The reason for so publicly +announcing all this is, that all good and faithful Catholics +may offer up their prayers for the unfortunate culprits, +and, above all, beseech of heaven to grant them a sincere +repentance." + +"And these tablets are brought to you that you may add your +prayers to those of the faithful, are they?" asked Franz +somewhat incredulously. + +"Oh, dear, no, your excellency! I have not time for +anybody's affairs but my own and those of my honorable +guests; but I make an agreement with the man who pastes up +the papers, and he brings them to me as he would the +playbills, that in case any person staying at my hotel +should like to witness an execution, he may obtain every +requisite information concerning the time and place etc." + +"Upon my word, that is a most delicate attention on your +part, Signor Pastrini," cried Franz. + +"Why, your excellency," returned the landlord, chuckling and +rubbing his hands with infinite complacency, "I think I may +take upon myself to say I neglect nothing to deserve the +support and patronage of the noble visitors to this poor +hotel." + +"I see that plainly enough, my most excellent host, and you +may rely upon me to proclaim so striking a proof of your +attention to your guests wherever I go. Meanwhile, oblige me +by a sight of one of these tavolettas." + +"Nothing can be easier than to comply with your excellency's +wish," said the landlord, opening the door of the chamber; +"I have caused one to be placed on the landing, close by +your apartment." Then, taking the tablet from the wall, he +handed it to Franz, who read as follows: -- + +"`The public is informed that on Wednesday, February 23d, +being the first day of the Carnival, executions will take +place in the Piazza del Popolo, by order of the Tribunal of +the Rota, of two persons, named Andrea Rondola, and Peppino, +otherwise called Rocca Priori; the former found guilty of +the murder of a venerable and exemplary priest, named Don +Cesare Torlini, canon of the church of St. John Lateran; and +the latter convicted of being an accomplice of the atrocious +and sanguinary bandit, Luigi Vampa, and his band. The +first-named malefactor will be subjected to the mazzuola, +the second culprit beheaded. The prayers of all good +Christians are entreated for these unfortunate men, that it +may please God to awaken them to a sense of their guilt, and +to grant them a hearty and sincere repentance for their +crimes.'" + +This was precisely what Franz had heard the evening before +in the ruins of the Colosseum. No part of the programme +differed, -- the names of the condemned persons, their +crimes, and mode of punishment, all agreed with his previous +information. In all probability, therefore, the Transteverin +was no other than the bandit Luigi Vampa himself, and the +man shrouded in the mantle the same he had known as "Sinbad +the Sailor," but who, no doubt, was still pursuing his +philanthropic expedition in Rome, as he had already done at +Porto-Vecchio and Tunis. Time was getting on, however, and +Franz deemed it advisable to awaken Albert; but at the +moment he prepared to proceed to his chamber, his friend +entered the room in perfect costume for the day. The +anticipated delights of the Carnival had so run in his head +as to make him leave his pillow long before his usual hour. +"Now, my excellent Signor Pastrini," said Franz, addressing +his landlord, "since we are both ready, do you think we may +proceed at once to visit the Count of Monte Cristo?" + +"Most assuredly," replied he. "The Count of Monte Cristo is +always an early riser; and I can answer for his having been +up these two hours." + +"Then you really consider we shall not be intruding if we +pay our respects to him directly?" + +"Oh, I am quite sure. I will take all the blame on myself if +you find I have led you into an error." + +"Well, then, if it be so, are you ready, Albert?" + +"Perfectly." + +"Let us go and return our best thanks for his courtesy." + +"Yes, let us do so." The landlord preceded the friends +across the landing, which was all that separated them from +the apartments of the count, rang at the bell, and, upon the +door being opened by a servant, said, "I signori Francesi." + +The domestic bowed respectfully, and invited them to enter. +They passed through two rooms, furnished in a luxurious +manner they had not expected to see under the roof of Signor +Pastrini, and were shown into an elegantly fitted-up +drawing-room. The richest Turkey carpets covered the floor, +and the softest and most inviting couches, easy-chairs, and +sofas, offered their high-piled and yielding cushions to +such as desired repose or refreshment. Splendid paintings by +the first masters were ranged against the walls, +intermingled with magnificent trophies of war, while heavy +curtains of costly tapestry were suspended before the +different doors of the room. "If your excellencies will +please to be seated," said the man, "I will let the count +know that you are here." + +And with these words he disappeared behind one of the +tapestried portieres. As the door opened, the sound of a +guzla reached the ears of the young men, but was almost +immediately lost, for the rapid closing of the door merely +allowed one rich swell of harmony to enter. Franz and Albert +looked inquiringly at each other, then at the gorgeous +furnishings of the apartment. Everything seemed more +magnificent at a second view than it had done at their first +rapid survey. + +"Well," said Franz to his friend, "what think you of all +this?" + +"Why, upon my soul, my dear fellow, it strikes me that our +elegant and attentive neighbor must either be some +successful stock-jobber who has speculated in the fall of +the Spanish funds, or some prince travelling incog." + +"Hush, hush!" replied Franz; "we shall ascertain who and +what he is -- he comes!" As Franz spoke, he heard the sound +of a door turning on its hinges, and almost immediately +afterwards the tapestry was drawn aside, and the owner of +all these riches stood before the two young men. Albert +instantly rose to meet him, but Franz remained, in a manner, +spellbound on his chair; for in the person of him who had +just entered he recognized not only the mysterious visitant +to the Colosseum, and the occupant of the box at the Teatro +Argentino, but also his extraordinary host of Monte Cristo. + + + +Chapter 35 +La Mazzolata. + +"Gentlemen," said the Count of Monte Cristo as he entered, +"I pray you excuse me for suffering my visit to be +anticipated; but I feared to disturb you by presenting +myself earlier at your apartments; besides, you sent me word +that you would come to me, and I have held myself at your +disposal." + +"Franz and I have to thank you a thousand times, count," +returned Albert; "you extricated us from a great dilemma, +and we were on the point of inventing a very fantastic +vehicle when your friendly invitation reached us." + +"Indeed," returned the count, motioning the two young men to +sit down. "It was the fault of that blockhead Pastrini, that +I did not sooner assist you in your distress. He did not +mention a syllable of your embarrassment to me, when he +knows that, alone and isolated as I am, I seek every +opportunity of making the acquaintance of my neighbors. As +soon as I learned I could in any way assist you, I most +eagerly seized the opportunity of offering my services." The +two young men bowed. Franz had, as yet, found nothing to +say; he had come to no determination, and as nothing in the +count's manner manifested the wish that he should recognize +him, he did not know whether to make any allusion to the +past, or wait until he had more proof; besides, although +sure it was he who had been in the box the previous evening, +he could not be equally positive that this was the man he +had seen at the Colosseum. He resolved, therefore, to let +things take their course without making any direct overture +to the count. Moreover, he had this advantage, he was master +of the count's secret, while the count had no hold on Franz, +who had nothing to conceal. However, he resolved to lead the +conversation to a subject which might possibly clear up his +doubts. + +"Count," said he, "you have offered us places in your +carriage, and at your windows in the Rospoli Palace. Can you +tell us where we can obtain a sight of the Piazza del +Popolo?" + +"Ah," said the count negligently, looking attentively at +Morcerf, "is there not something like an execution upon the +Piazza del Popolo?" + +"Yes," returned Franz, finding that the count was coming to +the point he wished. + +"Stay, I think I told my steward yesterday to attend to +this; perhaps I can render you this slight service also." He +extended his hand, and rang the bell thrice. "Did you ever +occupy yourself," said he to Franz, "with the employment of +time and the means of simplifying the summoning your +servants? I have. When I ring once, it is for my valet; +twice, for my majordomo; thrice, for my steward, -- thus I +do not waste a minute or a word. Here he is." A man of about +forty-five or fifty entered, exactly resembling the smuggler +who had introduced Franz into the cavern; but he did not +appear to recognize him. It was evident he had his orders. +"Monsieur Bertuccio," said the count, "you have procured me +windows looking on the Piazza del Popolo, as I ordered you +yesterday " + +"Yes, excellency," returned the steward; "but it was very +late." + +"Did I not tell you I wished for one?" replied the count, +frowning. + +"And your excellency has one, which was let to Prince +Lobanieff; but I was obliged to pay a hundred" -- + +"That will do -- that will do, Monsieur Bertuccio; spare +these gentlemen all such domestic arrangements. You have the +window, that is sufficient. Give orders to the coachman; and +be in readiness on the stairs to conduct us to it." The +steward bowed, and was about to quit the room. "Ah," +continued the count, "be good enough to ask Pastrini if he +has received the tavoletta, and if he can send us an account +of the execution." + +"There is no need to do that," said Franz, taking out his +tablets; "for I saw the account, and copied it down." + +"Very well, you can retire, M. Bertuccio; but let us know +when breakfast is ready. These gentlemen," added he, turning +to the two friends, "will, I trust, do me the honor to +breakfast with me?" + +"But, my dear count," said Albert, "we shall abuse your +kindness." + +"Not at all; on the contrary, you will give me great +pleasure. You will, one or other of you, perhaps both, +return it to me at Paris. M. Bertuccio, lay covers for +three." He then took Franz's tablets out of his hand. "`We +announce,' he read, in the same tone with which he would +have read a newspaper, `that to-day, the 23d of February, +will be executed Andrea Rondolo, guilty of murder on the +person of the respected and venerated Don Cesare Torlini, +canon of the church of St. John Lateran, and Peppino, called +Rocca Priori, convicted of complicity with the detestable +bandit Luigi Vampa, and the men of his band.' Hum! `The +first will be mazzolato, the second decapitato.' Yes," +continued the count, "it was at first arranged in this way; +but I think since yesterday some change has taken place in +the order of the ceremony." + +"Really?" said Franz. + +"Yes, I passed the evening at the Cardinal Rospigliosi's, +and there mention was made of something like a pardon for +one of the two men." + +"For Andrea Rondolo?" asked Franz. + +"No," replied the count, carelessly; "for the other (he +glanced at the tablets as if to recall the name), for +Peppino, called Rocca Priori. You are thus deprived of +seeing a man guillotined; but the mazzuola still remains, +which is a very curious punishment when seen for the first +time, and even the second, while the other, as you must +know, is very simple. The mandaia* never fails, never +trembles, never strikes thirty times ineffectually, like the +soldier who beheaded the Count of Chalais, and to whose +tender mercy Richelieu had doubtless recommended the +sufferer. Ah," added the count, in a contemptuous tone, "do +not tell me of European punishments, they are in the +infancy, or rather the old age, of cruelty." + +* Guillotine. + +"Really, count," replied Franz, "one would think that you +had studied the different tortures of all the nations of the +world." + +"There are, at least, few that I have not seen," said the +count coldly. + +"And you took pleasure in beholding these dreadful +spectacles?" + +"My first sentiment was horror, the second indifference, the +third curiosity." + +"Curiosity -- that is a terrible word." + +"Why so? In life, our greatest preoccupation is death; is it +not then, curious to study the different ways by which the +soul and body can part; and how, according to their +different characters, temperaments, and even the different +customs of their countries, different persons bear the +transition from life to death, from existence to +annihilation? As for myself, I can assure you of one thing, +-- the more men you see die, the easier it becomes to die +yourself; and in my opinion, death may be a torture, but it +is not an expiation." + +"I do not quite understand you," replied Franz; "pray +explain your meaning, for you excite my curiosity to the +highest pitch." + +"Listen," said the count, and deep hatred mounted to his +face, as the blood would to the face of any other. "If a man +had by unheard-of and excruciating tortures destroyed your +father, your mother, your betrothed, -- a being who, when +torn from you, left a desolation, a wound that never closes, +in your breast, -- do you think the reparation that society +gives you is sufficient when it interposes the knife of the +guillotine between the base of the occiput and the trapezal +muscles of the murderer, and allows him who has caused us +years of moral sufferings to escape with a few moments of +physical pain?" + +"Yes, I know," said Franz, "that human justice is +insufficient to console us; she can give blood in return for +blood, that is all; but you must demand from her only what +it is in her power to grant." + +"I will put another case to you," continued the count; "that +where society, attacked by the death of a person, avenges +death by death. But are there not a thousand tortures by +which a man may be made to suffer without society taking the +least cognizance of them, or offering him even the +insufficient means of vengeance, of which we have just +spoken? Are there not crimes for which the impalement of the +Turks, the augers of the Persians, the stake and the brand +of the Iroquois Indians, are inadequate tortures, and which +are unpunished by society? Answer me, do not these crimes +exist?" + +"Yes," answered Franz; "and it is to punish them that +duelling is tolerated." + +"Ah, duelling," cried the count; "a pleasant manner, upon my +soul, of arriving at your end when that end is vengeance! A +man has carried off your mistress, a man has seduced your +wife, a man has dishonored your daughter; he has rendered +the whole life of one who had the right to expect from +heaven that portion of happiness God his promised to every +one of his creatures, an existence of misery and infamy; and +you think you are avenged because you send a ball through +the head, or pass a sword through the breast, of that man +who has planted madness in your brain, and despair in your +heart. And remember, moreover, that it is often he who comes +off victorious from the strife, absolved of all crime in the +eyes of the world. No, no," continued the count, "had I to +avenge myself, it is not thus I would take revenge." + +"Then you disapprove of duelling? You would not fight a +duel?" asked Albert in his turn, astonished at this strange +theory. + +"Oh, yes," replied the count; "understand me, I would fight +a duel for a trifle, for an insult, for a blow; and the more +so that, thanks to my skill in all bodily exercises, and the +indifference to danger I have gradually acquired, I should +be almost certain to kill my man. Oh, I would fight for such +a cause; but in return for a slow, profound, eternal +torture, I would give back the same, were it possible; an +eye for an eye, a tooth for a tooth, as the Orientalists +say, -- our masters in everything, -- those favored +creatures who have formed for themselves a life of dreams +and a paradise of realities." + +"But," said Franz to the count, "with this theory, which +renders you at once judge and executioner of your own cause, +it would be difficult to adopt a course that would forever +prevent your falling under the power of the law. Hatred is +blind, rage carries you away; and he who pours out vengeance +runs the risk of tasting a bitter draught." + +"Yes, if he be poor and inexperienced, not if he be rich and +skilful; besides, the worst that could happen to him would +be the punishment of which we have already spoken, and which +the philanthropic French Revolution has substituted for +being torn to pieces by horses or broken on the wheel. What +matters this punishment, as long as he is avenged? On my +word, I almost regret that in all probability this miserable +Peppino will not be beheaded, as you might have had an +opportunity then of seeing how short a time the punishment +lasts, and whether it is worth even mentioning; but, really +this is a most singular conversation for the Carnival, +gentlemen; how did it arise? Ah, I recollect, you asked for +a place at my window; you shall have it; but let us first +sit down to table, for here comes the servant to inform us +that breakfast is ready." As he spoke, a servant opened one +of the four doors of the apartment, saying -- "Al suo +commodo!" The two young men arose and entered the +breakfast-room. + +During the meal, which was excellent, and admirably served, +Franz looked repeatedly at Albert, in order to observe the +impressions which he doubted not had been made on him by the +words of their entertainer; but whether with his usual +carelessness he had paid but little attention to him, +whether the explanation of the Count of Monte Cristo with +regard to duelling had satisfied him, or whether the events +which Franz knew of had had their effect on him alone, he +remarked that his companion did not pay the least regard to +them, but on the contrary ate like a man who for the last +four or five months had been condemned to partake of Italian +cookery -- that is, the worst in the world. As for the +count, he just touched the dishes; he seemed to fulfil the +duties of a host by sitting down with his guests, and +awaited their departure to be served with some strange or +more delicate food. This brought back to Franz, in spite of +himself, the recollection of the terror with which the count +had inspired the Countess G---- , and her firm conviction +that the man in the opposite box was a vampire. At the end +of the breakfast Franz took out his watch. "Well," said the +count, "what are you doing?" + +"You must excuse us, count," returned Franz, "but we have +still much to do." + +"What may that be?" + +"We have no masks, and it is absolutely necessary to procure +them." + +"Do not concern yourself about that; we have, I think, a +private room in the Piazza del Popolo; I will have whatever +costumes you choose brought to us, and you can dress there." + +"After the execution?" cried Franz. + +"Before or after, whichever you please." + +"Opposite the scaffold?" + +"The scaffold forms part of the fete." + +"Count, I have reflected on the matter," said Franz, "I +thank you for your courtesy, but I shall content myself with +accepting a place in your carriage and at your window at the +Rospoli Palace, and I leave you at liberty to dispose of my +place at the Piazza del Popolo." + +"But I warn you, you will lose a very curious sight," +returned the count. + +"You will describe it to me," replied Franz, "and the +recital from your lips will make as great an impression on +me as if I had witnessed it. I have more than once intended +witnessing an execution, but I have never been able to make +up my mind; and you, Albert?" + +"I," replied the viscount, -- "I saw Castaing executed, but +I think I was rather intoxicated that day, for I had quitted +college the same morning, and we had passed the previous +night at a tavern." + +"Besides, it is no reason because you have not seen an +execution at Paris, that you should not see one anywhere +else; when you travel, it is to see everything. Think what a +figure you will make when you are asked, `How do they +execute at Rome?' and you reply, `I do not know'! And, +besides, they say that the culprit is an infamous scoundrel, +who killed with a log of wood a worthy canon who had brought +him up like his own son. Diable, when a churchman is killed, +it should be with a different weapon than a log, especially +when he has behaved like a father. If you went to Spain, +would you not see the bull-fight? Well, suppose it is a +bull-fight you are going to see? Recollect the ancient +Romans of the Circus, and the sports where they killed three +hundred lions and a hundred men. Think of the eighty +thousand applauding spectators, the sage matrons who took +their daughters, and the charming Vestals who made with the +thumb of their white hands the fatal sign that said, `Come, +despatch the dying.'" + +"Shall you go, then, Albert?" asked Franz. + +"Ma foi, yes; like you, I hesitated, but the count's +eloquence decides me." + +"Let us go, then," said Franz, "since you wish it; but on +our way to the Piazza del Popolo, I wish to pass through the +Corso. Is this possible, count?" + +"On foot, yes, in a carriage, no." + +"I will go on foot, then." + +"Is it important that you should go that way?" + +"Yes, there is something I wish to see." + +"Well, we will go by the Corso. We will send the carriage to +wait for us on the Piazza del Popolo, by the Strada del +Babuino, for I shall be glad to pass, myself, through the +Corso, to see if some orders I have given have been +executed." + +"Excellency," said a servant, opening the door, "a man in +the dress of a penitent wishes to speak to you." + +"Ah, yes" returned the count, "I know who he is, gentlemen; +will you return to the salon? you will find good cigars on +the centre table. I will be with you directly." The young +men rose and returned into the salon, while the count, again +apologizing, left by another door. Albert, who was a great +smoker, and who had considered it no small sacrifice to be +deprived of the cigars of the Cafe de Paris, approached the +table, and uttered a cry of joy at perceiving some veritable +puros. + +"Well," asked Franz, "what think you of the Count of Monte +Cristo?" + +"What do I think?" said Albert, evidently surprised at such +a question from his companion; "I think he is a delightful +fellow, who does the honors of his table admirably; who has +travelled much, read much, is, like Brutus, of the Stoic +school, and moreover," added he, sending a volume of smoke +up towards the ceiling, "that he has excellent cigars." Such +was Albert's opinion of the count, and as Franz well knew +that Albert professed never to form an opinion except upon +long reflection, he made no attempt to change it. "But," +said he, "did you observe one very singular thing?" + +"What?" + +"How attentively he looked at you." + +"At me?" + +"Yes." -- Albert reflected. "Ah," replied he, sighing, "that +is not very surprising; I have been more than a year absent +from Paris, and my clothes are of a most antiquated cut; the +count takes me for a provincial. The first opportunity you +have, undeceive him, I beg, and tell him I am nothing of the +kind." Franz smiled; an instant after the count entered. + +"I am now quite at your service, gentlemen," said he. "The +carriage is going one way to the Piazza del Popolo, and we +will go another; and, if you please, by the Corso. Take some +more of these cigars, M. de Morcerf." + +"With all my heart," returned Albert; "Italian cigars are +horrible. When you come to Paris, I will return all this." + +"I will not refuse; I intend going there soon, and since you +allow me, I will pay you a visit. Come, we have not any time +to lose, it is half-past twelve -- let us set off." All +three descended; the coachman received his master's orders, +and drove down the Via del Babuino. While the three +gentlemen walked along the Piazza de Spagni and the Via +Frattina, which led directly between the Fiano and Rospoli +palaces, Franz's attention was directed towards the windows +of that last palace, for he had not forgotten the signal +agreed upon between the man in the mantle and the +Transtevere peasant. "Which are your windows?" asked he of +the count, with as much indifference as he could assume. +"The three last," returned he, with a negligence evidently +unaffected, for he could not imagine with what intention the +question was put. Franz glanced rapidly towards the three +windows. The side windows were hung with yellow damask, and +the centre one with white damask and a red cross. The man in +the mantle had kept his promise to the Transteverin, and +there could now be no doubt that he was the count. The three +windows were still untenanted. Preparations were making on +every side; chairs were placed, scaffolds were raised, and +windows were hung with flags. The masks could not appear; +the carriages could not move about; but the masks were +visible behind the windows, the carriages, and the doors. + +Franz, Albert, and the count continued to descend the Corso. +As they approached the Piazza del Popolo, the crowd became +more dense, and above the heads of the multitude two objects +were visible: the obelisk, surmounted by a cross, which +marks the centre of the square, and in front of the obelisk, +at the point where the three streets, del Babuino, del +Corso, and di Ripetta, meet, the two uprights of the +scaffold, between which glittered the curved knife of the +mandaia. At the corner of the street they met the count's +steward, who was awaiting his master. The window, let at an +exorbitant price, which the count had doubtless wished to +conceal from his guests, was on the second floor of the +great palace, situated between the Via del Babuino and the +Monte Pincio. It consisted, as we have said, of a small +dressing-room, opening into a bedroom, and, when the door of +communication was shut, the inmates were quite alone. On +chairs were laid elegant masquerade costumes of blue and +white satin. "As you left the choice of your costumes to +me," said the count to the two friends, "I have had these +brought, as they will be the most worn this year; and they +are most suitable, on account of the confetti (sweetmeats), +as they do not show the flour." + +Franz heard the words of the count but imperfectly, and he +perhaps did not fully appreciate this new attention to their +wishes; for he was wholly absorbed by the spectacle that the +Piazza del Popolo presented, and by the terrible instrument +that was in the centre. It was the first time Franz had ever +seen a guillotine, -- we say guillotine, because the Roman +mandaia is formed on almost the same model as the French +instrument.* The knife, which is shaped like a crescent, +that cuts with the convex side, falls from a less height, +and that is all the difference. Two men, seated on the +movable plank on which the victim is laid, were eating their +breakfasts, while waiting for the criminal. Their repast +consisted apparently of bread and sausages. One of them +lifted the plank, took out a flask of wine, drank some, and +then passed it to his companion. These two men were the +executioner's assistants. At this sight Franz felt the +perspiration start forth upon his brow. The prisoners, +transported the previous evening from the Carcere Nuovo to +the little church of Santa Maria del Popolo, had passed the +night, each accompanied by two priests, in a chapel closed +by a grating, before which were two sentinels, who were +relieved at intervals. A double line of carbineers, placed +on each side of the door of the church, reached to the +scaffold, and formed a circle around it, leaving a path +about ten feet wide, and around the guillotine a space of +nearly a hundred feet. All the rest of the square was paved +with heads. Many women held their infants on their +shoulders, and thus the children had the best view. The +Monte Pincio seemed a vast amphitheatre filled with +spectators; the balconies of the two churches at the corner +of the Via del Babuino and the Via di Ripetta were crammed; +the steps even seemed a parti-colored sea, that was impelled +towards the portico; every niche in the wall held its living +statue. What the count said was true -- the most curious +spectacle in life is that of death. And yet, instead of the +silence and the solemnity demanded by the occasion, laughter +and jests arose from the crowd. It was evident that the +execution was, in the eyes of the people, only the +commencement of the Carnival. Suddenly the tumult ceased, as +if by magic, and the doors of the church opened. A +brotherhood of penitents, clothed from head to foot in robes +of gray sackcloth, with holes for the eyes, and holding in +their hands lighted tapers, appeared first; the chief +marched at the head. Behind the penitents came a man of vast +stature and proportions. He was naked, with the exception of +cloth drawers at the left side of which hung a large knife +in a sheath, and he bore on his right shoulder a heavy iron +sledge-hammer. This man was the executioner. He had, +moreover, sandals bound on his feet by cords. Behind the +executioner came, in the order in which they were to die, +first Peppino and then Andrea. Each was accompanied by two +priests. Neither had his eyes bandaged. Peppino walked with +a firm step, doubtless aware of what awaited him. Andrea was +supported by two priests. Each of them, from time to time, +kissed the crucifix a confessor held out to them. At this +sight alone Franz felt his legs tremble under him. He looked +at Albert -- he was as white as his shirt, and mechanically +cast away his cigar, although he had not half smoked it. The +count alone seemed unmoved -- nay, more, a slight color +seemed striving to rise in his pale cheeks. His nostrils +dilated like those of a wild beast that scents its prey, and +his lips, half opened, disclosed his white teeth, small and +sharp like those of a jackal. And yet his features wore an +expression of smiling tenderness, such as Franz had never +before witnessed in them; his black eyes especially were +full of kindness and pity. However, the two culprits +advanced, and as they approached their faces became visible. +Peppino was a handsome young man of four or five and twenty, +bronzed by the sun; he carried his head erect, and seemed on +the watch to see on which side his liberator would appear. +Andrea was short and fat; his visage, marked with brutal +cruelty, did not indicate age; he might be thirty. In prison +he had suffered his beard to grow; his head fell on his +shoulder, his legs bent beneath him, and his movements were +apparently automatic and unconscious. + +* Dr. Guillotin got the idea of his famous machine from +witnessing an execution in Italy. + +"I thought," said Franz to the count, "that you told me +there would be but one execution." + +"I told you true," replied he coldly. + +"And yet here are two culprits." + +"Yes; but only one of these two is about to die; the other +has many years to live." + +"If the pardon is to come, there is no time to lose." + +"And see, here it is," said the count. At the moment when +Peppino reached the foot of the mandaia, a priest arrived in +some haste, forced his way through the soldiers, and, +advancing to the chief of the brotherhood, gave him a folded +paper. The piercing eye of Peppino had noticed all. The +chief took the paper, unfolded it, and, raising his hand, +"Heaven be praised, and his holiness also," said he in a +loud voice; "here is a pardon for one of the prisoners!" + +"A pardon!" cried the people with one voice -- "a pardon!" +At this cry Andrea raised his head. "Pardon for whom?" cried +he. + +Peppino remained breathless. "A pardon for Peppino, called +Rocca Priori," said the principal friar. And he passed the +paper to the officer commanding the carbineers, who read and +returned it to him. + +"For Peppino!" cried Andrea, who seemed roused from the +torpor in which he had been plunged. "Why for him and not +for me? We ought to die together. I was promised he should +die with me. You have no right to put me to death alone. I +will not die alone -- I will not!" And he broke from the +priests struggling and raving like a wild beast, and +striving desperately to break the cords that bound his +hands. The executioner made a sign, and his two assistants +leaped from the scaffold and seized him. "What is going on?" +asked Franz of the count; for, as all the talk was in the +Roman dialect, he had not perfectly understood it. "Do you +not see?" returned the count, "that this human creature who +is about to die is furious that his fellow-sufferer does not +perish with him? and, were he able, he would rather tear him +to pieces with his teeth and nails than let him enjoy the +life he himself is about to be deprived of. Oh, man, man -- +race of crocodiles," cried the count, extending his clinched +hands towards the crowd, "how well do I recognize you there, +and that at all times you are worthy of yourselves!" +Meanwhile Andrea and the two executioners were struggling on +the ground, and he kept exclaiming, "He ought to die! -- he +shall die! -- I will not die alone!" + +"Look, look," cried the count. seizing the young men's hands +-- "look, for on my soul it is curious. Here is a man who +had resigned himself to his fate, who was going to the +scaffold to die -- like a coward, it is true, but he was +about to die without resistance. Do you know what gave him +strength? -- do you know what consoled him? It was, that +another partook of his punishment -- that another partook of +his anguish -- that another was to die before him. Lead two +sheep to the butcher's, two oxen to the slaughterhouse, and +make one of them understand that his companion will not die; +the sheep will bleat for pleasure, the ox will bellow with +joy. But man -- man, whom God created in his own image -- +man, upon whom God has laid his first, his sole commandment, +to love his neighbor -- man, to whom God has given a voice +to express his thoughts -- what is his first cry when he +hears his fellow-man is saved? A blasphemy. Honor to man, +this masterpiece of nature, this king of the creation!" And +the count burst into a laugh; a terrible laugh, that showed +he must have suffered horribly to be able thus to laugh. +However, the struggle still continued, and it was dreadful +to witness. The people all took part against Andrea, and +twenty thousand voices cried, "Put him to death! put him to +death!" Franz sprang back, but the count seized his arm, and +held him before the window. "What are you doing?" said he. +"Do you pity him? If you heard the cry of `Mad dog!' you +would take your gun -- you would unhesitatingly shoot the +poor beast, who, after all, was only guilty of having been +bitten by another dog. And yet you pity a man who, without +being bitten by one of his race, has yet murdered his +benefactor; and who, now unable to kill any one, because his +hands are bound, wishes to see his companion in captivity +perish. No, no -- look, look!" + +The command was needless. Franz was fascinated by the +horribly spectacle. The two assistants had borne Andrea to +the scaffold, and there, in spite of his struggles, his +bites, and his cries, had forced him to his knees. During +this time the executioner had raised his mace, and signed to +them to get out of the way; the criminal strove to rise, +but, ere he had time, the mace fell on his left temple. A +dull and heavy sound was heard, and the man dropped like an +ox on his face, and then turned over on his back. The +executioner let fall his mace, drew his knife, and with one +stroke opened his throat, and mounting on his stomach, +stamped violently on it with his feet. At every stroke a jet +of blood sprang from the wound. + +This time Franz could contain himself no longer, but sank, +half fainting, into a seat. Albert, with his eyes closed, +was standing grasping the window-curtains. The count was +erect and triumphant, like the Avenging Angel! + + + +Chapter 36 +The Carnival at Rome. + +When Franz recovered his senses, he saw Albert drinking a +glass of water, of which, to judge from his pallor, he stood +in great need; and the count, who was assuming his +masquerade costume. He glanced mechanically towards the +square -- the scene was wholly changed; scaffold, +executioners, victims, all had disappeared; only the people +remained, full of noise and excitement. The bell of Monte +Citorio, which only sounds on the pope's decease and the +opening of the Carnival, was ringing a joyous peal. "Well," +asked he of the count, "what has, then, happened?" + +"Nothing," replied the count; "only, as you see, the +Carnival his commenced. Make haste and dress yourself." + +"In fact," said Franz, "this horrible scene has passed away +like a dream." + +"It is but a dream, a nightmare, that has disturbed you." + +"Yes, that I have suffered; but the culprit?" + +"That is a dream also; only he has remained asleep, while +you have awakened; and who knows which of you is the most +fortunate?" + +"But Peppino -- what has become of him?" + +"Peppino is a lad of sense, who, unlike most men, who are +happy in proportion as they are noticed, was delighted to +see that the general attention was directed towards his +companion. He profited by this distraction to slip away +among the crowd, without even thanking the worthy priests +who accompanied him. Decidedly man is an ungrateful and +egotistical animal. But dress yourself; see, M. de Morcerf +sets you the example." Albert was drawing on the satin +pantaloon over his black trousers and varnished boots. +"Well, Albert," said Franz, "do you feel much inclined to +join the revels? Come, answer frankly." + +"Ma foi, no," returned Albert. "But I am really glad to have +seen such a sight; and I understand what the count said -- +that when you have once habituated yourself to a similar +spectacle, it is the only one that causes you any emotion." + +"Without reflecting that this is the only moment in which +you can study character," said the count; "on the steps of +the scaffold death tears off the mask that has been worn +through life, and the real visage is disclosed. It must be +allowed that Andrea was not very handsome, the hideous +scoundrel! Come, dress yourselves, gentlemen, dress +yourselves." Franz felt it would be ridiculous not to follow +his two companions' example. He assumed his costume, and +fastened on the mask that scarcely equalled the pallor of +his own face. Their toilet finished, they descended; the +carriage awaited them at the door, filled with sweetmeats +and bouquets. They fell into the line of carriages. It is +difficult to form an idea of the perfect change that had +taken place. Instead of the spectacle of gloomy and silent +death, the Piazza del Popolo presented a spectacle of gay +and noisy mirth and revelry. A crowd of masks flowed in from +all sides, emerging from the doors, descending from the +windows. From every street and every corner drove carriages +filled with clowns, harlequins, dominoes, mummers, +pantomimists, Transteverins, knights, and peasants, +screaming, fighting, gesticulating, throwing eggs filled +with flour, confetti, nosegays, attacking, with their +sarcasms and their missiles, friends and foes, companions +and strangers, indiscriminately, and no one took offence, or +did anything but laugh. Franz and Albert were like men who, +to drive away a violent sorrow, have recourse to wine, and +who, as they drink and become intoxicated, feel a thick veil +drawn between the past and the present. They saw, or rather +continued to see, the image of what they had witnessed; but +little by little the general vertigo seized them, and they +felt themselves obliged to take part in the noise and +confusion. A handful of confetti that came from a +neighboring carriage, and which, while it covered Morcerf +and his two companions with dust, pricked his neck and that +portion of his face uncovered by his mask like a hundred +pins, incited him to join in the general combat, in which +all the masks around him were engaged. He rose in his turn, +and seizing handfuls of confetti and sweetmeats, with which +the carriage was filled, cast them with all the force and +skill he was master of. + +The strife had fairly begun, and the recollection of what +they had seen half an hour before was gradually effaced from +the young men's minds, so much were they occupied by the gay +and glittering procession they now beheld. As for the Count +of Monte Cristo, he had never for an instant shown any +appearance of having been moved. Imagine the large and +splendid Corso, bordered from one end to the other with +lofty palaces, with their balconies hung with carpets, and +their windows with flags. At these balconies are three +hundred thousand spectators -- Romans, Italians, strangers +from all parts of the world, the united aristocracy of +birth, wealth, and genius. Lovely women, yielding to the +influence of the scene, bend over their balconies, or lean +from their windows, and shower down confetti, which are +returned by bouquets; the air seems darkened with the +falling confetti and flying flowers. In the streets the +lively crowd is dressed in the most fantastic costumes -- +gigantic cabbages walk gravely about, buffaloes' heads below +from men's shoulders, dogs walk on their hind legs; in the +midst of all this a mask is lifted, and, as in Callot's +Temptation of St. Anthony, a lovely face is exhibited, which +we would fain follow, but from which we are separated by +troops of fiends. This will give a faint idea of the +Carnival at Rome. At the second turn the Count stopped the +carriage, and requested permission to withdraw, leaving the +vehicle at their disposal. Franz looked up -- they were +opposite the Rospoli Palace. At the centre window, the one +hung with white damask with a red cross, was a blue domino, +beneath which Franz's imagination easily pictured the +beautiful Greek of the Argentina. "Gentlemen," said the +count, springing out, "when you are tired of being actors, +and wish to become spectators of this scene, you know you +have places at my windows. In the meantime, dispose of my +coachman, my carriage, and my servants." We have forgotten +to mention, that the count's coachman was attired in a +bear-skin, exactly resembling Odry's in "The Bear and the +Pasha;" and the two footmen behind were dressed up as green +monkeys, with spring masks, with which they made grimaces at +every one who passed. Franz thanked the count for his +attention. As for Albert, he was busily occupied throwing +bouquets at a carriage full of Roman peasants that was +passing near him. Unfortunately for him, the line of +carriages moved on again, and while he descended the Piazza +del Popolo, the other ascended towards the Palazzo di +Venezia. "Ah, my dear fellow," said he to Franz; "you did +not see?" + +"What?" + +"There, -- that calash filled with Roman peasants." + +"No." + +"Well, I am convinced they are all charming women." + +"How unfortunate that you were masked, Albert," said Franz; +"here was an opportunity of making up for past +disappointments." + +"Oh," replied he, half laughing, half serious; "I hope the +Carnival will not pass without some amends in one shape or +the other." + +But, in spite of Albert's hope, the day passed unmarked by +any incident, excepting two or three encounters with the +carriage full of Roman peasants. At one of these encounters, +accidentally or purposely, Albert's mask fell off. He +instantly rose and cast the remainder of the bouquets into +the carriage. Doubtless one of the charming females Albert +had detected beneath their coquettish disguise was touched +by his gallantry; for, as the carriage of the two friends +passed her, she threw a bunch of violets. Albert seized it, +and as Franz had no reason to suppose it was meant for him, +he suffered Albert to retain it. Albert placed it in his +button-hole, and the carriage went triumphantly on. + +"Well," said Franz to him; "there is the beginning of an +adventure." + +"Laugh if you please -- I really think so. So I will not +abandon this bouquet." + +"Pardieu," returned Franz, laughing, "in token of your +ingratitude." The jest, however, soon appeared to become +earnest; for when Albert and Franz again encountered the +carriage with the contadini, the one who had thrown the +violets to Albert, clapped her hands when she beheld them in +his button-hole. "Bravo, bravo," said Franz; "things go +wonderfully. Shall I leave you? Perhaps you would prefer +being alone?" + +"No," replied he; "I will not be caught like a fool at a +first disclosure by a rendezvous under the clock, as they +say at the opera-balls. If the fair peasant wishes to carry +matters any further, we shall find her, or rather, she will +find us to-morrow; then she will give me some sign or other, +and I shall know what I have to do." + +"On my word," said Franz, "you are wise as Nestor and +prudent as Ulysses, and your fair Circe must be very skilful +or very powerful if she succeed in changing you into a beast +of any kind." Albert was right; the fair unknown had +resolved, doubtless, to carry the intrigue no farther; for +although the young men made several more turns, they did not +again see the calash, which had turned up one of the +neighboring streets. Then they returned to the Rospoli +Palace; but the count and the blue domino had also +disappeared; the two windows, hung with yellow damask, were +still occupied by the persons whom the count had invited. At +this moment the same bell that had proclaimed the beginning +of the mascherata sounded the retreat. The file on the Corso +broke the line, and in a second all the carriages had +disappeared. Franz and Albert were opposite the Via delle +Maratte; the coachman, without saying a word, drove up it, +passed along the Piazza di Spagni and the Rospoli Palace and +stopped at the door of the hotel. Signor Pastrini came to +the door to receive his guests. Franz hastened to inquire +after the count, and to express regret that he had not +returned in sufficient time; but Pastrini reassured him by +saying that the Count of Monte Cristo had ordered a second +carriage for himself, and that it had gone at four o'clock +to fetch him from the Rospoli Palace. The count had, +moreover, charged him to offer the two friends the key of +his box at the Argentina. Franz questioned Albert as to his +intentions; but Albert had great projects to put into +execution before going to the theatre; and instead of making +any answer, he inquired if Signor Pastrini could procure him +a tailor. "A tailor," said the host; "and for what?" + +"To make us between now and to-morrow two Roman peasant +costumes," returned Albert. The host shook his head. "To +make you two costumes between now and to-morrow? I ask your +excellencies' pardon, but this is quite a French demand; for +the next week you will not find a single tailor who would +consent to sew six buttons on a waistcoat if you paid him a +crown a piece for each button." + +"Then I must give up the idea?" + +"No; we have them ready-made. Leave all to me; and +to-morrow, when you awake, you shall find a collection of +costumes with which you will be satisfied." + +"My dear Albert," said Franz, "leave all to our host; he has +already proved himself full of resources; let us dine +quietly, and afterwards go and see `The Algerian Captive.'" + +"Agreed," returned Albert; "but remember, Signor Pastrini, +that both my friend and myself attach the greatest +importance to having to-morrow the costumes we have asked +for." The host again assured them they might rely on him, +and that their wishes should be attended to; upon which +Franz and Albert mounted to their apartments, and proceeded +to disencumber themselves of their costumes. Albert, as he +took off his dress, carefully preserved the bunch of +violets; it was his token reserved for the morrow. The two +friends sat down to table; but they could not refrain from +remarking the difference between the Count of Monte Cristo's +table and that of Signor Pastrini. Truth compelled Franz, in +spite of the dislike he seemed to have taken to the count, +to confess that the advantage was not on Pastrini's side. +During dessert, the servant inquired at what time they +wished for the carriage. Albert and Franz looked at each +other, fearing really to abuse the count's kindness. The +servant understood them. "His excellency the Count of Monte +Cristo had," he said, "given positive orders that the +carriage was to remain at their lordships' orders all day, +and they could therefore dispose of it without fear of +indiscretion." + +They resolved to profit by the count's courtesy, and ordered +the horses to be harnessed, while they substituted evening +dress for that which they had on, and which was somewhat the +worse for the numerous combats they had sustained. This +precaution taken, they went to the theatre, and installed +themselves in the count's box. During the first act, the +Countess G---- entered. Her first look was at the box where +she had seen the count the previous evening, so that she +perceived Franz and Albert in the place of the very person +concerning whom she had expressed so strange an opinion to +Franz. Her opera-glass was so fixedly directed towards them, +that Franz saw it would be cruel not to satisfy her +curiosity; and, availing himself of one of the privileges of +the spectators of the Italian theatres, who use their boxes +to hold receptions, the two friends went to pay their +respects to the countess. Scarcely had they entered, when +she motioned to Franz to assume the seat of honor. Albert, +in his turn, sat behind. + +"Well," said she, hardly giving Franz time to sit down, "it +seems you have nothing better to do than to make the +acquaintance of this new Lord Ruthven, and you are already +the best friends in the world." + +"Without being so far advanced as that, my dear countess," +returned Franz, "I cannot deny that we have abused his good +nature all day." + +"All day?" + +"Yes; this morning we breakfasted with him; we rode in his +carriage all day, and now we have taken possession of his +box." + +"You know him, then?" + +"Yes, and no." + +"How so?" + +"It is a long story." + +'Tell it to me." + +"It would frighten you too much." + +"So much the more reason." + +"At least wait until the story has a conclusion." + +"Very well; I prefer complete histories; but tell me how you +made his acquaintance? Did any one introduce you to him?" + +"No; it was he who introduced himself to us." + +"When?" + +"Last night, after we left you." + +"Through what medium?" + +"The very prosaic one of our landlord." + +"He is staying, then, at the Hotel de Londres with you?" + +"Not only in the same hotel, but on the same floor." + +"What is his name -- for, of course, you know?" + +"The Count of Monte Cristo." + +"That is not a family name?" + +"No, it is the name of the island he has purchased." + +"And he is a count?" + +"A Tuscan count." + +"Well, we must put up with that," said the countess, who was +herself from one of the oldest Venetian families. "What sort +of a man is he?" + +"Ask the Vicomte de Morcerf." + +"You hear, M. de Morcerf, I am referred to you," said the +countess. + +"We should be very hard to please, madam," returned Albert, +"did we not think him delightful. A friend of ten years' +standing could not have done more for us, or with a more +perfect courtesy." + +"Come," observed the countess, smiling, "I see my vampire is +only some millionaire, who has taken the appearance of Lara +in order to avoid being confounded with M. de Rothschild; +and you have seen her?" + +"Her?" + +"The beautiful Greek of yesterday." + +"No; we heard, I think, the sound of her guzla, but she +remained perfectly invisible." + +"When you say invisible," interrupted Albert, "it is only to +keep up the mystery; for whom do you take the blue domino at +the window with the white curtains?" + +"Where was this window with white hangings?" asked the +countess. + +"At the Rospoli Palace." + +"The count had three windows at the Rospoli Palace?" + +"Yes. Did you pass through the Corso?" + +"Yes." + +"Well, did you notice two windows hung with yellow damask, +and one with white damask with a red cross? Those were the +count's windows?" + +"Why, he must be a nabob. Do you know what those three +windows were worth?" + +"Two or three hundred Roman crowns?" + +"Two or three thousand." + +"The deuce." + +"Does his island produce him such a revenue?" + +"It does not bring him a baiocco." + +"Then why did he purchase it?" + +"For a whim." + +"He is an original, then?" + +"In reality," observed Albert, "he seemed to me somewhat +eccentric; were he at Paris, and a frequenter of the +theatres, I should say he was a poor devil literally mad. +This morning he made two or three exits worthy of Didier or +Anthony." At this moment a fresh visitor entered, and, +according to custom, Franz gave up his seat to him. This +circumstance had, moreover, the effect of changing the +conversation; an hour afterwards the two friends returned to +their hotel. Signor Pastrini had already set about procuring +their disguises for the morrow; and he assured them that +they would be perfectly satisfied. The next morning, at nine +o'clock, he entered Franz's room, followed by a tailor, who +had eight or ten Roman peasant costumes on his arm; they +selected two exactly alike, and charged the tailor to sew on +each of their hats about twenty yards of ribbon, and to +procure them two of the long silk sashes of different colors +with which the lower orders decorate themselves on +fete-days. Albert was impatient to see how he looked in his +new dress -- a jacket and breeches of blue velvet, silk +stockings with clocks, shoes with buckles, and a silk +waistcoat. This picturesque attire set him off to great +advantage; and when he had bound the scarf around his waist, +and when his hat, placed coquettishly on one side, let fall +on his shoulder a stream of ribbons, Franz was forced to +confess that costume has much to do with the physical +superiority we accord to certain nations. The Turks used to +be so picturesque with their long and flowing robes, but are +they not now hideous with their blue frocks buttoned up to +the chin, and their red caps, which make them look like a +bottle of wine with a red seal? Franz complimented Albert, +who looked at himself in the glass with an unequivocal smile +of satisfaction. They were thus engaged when the Count of +Monte Cristo entered. + +"Gentlemen," said he, "although a companion is agreeable, +perfect freedom is sometimes still more agreeable. I come to +say that to-day, and for the remainder of the Carnival, I +leave the carriage entirely at your disposal. The host will +tell you I have three or four more, so that you will not +inconvenience me in any way. Make use of it, I pray you, for +your pleasure or your business." + +The young men wished to decline, but they could find no good +reason for refusing an offer which was so agreeable to them. +The Count of Monte Cristo remained a quarter of an hour with +them, conversing on all subjects with the greatest ease. He +was, as we have already said, perfectly well acquainted with +the literature of all countries. A glance at the walls of +his salon proved to Franz and Albert that he was a +connoisseur of pictures. A few words he let fall showed them +that he was no stranger to the sciences, and he seemed much +occupied with chemistry. The two friends did not venture to +return the count the breakfast he had given them; it would +have been too absurd to offer him in exchange for his +excellent table the very inferior one of Signor Pastrini. +They told him so frankly, and he received their excuses with +the air of a man who appreciated their delicacy. Albert was +charmed with the count's manners, and he was only prevented +from recognizing him for a perfect gentleman by reason of +his varied knowledge. The permission to do what he liked +with the carriage pleased him above all, for the fair +peasants had appeared in a most elegant carriage the +preceding evening, and Albert was not sorry to be upon an +equal footing with them. At half-past one they descended, +the coachman and footman had put on their livery over their +disguises, which gave them a more ridiculous appearance than +ever, and which gained them the applause of Franz and +Albert. Albert had fastened the faded bunch of violets to +his button-hole. At the first sound of the bell they +hastened into the Corso by the Via Vittoria. At the second +turn, a bunch of fresh violets, thrown from a carriage +filled with harlequins, indicated to Albert that, like +himself and his friend, the peasants had changed their +costume, also; and whether it was the result of chance, or +whether a similar feeling had possessed them both, while he +had changed his costume they had assumed his. + +Albert placed the fresh bouquet in his button-hole, but he +kept the faded one in his hand; and when he again met the +calash, he raised it to his lips, an action which seemed +greatly to amuse not only the fair lady who had thrown it, +but her joyous companions also. The day was as gay as the +preceding one, perhaps even more animated and noisy; the +count appeared for an instant at his window. but when they +again passed he had disappeared. It is almost needless to +say that the flirtation between Albert and the fair peasant +continued all day. In the evening, on his return, Franz +found a letter from the embassy, informing him that he would +have the honor of being received by his holiness the next +day. At each previous visit he had made to Rome, he had +solicited and obtained the same favor; and incited as much +by a religious feeling as by gratitude, he was unwilling to +quit the capital of the Christian world without laying his +respectful homage at the feet of one of St. Peter's +successors who has set the rare example of all the virtues. +He did not then think of the Carnival, for in spite of his +condescension and touching kindness, one cannot incline +one's self without awe before the venerable and noble old +man called Gregory XVI. On his return from the Vatican, +Franz carefully avoided the Corso; he brought away with him +a treasure of pious thoughts, to which the mad gayety of the +maskers would have been profanation. At ten minutes past +five Albert entered overjoyed. The harlequin had reassumed +her peasant's costume, and as she passed she raised her +mask. She was charming. Franz congratulated Albert, who +received his congratulations with the air of a man conscious +that they are merited. He had recognized by certain +unmistakable signs, that his fair incognita belonged to the +aristocracy. He had made up his mind to write to her the +next day. Franz remarked, while he gave these details, that +Albert seemed to have something to ask of him, but that he +was unwilling to ask it. He insisted upon it, declaring +beforehand that he was willing to make any sacrifice the +other wished. Albert let himself be pressed just as long as +friendship required, and then avowed to Franz that he would +do him a great favor by allowing him to occupy the carriage +alone the next day. Albert attributed to Franz's absence the +extreme kindness of the fair peasant in raising her mask. +Franz was not sufficiently egotistical to stop Albert in the +middle of an adventure that promised to prove so agreeable +to his curiosity and so flattering to his vanity. He felt +assured that the perfect indiscretion of his friend would +duly inform him of all that happened; and as, during three +years that he had travelled all over Italy, a similar piece +of good fortune had never fallen to his share, Franz was by +no means sorry to learn how to act on such an occasion. He +therefore promised Albert that he would content himself the +morrow with witnessing the Carnival from the windows of the +Rospoli Palace. + +The next morning he saw Albert pass and repass, holding an +enormous bouquet, which he doubtless meant to make the +bearer of his amorous epistle. This belief was changed into +certainty when Franz saw the bouquet (conspicuous by a +circle of white camellias) in the hand of a charming +harlequin dressed in rose-colored satin. The evening was no +longer joy, but delirium. Albert nothing doubted but that +the fair unknown would reply in the same manner. Franz +anticipated his wishes by saying that the noise fatigued +him, and that he should pass the next day in writing and +looking over his journal. Albert was not deceived, for the +next evening Franz saw him enter triumphantly shaking a +folded paper which he held by one corner. "Well," said he, +"was I mistaken?" + +"She has answered you!" cried Franz. + +"Read." This word was pronounced in a manner impossible to +describe. Franz took the letter, and read: -- + +Tuesday evening, at seven o'clock, descend from your +carriage opposite the Via dei Pontefici, and follow the +Roman peasant who snatches your torch from you. When you +arrive at the first step of the church of San Giacomo, be +sure to fasten a knot of rose-colored ribbons to the +shoulder of your harlequin costume, in order that you may be +recognized. Until then you will not see me. + +Constancy and Discretion. + +"Well," asked he, when Franz had finished, "what do you +think of that?" + +"I think that the adventure is assuming a very agreeable +appearance." + +"I think so, also," replied Albert; "and I very much fear +you will go alone to the Duke of Bracciano's ball." Franz +and Albert had received that morning an invitation from the +celebrated Roman banker. "Take care, Albert," said Franz. +"All the nobility of Rome will be present, and if your fair +incognita belong to the higher class of society, she must go +there." + +"Whether she goes there or not, my opinion is still the +same," returned Albert. "You have read the letter?" + +"Yes." + +"You know how imperfectly the women of the mezzo cito are +educated in Italy?" (This is the name of the lower class.) + +"Yes." + +"Well, read the letter again. Look at the writing, and find +if you can, any blemish in the language or orthography." +(The writing was, in reality, charming, and the orthography +irreproachable.) "You are born to good fortune," said Franz, +as he returned the letter. + +"Laugh as much as you will," replied Albert, "I am in love." + +"You alarm me," cried Franz. "I see that I shall not only go +alone to the Duke of Bracciano's, but also return to +Florence alone." + +"If my unknown be as amiable as she is beautiful," said +Albert, "I shall fix myself at Rome for six weeks, at least. +I adore Rome, and I have always had a great taste for +archaeology." + +"Come, two or three more such adventures, and I do not +despair of seeing you a member of the Academy." Doubtless +Albert was about to discuss seriously his right to the +academic chair when they were informed that dinner was +ready. Albert's love had not taken away his appetite. He +hastened with Franz to seat himself, free to recommence the +discussion after dinner. After dinner, the Count of Monte +Cristo was announced. They had not seen him for two days. +Signor Pastrini informed them that business had called him +to Civita Vecchia. He had started the previous evening, and +had only returned an hour since. He was charming. Whether he +kept a watch over himself, or whether by accident he did not +sound the acrimonious chords that in other circumstances had +been touched, he was to-night like everybody else. The man +was an enigma to Franz. The count must feel sure that Franz +recognized him; and yet he had not let fall a single word +indicating any previous acquaintance between them. On his +side, however great Franz's desire was to allude to their +former interview, the fear of being disagreeable to the man +who had loaded him and his friend with kindness prevented +him from mentioning it. The count had learned that the two +friends had sent to secure a box at the Argentina Theatre, +and were told they were all let. In consequence, he brought +them the key of his own -- at least such was the apparent +motive of his visit. Franz and Albert made some difficulty, +alleging their fear of depriving him of it; but the count +replied that, as he was going to the Palli Theatre, the box +at the Argentina Theatre would he lost if they did not +profit by it. This assurance determined the two friends to +accept it. + +Franz had by degrees become accustomed to the count's +pallor, which had so forcibly struck him at their first +meeting. He could not refrain from admiring the severe +beauty of his features, the only defect, or rather the +principal quality of which was the pallor. Truly, a Byronic +hero! Franz could not, we will not say see him, but even +think of him without imagining his stern head upon Manfred's +shoulders, or beneath Lara's helmet. His forehead was marked +with the line that indicates the constant presence of bitter +thoughts; he had the fiery eyes that seem to penetrate to +the very soul, and the haughty and disdainful upper lip that +gives to the words it utters a peculiar character that +impresses them on the minds of those to whom they are +addressed. The count was no longer young. He was at least +forty; and yet it was easy to understand that he was formed +to rule the young men with whom he associated at present. +And, to complete his resemblance with the fantastic heroes +of the English poet, the count seemed to have the power of +fascination. Albert was constantly expatiating on their good +fortune in meeting such a man. Franz was less enthusiastic; +but the count exercised over him also the ascendency a +strong mind always acquires over a mind less domineering. He +thought several times of the project the count had of +visiting Paris; and he had no doubt but that, with his +eccentric character, his characteristic face, and his +colossal fortune, he would produce a great effect there. And +yet he did not wish to be at Paris when the count was there. +The evening passed as evenings mostly pass at Italian +theatres; that is, not in listening to the music, but in +paying visits and conversing. The Countess G---- wished to +revive the subject of the count, but Franz announced he had +something far newer to tell her, and, in spite of Albert's +demonstrations of false modesty, he informed the countess of +the great event which had preoccupied them for the last +three days. As similar intrigues are not uncommon in Italy, +if we may credit travellers, the comtess did not manifest +the least incredulity, but congratulated Albert on his +success. They promised, upon separating, to meet at the Duke +of Bracciano's ball, to which all Rome was invited. The +heroine of the bouquet kept her word; she gave Albert no +sign of her existence the morrow or the day after. + +At length Tuesday came, the last and most tumultuous day of +the Carnival. On Tuesday, the theatres open at ten o'clock +in the morning, as Lent begins after eight at night. On +Tuesday, all those who through want of money, time, or +enthusiasm, have not been to see the Carnival before, mingle +in the gayety, and contribute to the noise and excitement. +From two o'clock till five Franz and Albert followed in the +fete, exchanging handfuls of confetti with the other +carriages and the pedestrians, who crowded amongst the +horses' feet and the carriage wheels without a single +accident, a single dispute, or a single fight. The fetes are +veritable pleasure days to the Italians. The author of this +history, who has resided five or six years in Italy, does +not recollect to have ever seen a ceremony interrupted by +one of those events so common in other countries. Albert was +triumphant in his harlequin costume. A knot of rose-colored +ribbons fell from his shoulder almost to the ground. In +order that there might be no confusion, Franz wore his +peasant's costume. + +As the day advanced, the tumult became greater. There was +not on the pavement, in the carriages, at the windows, a +single tongue that was silent, a single arm that did not +move. It was a human storm, made up of a thunder of cries, +and a hail of sweetmeats, flowers, eggs, oranges, and +nosegays. At three o'clock the sound of fireworks, let off +on the Piazza del Popolo and the Piazza di Venezia (heard +with difficulty amid the din and confusion) announced that +the races were about to begin. The races, like the moccoli, +are one of the episodes peculiar to the last days of the +Carnival. At the sound of the fireworks the carriages +instantly broke ranks, and retired by the adjacent streets. +All these evolutions are executed with an inconceivable +address and marvellous rapidity, without the police +interfering in the matter. The pedestrians ranged themselves +against the walls; then the trampling of horses and the +clashing of steel were heard. A detachment of carbineers, +fifteen abreast, galloped up the Corso in order to clear it +for the barberi. When the detachment arrived at the Piazza +di Venezia, a second volley of fireworks was discharged, to +announce that the street was clear. Almost instantly, in the +midst of a tremendous and general outcry, seven or eight +horses, excited by the shouts of three hundred thousand +spectators, passed by like lightning. Then the Castle of +Saint Angelo fired three cannon to indicate that number +three had won. Immediately, without any other signal, the +carriages moved on, flowing on towards the Corso, down all +the streets, like torrents pent up for a while, which again +flow into the parent river; and the immense stream again +continued its course between its two granite banks. + +A new source of noise and movement was added to the crowd. +The sellers of moccoletti entered on the scene. The moccoli, +or moccoletti, are candles which vary in size from the +pascal taper to the rushlight, and which give to each actor +in the great final scene of the Carnival two very serious +problems to grapple with, -- first, how to keep his own +moccoletto alight; and secondly, how to extinguish the +moccoletti of others. The moccoletto is like life: man has +found but one means of transmitting it, and that one comes +from God. But he has discovered a thousand means of taking +it away, and the devil has somewhat aided him. The +moccoletto is kindled by approaching it to a light. But who +can describe the thousand means of extinguishing the +moccoletto? -- the gigantic bellows, the monstrous +extinguishers, the superhuman fans. Every one hastened to +purchase moccoletti -- Franz and Albert among the rest. + +The night was rapidly approaching; and already, at the cry +of "Moccoletti!" repeated by the shrill voices of a thousand +vendors, two or three stars began to burn among the crowd. +It was a signal. At the end of ten minutes fifty thousand +lights glittered, descending from the Palazzo di Venezia to +the Piazza del Popolo, and mounting from the Piazzo del +Popolo to the Palazzo di Venezia. It seemed like the fete of +jack-o'-lanterns. It is impossible to form any idea of it +without having seen it. Suppose that all the stars had +descended from the sky and mingled in a wild dance on the +face of the earth; the whole accompanied by cries that were +never heard in any other part of the world. The facchino +follows the prince, the Transteverin the citizen, every one +blowing, extinguishing, relighting. Had old AEolus appeared +at this moment, he would have been proclaimed king of the +moccoli, and Aquilo the heir-presumptive to the throne. This +battle of folly and flame continued for two hours; the Corso +was light as day; the features of the spectators on the +third and fourth stories were visible. Every five minutes +Albert took out his watch; at length it pointed to seven. +The two friends were in the Via dei Pontefici. Albert sprang +out, bearing his moccoletto in his hand. Two or three masks +strove to knock his moccoletto out of his hand; but Albert, +a first-rate pugilist, sent them rolling in the street, one +after the other, and continued his course towards the church +of San Giacomo. The steps were crowded with masks, who +strove to snatch each other's torches. Franz followed Albert +with his eyes, and saw him mount the first step. Instantly a +mask, wearing the well-known costume of a peasant woman, +snatched his moccoletto from him without his offering any +resistance. Franz was too far off to hear what they said; +but, without doubt, nothing hostile passed, for he saw +Albert disappear arm-in-arm with the peasant girl. He +watched them pass through the crowd for some time, but at +length he lost sight of them in the Via Macello. Suddenly +the bell that gives the signal for the end of the carnival +sounded, and at the same instant all the moccoletti were +extinguished as if by enchantment. It seemed as though one +immense blast of the wind had extinguished every one. Franz +found himself in utter darkness. No sound was audible save +that of the carriages that were carrying the maskers home; +nothing was visible save a few lights that burnt behind the +windows. The Carnival was over. + + + +Chapter 37 +The Catacombs of Saint Sebastian. + +In his whole life, perhaps, Franz had never before +experienced so sudden an impression, so rapid a transition +from gayety to sadness, as in this moment. It seemed as +though Rome, under the magic breath of some demon of the +night, had suddenly changed into a vast tomb. By a chance, +which added yet more to the intensity of the darkness, the +moon, which was on the wane, did not rise until eleven +o'clock, and the streets which the young man traversed were +plunged in the deepest obscurity. The distance was short, +and at the end of ten minutes his carriage, or rather the +count's, stopped before the Hotel de Londres. Dinner was +waiting, but as Albert had told him that he should not +return so soon, Franz sat down without him. Signor Pastrini, +who had been accustomed to see them dine together, inquired +into the cause of his absence, but Franz merely replied that +Albert had received on the previous evening an invitation +which he had accepted. The sudden extinction of the +moccoletti, the darkness which had replaced the light, and +the silence which had succeeded the turmoil, had left in +Franz's mind a certain depression which was not free from +uneasiness. He therefore dined very silently, in spite of +the officious attention of his host, who presented himself +two or three times to inquire if he wanted anything. + +Franz resolved to wait for Albert as late as possible. He +ordered the carriage, therefore, for eleven o'clock, +desiring Signor Pastrini to inform him the moment that +Albert returned to the hotel. At eleven o'clock Albert had +not come back. Franz dressed himself, and went out, telling +his host that he was going to pass the night at the Duke of +Bracciano's. The house of the Duke of Bracciano is one of +the most delightful in Rome, the duchess, one of the last +heiresses of the Colonnas, does its honors with the most +consummate grace, and thus their fetes have a European +celebrity. Franz and Albert had brought to Rome letters of +introduction to them, and their first question on his +arrival was to inquire the whereabouts of his travelling +companion. Franz replied that he had left him at the moment +they were about to extinguish the moccoli, and that he had +lost sight of him in the Via Macello. "Then he has not +returned?" said the duke. + +"I waited for him until this hour," replied Franz. + +"And do you know whither he went?" + +"No, not precisely; however, I think it was something very +like a rendezvous." + +"Diavolo!" said the duke, "this is a bad day, or rather a +bad night, to be out late; is it not, countess!" These words +were addressed to the Countess G---- , who had just +arrived, and was leaning on the arm of Signor Torlonia, the +duke's brother. + +"I think, on the contrary, that it is a charming night," +replied the countess, "and those who are here will complain +of but one thing -- its too rapid flight." + +"I am not speaking," said the duke with a smile, "of the +persons who are here; the men run no other danger than that +of falling in love with you, and the women of falling ill of +jealousy at seeing you so lovely; I meant persons who were +out in the streets of Rome." + +"Ah," asked the countess, "who is out in the streets of Rome +at this hour, unless it be to go to a ball?" + +"Our friend, Albert de Morcerf, countess, whom I left in +pursuit of his unknown about seven o'clock this evening," +said Franz, "and whom I have not seen since." + +"And don't you know where he is?" + +"Not at all." + +"Is he armed?" + +"He is in masquerade." + +"You should not have allowed him to go," said the duke to +Franz; "you, who know Rome better than he does." + +"You might as well have tried to stop number three of the +barberi, who gained the prize in the race to-day," replied +Franz; "and then moreover, what could happen to him?" + +"Who can tell? The night is gloomy, and the Tiber is very +near the Via Macello." Franz felt a shudder run through his +veins at observing that the feeling of the duke and the +countess was so much in unison with his own personal +disquietude. "I informed them at the hotel that I had the +honor of passing the night here, duke," said Franz, "and +desired them to come and inform me of his return." + +"Ah," replied the duke, "here I think, is one of my servants +who is seeking you." + +The duke was not mistaken; when he saw Franz, the servant +came up to him. "Your excellency," he said, "the master of +the Hotel de Londres has sent to let you know that a man is +waiting for you with a letter from the Viscount of Morcerf." + +"A letter from the viscount!" exclaimed Franz. + +"Yes." + +"And who is the man?" + +"I do not know." + +"Why did he not bring it to me here?" + +"The messenger did not say." + +"And where is the messenger?" + +"He went away directly he saw me enter the ball-room to find +you." + +"Oh," said the countess to Franz, "go with all speed -- poor +young man! Perhaps some accident has happened to him." + +"I will hasten," replied Franz. + +"Shall we see you again to give us any information?" +inquired the countess. + +"Yes, if it is not any serious affair, otherwise I cannot +answer as to what I may do myself." + +"Be prudent, in any event," said the countess. + +"Oh, pray be assured of that." Franz took his hat and went +away in haste. He had sent away his carriage with orders for +it to fetch him at two o'clock; fortunately the Palazzo +Bracciano, which is on one side in the Corso, and on the +other in the Square of the Holy Apostles, is hardly ten +minutes' walk from the Hotel de Londres. As he came near the +hotel, Franz saw a man in the middle of the street. He had +no doubt that it was the messenger from Albert. The man was +wrapped up in a large cloak. He went up to him, but, to his +extreme astonishment, the stranger first addressed him. +"What wants your excellency of me?" inquired the man, +retreating a step or two, as if to keep on his guard. + +"Are not you the person who brought me a letter," inquired +Franz, "from the Viscount of Morcerf?" + +"Your excellency lodges at Pastrini's hotel?" + +"I do." + +"Your excellency is the travelling companion of the +viscount?" + +"I am." + +"Your excellency's name" -- + +"Is the Baron Franz d'Epinay." + +"Then it is to your excellency that this letter is +addressed." + +"Is there any answer?" inquired Franz, taking the letter +from him. + +"Yes -- your friend at least hopes so." + +"Come up-stairs with me, and I will give it to you." + +"I prefer waiting here," said the messenger, with a smile. + +"And why?" + +"Your excellency will know when you have read the letter." + +"Shall I find you here, then?" + +"Certainly." + +Franz entered the hotel. On the staircase he met Signor +Pastrini. "Well?" said the landlord. + +"Well -- what?" responded Franz. + +"You have seen the man who desired to speak with you from +your friend?" he asked of Franz. + +"Yes, I have seen him," he replied, "and he has handed this +letter to me. Light the candles in my apartment, if you +please." The inn-keeper gave orders to a servant to go +before Franz with a light. The young man had found Signor +Pastrini looking very much alarmed, and this had only made +him the more anxious to read Albert's letter; and so he went +instantly towards the waxlight, and unfolded it. It was +written and signed by Albert. Franz read it twice before he +could comprehend what it contained. It was thus worded: -- + +My Dear Fellow, -- The moment you have received this, have +the kindness to take the letter of credit from my +pocket-book, which you will find in the square drawer of the +secretary; add your own to it, if it be not sufficient. Run +to Torlonia, draw from him instantly four thousand piastres, +and give them to the bearer. It is urgent that I should have +this money without delay. I do not say more, relying on you +as you may rely on me. Your friend, + +Albert de Morcerf. + +P.S. -- I now believe in Italian banditti. + +Below these lines were written, in a strange hand, the +following in Italian: -- + +Se alle sei della mattina le quattro mile piastre non sono +nelle mie mani, alla sette il conte Alberto avra cessato di +vivere. + +Luigi Vampa. + +"If by six in the morning the four thousand piastres are not +in my hands, by seven o'clock the Count Albert will have +ceased to live." + +This second signature explained everything to Franz, who now +understood the objection of the messenger to coming up into +the apartment; the street was safer for him. Albert, then, +had fallen into the hands of the famous bandit chief, in +whose existence he had for so long a time refused to +believe. There was no time to lose. He hastened to open the +secretary, and found the pocket-book in the drawer, and in +it the letter of credit. There were in all six thousand +piastres, but of these six thousand Albert had already +expended three thousand. As to Franz, he had no letter of +credit, as he lived at Florence, and had only come to Rome +to pass seven or eight days; he had brought but a hundred +louis, and of these he had not more than fifty left. Thus +seven or eight hundred piastres were wanting to them both to +make up the sum that Albert required. True, he might in such +a case rely on the kindness of Signor Torlonia. He was, +therefore, about to return to the Palazzo Bracciano without +loss of time, when suddenly a luminous idea crossed his +mind. He remembered the Count of Monte Cristo. Franz was +about to ring for Signor Pastrini, when that worthy +presented himself. "My dear sir," he said, hastily, "do you +know if the count is within?" + +"Yes, your excellency; he has this moment returned." + +"Is he in bed?" + +"I should say no." + +"Then ring at his door, if you please, and request him to be +so kind as to give me an audience." Signor Pastrini did as +he was desired, and returning five minutes after, he said, +-- "The count awaits your excellency." Franz went along the +corridor, and a servant introduced him to the count. He was +in a small room which Franz had not yet seen, and which was +surrounded with divans. The count came towards him. "Well, +what good wind blows you hither at this hour?" said he; +"have you come to sup with me? It would be very kind of +you." + +"No; I have come to speak to you of a very serious matter." + +"A serious matter," said the count, looking at Franz with +the earnestness usual to him; "and what may it be?" + +"Are we alone?" + +"Yes," replied the count, going to the door, and returning. +Franz gave him Albert's letter. "Read that," he said. The +count read it. + +"Well, well!" said he. + +"Did you see the postscript?" + +"I did, indeed. + +"`Se alle sei della mattina le quattro mile piastre non sono +nelle mie mani, alla sette il conte Alberto avra cessato di +vivere. + +"`Luigi Vampa.'" + +"What think you of that?" inquired Franz. + +"Have you the money he demands?" + +"Yes, all but eight hundred piastres." The count went to his +secretary, opened it, and pulling out a drawer filled with +gold, said to Franz, -- "I hope you will not offend me by +applying to any one but myself." + +"You see, on the contrary, I come to you first and +instantly," replied Franz. + +"And I thank you; have what you will; "and he made a sign to +Franz to take what he pleased. + +"Is it absolutely necessary, then, to send the money to +Luigi Vampa?" asked the young man, looking fixedly in his +turn at the count. + +"Judge for yourself," replied he. "The postscript is +explicit." + +"I think that if you would take the trouble of reflecting, +you could find a way of simplifying the negotiation," said +Franz. + +"How so?" returned the count, with surprise. + +"If we were to go together to Luigi Vampa, I am sure he +would not refuse you Albert's freedom." + +"What influence can I possibly have over a bandit?" + +"Have you not just rendered him a service that can never be +forgotten?" + +"What is that?" + +"Have you not saved Peppino's life?" + +"Well, well, said the count, "who told you that?" + +"No matter; I know it." The count knit his brows, and +remained silent an instant. "And if I went to seek Vampa, +would you accompany me?" + +"If my society would not be disagreeable." + +"Be it so. It is a lovely night, and a walk without Rome +will do us both good." + +"Shall I take any arms?" + +"For what purpose?" + +"Any money?" + +"It is useless. Where is the man who brought the letter?" + +"In the street." + +"He awaits the answer?" + +"Yes." + +"I must learn where we are going. I will summon him hither." + +"It is useless; he would not come up." + +"To your apartments, perhaps; but he will not make any +difficulty at entering mine." The count went to the window +of the apartment that looked on to the street, and whistled +in a peculiar manner. The man in the mantle quitted the +wall, and advanced into the middle of the street. "Salite!" +said the count, in the same tone in which he would have +given an order to his servant. The messenger obeyed without +the least hesitation, but rather with alacrity, and, +mounting the steps at a bound, entered the hotel; five +seconds afterwards he was at the door of the room. "Ah, it +is you, Peppino," said the count. But Peppino, instead of +answering, threw himself on his knees, seized the count's +hand, and covered it with kisses. "Ah," said the count, "you +have, then, not forgotten that I saved your life; that is +strange, for it is a week ago." + +"No, excellency; and never shall I forget it," returned +Peppino, with an accent of profound gratitude. + +"Never? That is a long time; but it is something that you +believe so. Rise and answer." Peppino glanced anxiously at +Franz. "Oh, you may speak before his excellency," said he; +"he is one of my friends. You allow me to give you this +title?" continued the count in French, "it is necessary to +excite this man's confidence." + +"You can speak before me," said Franz; "I am a friend of the +count's." + +"Good!" returned Peppino. "I am ready to answer any +questions your excellency may address to me." + +"How did the Viscount Albert fall into Luigi's hands?" + +"Excellency, the Frenchman's carriage passed several times +the one in which was Teresa." + +"The chief's mistress?" + +"Yes. The Frenchman threw her a bouquet; Teresa returned it +-- all this with the consent of the chief, who was in the +carriage." + +"What?" cried Franz, "was Luigi Vampa in the carriage with +the Roman peasants?" + +"It was he who drove, disguised as the coachman," replied +Peppino. + +"Well?" said the count. + +"Well, then, the Frenchman took off his mask; Teresa, with +the chief's consent, did the same. The Frenchman asked for a +rendezvous; Teresa gave him one -- only, instead of Teresa, +it was Beppo who was on the steps of the church of San +Giacomo." + +"What!" exclaimed Franz, "the peasant girl who snatched his +mocoletto from him" -- + +"Was a lad of fifteen," replied Peppino. "But it was no +disgrace to your friend to have been deceived; Beppo has +taken in plenty of others." + +"And Beppo led him outside the walls?" said the count. + +"Exactly so; a carriage was waiting at the end of the Via +Macello. Beppo got in, inviting the Frenchman to follow him, +and he did not wait to be asked twice. He gallantly offered +the right-hand seat to Beppo, and sat by him. Beppo told him +he was going to take him to a villa a league from Rome; the +Frenchman assured him he would follow him to the end of the +world. The coachman went up the Via di Ripetta and the Porta +San Paola; and when they were two hundred yards outside, as +the Frenchman became somewhat too forward, Beppo put a brace +of pistols to his head, the coachman pulled up and did the +same. At the same time, four of the band, who were concealed +on the banks of the Almo, surrounded the carriage. The +Frenchman made some resistance, and nearly strangled Beppo; +but he could not resist five armed men. and was forced to +yield. They made him get out, walk along the banks of the +river, and then brought him to Teresa and Luigi, who were +waiting for him in the catacombs of St. Sebastian." + +"Well," said the count, turning towards Franz, "it seems to +me that this is a very likely story. What do you say to it?" + +"Why, that I should think it very amusing," replied Franz, +"if it had happened to any one but poor Albert." + +"And, in truth, if you had not found me here," said the +count, "it might have proved a gallant adventure which would +have cost your friend dear; but now, be assured, his alarm +will be the only serious consequence." + +"And shall we go and find him?" inquired Franz. + +"Oh, decidedly, sir. He is in a very picturesque place -- do +you know the catacombs of St. Sebastian?" + +"I was never in them; but I have often resolved to visit +them." + +"Well, here is an opportunity made to your hand, and it +would be difficult to contrive a better. Have you a +carriage?" + +"No." + +"That is of no consequence; I always have one ready, day and +night." + +"Always ready?" + +"Yes. I am a very capricious being, and I should tell you +that sometimes when I rise, or after my dinner, or in the +middle of the night, I resolve on starting for some +particular point, and away I go." The count rang, and a +footman appeared. "Order out the carriage," he said, "and +remove the pistols which are in the holsters. You need not +awaken the coachman; Ali will drive." In a very short time +the noise of wheels was heard, and the carriage stopped at +the door. The count took out his watch. "Half-past twelve," +he said. "We might start at five o'clock and be in time, but +the delay may cause your friend to pass an uneasy night, and +therefore we had better go with all speed to extricate him +from the hands of the infidels. Are you still resolved to +accompany me?" + +"More determined than ever." + +"Well, then, come along." + +Franz and the count went downstairs, accompanied by Peppino. +At the door they found the carriage. Ali was on the box, in +whom Franz recognized the dumb slave of the grotto of Monte +Cristo. Franz and the count got into the carriage. Peppino +placed himself beside Ali, and they set off at a rapid pace. +Ali had received his instructions, and went down the Corso, +crossed the Campo Vaccino, went up the Strada San Gregorio, +and reached the gates of St. Sebastian. Then the porter +raised some difficulties, but the Count of Monte Cristo +produced a permit from the governor of Rome, allowing him to +leave or enter the city at any hour of the day or night; the +portcullis was therefore raised, the porter had a louis for +his trouble, and they went on their way. The road which the +carriage now traversed was the ancient Appian Way, and +bordered with tombs. From time to time, by the light of the +moon, which began to rise, Franz imagined that he saw +something like a sentinel appear at various points among the +ruins, and suddenly retreat into the darkness on a signal +from Peppino. A short time before they reached the Baths of +Caracalla the carriage stopped, Peppino opened the door, and +the count and Franz alighted. + +"In ten minutes," said the count to his companion, "we shall +be there." + +He then took Peppino aside, gave him an order in a low +voice, and Peppino went away, taking with him a torch, +brought with them in the carriage. Five minutes elapsed, +during which Franz saw the shepherd going along a narrow +path that led over the irregular and broken surface of the +Campagna; and finally he disappeared in the midst of the +tall red herbage, which seemed like the bristling mane of an +enormous lion. "Now," said the count, "let us follow him." +Franz and the count in their turn then advanced along the +same path, which, at the distance of a hundred paces, led +them over a declivity to the bottom of a small valley. They +then perceived two men conversing in the obscurity. "Ought +we to go on?" asked Franz of the count; "or shall we wait +awhile?" + +"Let us go on; Peppino will have warned the sentry of our +coming." One of the two men was Peppino, and the other a +bandit on the lookout. Franz and the count advanced, and the +bandit saluted them. "Your excellency," said Peppino, +addressing the count, "if you will follow me, the opening of +the catacombs is close at hand." + +"Go on, then," replied the count. They came to an opening +behind a clump of bushes and in the midst of a pile of +rocks, by which a man could scarcely pass. Peppino glided +first into this crevice; after they got along a few paces +the passage widened. Peppino passed, lighted his torch, and +turned to see if they came after him. The count first +reached an open space and Franz followed him closely. The +passageway sloped in a gentle descent, enlarging as they +proceeded; still Franz and the count were compelled to +advance in a stooping posture, and were scarcely able to +proceed abreast of one another. They went on a hundred and +fifty paces in this way, and then were stopped by, "Who +comes there?" At the same time they saw the reflection of a +torch on a carbine barrel. + +"A friend!" responded Peppino; and, advancing alone towards +the sentry, he said a few words to him in a low tone; and +then he, like the first, saluted the nocturnal visitors, +making a sign that they might proceed. + +Behind the sentinel was a staircase with twenty steps. Franz +and the count descended these, and found themselves in a +mortuary chamber. Five corridors diverged like the rays of a +star, and the walls, dug into niches, which were arranged +one above the other in the shape of coffins, showed that +they were at last in the catacombs. Down one of the +corridors, whose extent it was impossible to determine, rays +of light were visible. The count laid his hand on Franz's +shoulder. "Would you like to see a camp of bandits in +repose?" he inquired. + +"Exceedingly," replied Franz. + +"Come with me, then. Peppino, put out the torch." Peppino +obeyed, and Franz and the count were in utter darkness, +except that fifty paces in advance of them a reddish glare, +more evident since Peppino had put out his torch, was +visible along the wall. They advanced silently, the count +guiding Franz as if he had the singular faculty of seeing in +the dark. Franz himself, however, saw his way more plainly +in proportion as he went on towards the light, which served +in some manner as a guide. Three arcades were before them, +and the middle one was used as a door. These arcades opened +on one side into the corridor where the count and Franz +were, and on the other into a large square chamber, entirely +surrounded by niches similar to those of which we have +spoken. In the midst of this chamber were four stones, which +had formerly served as an altar, as was evident from the +cross which still surmounted them. A lamp, placed at the +base of a pillar, lighted up with its pale and flickering +flame the singular scene which presented itself to the eyes +of the two visitors concealed in the shadow. A man was +seated with his elbow leaning on the column, and was reading +with his back turned to the arcades, through the openings of +which the newcomers contemplated him. This was the chief of +the band, Luigi Vampa. Around him, and in groups, according +to their fancy, lying in their mantles, or with their backs +against a sort of stone bench, which went all round the +columbarium, were to be seen twenty brigands or more, each +having his carbine within reach. At the other end, silent, +scarcely visible, and like a shadow, was a sentinel, who was +walking up and down before a grotto, which was only +distinguishable because in that spot the darkness seemed +more dense than elsewhere. When the count thought Franz had +gazed sufficiently on this picturesque tableau, he raised +his finger to his lips, to warn him to be silent, and, +ascending the three steps which led to the corridor of the +columbarium, entered the chamber by the middle arcade, and +advanced towards Vampa, who was so intent on the book before +him that he did not hear the noise of his footsteps. + +"Who comes there?" cried the sentinel, who was less +abstracted, and who saw by the lamp-light a shadow +approaching his chief. At this challenge, Vampa rose +quickly, drawing at the same moment a pistol from his +girdle. In a moment all the bandits were on their feet, and +twenty carbines were levelled at the count. "Well," said he +in a voice perfectly calm, and no muscle of his countenance +disturbed, "well, my dear Vampa, it appears to me that you +receive a friend with a great deal of ceremony." + +"Ground arms," exclaimed the chief, with an imperative sign +of the hand, while with the other he took off his hat +respectfully; then, turning to the singular personage who +had caused this scene, he said, "Your pardon, your +excellency, but I was so far from expecting the honor of a +visit, that I did not really recognize you." + +"It seems that your memory is equally short in everything, +Vampa," said the count, "and that not only do you forget +people's faces, but also the conditions you make with them." + +"What conditions have I forgotten, your excellency?" +inquired the bandit, with the air of a man who, having +committed an error, is anxious to repair it. + +"Was it not agreed," asked the count, "that not only my +person, but also that of my friends, should be respected by +you?" + +"And how have I broken that treaty, your excellency?" + +"You have this evening carried off and conveyed hither the +Vicomte Albert de Morcerf. Well," continued the count, in a +tone that made Franz shudder, "this young gentleman is one +of my friends -- this young gentleman lodges in the same +hotel as myself -- this young gentleman has been up and down +the Corso for eight hours in my private carriage, and yet, I +repeat to you, you have carried him off, and conveyed him +hither, and," added the count, taking the letter from his +pocket, "you have set a ransom on him, as if he were an +utter stranger." + +"Why did you not tell me all this -- you?" inquired the +brigand chief, turning towards his men, who all retreated +before his look. "Why have you caused me thus to fail in my +word towards a gentleman like the count, who has all our +lives in his hands? By heavens, if I thought one of you knew +that the young gentleman was the friend of his excellency, I +would blow his brains out with my own hand!" + +"Well," said the count, turning towards Franz, "I told you +there was some mistake in this." + +"Are you not alone?" asked Vampa with uneasiness. + +"I am with the person to whom this letter was addressed, and +to whom I desired to prove that Luigi Vampa was a man of his +word. Come, your excellency," the count added, turning to +Franz, "here is Luigi Vampa, who will himself express to you +his deep regret at the mistake he has committed." Franz +approached, the chief advancing several steps to meet him. +"Welcome among us, your excellency," he said to him; "you +heard what the count just said, and also my reply; let me +add that I would not for the four thousand piastres at which +I had fixed your friend's ransom, that this had happened." + +"But," said Franz, looking round him uneasily, "where is the +Viscount? -- I do not see him." + +"Nothing has happened to him, I hope," said the count +frowningly. + +"The prisoner is there," replied Vampa, pointing to the +hollow space in front of which the bandit was on guard, "and +I will go myself and tell him he is free." The chief went +towards the place he had pointed out as Albert's prison, and +Franz and the count followed him. "What is the prisoner +doing?" inquired Vampa of the sentinel. + +"Ma foi, captain," replied the sentry, "I do not know; for +the last hour I have not heard him stir." + +"Come in, your excellency," said Vampa. The count and Franz +ascended seven or eight steps after the chief, who drew back +a bolt and opened a door. Then, by the gleam of a lamp, +similar to that which lighted the columbarium, Albert was to +be seen wrapped up in a cloak which one of the bandits had +lent him, lying in a corner in profound slumber. "Come," +said the count, smiling with his own peculiar smile, "not so +bad for a man who is to be shot at seven o'clock to-morrow +morning." Vampa looked at Albert with a kind of admiration; +he was not insensible to such a proof of courage. + +"You are right, your excellency," he said; "this must be one +of your friends." Then going to Albert, he touched him on +the shoulder, saying, "Will your excellency please to +awaken?" Albert stretched out his arms, rubbed his eyelids, +and opened his eyes. "Oh," said he, "is it you, captain? You +should have allowed me to sleep. I had such a delightful +dream. I was dancing the galop at Torlonia's with the +Countess G---- ." Then he drew his watch from his pocket, +that he might see how time sped. + +"Half-past one only?" said he. "Why the devil do you rouse +me at this hour?" + +"To tell you that you are free, your excellency." + +"My dear fellow," replied Albert, with perfect ease of mind, +"remember, for the future, Napoleon's maxim, `Never awaken +me but for bad news;' if you had let me sleep on, I should +have finished my galop, and have been grateful to you all my +life. So, then, they have paid my ransom?" + +"No, your excellency." + +"Well, then, how am I free?" + +"A person to whom I can refuse nothing has come to demand +you." + +"Come hither?" + +"Yes, hither." + +"Really? Then that person is a most amiable person." Albert +looked around and perceived Franz. "What," said he, "is it +you, my dear Franz, whose devotion and friendship are thus +displayed?" + +"No, not I," replied Franz, "but our neighbor, the Count of +Monte Cristo." + +"Oh. my dear count." said Albert gayly, arranging his cravat +and wristbands, "you are really most kind, and I hope you +will consider me as under eternal obligations to you, in the +first place for the carriage, and in the next for this +visit," and he put out his hand to the Count, who shuddered +as he gave his own, but who nevertheless did give it. The +bandit gazed on this scene with amazement; he was evidently +accustomed to see his prisoners tremble before him, and yet +here was one whose gay temperament was not for a moment +altered; as for Franz, he was enchanted at the way in which +Albert had sustained the national honor in the presence of +the bandit. "My dear Albert," he said, "if you will make +haste, we shall yet have time to finish the night at +Torlonia's. You may conclude your interrupted galop, so that +you will owe no ill-will to Signor Luigi, who has, indeed, +throughout this whole affair acted like a gentleman." + +"You are decidedly right, and we may reach the Palazzo by +two o'clock. Signor Luigi," continued Albert, "is there any +formality to fulfil before I take leave of your excellency?" + +"None, sir," replied the bandit, "you are as free as air." + +"Well, then, a happy and merry life to you. Come, gentlemen, +come." + +And Albert, followed by Franz and the count, descended the +staircase, crossed the square chamber, where stood all the +bandits, hat in hand. "Peppino," said the brigand chief, +"give me the torch." + +"What are you going to do?" inquired the count. + +"l will show you the way back myself," said the captain; +"that is the least honor that I can render to your +excellency." And taking the lighted torch from the hands of +the herdsman, he preceded his guests, not as a servant who +performs an act of civility, but like a king who precedes +ambassadors. On reaching the door, he bowed. "And now, your +excellency," added he, "allow me to repeat my apologies, and +I hope you will not entertain any resentment at what has +occurred." + +"No, my dear Vampa," replied the count; "besides, you +compensate for your mistakes in so gentlemanly a way, that +one almost feels obliged to you for having committed them." + +"Gentlemen," added the chief, turning towards the young men, +"perhaps the offer may not appear very tempting to you; but +if you should ever feel inclined to pay me a second visit, +wherever I may be, you shall be welcome." Franz and Albert +bowed. The count went out first, then Albert. Franz paused +for a moment. "Has your excellency anything to ask me?" said +Vampa with a smile. + +"Yes, I have," replied Franz; "I am curious to know what +work you were perusing with so much attention as we +entered." + +"Caesar's `Commentaries,'" said the bandit, "it is my +favorite work." + +"Well, are you coming?" asked Albert. + +"Yes," replied Franz, "here I am," and he, in his turn, left +the caves. They advanced to the plain. "Ah, your pardon," +said Albert, turning round; "will you allow me, captain?" +And he lighted his cigar at Vampa's torch. "Now, my dear +count," he said, "let us on with all the speed we may. I am +enormously anxious to finish my night at the Duke of +Bracciano's." They found the carriage where they had left +it. The count said a word in Arabic to Ali, and the horses +went on at great speed. It was just two o'clock by Albert's +watch when the two friends entered into the dancing-room. +Their return was quite an event, but as they entered +together, all uneasiness on Albert's account ceased +instantly. "Madame," said the Viscount of Morcerf, advancing +towards the countess, "yesterday you were so condescending +as to promise me a galop; I am rather late in claiming this +gracious promise, but here is my friend, whose character for +veracity you well know, and he will assure you the delay +arose from no fault of mine." And as at this moment the +orchestra gave the signal for the waltz, Albert put his arm +round the waist of the countess, and disappeared with her in +the whirl of dancers. In the meanwhile Franz was considering +the singular shudder that had passed over the Count of Monte +Cristo at the moment when he had been, in some sort, forced +to give his hand to Albert. + + + +Chapter 38 +The Compact. + +The first words that Albert uttered to his friend, on the +following morning, contained a request that Franz would +accompany him on a visit to the count; true, the young man +had warmly and energetically thanked the count on the +previous evening; but services such as he had rendered could +never be too often acknowledged. Franz, who seemed attracted +by some invisible influence towards the count, in which +terror was strangely mingled, felt an extreme reluctance to +permit his friend to be exposed alone to the singular +fascination that this mysterious personage seemed to +exercise over him, and therefore made no objection to +Albert's request, but at once accompanied him to the desired +spot, and, after a short delay, the count joined them in the +salon. "My dear count," said Albert, advancing to meet him, +"permit me to repeat the poor thanks I offered last night, +and to assure you that the remembrance of all I owe to you +will never be effaced from my memory; believe me, as long as +I live, I shall never cease to dwell with grateful +recollection on the prompt and important service you +rendered me; and also to remember that to you I am indebted +even for my life." + +"My very good friend and excellent neighbor," replied the +count, with a smile, "you really exaggerate my trifling +exertions. You owe me nothing but some trifle of 20,000 +francs, which you have been saved out of your travelling +expenses, so that there is not much of a score between us; +-- but you must really permit me to congratulate you on the +ease and unconcern with which you resigned yourself to your +fate, and the perfect indifference you manifested as to the +turn events might take." + +"Upon my word," said Albert, "I deserve no credit for what I +could not help, namely, a determination to take everything +as I found it, and to let those bandits see, that although +men get into troublesome scrapes all over the world, there +is no nation but the French that can smile even in the face +of grim Death himself. All that, however, has nothing to do +with my obligations to you, and I now come to ask you +whether, in my own person, my family, or connections, I can +in any way serve you? My father, the Comte de Morcerf, +although of Spanish origin, possesses considerable +influence, both at the court of France and Madrid, and I +unhesitatingly place the best services of myself, and all to +whom my life is dear, at your disposal." + +"Monsieur de Morcerf," replied the count, "your offer, far +from surprising me, is precisely what I expected from you, +and I accept it in the same spirit of hearty sincerity with +which it is made; -- nay, I will go still further, and say +that I had previously made up my mind to ask a great favor +at your hands." + +"Oh, pray name it." + +"I am wholly a stranger to Paris -- it is a city I have +never yet seen." + +"Is it possible," exclaimed Albert, "that you have reached +your present age without visiting the finest capital in the +world? I can scarcely credit it." + +"Nevertheless, it is quite true; still, I agree with you in +thinking that my present ignorance of the first city in +Europe is a reproach to me in every way, and calls for +immediate correction; but, in all probability, I should have +performed so important, so necessary a duty, as that of +making myself acquainted with the wonders and beauties of +your justly celebrated capital, had I known any person who +would have introduced me into the fashionable world, but +unfortunately I possessed no acquaintance there, and, of +necessity, was compelled to abandon the idea." + +"So distinguished an individual as yourself," cried Albert, +"could scarcely have required an introduction." + +"You are most kind; but as regards myself, I can find no +merit I possess, save that, as a millionaire, I might have +become a partner in the speculations of M. Aguado and M. +Rothschild; but as my motive in travelling to your capital +would not have been for the pleasure of dabbling in stocks, +I stayed away till some favorable chance should present +itself of carrying my wish into execution. Your offer, +however, smooths all difficulties, and I have only to ask +you, my dear M. de Morcerf" (these words were accompanied by +a most peculiar smile), "whether you undertake, upon my +arrival in France, to open to me the doors of that +fashionable world of which I know no more than a Huron or a +native of Cochin-China?" + +"Oh, that I do, and with infinite pleasure," answered +Albert; "and so much the more readily as a letter received +this morning from my father summons me to Paris, in +consequence of a treaty of marriage (my dear Franz, do not +smile, I beg of you) with a family of high standing, and +connected with the very cream of Parisian society." + +"Connected by marriage, you mean," said Franz, laughingly. + +"Well, never mind how it is," answered Albert, "it comes to +the same thing in the end. Perhaps by the time you return to +Paris, I shall be quite a sober, staid father of a family! A +most edifying representative I shall make of all the +domestic virtues -- don't you think so? But as regards your +wish to visit our fine city, my dear count, I can only say +that you may command me and mine to any extent you please." + +"Then it is settled," said the count, "and I give you my +solemn assurance that I only waited an opportunity like the +present to realize plans that I have long meditated." Franz +did not doubt that these plans were the same concerning +which the count had dropped a few words in the grotto of +Monte Cristo, and while the Count was speaking the young man +watched him closely, hoping to read something of his purpose +in his face, but his countenance was inscrutable especially +when, as in the present case, it was veiled in a sphinx-like +smile. "But tell me now, count," exclaimed Albert, delighted +at the idea of having to chaperon so distinguished a person +as Monte Cristo; "tell me truly whether you are in earnest, +or if this project of visiting Paris is merely one of the +chimerical and uncertain air castles of which we make so +many in the course of our lives, but which, like a house +built on the sand, is liable to be blown over by the first +puff of wind?" + +"I pledge you my honor," returned the count, "that I mean to +do as I have said; both inclination and positive necessity +compel me to visit Paris." + +"When do you propose going thither?" + +"Have you made up your mind when you shall be there +yourself?" + +"Certainly I have; in a fortnight or three weeks' time, that +is to say, as fast as I can get there!" + +"Nay," said the Count; "I will give you three months ere I +join you; you see I make an ample allowance for all delays +and difficulties. + +"And in three months' time," said Albert, "you will be at my +house?" + +"Shall we make a positive appointment for a particular day +and hour?" inquired the count; "only let me warn you that I +am proverbial for my punctilious exactitude in keeping my +engagements." + +"Day for day, hour for hour," said Albert; "that will suit +me to a dot." + +"So be it, then," replied the count, and extending his hand +towards a calendar, suspended near the chimney-piece, he +said, "to-day is the 21st of February;" and drawing out his +watch, added, "it is exactly half-past ten o'clock. Now +promise me to remember this, and expect me the 21st of May +at the same hour in the forenoon." + +"Capital," exclaimed Albert; "your breakfast shall be +waiting." + +"Where do you live?" + +"No. 27, Rue du Helder." + +"Have you bachelor's apartments there? I hope my coming will +not put you to any inconvenience." + +"I reside in my father's house, but occupy a pavilion at the +farther side of the court-yard, entirely separated from the +main building." + +"Quite sufficient," replied the count, as, taking out his +tablets, he wrote down "No. 27, Rue du Helder, 21st May, +half-past ten in the morning." + +"Now then," said the count, returning his tablets to his +pocket, "make yourself perfectly easy; the hand of your +time-piece will not be more accurate in marking the time +than myself." + +"Shall I see you again ere my departure?" asked Albert. + +"That depends; when do you leave?" + +"To-morrow evening, at five o'clock." + +"In that case I must say adieu to you, as I am compelled to +go to Naples, and shall not return hither before Saturday +evening or Sunday morning. And you, baron," pursued the +count, addressing Franz, "do you also depart to-morrow?" + +"Yes." + +"For France?" + +"No, for Venice; I shall remain in Italy for another year or +two." + +"Then we shall not meet in Paris?" + +"I fear I shall not have that honor." + +"Well, since we must part," said the count, holding out a +hand to each of the young men, "allow me to wish you both a +safe and pleasant journey." It was the first time the hand +of Franz had come in contact with that of the mysterious +individual before him, and unconsciously he shuddered at its +touch, for it felt cold and icy as that of a corpse. "Let us +understand each other," said Albert; "it is agreed -- is it +not? -- that you are to be at No. 27, in the Rue du Helder, +on the 21st of May, at half-past ten in the morning, and +your word of honor passed for your punctuality?" + +"The 21st of May, at half-past ten in the morning, Rue du +Helder, No. 27," replied the Count. The young men then rose, +and bowing to the count, quitted the room. "What is the +matter?" asked Albert of Franz, when they had returned to +their own apartments; "you seem more than commonly +thoughtful." + +"I will confess to you, Albert," replied Franz, "the count +is a very singular person, and the appointment you have made +to meet him in Paris fills me with a thousand +apprehensions." + +"My dear fellow," exclaimed Albert, "what can there possibly +be in that to excite uneasiness? Why, you must have lost +your senses." + +"Whether I am in my senses or not," answered Franz, "that is +the way I feel." + +"Listen to me, Franz," said Albert; "I am glad that the +occasion has presented itself for saying this to you, for I +have noticed how cold you are in your bearing towards the +count, while he, on the other hand, has always been courtesy +itself to us. Have you anything particular against him?" + +"Possibly." + +"Did you ever meet him previously to coming hither?" + +"I have." + +"And where?" + +"Will you promise me not to repeat a single word of what I +am about to tell you?" + +"I promise." + +"Upon your honor?" + +"Upon my honor." + +"Then listen to me." Franz then related to his friend the +history of his excursion to the Island of Monte Cristo and +of his finding a party of smugglers there, and the two +Corsican bandits with them. He dwelt with considerable force +and energy on the almost magical hospitality he had received +from the count, and the magnificence of his entertainment in +the grotto of the "Thousand and One Nights." He recounted, +with circumstantial exactitude, all the particulars of the +supper, the hashish, the statues, the dream, and how, at his +awakening, there remained no proof or trace of all these +events, save the small yacht, seen in the distant horizon +driving under full sail toward Porto-Vecchio. Then he +detailed the conversation overheard by him at the Colosseum, +between the count and Vampa, in which the count had promised +to obtain the release of the bandit Peppino, -- an +engagement which, as our readers are aware, he most +faithfully fulfilled. At last he arrived at the adventure of +the preceding night, and the embarrassment in which he found +himself placed by not having sufficient cash by six or seven +hundred piastres to make up the sum required, and finally of +his application to the count and the picturesque and +satisfactory result that followed. Albert listened with the +most profound attention. "Well," said he, when Franz had +concluded, "what do you find to object to in all you have +related? The count is fond of travelling, and, being rich, +possesses a vessel of his own. Go but to Portsmouth or +Southampton, and you will find the harbors crowded with the +yachts belonging to such of the English as can afford the +expense, and have the same liking for this amusement. Now, +by way of having a resting-place during his excursions, +avoiding the wretched cookery -- which has been trying its +best to poison me during the last four months, while you +have manfully resisted its effects for as many years, -- and +obtaining a bed on which it is possible to slumber, Monte +Cristo has furnished for himself a temporary abode where you +first found him; but, to prevent the possibility of the +Tuscan government taking a fancy to his enchanted palace, +and thereby depriving him of the advantages naturally +expected from so large an outlay of capital, he has wisely +enough purchased the island, and taken its name. Just ask +yourself, my good fellow, whether there are not many persons +of our acquaintance who assume the names of lands and +properties they never in their lives were masters of?" + +"But," said Franz, "the Corsican bandits that were among the +crew of his vessel?" + +"Why, really the thing seems to me simple enough. Nobody +knows better than yourself that the bandits of Corsica are +not rogues or thieves, but purely and simply fugitives, +driven by some sinister motive from their native town or +village, and that their fellowship involves no disgrace or +stigma; for my own part, I protest that, should I ever go to +Corsica, my first visit, ere even I presented myself to the +mayor or prefect, should be to the bandits of Colomba, if I +could only manage to find them; for, on my conscience, they +are a race of men I admire greatly." + +"Still," persisted Franz, "I suppose you will allow that +such men as Vampa and his band are regular villains, who +have no other motive than plunder when they seize your +person. How do you explain the influence the count evidently +possessed over those ruffians?" + +"My good friend, as in all probability I own my present +safety to that influence, it would ill become me to search +too closely into its source; therefore, instead of +condemning him for his intimacy with outlaws, you must give +me leave to excuse any little irregularity there may be in +such a connection; not altogether for preserving my life, +for my own idea was that it never was in much danger, but +certainly for saving me 4,000 piastres, which, being +translated, means neither more nor less than 24,000 livres +of our money -- a sum at which, most assuredly, I should +never have been estimated in France, proving most +indisputably," added Albert with a laugh, "that no prophet +is honored in his own country." + +"Talking of countries," replied Franz, "of what country is +the count, what is his native tongue, whence does he derive +his immense fortune, and what were those events of his early +life -- a life as marvellous as unknown -- that have +tinctured his succeeding years with so dark and gloomy a +misanthropy? Certainly these are questions that, in your +place, I should like to have answered." + +"My dear Franz," replied Albert, "when, upon receipt of my +letter, you found the necessity of asking the count's +assistance, you promptly went to him, saying, `My friend +Albert de Morcerf is in danger; help me to deliver him.' Was +not that nearly what you said?" + +"It was." + +"Well, then, did he ask you, `Who is M. Albert de Morcerf? +how does he come by his name -- his fortune? what are his +means of existence? what is his birthplace! of what country +is he a native?' Tell me, did he put all these questions to +you?" + +"I confess he asked me none." + +"No; he merely came and freed me from the hands of Signor +Vampa, where, I can assure you, in spite of all my outward +appearance of ease and unconcern, I did not very +particularly care to remain. Now, then, Franz, when, for +services so promptly and unhesitatingly rendered, he but +asks me in return to do for him what is done daily for any +Russian prince or Italian nobleman who may pass through +Paris -- merely to introduce him into society -- would you +have me refuse? My good fellow, you must have lost your +senses to think it possible I could act with such +cold-blooded policy." And this time it must be confessed +that, contrary to the usual state of affairs in discussions +between the young men, the effective arguments were all on +Albert's side. + +"Well," said Franz with a sigh, "do as you please my dear +viscount, for your arguments are beyond my powers of +refutation. Still, in spite of all, you must admit that this +Count of Monte Cristo is a most singular personage." + +"He is a philanthropist," answered the other; "and no doubt +his motive in visiting Paris is to compete for the Monthyon +prize, given, as you are aware, to whoever shall be proved +to have most materially advanced the interests of virtue and +humanity. If my vote and interest can obtain it for him, I +will readily give him the one and promise the other. And +now, my dear Franz, let us talk of something else. Come, +shall we take our luncheon, and then pay a last visit to St. +Peter's?" Franz silently assented; and the following +afternoon, at half-past five o'clock, the young men parted. +Albert de Morcerf to return to Paris, and Franz d'Epinay to +pass a fortnight at Venice. But, ere he entered his +travelling carriage, Albert, fearing that his expected guest +might forget the engagement he had entered into, placed in +the care of a waiter at the hotel a card to be delivered to +the Count of Monte Cristo, on which, beneath the name of +Vicomte Albert de Morcerf, he had written in pencil -- "27, +Rue du Helder, on the 21st May, half-past ten A.M." + + + +Chapter 39 +The Guests. + +In the house in the Rue du Helder, where Albert had invited +the Count of Monte Cristo, everything was being prepared on +the morning of the 21st of May to do honor to the occasion. +Albert de Morcerf inhabited a pavilion situated at the +corner of a large court, and directly opposite another +building, in which were the servants' apartments. Two +windows only of the pavilion faced the street; three other +windows looked into the court, and two at the back into the +garden. Between the court and the garden, built in the heavy +style of the imperial architecture, was the large and +fashionable dwelling of the Count and Countess of Morcerf. A +high wall surrounded the whole of the hotel, surmounted at +intervals by vases filled with flowers, and broken in the +centre by a large gate of gilded iron, which served as the +carriage entrance. A small door, close to the lodge of the +concierge, gave ingress and egress to the servants and +masters when they were on foot. + +It was easy to discover that the delicate care of a mother, +unwilling to part from her son, and yet aware that a young +man of the viscount's age required the full exercise of his +liberty, had chosen this habitation for Albert. There were +not lacking, however, evidences of what we may call the +intelligent egoism of a youth who is charmed with the +indolent, careless life of an only son, and who lives as it +were in a gilded cage. By means of the two windows looking +into the street, Albert could see all that passed; the sight +of what is going on is necessary to young men, who always +want to see the world traverse their horizon, even if that +horizon is only a public thoroughfare. Then, should anything +appear to merit a more minute examination, Albert de Morcerf +could follow up his researches by means of a small gate, +similar to that close to the concierge's door, and which +merits a particular description. It was a little entrance +that seemed never to have been opened since the house was +built, so entirely was it covered with dust and dirt; but +the well-oiled hinges and locks told quite another story. +This door was a mockery to the concierge, from whose +vigilance and jurisdiction it was free, and, like that +famous portal in the "Arabian Nights," opening at the +"Sesame" of Ali Baba, it was wont to swing backward at a +cabalistic word or a concerted tap from without from the +sweetest voices or whitest fingers in the world. At the end +of a long corridor, with which the door communicated, and +which formed the ante-chamber, was, on the right, Albert's +breakfast-room, looking into the court, and on the left the +salon, looking into the garden. Shrubs and creeping plants +covered the windows, and hid from the garden and court these +two apartments, the only rooms into which, as they were on +the ground-floor, the prying eyes of the curious could +penetrate. On the floor above were similar rooms, with the +addition of a third, formed out of the ante-chamber; these +three rooms were a salon, a boudoir, and a bedroom. The +salon down-stairs was only an Algerian divan, for the use of +smokers. The boudoir up-stairs communicated with the +bed-chamber by an invisible door on the staircase; it was +evident that every precaution had been taken. Above this +floor was a large atelier, which had been increased in size +by pulling down the partitions -- a pandemonium, in which +the artist and the dandy strove for preeminence. There were +collected and piled up all Albert's successive caprices, +hunting-horns, bass-viols, flutes -- a whole orchestra, for +Albert had had not a taste but a fancy for music; easels, +palettes, brushes, pencils -- for music had been succeeded +by painting; foils, boxing-gloves, broadswords, and +single-sticks -- for, following the example of the +fashionable young men of the time, Albert de Morcerf +cultivated, with far more perseverance than music and +drawing, the three arts that complete a dandy's education, +i.e., fencing, boxing, and single-stick; and it was here +that he received Grisier, Cook, and Charles Leboucher. The +rest of the furniture of this privileged apartment consisted +of old cabinets, filled with Chinese porcelain and Japanese +vases, Lucca della Robbia faience, and Palissy platters; of +old arm-chairs, in which perhaps had sat Henry IV. or Sully, +Louis XIII. or Richelieu -- for two of these arm-chairs, +adorned with a carved shield, on which were engraved the +fleur-de-lis of France on an azure field evidently came from +the Louvre, or, at least, some royal residence. Over these +dark and sombre chairs were thrown splendid stuffs, dyed +beneath Persia's sun, or woven by the fingers of the women +of Calcutta or of Chandernagor. What these stuffs did there, +it was impossible to say; they awaited, while gratifying the +eyes, a destination unknown to their owner himself; in the +meantime they filled the place with their golden and silky +reflections. In the centre of the room was a Roller and +Blanchet "baby grand" piano in rosewood, but holding the +potentialities of an orchestra in its narrow and sonorous +cavity, and groaning beneath the weight of the +chefs-d'oeuvre of Beethoven, Weber, Mozart, Haydn, Gretry, +and Porpora. On the walls, over the doors, on the ceiling, +were swords, daggers, Malay creeses, maces, battle-axes; +gilded, damasked, and inlaid suits of armor; dried plants, +minerals, and stuffed birds, their flame-colored wings +outspread in motionless flight, and their beaks forever +open. This was Albert's favorite lounging place. + +However, the morning of the appointment, the young man had +established himself in the small salon down-stairs. There, +on a table, surrounded at some distance by a large and +luxurious divan, every species of tobacco known, -- from the +yellow tobacco of Petersburg to the black of Sinai, and so +on along the scale from Maryland and Porto-Rico, to Latakia, +-- was exposed in pots of crackled earthenware of which the +Dutch are so fond; beside them, in boxes of fragrant wood, +were ranged, according to their size and quality, pueros, +regalias, havanas, and manillas; and, in an open cabinet, a +collection of German pipes, of chibouques, with their amber +mouth-pieces ornamented with coral, and of narghiles, with +their long tubes of morocco, awaiting the caprice or the +sympathy of the smokers. Albert had himself presided at the +arrangement, or, rather, the symmetrical derangement, which, +after coffee, the guests at a breakfast of modern days love +to contemplate through the vapor that escapes from their +mouths, and ascends in long and fanciful wreaths to the +ceiling. At a quarter to ten, a valet entered; he composed, +with a little groom named John, and who only spoke English, +all Albert's establishment, although the cook of the hotel +was always at his service, and on great occasions the +count's chasseur also. This valet, whose name was Germain, +and who enjoyed the entire confidence of his young master, +held in one hand a number of papers, and in the other a +packet of letters, which he gave to Albert. Albert glanced +carelessly at the different missives, selected two written +in a small and delicate hand, and enclosed in scented +envelopes, opened them and perused their contents with some +attention. "How did these letters come?" said he. + +"One by the post, Madame Danglars' footman left the other." + +"Let Madame Danglars know that I accept the place she offers +me in her box. Wait; then, during the day, tell Rosa that +when I leave the Opera I will sup with her as she wishes. +Take her six bottles of different wine -- Cyprus, sherry, +and Malaga, and a barrel of Ostend oysters; get them at +Borel's, and be sure you say they are for me." + +"At what o'clock, sir, do you breakfast?" + +"What time is it now?" + +"A quarter to ten." + +"Very well, at half past ten. Debray will, perhaps, be +obliged to go to the minister -- and besides" (Albert looked +at his tablets), "it is the hour I told the count, 21st May, +at half past ten; and though I do not much rely upon his +promise, I wish to be punctual. Is the countess up yet?" + +"If you wish, I will inquire." + +"Yes, ask her for one of her liqueur cellarets, mine is +incomplete; and tell her I shall have the honor of seeing +her about three o'clock, and that I request permission to +introduce some one to her." The valet left the room. Albert +threw himself on the divan, tore off the cover of two or +three of the papers, looked at the theatre announcements, +made a face seeing they gave an opera, and not a ballet; +hunted vainly amongst the advertisements for a new +tooth-powder of which he had heard, and threw down, one +after the other, the three leading papers of Paris, +muttering, "These papers become more and more stupid every +day." A moment after, a carriage stopped before the door, +and the servant announced M. Lucien Debray. A tall young +man, with light hair, clear gray eyes, and thin and +compressed lips, dressed in a blue coat with beautifully +carved gold buttons, a white neckcloth, and a tortoiseshell +eye-glass suspended by a silken thread, and which, by an +effort of the superciliary and zygomatic muscles, he fixed +in his eye, entered, with a half-official air, without +smiling or speaking. "Good-morning, Lucien, good-morning," +said Albert; "your punctuality really alarms me. What do I +say? punctuality! You, whom I expected last, you arrive at +five minutes to ten, when the time fixed was half-past! Has +the ministry resigned?" + +"No, my dear fellow," returned the young man, seating +himself on the divan; "reassure yourself; we are tottering +always, but we never fall, and I begin to believe that we +shall pass into a state of immobility, and then the affairs +of the Peninsula will completely consolidate us." + +"Ah, true; you drive Don Carlos out of Spain." + +"No, no, my dear fellow, do not confound our plans. We take +him to the other side of the French frontier, and offer him +hospitality at Bourges." + +"At Bourges?" + +"Yes, he has not much to complain of; Bourges is the capital +of Charles VII. Do you not know that all Paris knew it +yesterday, and the day before it had already transpired on +the Bourse, and M. Danglars (I do not know by what means +that man contrives to obtain intelligence as soon as we do) +made a million!" + +"And you another order, for I see you have a blue ribbon at +your button-hole." + +"Yes; they sent me the order of Charles III.," returned +Debray, carelessly. + +"Come, do not affect indifference, but confess you were +pleased to have it." + +"Oh, it is very well as a finish to the toilet. It looks +very neat on a black coat buttoned up." + +"And makes you resemble the Prince of Wales or the Duke of +Reichstadt." + +"It is for that reason you see me so early." + +"Because you have the order of Charles III., and you wish to +announce the good news to me?" + +"No, because I passed the night writing letters, -- five and +twenty despatches. I returned home at daybreak, and strove +to sleep; but my head ached and I got up to have a ride for +an hour. At the Bois de Boulogne, ennui and hunger attacked +me at once, -- two enemies who rarely accompany each other, +and who are yet leagued against me, a sort of +Carlo-republican alliance. I then recollected you gave a +breakfast this morning, and here I am. I am hungry, feed me; +I am bored, amuse me." + +"It is my duty as your host," returned Albert, ringing the +bell, while Lucien turned over, with his gold-mounted cane, +the papers that lay on the table. "Germain, a glass of +sherry and a biscuit. In the meantime. my dear Lucien, here +are cigars -- contraband, of course -- try them, and +persuade the minister to sell us such instead of poisoning +us with cabbage leaves." + +"Peste, I will do nothing of the kind; the moment they come +from government you would find them execrable. Besides, that +does not concern the home but the financial department. +Address yourself to M. Humann, section of the indirect +contributions, corridor A., No. 26." + +"On my word," said Albert, "you astonish me by the extent of +your knowledge. Take a cigar." + +"Really, my dear Albert," replied Lucien, lighting a manilla +at a rose-colored taper that burnt in a be beautifully +enamelled stand -- "how happy you are to have nothing to do. +You do not know your own good fortune!" + +"And what would you do, my dear diplomatist," replied +Morcerf, with a slight degree of irony in his voice, "if you +did nothing? What? private secretary to a minister, plunged +at once into European cabals and Parisian intrigues; having +kings, and, better still, queens, to protect, parties to +unite, elections to direct; making more use of your cabinet +with your pen and your telegraph than Napoleon did of his +battle-fields with his sword and his victories; possessing +five and twenty thousand francs a year, besides your place; +a horse, for which Chateau-Renaud offered you four hundred +louis, and which you would not part with; a tailor who never +disappoints you; with the opera, the jockey-club, and other +diversions, can you not amuse yourself? Well, I will amuse +you." + +"How?" + +"By introducing to you a new acquaintance." + +"A man or a woman?" + +"A man." + +"I know so many men already." + +"But you do not know this man." + +"Where does he come from -- the end of the world?" + +"Farther still, perhaps." + +"The deuce! I hope he does not bring our breakfast with +him." + +"Oh, no; our breakfast comes from my father's kitchen. Are +you hungry?" + +"Humiliating as such a confession is, I am. But I dined at +M. de Villefort's, and lawyers always give you very bad +dinners. You would think they felt some remorse; did you +ever remark that?" + +"Ah, depreciate other persons' dinners; you ministers give +such splendid ones." + +"Yes; but we do not invite people of fashion. If we were not +forced to entertain a parcel of country boobies because they +think and vote with us, we should never dream of dining at +home, I assure you." + +"Well, take another glass of sherry and another biscuit." + +"Willingly. Your Spanish wine is excellent. You see we were +quite right to pacify that country." + +"Yes; but Don Carlos?" + +"Well, Don Carlos will drink Bordeaux, and in ten years we +will marry his son to the little queen." + +"You will then obtain the Golden Fleece, if you are still in +the ministry." + +"I think, Albert, you have adopted the system of feeding me +on smoke this morning." + +"Well, you must allow it is the best thing for the stomach; +but I hear Beauchamp in the next room; you can dispute +together, and that will pass away the time." + +"About what?" + +"About the papers." + +"My dear friend," said Lucien with an air of sovereign +contempt, "do I ever read the papers?" + +"Then you will dispute the more." + +"M. Beauchamp," announced the servant. "Come in, come in," +said Albert, rising and advancing to meet the young man. +"Here is Debray, who detests you without reading you, so he +says." + +"He is quite right," returned Beauchamp; "for I criticise +him without knowing what he does. Good-day, commander!" + +"Ah, you know that already," said the private secretary, +smiling and shaking hands with him. + +"Pardieu?" + +"And what do they say of it in the world?" + +"In which world? we have so many worlds in the year of grace +1838." + +"In the entire political world, of which you are one of the +leaders." + +"They say that it is quite fair, and that sowing so much +red, you ought to reap a little blue." + +"Come, come, that is not bad!" said Lucien. "Why do you not +join our party, my dear Beauchamp? With your talents you +would make your fortune in three or four years." + +"I only await one thing before following your advice; that +is, a minister who will hold office for six months. My dear +Albert, one word, for I must give poor Lucien a respite. Do +we breakfast or dine? I must go to the Chamber, for our life +is not an idle one." + +"You only breakfast; I await two persons, and the instant +they arrive we shall sit down to table." + + + +Chapter 40 +The Breakfast. + +"And what sort of persons do you expect to breakfast?" said +Beauchamp. + +"A gentleman, and a diplomatist." + +"Then we shall have to wait two hours for the gentleman, and +three for the diplomatist. I shall come back to dessert; +keep me some strawberries, coffee, and cigars. I shall take +a cutlet on my way to the Chamber." + +"Do not do anything of the sort; for were the gentleman a +Montmorency, and the diplomatist a Metternich, we will +breakfast at eleven; in the meantime, follow Debray's +example, and take a glass of sherry and a biscuit." + +"Be it so; I will stay; I must do something to distract my +thoughts." + +"You are like Debray, and yet it seems to me that when the +minister is out of spirits, the opposition ought to be +joyous." + +"Ah, you do not know with what I am threatened. I shall hear +this morning that M. Danglars make a speech at the Chamber +of Deputies, and at his wife's this evening I shall hear the +tragedy of a peer of France. The devil take the +constitutional government, and since we had our choice, as +they say, at least, how could we choose that?" + +"I understand; you must lay in a stock of hilarity." + +"Do not run down M. Danglars' speeches," said Debray; "he +votes for you, for he belongs to the opposition." + +"Pardieu, that is exactly the worst of all. I am waiting +until you send him to speak at the Luxembourg, to laugh at +my ease." + +"My dear friend," said Albert to Beauchamp, "it is plain +that the affairs of Spain are settled, for you are most +desperately out of humor this morning. Recollect that +Parisian gossip has spoken of a marriage between myself and +Mlle. Eugenie Danglars; I cannot in conscience, therefore, +let you run down the speeches of a man who will one day say +to me, `Vicomte, you know I give my daughter two millions.'" + +"Ah, this marriage will never take place," said Beauchamp. +"The king has made him a baron, and can make him a peer, but +he cannot make him a gentleman, and the Count of Morcerf is +too aristocratic to consent, for the paltry sum of two +million francs, to a mesalliance. The Viscount of Morcerf +can only wed a marchioness." + +"But two million francs make a nice little sum," replied +Morcerf. + +"It is the social capital of a theatre on the boulevard, or +a railroad from the Jardin des Plantes to La Rapee." + +"Never mind what he says, Morcerf," said Debray, "do you +marry her. You marry a money-bag label, it is true; well, +but what does that matter? It is better to have a blazon +less and a figure more on it. You have seven martlets on +your arms; give three to your wife, and you will still have +four; that is one more than M. de Guise had, who so nearly +became King of France, and whose cousin was Emperor of +Germany." + +"On my word, I think you are right, Lucien," said Albert +absently. + +"To be sure; besides, every millionaire is as noble as a +bastard -- that is, he can be." + +"Do not say that, Debray," returned Beauchamp, laughing, +"for here is Chateau-Renaud, who, to cure you of your mania +for paradoxes, will pass the sword of Renaud de Montauban, +his ancestor, through your body." + +"He will sully it then," returned Lucien; "for I am low -- +very low." + +"Oh, heavens," cried Beauchamp, "the minister quotes +Beranger, what shall we come to next?" + +"M. de Chateau-Renaud -- M. Maximilian Morrel," said the +servant, announcing two fresh guests. + +"Now, then, to breakfast," said Beauchamp; "for, if I +remember, you told me you only expected two persons, +Albert." + +"Morrel," muttered Albert -- "Morrel -- who is he?" But +before he had finished, M. de Chateau-Renaud, a handsome +young man of thirty, gentleman all over, -- that is, with +the figure of a Guiche and the wit of a Mortemart, -- took +Albert's hand. "My dear Albert," said he, "let me introduce +to you M. Maximilian Morrel, captain of Spahis, my friend; +and what is more -- however the man speaks for himself ---my +preserver. Salute my hero, viscount." And he stepped on one +side to give place to a young man of refined and dignified +bearing, with large and open brow, piercing eyes, and black +mustache, whom our readers have already seen at Marseilles, +under circumstances sufficiently dramatic not to be +forgotten. A rich uniform, half French, half Oriental, set +off his graceful and stalwart figure, and his broad chest +was decorated with the order of the Legion of Honor. The +young officer bowed with easy and elegant politeness. +"Monsieur," said Albert with affectionate courtesy, "the +count of Chateau-Renaud knew how much pleasure this +introduction would give me; you are his friend, be ours +also." + +"Well said," interrupted Chateau-Renaud; "and pray that, if +you should ever be in a similar predicament, he may do as +much for you as he did for me." + +"What has he done?" asked Albert. + +"Oh, nothing worth speaking of," said Morrel; "M. de +Chateau-Renaud exaggerates." + +"Not worth speaking of?" cried Chateau-Renaud; "life is not +worth speaking of! -- that is rather too philosophical, on +my word, Morrel. It is very well for you, who risk your life +every day, but for me, who only did so once" -- + +"We gather from all this, baron, that Captain Morrel saved +your life." + +"Exactly so." + +"On what occasion?" asked Beauchamp. + +"Beauchamp, my good fellow, you know I am starving," said +Debray: "do not set him off on some long story." + +"Well, I do not prevent your sitting down to table," replied +Beauchamp, "Chateau-Renaud can tell us while we eat our +breakfast." + +"Gentlemen," said Morcerf, "it is only a quarter past ten, +and I expect some one else." + +"Ah, true, a diplomatist!" observed Debray. + +"Diplomat or not, I don't know; I only know that he charged +himself on my account with a mission, which he terminated so +entirely to my satisfaction, that had I been king, I should +have instantly created him knight of all my orders, even had +I been able to offer him the Golden Fleece and the Garter." + +"Well, since we are not to sit down to table," said Debray, +"take a glass of sherry, and tell us all about it." + +"You all know that I had the fancy of going to Africa." + +"It is a road your ancestors have traced for you," said +Albert gallantly. + +"Yes? but I doubt that your object was like theirs -- to +rescue the Holy Sepulchre." + +"You are quite right, Beauchamp," observed the young +aristocrat. "It was only to fight as an amateur. I cannot +bear duelling since two seconds, whom I had chosen to +arrange an affair, forced me to break the arm of one of my +best friends, one whom you all know -- poor Franz d'Epinay." + +"Ah, true," said Debray, "you did fight some time ago; about +what?" + +"The devil take me, if I remember," returned Chateau-Renaud. +"But I recollect perfectly one thing, that, being unwilling +to let such talents as mine sleep, I wished to try upon the +Arabs the new pistols that had been given to me. In +consequence I embarked for Oran, and went from thence to +Constantine, where I arrived just in time to witness the +raising of the siege. I retreated with the rest, for eight +and forty hours. I endured the rain during the day, and the +cold during the night tolerably well, but the third morning +my horse died of cold. Poor brute -- accustomed to be +covered up and to have a stove in the stable, the Arabian +finds himself unable to bear ten degrees of cold in Arabia." + +"That's why you want to purchase my English horse," said +Debray, "you think he will bear the cold better." + +"You are mistaken, for I have made a vow never to return to +Africa." + +"You were very much frightened, then?" asked Beauchamp. + +"Well, yes, and I had good reason to be so," replied +Chateau-Renaud. "I was retreating on foot, for my horse was +dead. Six Arabs came up, full gallop, to cut off my head. I +shot two with my double-barrelled gun, and two more with my +pistols, but I was then disarmed, and two were still left; +one seized me by the hair (that is why I now wear it so +short, for no one knows what may happen), the other swung a +yataghan, and I already felt the cold steel on my neck, when +this gentleman whom you see here charged them, shot the one +who held me by the hair, and cleft the skull of the other +with his sabre. He had assigned himself the task of saving a +man's life that day; chance caused that man to be myself. +When I am rich I will order a statue of Chance from Klagmann +or Marochetti." + +"Yes," said Morrel, smiling, "it was the 5th of September, +the anniversary of the day on which my father was +miraculously preserved; therefore, as far as it lies in my +power, I endeavor to celebrate it by some" -- + +"Heroic action," interrupted Chateau-Renaud. "I was chosen. +But that is not all -- after rescuing me from the sword, he +rescued me from the cold, not by sharing his cloak with me, +like St. Martin, but by giving me the whole; then from +hunger by sharing with me -- guess what?" + +"A Strasbourg pie?" asked Beauchamp. + +"No, his horse; of which we each of us ate a slice with a +hearty appetite. It was very hard." + +"The horse?" said Morcerf, laughing. + +"No, the sacrifice," returned Chateau-Renaud; "ask Debray if +he would sacrifice his English steed for a stranger?" + +"Not for a stranger," said Debray, "but for a friend I +might, perhaps." + +"I divined that you would become mine, count," replied +Morrel; "besides, as I had the honor to tell you, heroism or +not, sacrifice or not, that day I owed an offering to bad +fortune in recompense for the favors good fortune had on +other days granted to us." + +"The history to which M. Morrel alludes," continued +Chateau-Renaud, "is an admirable one, which he will tell you +some day when you are better acquainted with him; to-day let +us fill our stomachs, and not our memories. What time do you +breakfast, Albert?" + +"At half-past ten." + +"Precisely?" asked Debray, taking out his watch. + +"Oh, you will give me five minutes' grace," replied Morcerf, +"for I also expect a preserver." + +"Of whom?" + +"Of myself," cried Morcerf; "parbleu, do you think I cannot +be saved as well as any one else, and that there are only +Arabs who cut off heads? Our breakfast is a philanthropic +one, and we shall have at table -- at least, I hope so -- +two benefactors of humanity." + +"What shall we do?" said Debray; "we have only one Monthyon +prize." + +"Well, it will be given to some one who has done nothing to +deserve it," said Beauchamp; "that is the way the Academy +mostly escapes from the dilemma." + +"And where does he come from?" asked Debray. "You have +already answered the question once, but so vaguely that I +venture to put it a second time." + +"Really," said Albert, "I do not know; when I invited him +three months ago, he was then at Rome, but since that time +who knows where he may have gone?" + +"And you think him capable of being exact?" demanded Debray. + +"I think him capable of everything." + +"Well, with the five minutes' grace, we have only ten left." + +"I will profit by them to tell you something about my +guest." + +"I beg pardon," interrupted Beauchamp; "are there any +materials for an article in what you are going to tell us?" + +"Yes, and for a most curious one." + +"Go on, then, for I see I shall not get to the Chamber this +morning, and I must make up for it." + +"I was at Rome during the last Carnival." + +"We know that," said Beauchamp. + +"Yes, but what you do not know is that I was carried off by +bandits." + +"There are no bandits," cried Debray. + +"Yes there are, and most hideous, or rather most admirable +ones, for I found them ugly enough to frighten me." + +"Come, my dear Albert," said Debray, "confess that your cook +is behindhand, that the oysters have not arrived from Ostend +or Marennes, and that, like Madame de Maintenon, you are +going to replace the dish by a story. Say so at once; we are +sufficiently well-bred to excuse you, and to listen to your +history, fabulous as it promises to be." + +"And I say to you, fabulous as it may seem, I tell it as a +true one from beginning to end. The brigands had carried me +off, and conducted me to a gloomy spot, called the Catacombs +of Saint Sebastian." + +"I know it," said Chateau-Renaud; "I narrowly escaped +catching a fever there." + +"And I did more than that," replied Morcerf, "for I caught +one. I was informed that I was prisoner until I paid the sum +of 4,000 Roman crowns -- about 24,000 francs. Unfortunately, +I had not above 1,500. I was at the end of my journey and of +my credit. I wrote to Franz -- and were he here he would +confirm every word -- I wrote then to Franz that if he did +not come with the four thousand crowns before six, at ten +minutes past I should have gone to join the blessed saints +and glorious martyrs in whose company I had the honor of +being; and Signor Luigi Vampa, such was the name of the +chief of these bandits, would have scrupulously kept his +word." + +"But Franz did come with the four thousand crowns," said +Chateau-Renaud. "A man whose name is Franz d'Epinay or +Albert de Morcerf has not much difficulty in procuring +them." + +"No, he arrived accompanied simply by the guest I am going +to present to you." + +"Ah, this gentleman is a Hercules killing Cacus, a Perseus +freeing Andromeda." + +"No, he is a man about my own size." + +"Armed to the teeth?" + +"He had not even a knitting-needle." + +"But he paid your ransom?" + +"He said two words to the chief and I was free." + +"And they apologized to him for having carried you off?" +said Beauchamp. + +"Just so." + +"Why, he is a second Ariosto." + +"No, his name is the Count of Monte Cristo." + +"There is no Count of Monte Cristo" said Debray. + +"I do not think so," added Chateau-Renaud, with the air of a +man who knows the whole of the European nobility perfectly. + +"Does any one know anything of a Count of Monte Cristo?" + +"He comes possibly from the Holy Land, and one of his +ancestors possessed Calvary, as the Mortemarts did the Dead +Sea." + +"I think I can assist your researches," said Maximilian. +"Monte Cristo is a little island I have often heard spoken +of by the old sailors my father employed -- a grain of sand +in the centre of the Mediterranean, an atom in the +infinite." + +"Precisely!" cried Albert. "Well, he of whom I speak is the +lord and master of this grain of sand, of this atom; he has +purchased the title of count somewhere in Tuscany." + +"He is rich, then?" + +"I believe so." + +"But that ought to be visible." + +"That is what deceives you, Debray." + +"I do not understand you." + +"Have you read the `Arabian Nights'?" + +"What a question!" + +"Well, do you know if the persons you see there are rich or +poor, if their sacks of wheat are not rubies or diamonds? +They seem like poor fishermen, and suddenly they open some +mysterious cavern filled with the wealth of the Indies." + +"Which means?" + +"Which means that my Count of Monte Cristo is one of those +fishermen. He has even a name taken from the book, since he +calls himself Sinbad the Sailor, and has a cave filled with +gold." + +"And you have seen this cavern, Morcerf?" asked Beauchamp. + +"No, but Franz has; for heaven's sake, not a word of this +before him. Franz went in with his eyes blindfolded, and was +waited on by mutes and by women to whom Cleopatra was a +painted strumpet. Only he is not quite sure about the women, +for they did not come in until after he had taken hashish, +so that what he took for women might have been simply a row +of statues." + +The two young men looked at Morcerf as if to say, -- "Are +you mad, or are you laughing at us?" + +"And I also," said Morrel thoughtfully, "have heard +something like this from an old sailor named Penelon." + +"Ah," cried Albert, "it is very lucky that M. Morrel comes +to aid me; you are vexed, are you not, that he thus gives a +clew to the labyrinth?" + +"My dear Albert," said Debray, "what you tell us is so +extraordinary." + +"Ah, because your ambassadors and your consuls do not tell +you of them -- they have no time. They are too much taken up +with interfering in the affairs of their countrymen who +travel." + +"Now you get angry, and attack our poor agents. How will you +have them protect you? The Chamber cuts down their salaries +every day, so that now they have scarcely any. Will you be +ambassador, Albert? I will send you to Constantinople." + +"No, lest on the first demonstration I make in favor of +Mehemet Ali, the Sultan send me the bowstring, and make my +secretaries strangle me." + +"You say very true," responded Debray. + +"Yes," said Albert, "but this has nothing to do with the +existence of the Count of Monte Cristo." + +"Pardieu, every one exists." + +"Doubtless, but not in the same way; every one has not black +slaves, a princely retinue, an arsenal of weapons that would +do credit to an Arabian fortress, horses that cost six +thousand francs apiece, and Greek mistresses." + +"Have you seen the Greek mistress?" + +"I have both seen and heard her. I saw her at the theatre, +and heard her one morning when I breakfasted with the +count." + +"He eats, then?" + +"Yes; but so little, it can hardly be called eating." + +"He must be a vampire." + +"Laugh, if you will; the Countess G---- , who knew Lord +Ruthven, declared that the count was a vampire." + +"Ah, capital," said Beauchamp. "For a man not connected with +newspapers, here is the pendant to the famous sea-serpent of +the Constitutionnel." + +"Wild eyes, the iris of which contracts or dilates at +pleasure," said Debray; "facial angle strongly developed, +magnificent forehead, livid complexion, black beard, sharp +and white teeth, politeness unexceptionable." + +"Just so, Lucien," returned Morcerf; "you have described him +feature for feature. Yes, keen and cutting politeness. This +man has often made me shudder; and one day that we were +viewing an execution, I thought I should faint, more from +hearing the cold and calm manner in which he spoke of every +description of torture, than from the sight of the +executioner and the culprit." + +"Did he not conduct you to the ruins of the Colosseum and +suck your blood?" asked Beauchamp. + +"Or, having delivered you, make you sign a flaming +parchment, surrendering your soul to him as Esau did his +birth-right?" + +"Rail on, rail on at your ease, gentlemen," said Morcerf, +somewhat piqued. "When I look at you Parisians, idlers on +the Boulevard de Gand or the Bois de Boulogne, and think of +this man, it seems to me we are not of the same race." + +"I am highly flattered," returned Beauchamp. "At the same +time," added Chateau-Renaud, "your Count of Monte Cristo is +a very fine fellow, always excepting his little arrangements +with the Italian banditti." + +"There are no Italian banditti," said Debray. + +"No vampire," cried Beauchamp. "No Count of Monte Cristo" +added Debray. "There is half-past ten striking, Albert." + +"Confess you have dreamed this, and let us sit down to +breakfast," continued Beauchamp. But the sound of the clock +had not died away when Germain announced, "His excellency +the Count of Monte Cristo." The involuntary start every one +gave proved how much Morcerf's narrative had impressed them, +and Albert himself could not wholly refrain from manifesting +sudden emotion. He had not heard a carriage stop in the +street, or steps in the ante-chamber; the door had itself +opened noiselessly. The count appeared, dressed with the +greatest simplicity, but the most fastidious dandy could +have found nothing to cavil at in his toilet. Every article +of dress -- hat, coat, gloves, and boots -- was from the +first makers. He seemed scarcely five and thirty. But what +struck everybody was his extreme resemblance to the portrait +Debray had drawn. The count advanced, smiling, into the +centre of the room, and approached Albert, who hastened +towards him holding out his hand in a ceremonial manner. +"Punctuality," said Monte Cristo, "is the politeness of +kings, according to one of your sovereigns, I think; but it +is not the same with travellers. However, I hope you will +excuse the two or three seconds I am behindhand; five +hundred leagues are not to be accomplished without some +trouble, and especially in France, where, it seems, it is +forbidden to beat the postilions." + +"My dear count," replied Albert, "I was announcing your +visit to some of my friends, whom I had invited in +consequence of the promise you did me the honor to make, and +whom I now present to you. They are the Count of +Chateau-Renaud, whose nobility goes back to the twelve +peers, and whose ancestors had a place at the Round Table; +M. Lucien Debray, private secretary to the minister of the +interior; M. Beauchamp, an editor of a paper, and the terror +of the French government, but of whom, in spite of his +national celebrity, you perhaps have not heard in Italy, +since his paper is prohibited there; and M. Maximilian +Morrel, captain of Spahis." + +At this name the count, who had hitherto saluted every one +with courtesy, but at the same time with coldness and +formality, stepped a pace forward, and a slight tinge of red +colored his pale cheeks. "You wear the uniform of the new +French conquerors, monsieur," said he; "it is a handsome +uniform." No one could have said what caused the count's +voice to vibrate so deeply, and what made his eye flash, +which was in general so clear, lustrous, and limpid when he +pleased. "You have never seen our Africans, count?" said +Albert. "Never," replied the count, who was by this time +perfectly master of himself again. + +"Well, beneath this uniform beats one of the bravest and +noblest hearts in the whole army." + +"Oh, M. de Morcerf," interrupted Morrel. + +"Let me go on, captain. And we have just heard," continued +Albert, "of a new deed of his, and so heroic a one, that, +although I have seen him to-day for the first time, I +request you to allow me to introduce him as my friend." At +these words it was still possible to observe in Monte Cristo +the concentrated look, changing color, and slight trembling +of the eyelid that show emotion. "Ah, you have a noble +heart," said the count; "so much the better." This +exclamation, which corresponded to the count's own thought +rather than to what Albert was saying, surprised everybody, +and especially Morrel, who looked at Monte Cristo with +wonder. But, at the same time, the intonation was so soft +that, however strange the speech might seem, it was +impossible to be offended at it. "Why should he doubt it?" +said Beauchamp to Chateau-Renaud. + +"In reality," replied the latter, who, with his aristocratic +glance and his knowledge of the world, had penetrated at +once all that was penetrable in Monte Cristo, "Albert has +not deceived us, for the count is a most singular being. +What say you, Morrel!" + +"Ma foi, he has an open look about him that pleases me, in +spite of the singular remark he has made about me." + +"Gentlemen," said Albert, "Germain informs me that breakfast +is ready. My dear count, allow me to show you the way." They +passed silently into the breakfast-room, and every one took +his place. "Gentleman," said the count, seating himself, +"permit me to make a confession which must form my excuse +for any improprieties I may commit. I am a stranger, and a +stranger to such a degree, that this is the first time I +have ever been at Paris. The French way of living is utterly +unknown to me, and up to the present time I have followed +the Eastern customs, which are entirely in contrast to the +Parisian. I beg you, therefore, to excuse if you find +anything in me too Turkish, too Italian, or too Arabian. +Now, then, let us breakfast." + +"With what an air he says all this," muttered Beauchamp; +"decidedly he is a great man." + +"A great man in his own country," added Debray. + +"A great man in every country, M. Debray," said +Chateau-Renaud. The count was, it may be remembered, a most +temperate guest. Albert remarked this, expressing his fears +lest, at the outset, the Parisian mode of life should +displease the traveller in the most essential point. "My +dear count," said he, "I fear one thing, and that is, that +the fare of the Rue du Helder is not so much to your taste +as that of the Piazza di Spagni. I ought to have consulted +you on the point, and have had some dishes prepared +expressly." + +"Did you know me better," returned the count, smiling, "you +would not give one thought of such a thing for a traveller +like myself, who has successively lived on maccaroni at +Naples, polenta at Milan, olla podrida at Valencia, pilau at +Constantinople, karrick in India, and swallows' nests in +China. I eat everywhere, and of everything, only I eat but +little; and to-day, that you reproach me with my want of +appetite, is my day of appetite, for I have not eaten since +yesterday morning." + +"What," cried all the guests, "you have not eaten for four +and twenty hours?" + +"No," replied the count; "I was forced to go out of my road +to obtain some information near Nimes, so that I was +somewhat late, and therefore I did not choose to stop." + +"And you ate in your carriage?" asked Morcerf. + +"No, I slept, as I generally do when I am weary without +having the courage to amuse myself, or when I am hungry +without feeling inclined to eat." + +"But you can sleep when you please, monsieur?" said Morrel. + +"Yes." + +"You have a recipe for it?" + +"An infallible one." + +"That would be invaluable to us in Africa, who have not +always any food to eat, and rarely anything to drink." + +"Yes," said Monte Cristo; "but, unfortunately, a recipe +excellent for a man like myself would be very dangerous +applied to an army, which might not awake when it was +needed." + +"May we inquire what is this recipe?" asked Debray. + +"Oh, yes," returned Monte Cristo; "I make no secret of it. +It is a mixture of excellent opium, which I fetched myself +from Canton in order to have it pure, and the best hashish +which grows in the East -- that is, between the Tigris and +the Euphrates. These two ingredients are mixed in equal +proportions, and formed into pills. Ten minutes after one is +taken, the effect is produced. Ask Baron Franz d'Epinay; I +think he tasted them one day." + +"Yes," replied Morcerf, "he said something about it to me." + +"But," said Beauchamp, who, as became a journalist, was very +incredulous, "you always carry this drug about you?" + +"Always." + +"Would it be an indiscretion to ask to see those precious +pills?" continued Beauchamp, hoping to take him at a +disadvantage. + +"No, monsieur," returned the count; and he drew from his +pocket a marvellous casket, formed out of a single emerald +and closed by a golden lid which unscrewed and gave passage +to a small greenish colored pellet about the size of a pea. +This ball had an acrid and penetrating odor. There were four +or five more in the emerald, which would contain about a +dozen. The casket passed around the table, but it was more +to examine the admirable emerald than to see the pills that +it passed from hand to hand. "And is it your cook who +prepares these pills?" asked Beauchamp. + +"Oh, no, monsieur," replied Monte Cristo; "I do not thus +betray my enjoyments to the vulgar. I am a tolerable +chemist, and prepare my pills myself." + +"This is a magnificent emerald, and the largest I have ever +seen," said Chateau-Renaud, "although my mother has some +remarkable family jewels." + +"I had three similar ones," returned Monte Cristo. "I gave +one to the Sultan, who mounted it in his sabre; another to +our holy father the Pope, who had it set in his tiara, +opposite to one nearly as large, though not so fine, given +by the Emperor Napoleon to his predecessor, Pius VII. I kept +the third for myself, and I had it hollowed out, which +reduced its value, but rendered it more commodious for the +purpose I intended." Every one looked at Monte Cristo with +astonishment; he spoke with so much simplicity that it was +evident he spoke the truth, or that he was mad. However, the +sight of the emerald made them naturally incline to the +former belief. "And what did these two sovereigns give you +in exchange for these magnificent presents?" asked Debray. + +"The Sultan, the liberty of a woman," replied the Count; +"the Pope, the life of a man; so that once in my life I have +been as powerful as if heaven had brought me into the world +on the steps of a throne." + +"And it was Peppino you saved, was it not?" cried Morcerf; +"it was for him that you obtained pardon?" + +"Perhaps," returned the count, smiling. + +"My dear count, you have no idea what pleasure it gives me +to hear you speak thus," said Morcerf. "I had announced you +beforehand to my friends as an enchanter of the `Arabian +Nights,' a wizard of the Middle Ages; but the Parisians are +so subtle in paradoxes that they mistake for caprices of the +imagination the most incontestable truths, when these truths +do not form a part of their daily existence. For example, +here is Debray who reads, and Beauchamp who prints, every +day, `A member of the Jockey Club has been stopped and +robbed on the Boulevard;' `four persons have been +assassinated in the Rue St. Denis' or `the Faubourg St. +Germain;' `ten, fifteen, or twenty thieves, have been +arrested in a cafe on the Boulevard du Temple, or in the +Thermes de Julien,' -- and yet these same men deny the +existence of the bandits in the Maremma, the Campagna di +Romana, or the Pontine Marshes. Tell them yourself that I +was taken by bandits, and that without your generous +intercession I should now have been sleeping in the +Catacombs of St. Sebastian, instead of receiving them in my +humble abode in the Rue du Helder." + +"Ah," said Monte Cristo "you promised me never to mention +that circumstance." + +"It was not I who made that promise," cried Morcerf; "it +must have been some one else whom you have rescued in the +same manner, and whom you have forgotten. Pray speak of it, +for I shall not only, I trust, relate the little I do know, +but also a great deal I do not know." + +"It seems to me," returned the count, smiling, "that you +played a sufficiently important part to know as well as +myself what happened." + +"Well, you promise me, if I tell all I know, to relate, in +your turn, all that I do not know?" + +"That is but fair," replied Monte Cristo. + +"Well," said Morcerf, "for three days I believed myself the +object of the attentions of a masque, whom I took for a +descendant of Tullia or Poppoea, while I was simply the +object of the attentions of a contadina, and I say contadina +to avoid saying peasant girl. What I know is, that, like a +fool, a greater fool than he of whom I spoke just now, I +mistook for this peasant girl a young bandit of fifteen or +sixteen, with a beardless chin and slim waist, and who, just +as I was about to imprint a chaste salute on his lips, +placed a pistol to my head, and, aided by seven or eight +others, led, or rather dragged me, to the Catacombs of St. +Sebastian, where I found a highly educated brigand chief +perusing Caesar's `Commentaries,' and who deigned to leave +off reading to inform me, that unless the next morning, +before six o'clock, four thousand piastres were paid into +his account at his banker's, at a quarter past six I should +have ceased to exist. The letter is still to be seen, for it +is in Franz d'Epinay's possession, signed by me, and with a +postscript of M. Luigi Vampa. This is all I know, but I know +not, count, how you contrived to inspire so much respect in +the bandits of Rome who ordinarily have so little respect +for anything. I assure you, Franz and I were lost in +admiration." + +"Nothing more simple," returned the count. "I had known the +famous Vampa for more than ten years. When he was quite a +child, and only a shepherd, I gave him a few gold pieces for +showing me my way, and he, in order to repay me, gave me a +poniard, the hilt of which he had carved with his own hand, +and which you may have seen in my collection of arms. In +after years, whether he had forgotten this interchange of +presents, which ought to have cemented our friendship, or +whether he did not recollect me, he sought to take me, but, +on the contrary, it was I who captured him and a dozen of +his band. I might have handed him over to Roman justice, +which is somewhat expeditious, and which would have been +particularly so with him; but I did nothing of the sort -- I +suffered him and his band to depart." + +"With the condition that they should sin no more," said +Beauchamp, laughing. "I see they kept their promise." + +"No, monsieur," returned Monte Cristo "upon the simple +condition that they should respect myself and my friends. +Perhaps what I am about to say may seem strange to you, who +are socialists, and vaunt humanity and your duty to your +neighbor, but I never seek to protect a society which does +not protect me, and which I will even say, generally +occupies itself about me only to injure me; and thus by +giving them a low place in my esteem, and preserving a +neutrality towards them, it is society and my neighbor who +are indebted to me." + +"Bravo," cried Chateau-Renaud; "you are the first man I ever +met sufficiently courageous to preach egotism. Bravo, count, +bravo!" + +"It is frank, at least," said Morrel. "But I am sure that +the count does not regret having once deviated from the +principles he has so boldly avowed." + +"How have I deviated from those principles, monsieur?" asked +Monte Cristo, who could not help looking at Morrel with so +much intensity, that two or three times the young man had +been unable to sustain that clear and piercing glance. + +"Why, it seems to me," replied Morrel, "that in delivering +M. de Morcerf, whom you did not know, you did good to your +neighbor and to society." + +"Of which he is the brightest ornament," said Beauchamp, +drinking off a glass of champagne. + +"My dear count," cried Morcerf, "you are at fault -- you, +one of the most formidable logicians I know -- and you must +see it clearly proved that instead of being an egotist, you +are a philanthropist. Ah, you call yourself Oriental, a +Levantine, Maltese, Indian, Chinese; your family name is +Monte Cristo; Sinbad the Sailor is your baptismal +appellation, and yet the first day you set foot in Paris you +instinctively display the greatest virtue, or rather the +chief defect, of us eccentric Parisians, -- that is, you +assume the vices you have not, and conceal the virtues you +possess." + +"My dear vicomte," returned Monte Cristo, "I do not see, in +all I have done, anything that merits, either from you or +these gentlemen, the pretended eulogies I have received. You +were no stranger to me, for I knew you from the time I gave +up two rooms to you, invited you to breakfast with me, lent +you one of my carriages, witnessed the Carnival in your +company, and saw with you from a window in the Piazza del +Popolo the execution that affected you so much that you +nearly fainted. I will appeal to any of these gentlemen, +could I leave my guest in the hands of a hideous bandit, as +you term him? Besides, you know, I had the idea that you +could introduce me into some of the Paris salons when I came +to France. You might some time ago have looked upon this +resolution as a vague project, but to-day you see it was a +reality, and you must submit to it under penalty of breaking +your word." + +"I will keep it," returned Morcerf; "but I fear that you +will be much disappointed, accustomed as you are to +picturesque events and fantastic horizons. Amongst us you +will not meet with any of those episodes with which your +adventurous existence has so familiarized you; our +Chimborazo is Mortmartre, our Himalaya is Mount Valerien, +our Great Desert is the plain of Grenelle, where they are +now boring an artesian well to water the caravans. We have +plenty of thieves, though not so many as is said; but these +thieves stand in far more dread of a policeman than a lord. +France is so prosaic, and Paris so civilized a city, that +you will not find in its eighty-five departments -- I say +eighty-five, because I do not include Corsica -- you will +not find, then, in these eighty-five departments a single +hill on which there is not a telegraph, or a grotto in which +the commissary of police has not put up a gaslamp. There is +but one service I can render you, and for that I place +myself entirely at your orders, that is, to present, or make +my friends present, you everywhere; besides, you have no +need of any one to introduce you -- with your name, and your +fortune, and your talent" (Monte Cristo bowed with a +somewhat ironical smile) "you can present yourself +everywhere, and be well received. I can be useful in one way +only -- if knowledge of Parisian habits, of the means of +rendering yourself comfortable, or of the bazaars, can +assist, you may depend upon me to find you a fitting +dwelling here. I do not dare offer to share my apartments +with you, as I shared yours at Rome -- I, who do not profess +egotism, but am yet egotist par excellence; for, except +myself, these rooms would not hold a shadow more, unless +that shadow were feminine." + +"Ah," said the count, "that is a most conjugal reservation; +I recollect that at Rome you said something of a projected +marriage. May I congratulate you?" + +"The affair is still in projection." + +"And he who says in `projection,' means already decided," +said Debray. + +"No," replied Morcerf, "my father is most anxious about it; +and I hope, ere long, to introduce you, if not to my wife, +at least to my betrothed -- Mademoiselle Eugenie Danglars." + +"Eugenie Danglars," said Monte Cristo; "tell me, is not her +father Baron Danglars?" + +"Yes," returned Morcerf, "a baron of a new creation." + +"What matter," said Monte Cristo "if he has rendered the +State services which merit this distinction?" + +"Enormous ones," answered Beauchamp. "Although in reality a +Liberal, he negotiated a loan of six millions for Charles +X., in 1829, who made him a baron and chevalier of the +Legion of Honor; so that he wears the ribbon, not, as you +would think, in his waistcoat-pocket, but at his +button-hole." + +"Ah," interrupted Morcerf, laughing, "Beauchamp, Beauchamp, +keep that for the Corsaire or the Charivari, but spare my +future father-in-law before me." Then, turning to Monte +Cristo, "You just now spoke his name as if you knew the +baron?" + +"I do not know him," returned Monte Cristo; "but I shall +probably soon make his acquaintance, for I have a credit +opened with him by the house of Richard & Blount, of London, +Arstein & Eskeles of Vienna, and Thomson & French at Rome." +As he pronounced the two last names, the count glanced at +Maximilian Morrel. If the stranger expected to produce an +effect on Morrel, he was not mistaken -- Maximilian started +as if he had been electrified. "Thomson & French," said he; +"do you know this house, monsieur?" + +"They are my bankers in the capital of the Christian world," +returned the count quietly. "Can my influence with them be +of any service to you?" + +"Oh, count, you could assist me perhaps in researches which +have been, up to the present, fruitless. This house, in past +years, did ours a great service, and has, I know not for +what reason, always denied having rendered us this service." + +"I shall be at your orders," said Monte Cristo bowing. + +"But," continued Morcerf, "a propos of Danglars, -- we have +strangely wandered from the subject. We were speaking of a +suitable habitation for the Count of Monte Cristo. Come, +gentlemen, let us all propose some place. Where shall we +lodge this new guest in our great capital?" + +"Faubourg Saint-Germain," said Chateau-Renaud. "The count +will find there a charming hotel, with a court and garden." + +"Bah, Chateau-Renaud," returned Debray, "you only know your +dull and gloomy Faubourg Saint-Germain; do not pay any +attention to him, count -- live in the Chaussee d'Antin, +that's the real centre of Paris." + +"Boulevard de l'Opera," said Beauchamp; "the second floor -- +a house with a balcony. The count will have his cushions of +silver cloth brought there, and as he smokes his chibouque, +see all Paris pass before him." + +"You have no idea, then, Morrel?" asked Chateau-Renaud; "you +do not propose anything." + +"Oh, yes," returned the young man, smiling; "on the +contrary, I have one, but I expected the count would be +tempted by one of the brilliant proposals made him, yet as +he has not replied to any of them, I will venture to offer +him a suite of apartments in a charming hotel, in the +Pompadour style, that my sister has inhabited for a year, in +the Rue Meslay." + +"You have a sister?" asked the count. + +"Yes, monsieur, a most excellent sister." + +"Married?" + +"Nearly nine years." + +"Happy?" asked the count again. + +"As happy as it is permitted to a human creature to be," +replied Maximilian. "She married the man she loved, who +remained faithful to us in our fallen fortunes -- Emmanuel +Herbaut." Monte Cristo smiled imperceptibly. "I live there +during my leave of absence," continued Maximilian; "and I +shall be, together with my brother-in-law Emmanuel, at the +disposition of the Count, whenever he thinks fit to honor +us." + +"One minute," cried Albert, without giving Monte Cristo the +time to reply. "Take care, you are going to immure a +traveller, Sinbad the Sailor, a man who comes to see Paris; +you are going to make a patriarch of him." + +"Oh, no," said Morrel; "my sister is five and twenty, my +brother-in-law is thirty, they are gay, young, and happy. +Besides, the count will be in his own house, and only see +them when he thinks fit to do so." + +"Thanks, monsieur," said Monte Cristo; "I shall content +myself with being presented to your sister and her husband, +if you will do me the honor to introduce me; but I cannot +accept the offer of any one of these gentlemen, since my +habitation is already prepared." + +"What," cried Morcerf; "you are, then, going to an hotel -- +that will be very dull for you." + +"Was I so badly lodged at Rome?" said Monte Cristo smiling. + +"Parbleu, at Rome you spent fifty thousand piastres in +furnishing your apartments, but I presume that you are not +disposed to spend a similar sum every day." + +"It is not that which deterred me," replied Monte Cristo; +"but as I determined to have a house to myself, I sent on my +valet de chambre, and he ought by this time to have bought +the house and furnished it." + +"But you have, then, a valet de chambre who knows Paris?" +said Beauchamp. + +"It is the first time he has ever been in Paris. He is +black, and cannot speak," returned Monte Cristo. + +"It is Ali!" cried Albert, in the midst of the general +surprise. + +"Yes, Ali himself, my Nubian mute, whom you saw, I think, at +Rome." + +"Certainly," said Morcerf; "I recollect him perfectly. But +how could you charge a Nubian to purchase a house, and a +mute to furnish it? -- he will do everything wrong." + +"Undeceive yourself, monsieur," replied Monte Cristo; "I am +quite sure, that, on the contrary, he will choose everything +as I wish. He knows my tastes, my caprices, my wants. He has +been here a week, with the instinct of a hound, hunting by +himself. He will arrange everything for me. He knew, that I +should arrive to-day at ten o'clock; he was waiting for me +at nine at the Barriere de Fontainebleau. He gave me this +paper; it contains the number of my new abode; read it +yourself," and Monte Cristo passed a paper to Albert. "Ah, +that is really original," said Beauchamp. + +"And very princely," added Chateau-Renaud. + +"What, do you not know your house?" asked Debray. + +"No," said Monte Cristo; "I told you I did not wish to be +behind my time; I dressed myself in the carriage, and +descended at the viscount's door." The young men looked at +each other; they did not know if it was a comedy Monte +Cristo was playing, but every word he uttered had such an +air of simplicity, that it was impossible to suppose what he +said was false -- besides, why should he tell a falsehood? +"We must content ourselves, then," said Beauchamp, "with +rendering the count all the little services in our power. I, +in my quality of journalist, open all the theatres to him." + +"Thanks, monsieur," returned Monte Cristo, "my steward has +orders to take a box at each theatre." + +"Is your steward also a Nubian?" asked Debray. + +"No, he is a countryman of yours, if a Corsican is a +countryman of any one's. But you know him, M. de Morcerf." + +"Is it that excellent M. Bertuccio, who understands hiring +windows so well?" + +"Yes, you saw him the day I had the honor of receiving you; +he has been a soldier, a smuggler -- in fact, everything. I +would not be quite sure that he has not been mixed up with +the police for some trifle -- a stab with a knife, for +instance." + +"And you have chosen this honest citizen for your steward," +said Debray. "Of how much does he rob you every year?" + +"On my word," replied the count, "not more than another. I +am sure he answers my purpose, knows no impossibility, and +so I keep him." + +"Then," continued Chateau-Renaud, "since you have an +establishment, a steward, and a hotel in the Champs Elysees, +you only want a mistress." Albert smiled. He thought of the +fair Greek he had seen in the count's box at the Argentina +and Valle theatres. "I have something better than that," +said Monte Cristo; "I have a slave. You procure your +mistresses from the opera, the Vaudeville, or the Varietes; +I purchased mine at Constantinople; it cost me more, but I +have nothing to fear." + +"But you forget," replied Debray, laughing, "that we are +Franks by name and franks by nature, as King Charles said, +and that the moment she puts her foot in France your slave +becomes free." + +"Who will tell her?" + +"The first person who sees her." + +"She only speaks Romaic." + +"That is different." + +"But at least we shall see her," said Beauchamp, "or do you +keep eunuchs as well as mutes?" + +"Oh, no," replied Monte Cristo; "I do not carry brutalism so +far. Every one who surrounds me is free to quit me, and when +they leave me will no longer have any need of me or any one +else; it is for that reason, perhaps, that they do not quit +me." They had long since passed to dessert and cigars. + +"My dear Albert," said Debray, rising, "it is half-past two. +Your guest is charming, but you leave the best company to go +into the worst sometimes. I must return to the minister's. I +will tell him of the count, and we shall soon know who he +is." + +"Take care," returned Albert; "no one has been able to +accomplish that." + +"Oh, we have three millions for our police; it is true they +are almost always spent beforehand, but, no matter, we shall +still have fifty thousand francs to spend for this purpose." + +"And when you know, will you tell me?" + +"I promise you. Au revoir, Albert. Gentlemen, good morning." + +As he left the room, Debray called out loudly, "My +carriage." + +"Bravo," said Beauchamp to Albert; "I shall not go to the +Chamber, but I have something better to offer my readers +than a speech of M. Danglars." + +"For heaven's sake, Beauchamp," returned Morcerf, "do not +deprive me of the merit of introducing him everywhere. Is he +not peculiar?" + +"He is more than that," replied Chateau-Renaud; "he is one +of the most extraordinary men I ever saw in my life. Are you +coming, Morrel?" + +"Directly I have given my card to the count, who has +promised to pay us a visit at Rue Meslay, No. 14." + +"Be sure I shall not fail to do so," returned the count, +bowing. And Maximilian Morrel left the room with the Baron +de Chateau-Renaud, leaving Monte Cristo alone with Morcerf. + + + +Chapter 41 +The Presentation. + +When Albert found himself alone with Monte Cristo, "My dear +count," said he, "allow me to commence my services as +cicerone by showing you a specimen of a bachelor's +apartment. You, who are accustomed to the palaces of Italy, +can amuse yourself by calculating in how many square feet a +young man who is not the worst lodged in Paris can live. As +we pass from one room to another, I will open the windows to +let you breathe." Monte Cristo had already seen the +breakfast-room and the salon on the ground-floor. Albert led +him first to his atelier, which was, as we have said, his +favorite apartment. Monte Cristo quickly appreciated all +that Albert had collected here -- old cabinets, Japanese +porcelain, Oriental stuffs, Venetian glass, arms from all +parts of the world -- everything was familiar to him; and at +the first glance he recognized their date, their country, +and their origin. Morcerf had expected he should be the +guide; on the contrary, it was he who, under the count's +guidance, followed a course of archaeology, mineralogy, and +natural history. They descended to the first floor; Albert +led his guest into the salon. The salon was filled with the +works of modern artists; there were landscapes by Dupre, +with their long reeds and tall trees, their lowing oxen and +marvellous skies; Delacroix's Arabian cavaliers, with their +long white burnouses, their shining belts, their damasked +arms, their horses, who tore each other with their teeth +while their riders contended fiercely with their maces; +aquarelles of Boulanger, representing Notre Dame de Paris +with that vigor that makes the artist the rival of the poet; +there were paintings by Diaz, who makes his flowers more +beautiful than flowers, his suns more brilliant than the +sun; designs by Decamp, as vividly colored as those of +Salvator Rosa, but more poetic; pastels by Giraud and +Muller, representing children like angels and women with the +features of a virgin; sketches torn from the album of +Dauzats' "Travels in the East," that had been made in a few +seconds on the saddle of a camel, or beneath the dome of a +mosque -- in a word, all that modern art can give in +exchange and as recompense for the art lost and gone with +ages long since past. + +Albert expected to have something new this time to show to +the traveller, but, to his great surprise, the latter, +without seeking for the signatures, many of which, indeed, +were only initials, named instantly the author of every +picture in such a manner that it was easy to see that each +name was not only known to him, but that each style +associated with it had been appreciated and studied by him. +From the salon they passed into the bed-chamber; it was a +model of taste and simple elegance. A single portrait, +signed by Leopold Robert, shone in its carved and gilded +frame. This portrait attracted the Count of Monte Cristo's +attention, for he made three rapid steps in the chamber, and +stopped suddenly before it. It was the portrait of a young +woman of five or six and twenty, with a dark complexion, and +light and lustrous eyes, veiled beneath long lashes. She +wore the picturesque costume of the Catalan fisherwomen, a +red and black bodice, and golden pins in her hair. She was +looking at the sea, and her form was outlined on the blue +ocean and sky. The light was so faint in the room that +Albert did not perceive the pallor that spread itself over +the count's visage, or the nervous heaving of his chest and +shoulders. Silence prevailed for an instant, during which +Monte Cristo gazed intently on the picture. + +"You have there a most charming mistress, viscount," said +the count in a perfectly calm tone; "and this costume -- a +ball costume, doubtless -- becomes her admirably." + +"Ah, monsieur," returned Albert, "I would never forgive you +this mistake if you had seen another picture beside this. +You do not know my mother; she it is whom you see here. She +had her portrait painted thus six or eight years ago. This +costume is a fancy one, it appears, and the resemblance is +so great that I think I still see my mother the same as she +was in 1830. The countess had this portrait painted during +the count's absence. She doubtless intended giving him an +agreeable surprise; but, strange to say, this portrait +seemed to displease my father, and the value of the picture, +which is, as you see, one of the best works of Leopold +Robert, could not overcome his dislike to it. It is true, +between ourselves, that M. de Morcerf is one of the most +assiduous peers at the Luxembourg, a general renowned for +theory, but a most mediocre amateur of art. It is different +with my mother, who paints exceedingly well, and who, +unwilling to part with so valuable a picture, gave it to me +to put here, where it would be less likely to displease M. +de Morcerf, whose portrait, by Gros, I will also show you. +Excuse my talking of family matters, but as I shall have the +honor of introducing you to the count, I tell you this to +prevent you making any allusions to this picture. The +picture seems to have a malign influence, for my mother +rarely comes here without looking at it, and still more +rarely does she look at it without weeping. This +disagreement is the only one that has ever taken place +between the count and countess, who are still as much +united, although married more than twenty years, as on the +first day of their wedding." + +Monte Cristo glanced rapidly at Albert, as if to seek a +hidden meaning in his words, but it was evident the young +man uttered them in the simplicity of his heart. "Now," said +Albert, "that you have seen all my treasures, allow me to +offer them to you, unworthy as they are. Consider yourself +as in your own house, and to put yourself still more at your +ease, pray accompany me to the apartments of M. de Morcerf, +he whom I wrote from Rome an account of the services you +rendered me, and to whom I announced your promised visit, +and I may say that both the count and countess anxiously +desire to thank you in person. You are somewhat blase I +know, and family scenes have not much effect on Sinbad the +Sailor, who has seen so many others. However, accept what I +propose to you as an initiation into Parisian life -- a life +of politeness, visiting, and introductions." Monte Cristo +bowed without making any answer; he accepted the offer +without enthusiasm and without regret, as one of those +conventions of society which every gentleman looks upon as a +duty. Albert summoned his servant, and ordered him to +acquaint M. and Madame de Morcerf of the arrival of the +Count of Monte Cristo. Albert followed him with the count. +When they arrived at the ante-chamber, above the door was +visible a shield, which, by its rich ornaments and its +harmony with the rest of the furniture, indicated the +importance the owner attached to this blazon. Monte Cristo +stopped and examined it attentively. + +"Azure seven merlets, or, placed bender," said he. "These +are, doubtless, your family arms? Except the knowledge of +blazons, that enables me to decipher them, I am very +ignorant of heraldry -- I, a count of a fresh creation, +fabricated in Tuscany by the aid of a commandery of St. +Stephen, and who would not have taken the trouble had I not +been told that when you travel much it is necessary. +Besides, you must have something on the panels of your +carriage, to escape being searched by the custom-house +officers. Excuse my putting such a question to you." + +"It is not indiscreet," returned Morcerf, with the +simplicity of conviction. "You have guessed rightly. These +are our arms, that is, those of my father, but they are, as +you see, joined to another shield, which has gules, a silver +tower, which are my mother's. By her side I am Spanish, but +the family of Morcerf is French, and, I have heard, one of +the oldest of the south of France." + +"Yes," replied Monte Cristo "these blazons prove that. +Almost all the armed pilgrims that went to the Holy Land +took for their arms either a cross, in honor of their +mission, or birds of passage, in sign of the long voyage +they were about to undertake, and which they hoped to +accomplish on the wings of faith. One of your ancestors had +joined the Crusades, and supposing it to be only that of St. +Louis, that makes you mount to the thirteenth century, which +is tolerably ancient." + +"It is possible," said Morcerf; "my father has in his study +a genealogical tree which will tell you all that, and on +which I made commentaries that would have greatly edified +Hozier and Jaucourt. At present I no longer think of it, and +yet I must tell you that we are beginning to occupy +ourselves greatly with these things under our popular +government." + +"Well, then, your government would do well to choose from +the past something better than the things that I have +noticed on your monuments, and which have no heraldic +meaning whatever. As for you, viscount," continued Monte +Cristo to Morcerf, "you are more fortunate than the +government, for your arms are really beautiful, and speak to +the imagination. Yes, you are at once from Provence and +Spain; that explains, if the portrait you showed me be like, +the dark hue I so much admired on the visage of the noble +Catalan." It would have required the penetration of Oedipus +or the Sphinx to have divined the irony the count concealed +beneath these words, apparently uttered with the greatest +politeness. Morcerf thanked him with a smile, and pushed +open the door above which were his arms, and which, as we +have said, opened into the salon. In the most conspicuous +part of the salon was another portrait. It was that of a +man, from five to eight and thirty, in the uniform of a +general officer, wearing the double epaulet of heavy +bullion, that indicates superior rank, the ribbon of the +Legion of Honor around his neck, which showed he was a +commander, and on the right breast, the star of a grand +officer of the order of the Saviour, and on the left that of +the grand cross of Charles III., which proved that the +person represented by the picture had served in the wars of +Greece and Spain, or, what was just the same thing as +regarded decorations, had fulfilled some diplomatic mission +in the two countries. + +Monte Cristo was engaged in examining this portrait with no +less care than he had bestowed upon the other, when another +door opened, and he found himself opposite to the Count of +Morcerf in person. He was a man of forty to forty-five +years, but he seemed at least fifty, and his black mustache +and eyebrows contrasted strangely with his almost white +hair, which was cut short, in the military fashion. He was +dressed in plain clothes, and wore at his button-hole the +ribbons of the different orders to which he belonged. He +entered with a tolerably dignified step, and some little +haste. Monte Cristo saw him advance towards him without +making a single step. It seemed as if his feet were rooted +to the ground, and his eyes on the Count of Morcerf. +"Father," said the young man, "I have the honor of +presenting to you the Count of Monte Cristo, the generous +friend whom I had the good fortune to meet in the critical +situation of which I have told you." + +"You are most welcome, monsieur," said the Count of Morcerf, +saluting Monte Cristo with a smile, "and monsieur has +rendered our house, in preserving its only heir, a service +which insures him our eternal gratitude." As he said these +words, the count of Morcerf pointed to a chair, while he +seated himself in another opposite the window. + +Monte Cristo, in taking the seat Morcerf offered him, placed +himself in such a manner as to remain concealed in the +shadow of the large velvet curtains, and read on the +careworn and livid features of the count a whole history of +secret griefs written in each wrinkle time had planted +there. "The countess," said Morcerf, "was at her toilet when +she was informed of the visit she was about to receive. She +will, however, be in the salon in ten minutes." + +"It is a great honor to me," returned Monte Cristo, "to be +thus, on the first day of my arrival in Paris, brought in +contact with a man whose merit equals his reputation, and to +whom fortune has for once been equitable, but has she not +still on the plains of Metidja, or in the mountains of +Atlas, a marshal's staff to offer you?" + +"Oh," replied Morcerf, reddening slightly, "I have left the +service, monsieur. Made a peer at the Restoration, I served +through the first campaign under the orders of Marshal +Bourmont. I could, therefore, expect a higher rank, and who +knows what might have happened had the elder branch remained +on the throne? But the Revolution of July was, it seems, +sufficiently glorious to allow itself to be ungrateful, and +it was so for all services that did not date from the +imperial period. I tendered my resignation, for when you +have gained your epaulets on the battle-field, you do not +know how to manoeuvre on the slippery grounds of the salons. +I have hung up my sword, and cast myself into politics. I +have devoted myself to industry; I study the useful arts. +During the twenty years I served, I often wished to do so, +but I had not the time." + +"These are the ideas that render your nation superior to any +other," returned Monte Cristo. "A gentleman of high birth, +possessor of an ample fortune, you have consented to gain +your promotion as an obscure soldier, step by step -- this +is uncommon; then become general, peer of France, commander +of the Legion of Honor, you consent to again commence a +second apprenticeship, without any other hope or any other +desire than that of one day becoming useful to your +fellow-creatures; this, indeed, is praiseworthy, -- nay, +more, it is sublime." Albert looked on and listened with +astonishment; he was not used to see Monte Cristo give vent +to such bursts of enthusiasm. "Alas," continued the +stranger, doubtless to dispel the slight cloud that covered +Morcerf's brow, "we do not act thus in Italy; we grow +according to our race and our species, and we pursue the +same lines, and often the same uselessness, all our lives." + +"But, monsieur," said the Count of Morcerf, "for a man of +your merit, Italy is not a country, and France opens her +arms to receive you; respond to her call. France will not, +perhaps, be always ungrateful. She treats her children ill, +but she always welcomes strangers." + +"Ah, father," said Albert with a smile, "it is evident you +do not know the Count of Monte Cristo; he despises all +honors, and contents himself with those written on his +passport." + +"That is the most just remark," replied the stranger, "I +ever heard made concerning myself." + +"You have been free to choose your career," observed the +Count of Morcerf, with a sigh; "and you have chosen the path +strewed with flowers." + +"Precisely, monsieur," replied Monte Cristo with one of +those smiles that a painter could never represent or a +physiologist analyze. + +"If I did not fear to fatigue you," said the general, +evidently charmed with the count's manners, "I would have +taken you to the Chamber; there is a debate very curious to +those who are strangers to our modern senators." + +"I shall be most grateful, monsieur, if you will, at some +future time, renew your offer, but I have been flattered +with the hope of being introduced to the countess, and I +will therefore wait." + +"Ah, here is my mother," cried the viscount. Monte Cristo, +turned round hastily, and saw Madame de Morcerf at the +entrance of the salon, at the door opposite to that by which +her husband had entered, pale and motionless; when Monte +Cristo turned round, she let fall her arm, which for some +unknown reason had been resting on the gilded door-post. She +had been there some moments, and had heard the last words of +the visitor. The latter rose and bowed to the countess, who +inclined herself without speaking. "Ah, good heavens, +madame," said the count, "are you ill, or is it the heat of +the room that affects you?" + +"Are you ill, mother?" cried the viscount, springing towards +her. + +She thanked them both with a smile. "No," returned she, "but +I feel some emotion on seeing, for the first time, the man +without whose intervention we should have been in tears and +desolation. Monsieur," continued the countess, advancing +with the majesty of a queen, "I owe to you the life of my +son, and for this I bless you. Now, I thank you for the +pleasure you give me in thus affording me the opportunity of +thanking you as I have blessed you, from the bottom of my +heart." The count bowed again, but lower than before; He was +even paler than Mercedes. "Madame," said he, "the count and +yourself recompense too generously a simple action. To save +a man, to spare a father's feelings, or a mother's +sensibility, is not to do a good action, but a simple deed +of humanity." At these words, uttered with the most +exquisite sweetness and politeness, Madame de Morcerf +replied. "It is very fortunate for my son, monsieur, that he +found such a friend, and I thank God that things are thus." +And Mercedes raised her fine eyes to heaven with so fervent +an expression of gratitude, that the count fancied he saw +tears in them. M. de Morcerf approached her. "Madame," said +he. "I have already made my excuses to the count for +quitting him, and I pray you to do so also. The sitting +commences at two; it is now three, and I am to speak." + +"Go, then, and monsieur and I will strive our best to forget +your absence," replied the countess, with the same tone of +deep feeling. "Monsieur," continued she, turning to Monte +Cristo, "will you do us the honor of passing the rest of the +day with us?" + +"Believe me, madame, I feel most grateful for your kindness, +but I got out of my travelling carriage at your door this +morning, and I am ignorant how I am installed in Paris, +which I scarcely know; this is but a trifling inquietude, I +know, but one that may be appreciated." + +"We shall have the pleasure another time," said the +countess; "you promise that?" Monte Cristo inclined himself +without answering, but the gesture might pass for assent. "I +will not detain you, monsieur," continued the countess; "I +would not have our gratitude become indiscreet or +importunate." + +"My dear Count," said Albert, "I will endeavor to return +your politeness at Rome, and place my coupe at your disposal +until your own be ready." + +"A thousand thanks for your kindness, viscount," returned +the Count of Monte Cristo "but I suppose that M. Bertuccio +has suitably employed the four hours and a half I have given +him, and that I shall find a carriage of some sort ready at +the door." Albert was used to the count's manner of +proceeding; he knew that, like Nero, he was in search of the +impossible, and nothing astonished him, but wishing to judge +with his own eyes how far the count's orders had been +executed, he accompanied him to the door of the house. Monte +Cristo was not deceived. As soon as he appeared in the Count +of Morcerf's ante-chamber, a footman, the same who at Rome +had brought the count's card to the two young men, and +announced his visit, sprang into the vestibule, and when he +arrived at the door the illustrious traveller found his +carriage awaiting him. It was a coupe of Koller's building, +and with horses and harness for which Drake had, to the +knowledge of all the lions of Paris, refused on the previous +day seven hundred guineas. "Monsieur," said the count to +Albert, "I do not ask you to accompany me to my house, as I +can only show you a habitation fitted up in a hurry, and I +have, as you know, a reputation to keep up as regards not +being taken by surprise. Give me, therefore, one more day +before I invite you; I shall then be certain not to fail in +my hospitality." + +"If you ask me for a day, count, I know what to anticipate; +it will not be a house I shall see, but a palace. You have +decidedly some genius at your control." + +"Ma foi, spread that idea," replied the Count of Monte +Cristo, putting his foot on the velvet-lined steps of his +splendid carriage, "and that will be worth something to me +among the ladies." As he spoke, he sprang into the vehicle, +the door was closed, but not so rapidly that Monte Cristo +failed to perceive the almost imperceptible movement which +stirred the curtains of the apartment in which he had left +Madame de Morcerf. When Albert returned to his mother, he +found her in the boudoir reclining in a large velvet +arm-chair, the whole room so obscure that only the shining +spangle, fastened here and there to the drapery, and the +angles of the gilded frames of the pictures, showed with +some degree of brightness in the gloom. Albert could not see +the face of the countess, as it was covered with a thin veil +she had put on her head, and which fell over her features in +misty folds, but it seemed to him as though her voice had +altered. He could distinguish amid the perfumes of the roses +and heliotropes in the flower-stands, the sharp and fragrant +odor of volatile salts, and he noticed in one of the chased +cups on the mantle-piece the countess's smelling-bottle, +taken from its shagreen case, and exclaimed in a tone of +uneasiness, as he entered, -- "My dear mother, have you been +ill during my absence?" + +"No, no, Albert, but you know these roses, tuberoses, and +orange-flowers throw out at first, before one is used to +them, such violent perfumes." + +"Then, my dear mother," said Albert, putting his hand to the +bell, "they must be taken into the ante-chamber. You are +really ill, and just now were so pale as you came into the +room" -- + +"Was I pale, Albert?" + +"Yes; a pallor that suits you admirably, mother, but which +did not the less alarm my father and myself." + +"Did your father speak of it?" inquired Mercedes eagerly. + +"No, madame; but do you not remember that he spoke of the +fact to you?" + +"Yes, I do remember," replied the countess. A servant +entered, summoned by Albert's ring of the bell. "Take these +flowers into the anteroom or dressing-room," said the +viscount; "they make the countess ill." The footman obeyed +his orders. A long pause ensued, which lasted until all the +flowers were removed. "What is this name of Monte Cristo?" +inquired the countess, when the servant had taken away the +last vase of flowers, "is it a family name, or the name of +the estate, or a simple title?" + +"I believe, mother, it is merely a title. The count +purchased an island in the Tuscan archipelago, and, as he +told you to-day, has founded a commandery. You know the same +thing was done for Saint Stephen of Florence, Saint George, +Constantinian of Parma, and even for the Order of Malta. +Except this, he has no pretension to nobility, and calls +himself a chance count, although the general opinion at Rome +is that the count is a man of very high distinction." + +"His manners are admirable," said the countess, "at least, +as far as I could judge in the few minutes he remained +here." + +"They are perfect mother, so perfect, that they surpass by +far all I have known in the leading aristocracy of the three +proudest nobilities of Europe -- the English, the Spanish, +and the German." The countess paused a moment; then, after a +slight hesitation, she resumed, -- "You have seen, my dear +Albert -- I ask the question as a mother -- you have seen M. +de Monte Cristo in his house, you are quicksighted, have +much knowledge of the world, more tact than is usual at your +age, do you think the count is really what he appears to +be?" + +"What does he appear to be?" + +"Why, you have just said, -- a man of high distinction." + +"I told you, my dear mother, he was esteemed such." + +"But what is your own opinion, Albert?" + +"I must tell you that I have not come to any decided opinion +respecting him, but I think him a Maltese." + +"I do not ask you of his origin but what he is." + +"Ah, what he is; that is quite another thing. I have seen so +many remarkable things in him, that if you would have me +really say what I think, I shall reply that I really do look +upon him as one of Byron's heroes, whom misery has marked +with a fatal brand; some Manfred, some Lara, some Werner, +one of those wrecks, as it were, of some ancient family, +who, disinherited of their patrimony, have achieved one by +the force of their adventurous genius, which has placed them +above the laws of society." + +"You say" -- + +"I say that Monte Cristo is an island in the midst of the +Mediterranean, without inhabitants or garrison, the resort +of smugglers of all nations, and pirates of every flag. Who +knows whether or not these industrious worthies do not pay +to their feudal lord some dues for his protection?" + +"That is possible," said the countess, reflecting. + +"Never mind," continued the young man, "smuggler or not, you +must agree, mother dear, as you have seen him, that the +Count of Monte Cristo is a remarkable man, who will have the +greatest success in the salons of Paris. Why, this very +morning, in my rooms, he made his entree amongst us by +striking every man of us with amazement, not even excepting +Chateau-Renaud." + +"And what do you suppose is the count's age?" inquired +Mercedes, evidently attaching great importance to this +question. + +"Thirty-five or thirty-six, mother." + +"So young, -- it is impossible," said Mercedes, replying at +the same time to what Albert said as well as to her own +private reflection. + +"It is the truth, however. Three or four times he has said +to me, and certainly without the slightest premeditation, +`at such a period I was five years old, at another ten years +old, at another twelve,' and I, induced by curiosity, which +kept me alive to these details, have compared the dates, and +never found him inaccurate. The age of this singular man, +who is of no age, is then, I am certain, thirty-five. +Besides, mother, remark how vivid his eye, how raven-black +his hair, and his brow, though so pale, is free from +wrinkles, -- he is not only vigorous, but also young." The +countess bent her head, as if beneath a heavy wave of bitter +thoughts. "And has this man displayed a friendship for you, +Albert?" she asked with a nervous shudder. + +"I am inclined to think so." + +"And -- do -- you -- like -- him?" + +"Why, he pleases me in spite of Franz d'Epinay, who tries to +convince me that he is a being returned from the other +world." The countess shuddered. "Albert," she said, in a +voice which was altered by emotion, "I have always put you +on your guard against new acquaintances. Now you are a man, +and are able to give me advice; yet I repeat to you, Albert, +be prudent." + +"Why, my dear mother, it is necessary, in order to make your +advice turn to account, that I should know beforehand what I +have to distrust. The count never plays, he only drinks pure +water tinged with a little sherry, and is so rich that he +cannot, without intending to laugh at me, try to borrow +money. What, then, have I to fear from him?" + +"You are right," said the countess, "and my fears are +weakness, especially when directed against a man who has +saved your life. How did your father receive him, Albert? It +is necessary that we should be more than complaisant to the +count. M. de Morcerf is sometimes occupied, his business +makes him reflective, and he might, without intending it" -- + +"Nothing could be in better taste than my father's demeanor, +madame," said Albert; "nay, more, he seemed greatly +flattered at two or three compliments which the count very +skilfully and agreeably paid him with as much ease as if he +had known him these thirty years. Each of these little +tickling arrows must have pleased my father," added Albert +with a laugh. "And thus they parted the best possible +friends, and M. de Morcerf even wished to take him to the +Chamber to hear the speakers." The countess made no reply. +She fell into so deep a revery that her eyes gradually +closed. The young man, standing up before her, gazed upon +her with that filial affection which is so tender and +endearing with children whose mothers are still young and +handsome. Then, after seeing her eyes closed, and hearing +her breathe gently, he believed she had dropped asleep, and +left the apartment on tiptoe, closing the door after him +with the utmost precaution. "This devil of a fellow," he +muttered, shaking his head; "I said at the time he would +create a sensation here, and I measure his effect by an +infallible thermometer. My mother has noticed him, and he +must therefore, perforce, be remarkable." He went down to +the stables, not without some slight annoyance, when he +remembered that the Count of Monte Cristo had laid his hands +on a "turnout" which sent his bays down to second place in +the opinion of connoisseurs. "Most decidedly," said he, "men +are not equal, and I must beg my father to develop this +theorem in the Chamber of Peers." + + + +Chapter 42 +Monsieur Bertuccio. + +Meanwhile the count had arrived at his house; it had taken +him six minutes to perform the distance, but these six +minutes were sufficient to induce twenty young men who knew +the price of the equipage they had been unable to purchase +themselves, to put their horses in a gallop in order to see +the rich foreigner who could afford to give 20,000 francs +apiece for his horses. The house Ali had chosen, and which +was to serve as a town residence to Monte Cristo, was +situated on the right hand as you ascend the Champs Elysees. +A thick clump of trees and shrubs rose in the centre, and +masked a portion of the front; around this shrubbery two +alleys, like two arms, extended right and left, and formed a +carriage-drive from the iron gates to a double portico, on +every step of which stood a porcelain vase. filled with +flowers. This house, isolated from the rest, had, besides +the main entrance, another in the Rue Ponthieu. Even before +the coachman had hailed the concierge, the massy gates +rolled on their hinges -- they had seen the Count coming, +and at Paris, as everywhere else, he was served with the +rapidity of lightning. The coachman entered and traversed +the half-circle without slackening his speed, and the gates +were closed ere the wheels had ceased to sound on the +gravel. The carriage stopped at the left side of the +portico, two men presented themselves at the +carriage-window; the one was Ali, who, smiling with an +expression of the most sincere joy, seemed amply repaid by a +mere look from Monte Cristo. The other bowed respectfully, +and offered his arm to assist the count in descending. +"Thanks, M. Bertuccio," said the count, springing lightly up +the three steps of the portico; "and the notary?" + +"He is in the small salon, excellency," returned Bertuccio. + +"And the cards I ordered to be engraved as soon as you knew +the number of the house?" + +"Your excellency, it is done already. I have been myself to +the best engraver of the Palais Royal, who did the plate in +my presence. The first card struck off was taken, according +to your orders, to the Baron Danglars, Rue de la Chaussee +d'Antin, No. 7; the others are on the mantle-piece of your +excellency's bedroom." + +"Good; what o'clock is it?" + +"Four o'clock." Monte Cristo gave his hat, cane, and gloves +to the same French footman who had called his carriage at +the Count of Morcerf's, and then he passed into the small +salon, preceded by Bertuccio, who showed him the way. "These +are but indifferent marbles in this ante-chamber," said +Monte Cristo. "I trust all this will soon be taken away." +Bertuccio bowed. As the steward had said, the notary awaited +him in the small salon. He was a simple-looking lawyer's +clerk, elevated to the extraordinary dignity of a provincial +scrivener. "You are the notary empowered to sell the country +house that I wish to purchase, monsieur?" asked Monte +Cristo. + +"Yes, count," returned the notary. + +"Is the deed of sale ready?" + +"Yes, count." + +"Have you brought it?" + +"Here it is." + +"Very well; and where is this house that I purchase?" asked +the count carelessly, addressing himself half to Bertuccio, +half to the notary. The steward made a gesture that +signified, "I do not know." The notary looked at the count +with astonishment. "What!" said he, "does not the count know +where the house he purchases is situated?" + +"No," returned the count. + +"The count does not know?" + +"How should I know? I have arrived from Cadiz this morning. +I have never before been at Paris, and it is the first time +I have ever even set my foot in France." + +"Ah, that is different; the house you purchase is at +Auteuil." At these words Bertuccio turned pale. "And where +is Auteuil?" asked the count. + +"Close by here, monsieur," replied the notary -- "a little +beyond Passy; a charming situation, in the heart of the Bois +de Boulogne." + +"So near as that?" said the Count; "but that is not in the +country. What made you choose a house at the gates of Paris, +M. Bertuccio?" + +"I," cried the steward with a strange expression. "His +excellency did not charge me to purchase this house. If his +excellency will recollect -- if he will think" -- + +"Ah, true," observed Monte Cristo; "I recollect now. I read +the advertisement in one of the papers, and was tempted by +the false title, `a country house.'" + +"It is not yet too late," cried Bertuccio, eagerly; "and if +your excellency will intrust me with the commission, I will +find you a better at Enghien, at Fontenay-aux-Roses, or at +Bellevue." + +"Oh, no," returned Monte Cristo negligently; "since I have +this, I will keep it." + +"And you are quite right," said the notary, who feared to +lose his fee. "It is a charming place, well supplied with +spring-water and fine trees; a comfortable habitation, +although abandoned for a long time, without reckoning the +furniture, which, although old, is yet valuable, now that +old things are so much sought after. I suppose the count has +the tastes of the day?" + +"To be sure," returned Monte Cristo; "it is very convenient, +then?" + +"It is more -- it is magnificent." + +"Peste, let us not lose such an opportunity," returned Monte +Cristo. "The deed, if you please, Mr. Notary." And he signed +it rapidly, after having first run his eye over that part of +the deed in which were specified the situation of the house +and the names of the proprietors. "Bertuccio," said he, +"give fifty-five thousand francs to monsieur." The steward +left the room with a faltering step, and returned with a +bundle of bank-notes, which the notary counted like a man +who never gives a receipt for money until after he is sure +it is all there. "And now," demanded the count, "are all the +forms complied with?" + +"All, sir." + +"Have you the keys?" + +"They are in the hands of the concierge, who takes care of +the house, but here is the order I have given him to install +the count in his new possessions." + +"Very well;" and Monte Cristo made a sign with his hand to +the notary, which said, "I have no further need of you; you +may go." + +"But," observed the honest notary, "the count is, I think, +mistaken; it is only fifty thousand francs, everything +included." + +"And your fee?" + +"Is included in this sum." + +"But have you not come from Auteuil here?" + +"Yes, certainly." + +"Well, then, it is but fair that you should be paid for your +loss of time and trouble," said the count; and he made a +gesture of polite dismissal. The notary left the room +backwards, and bowing down to the ground; it was the first +time he had ever met a similar client. "See this gentleman +out," said the count to Bertuccio. And the steward followed +the notary out of the room. Scarcely was the count alone, +when he drew from his pocket a book closed with a lock, and +opened it with a key which he wore round his neck, and which +never left him. After having sought for a few minutes, he +stopped at a leaf which had several notes, and compared them +with the deed of sale, which lay on the table. "`Auteuil, +Rue de la Fontaine, No. 28;' it is indeed the same," said +he; "and now, am I to rely upon an avowal extorted by +religious or physical terror? However, in an hour I shall +know all. Bertuccio!" cried he, striking a light hammer with +a pliant handle on a small gong. "Bertuccio!" The steward +appeared at the door. "Monsieur Bertuccio," said the count, +"did you never tell me that you had travelled in France?" + +"In some parts of France -- yes, excellency." + +"You know the environs of Paris, then?" + +"No, excellency, no," returned the steward, with a sort of +nervous trembling, which Monte Cristo, a connoisseur in all +emotions, rightly attributed to great disquietude. + +"It is unfortunate," returned he, "that you have never +visited the environs, for I wish to see my new property this +evening, and had you gone with me, you could have given me +some useful information." + +"To Auteuil!" cried Bertuccio, whose copper complexion +became livid -- "I go to Auteuil?" + +"Well, what is there surprising in that? When I live at +Auteuil, you must come there, as you belong to my service." +Bertuccio hung down his head before the imperious look of +his master, and remained motionless, without making any +answer. "Why, what has happened to you? -- are you going to +make me ring a second time for the carriage?" asked Monte +Cristo, in the same tone that Louis XIV. pronounced the +famous, "I have been almost obliged to wait." Bertuccio made +but one bound to the ante-chamber, and cried in a hoarse +voice -- "His excellency's horses!" Monte Cristo wrote two +or three notes, and, as he sealed the last, the steward +appeared. "Your excellency's carriage is at the door," said +he. + +"Well, take your hat and gloves," returned Monte Cristo. + +"Am I to accompany you, your excellency?" cried Bertuccio. + +"Certainly, you must give the orders, for I intend residing +at the house." It was unexampled for a servant of the +count's to dare to dispute an order of his, so the steward, +without saying a word, followed his master, who got into the +carriage, and signed to him to follow, which he did, taking +his place respectfully on the front seat. + + + +Chapter 43 +The House at Auteuil. + +Monte Cristo noticed, as they descended the staircase, that +Bertuccio signed himself in the Corsican manner; that is, +had formed the sign of the cross in the air with his thumb, +and as he seated himself in the carriage, muttered a short +prayer. Any one but a man of exhaustless thirst for +knowledge would have had pity on seeing the steward's +extraordinary repugnance for the count's projected drive +without the walls; but the Count was too curious to let +Bertuccio off from this little journey. In twenty minutes +they were at Auteuil; the steward's emotion had continued to +augment as they entered the village. Bertuccio, crouched in +the corner of the carriage, began to examine with a feverish +anxiety every house they passed. "Tell them to stop at Rue +de la Fontaine, No. 28," said the count, fixing his eyes on +the steward, to whom he gave this order. Bertuccio's +forehead was covered with perspiration; however, he obeyed, +and, leaning out of the window, he cried to the coachman, -- +"Rue de la Fontaine, No. 28." No. 28 was situated at the +extremity of the village; during the drive night had set in, +and darkness gave the surroundings the artificial appearance +of a scene on the stage. The carriage stopped, the footman +sprang off the box, and opened the door. "Well," said the +count, "you do not get out, M. Bertuccio -- you are going to +stay in the carriage, then? What are you thinking of this +evening?" Bertuccio sprang out, and offered his shoulder to +the count, who, this time, leaned upon it as he descended +the three steps of the carriage. "Knock," said the count, +"and announce me." Bertuccio knocked, the door opened, and +the concierge appeared. "What is it?" asked he. + +"It is your new master, my good fellow," said the footman. +And he held out to the concierge the notary's order. + +"The house is sold, then?" demanded the concierge; "and this +gentleman is coming to live here?" + +"Yes, my friend," returned the count; "and I will endeavor +to give you no cause to regret your old master." + +"Oh, monsieur," said the concierge, "I shall not have much +cause to regret him, for he came here but seldom; it is five +years since he was here last, and he did well to sell the +house, for it did not bring him in anything at all." + +"What was the name of your old master?" said Monte Cristo. + +"The Marquis of Saint-Meran. Ah, I am sure he has not sold +the house for what he gave for it." + +"The Marquis of Saint-Meran!" returned the count. "The name +is not unknown to me; the Marquis of Saint-Meran!" and he +appeared to meditate. + +"An old gentleman," continued the concierge, "a stanch +follower of the Bourbons; he had an only daughter, who +married M. de Villefort, who had been the king's attorney at +Nimes, and afterwards at Versailles." Monte Cristo glanced +at Bertuccio, who became whiter than the wall against which +he leaned to prevent himself from falling. "And is not this +daughter dead?" demanded Monte Cristo; "I fancy I have heard +so." + +"Yes, monsieur, one and twenty years ago; and since then we +have not seen the poor marquis three times." + +"Thanks, thanks," said Monte Cristo, judging from the +steward's utter prostration that he could not stretch the +cord further without danger of breaking it. "Give me a +light." + +"Shall I accompany you, monsieur?" + +"No, it is unnecessary; Bertuccio will show me a light." And +Monte Cristo accompanied these words by the gift of two gold +pieces, which produced a torrent of thanks and blessings +from the concierge. "Ah, monsieur," said he, after having +vainly searched on the mantle-piece and the shelves, "I have +not got any candles." + +"Take one of the carriage-lamps, Bertuccio," said the count, +"and show me the apartments." The steward obeyed in silence, +but it was easy to see, from the manner in which the hand +that held the light trembled, how much it cost him to obey. +They went over a tolerably large ground-floor; a second +floor consisted of a salon, a bathroom, and two bedrooms; +near one of the bedrooms they came to a winding staircase +that led down to the garden. + +"Ah, here is a private staircase," said the count; "that is +convenient. Light me, M. Bertuccio, and go first; we will +see where it leads to." + +"Monsieur," replied Bertuccio, "it leads to the garden." + +"And, pray, how do you know that?" + +"It ought to do so, at least." + +"Well, let us be sure of that." Bertuccio sighed, and went +on first; the stairs did, indeed, lead to the garden. At the +outer door the steward paused. "Go on, Monsieur Bertuccio," +said the count. But he who was addressed stood there, +stupefied, bewildered, stunned; his haggard eyes glanced +around, as if in search of the traces of some terrible +event, and with his clinched hands he seemed striving to +shut out horrible recollections. "Well," insisted the Count. +"No, no," cried Bertuccio, setting down the lantern at the +angle of the interior wall. "No, monsieur, it is impossible; +I can go no farther." + +"What does this mean?" demanded the irresistible voice of +Monte Cristo. + +"Why, you must see, your excellency," cried the steward, +"that this is not natural; that, having a house to purchase, +you purchase it exactly at Auteuil, and that, purchasing it +at Auteuil, this house should be No. 28, Rue de la Fontaine. +Oh, why did I not tell you all? I am sure you would not have +forced me to come. I hoped your house would have been some +other one than this; as if there was not another house at +Auteuil than that of the assassination!" + +"What, what!" cried Monte Cristo, stopping suddenly, "what +words do you utter? Devil of a man, Corsican that you are -- +always mysteries or superstitions. Come, take the lantern, +and let us visit the garden; you are not afraid of ghosts +with me, I hope?" Bertuccio raised the lantern, and obeyed. +The door, as it opened, disclosed a gloomy sky, in which the +moon strove vainly to struggle through a sea of clouds that +covered her with billows of vapor which she illumined for an +instant, only to sink into obscurity. The steward wished to +turn to the left. "No, no, monsieur," said Monte Cristo. +"What is the use of following the alleys? Here is a +beautiful lawn; let us go on straight forwards." + +Bertuccio wiped the perspiration from his brow, but obeyed; +however, he continued to take the left hand. Monte Cristo, +on the contrary, took the right hand; arrived near a clump +of trees, he stopped. The steward could not restrain +himself. "Move, monsieur -- move away, I entreat you; you +are exactly in the spot!" + +"What spot?" + +"Where he fell." + +"My dear Monsieur Bertuccio," said Monte Cristo, laughing, +"control yourself; we are not at Sartena or at Corte. This +is not a Corsican arbor, but an English garden; badly kept, +I own, but still you must not calumniate it for that." + +"Monsieur, I implore you do not stay there!" + +"I think you are going mad, Bertuccio," said the count +coldly. "If that is the case, I warn you, I shall have you +put in a lunatic asylum." + +"Alas, excellency," returned Bertuccio, joining his hands, +and shaking his head in a manner that would have excited the +count's laughter, had not thoughts of a superior interest +occupied him, and rendered him attentive to the least +revelation of this timorous conscience. "Alas, excellency, +the evil has arrived!" + +"M. Bertuccio," said the count, "I am very glad to tell you, +that while you gesticulate, you wring your hands and roll +your eyes like a man possessed by a devil who will not leave +him; and I have always observed, that the devil most +obstinate to be expelled is a secret. I knew you were a +Corsican. I knew you were gloomy, and always brooding over +some old history of the vendetta; and I overlooked that in +Italy, because in Italy those things are thought nothing of. +But in France they are considered in very bad taste; there +are gendarmes who occupy themselves with such affairs, +judges who condemn, and scaffolds which avenge." Bertuccio +clasped his hands, and as, in all these evolutions, he did +not let fall the lantern, the light showed his pale and +altered countenance. Monte Cristo examined him with the same +look that, at Rome, he had bent upon the execution of +Andrea, and then, in a tone that made a shudder pass through +the veins of the poor steward, -- "The Abbe Busoni, then +told me an untruth," said he, "when, after his journey in +France, in 1829, he sent you to me, with a letter of +recommendation, in which he enumerated all your valuable +qualities. Well, I shall write to the abbe; I shall hold him +responsible for his protege's misconduct, and I shall soon +know all about this assassination. Only I warn you, that +when I reside in a country, I conform to all its code, and I +have no wish to put myself within the compass of the French +laws for your sake." + +"Oh, do not do that, excellency; I have always served you +faithfully," cried Bertuccio, in despair. "I have always +been an honest man, and, as far as lay in my power, I have +done good." + +"I do not deny it," returned the count; "but why are you +thus agitated. It is a bad sign; a quiet conscience does not +occasion such paleness in the cheeks, and such fever in the +hands of a man." + +"But, your excellency," replied Bertuccio hesitatingly, "did +not the Abbe Busoni, who heard my confession in the prison +at Nimes, tell you that I had a heavy burden upon my +conscience?" + +"Yes; but as he said you would make an excellent steward, I +concluded you had stolen -- that was all." + +"Oh, your excellency," returned Bertuccio in deep contempt. + +"Or, as you are a Corsican, that you had been unable to +resist the desire of making a `stiff,' as you call it." + +"Yes, my good master," cried Bertuccio, casting himself at +the count's feet, "it was simply vengeance -- nothing else." + +"I understand that, but I do not understand what it is that +galvanizes you in this manner." + +"But, monsieur, it is very natural," returned Bertuccio, +"since it was in this house that my vengeance was +accomplished." + +"What! my house?" + +"Oh, your excellency, it was not yours, then." + +"Whose, then? The Marquis de Saint-Meran, I think, the +concierge said. What had you to revenge on the Marquis de +Saint-Meran?" + +"Oh, it was not on him, monsieur; it was on another." + +"This is strange," returned Monte Cristo, seeming to yield +to his reflections, "that you should find yourself without +any preparation in a house where the event happened that +causes you so much remorse." + +"Monsieur," said the steward, "it is fatality, I am sure. +First, you purchase a house at Auteuil -- this house is the +one where I have committed an assassination; you descend to +the garden by the same staircase by which he descended; you +stop at the spot where he received the blow; and two paces +farther is the grave in which he had just buried his child. +This is not chance, for chance, in this case, is too much +like providence." + +"Well, amiable Corsican, let us suppose it is providence. I +always suppose anything people please, and, besides, you +must concede something to diseased minds. Come, collect +yourself, and tell me all." + +"I have related it but once, and that was to the Abbe +Busoni. Such things," continued Bertuccio, shaking his head, +"are only related under the seal of confession." + +"Then," said the count, "I refer you to your confessor. Turn +Chartreux or Trappist, and relate your secrets, but, as for +me, I do not like any one who is alarmed by such phantasms, +and I do not choose that my servants should be afraid to +walk in the garden of an evening. I confess I am not very +desirous of a visit from the commissary of police, for, in +Italy, justice is only paid when silent -- in France she is +paid only when she speaks. Peste, I thought you somewhat +Corsican, a great deal smuggler, and an excellent steward; +but I see you have other strings to your bow. You are no +longer in my service, Monsieur Bertuccio." + +"Oh, your excellency, your excellency!" cried the steward, +struck with terror at this threat, "if that is the only +reason I cannot remain in your service, I will tell all, for +if I quit you, it will only be to go to the scaffold." + +"That is different," replied Monte Cristo; "but if you +intend to tell an untruth, reflect it were better not to +speak at all." + +"No, monsieur, I swear to you, by my hopes of salvation, I +will tell you all, for the Abbe Busoni himself only knew a +part of my secret; but, I pray you, go away from that +plane-tree. The moon is just bursting through the clouds, +and there, standing where you do, and wrapped in that cloak +that conceals your figure, you remind me of M. de +Villefort." + +" What!" cried Monte Cristo, "it was M. de Villefort?" + +"Your excellency knows him?" + +"The former royal attorney at Nimes?" + +"Yes." + +"Who married the Marquis of Saint-Meran's daughter?" + +"Yes." + +"Who enjoyed the reputation of being the most severe, the +most upright, the most rigid magistrate on the bench?" + +"Well, monsieur," said Bertuccio, "this man with this +spotless reputation" -- + +"Well?" + +"Was a villain." + +"Bah," replied Monte Cristo, "impossible!" + +"It is as I tell you." + +"Ah, really," said Monte Cristo. "Have you proof of this?" + +"I had it." + +"And you have lost it; how stupid!" + +"Yes; but by careful search it might be recovered." + +"Really," returned the count, "relate it to me, for it +begins to interest me." And the count, humming an air from +"Lucia," went to sit down on a bench, while Bertuccio +followed him, collecting his thoughts. Bertuccio remained +standing before him. + + + +Chapter 44 +The Vendetta. + +"At what point shall I begin my story, your excellency?" +asked Bertuccio. + +"Where you please," returned Monte Cristo, "since I know +nothing at all of it." + +"I thought the Abbe Busoni had told your excellency." + +"Some particulars, doubtless, but that is seven or eight +years ago, and I have forgotten them." + +"Then I can speak without fear of tiring your excellency." + +"Go on, M. Bertuccio; you will supply the want of the +evening papers." + +"The story begins in 1815." + +"Ah," said Monte Cristo, "1815 is not yesterday." + +"No, monsieur, and yet I recollect all things as clearly as +if they had happened but then. I had a brother, an elder +brother, who was in the service of the emperor; he had +become lieutenant in a regiment composed entirely of +Corsicans. This brother was my only friend; we became +orphans -- I at five, he at eighteen. He brought me up as if +I had been his son, and in 1814 he married. When the emperor +returned from the Island of Elba, my brother instantly +joined the army, was slightly wounded at Waterloo, and +retired with the army beyond the Loire." + +"But that is the history of the Hundred Days, M. Bertuccio," +said the count; "unless I am mistaken, it has been already +written." + +"Excuse me, excellency, but these details are necessary, and +you promised to be patient." + +"Go on; I will keep my word." + +"One day we received a letter. I should tell you that we +lived in the little village of Rogliano, at the extremity of +Cape Corso. This letter was from my brother. He told us that +the army was disbanded, and that he should return by +Chateauroux, Clermont-Ferrand, Le Puy, and Nimes; and, if I +had any money, he prayed me to leave it for him at Nimes, +with an inn-keeper with whom I had dealings." + +"In the smuggling line?" said Monte Cristo. + +"Eh, your excellency? Every one must live." + +"Certainly; go on." + +"I loved my brother tenderly, as I told your excellency, and +I resolved not to send the money, but to take it to him +myself. I possessed a thousand francs. I left five hundred +with Assunta, my sister-in-law, and with the other five +hundred I set off for Nimes. It was easy to do so, and as I +had my boat and a lading to take in at sea, everything +favored my project. But, after we had taken in our cargo, +the wind became contrary, so that we were four or five days +without being able to enter the Rhone. At last, however, we +succeeded, and worked up to Arles. I left the boat between +Bellegarde and Beaucaire, and took the road to Nimes." + +"We are getting to the story now?" + +"Yes, your excellency; excuse me, but, as you will see, I +only tell you what is absolutely necessary. Just at this +time the famous massacres took place in the south of France. +Three brigands, called Trestaillon, Truphemy, and Graffan, +publicly assassinated everybody whom they suspected of +Bonapartism. You have doubtless heard of these massacres, +your excellency?" + +"Vaguely; I was far from France at that period. Go on." + +"As I entered Nimes, I literally waded in blood; at every +step you encountered dead bodies and bands of murderers, who +killed, plundered, and burned. At the sight of this +slaughter and devastation I became terrified, not for myself +-- for I, a simple Corsican fisherman, had nothing to fear; +on the contrary, that time was most favorable for us +smugglers -- but for my brother, a soldier of the empire, +returning from the army of the Loire, with his uniform and +his epaulets, there was everything to apprehend. I hastened +to the inn-keeper. My misgivings had been but too true. My +brother had arrived the previous evening at Nimes, and, at +the very door of the house where he was about to demand +hospitality, he had been assassinated. I did all in my power +to discover the murderers, but no one durst tell me their +names, so much were they dreaded. I then thought of that +French justice of which I had heard so much, and which +feared nothing, and I went to the king's attorney." + +"And this king's attorney was named Villefort?" asked Monte +Cristo carelessly. + +"Yes, your excellency; he came from Marseilles, where he had +been deputy-procureur. His zeal had procured him +advancement, and he was said to be one of the first who had +informed the government of the departure from the Island of +Elba." + +"Then," said Monte Cristo "you went to him?" + +"`Monsieur,' I said, `my brother was assassinated yesterday +in the streets of Nimes, I know not by whom, but it is your +duty to find out. You are the representative of justice +here, and it is for justice to avenge those she has been +unable to protect.' -- `Who was your brother?' asked he. -- +`A lieutenant in the Corsican battalion.' -- `A soldier of +the usurper, then?' -- `A soldier of the French army.' -- +`Well,' replied he, `he has smitten with the sword, and he +has perished by the sword.' -- `You are mistaken, monsieur,' +I replied; `he has perished by the poniard.' -- `What do you +want me to do?' asked the magistrate. -- `I have already +told you -- avenge him.' -- `On whom?' -- `On his +murderers.' -- `How should I know who they are?' -- `Order +them to be sought for.' -- `Why, your brother has been +involved in a quarrel, and killed in a duel. All these old +soldiers commit excesses which were tolerated in the time of +the emperor, but which are not suffered now, for the people +here do not like soldiers of such disorderly conduct.' -- +`Monsieur,' I replied, `it is not for myself that I entreat +your interference -- I should grieve for him or avenge him, +but my poor brother had a wife, and were anything to happen +to me, the poor creature would perish from want, for my +brother's pay alone kept her. Pray, try and obtain a small +government pension for her.' + +"`Every revolution has its catastrophes,' returned M. de +Villefort; `your brother has been the victim of this. It is +a misfortune, and government owes nothing to his family. If +we are to judge by all the vengeance that the followers of +the usurper exercised on the partisans of the king, when, in +their turn, they were in power, your brother would be +to-day, in all probability, condemned to death. What has +happened is quite natural, and in conformity with the law of +reprisals.' -- `What,' cried I, `do you, a magistrate, speak +thus to me?' -- `All these Corsicans are mad, on my honor,' +replied M. de Villefort; `they fancy that their countryman +is still emperor. You have mistaken the time, you should +have told me this two months ago, it is too late now. Go +now, at once, or I shall have you put out.' + +"I looked at him an instant to see if there was anything to +hope from further entreaty. But he was a man of stone. I +approached him, and said in a low voice, `Well, since you +know the Corsicans so well, you know that they always keep +their word. You think that it was a good deed to kill my +brother, who was a Bonapartist, because you are a royalist. +Well, I, who am a Bonapartist also, declare one thing to +you, which is, that I will kill you. From this moment I +declare the vendetta against you, so protect yourself as +well as you can, for the next time we meet your last hour +has come.' And before he had recovered from his surprise, I +opened the door and left the room." + +"Well, well," said Monte Cristo, "such an innocent looking +person as you are to do those things, M. Bertuccio, and to a +king's attorney at that! But did he know what was meant by +the terrible word `vendetta'?" + +"He knew so well, that from that moment he shut himself in +his house, and never went out unattended, seeking me high +and low. Fortunately, I was so well concealed that he could +not find me. Then he became alarmed, and dared not stay any +longer at Nimes, so he solicited a change of residence, and, +as he was in reality very influential, he was nominated to +Versailles. But, as you know, a Corsican who has sworn to +avenge himself cares not for distance, so his carriage, fast +as it went, was never above half a day's journey before me, +who followed him on foot. The most important thing was, not +to kill him only -- for I had an opportunity of doing so a +hundred times -- but to kill him without being discovered -- +at least, without being arrested. I no longer belonged to +myself, for I had my sister-in-law to protect and provide +for. For three months I watched M. de Villefort, for three +months he took not a step out-of-doors without my following +him. At length I discovered that he went mysteriously to +Auteuil. I followed him thither, and I saw him enter the +house where we now are, only, instead of entering by the +great door that looks into the street, he came on horseback, +or in his carriage, left the one or the other at the little +inn, and entered by the gate you see there." Monte Cristo +made a sign with his head to show that he could discern in +the darkness the door to which Bertuccio alluded. "As I had +nothing more to do at Versailles, I went to Auteuil, and +gained all the information I could. If I wished to surprise +him, it was evident this was the spot to lie in wait for +him. The house belonged, as the concierge informed your +excellency, to M. de Saint-Meran, Villefort's father-in-law. +M. de Saint-Meran lived at Marseilles, so that this country +house was useless to him, and it was reported to be let to a +young widow, known only by the name of `the baroness.' + +"One evening, as I was looking over the wall, I saw a young +and handsome woman who was walking alone in that garden, +which was not overlooked by any windows, and I guessed that +she was awaiting M. de Villefort. When she was sufficiently +near for me to distinguish her features, I saw she was from +eighteen to nineteen, tall and very fair. As she had a loose +muslin dress on and as nothing concealed her figure, I saw +she would ere long become a mother. A few moments after, the +little door was opened and a man entered. The young woman +hastened to meet him. They threw themselves into each +other's arms, embraced tenderly, and returned together to +the house. The man was M. de Villefort; I fully believed +that when he went out in the night he would be forced to +traverse the whole of the garden alone." + +"And," asked the count, "did you ever know the name of this +woman?" + +"No, excellency," returned Bertuccio; "you will see that I +had no time to learn it." + +"Go on." + +"That evening," continued Bertuccio, "I could have killed +the procureur, but as I was not sufficiently acquainted with +the neighborhood, I was fearful of not killing him on the +spot, and that if his cries were overheard I might be taken; +so I put it off until the next occasion, and in order that +nothing should escape me, I took a chamber looking into the +street bordered by the wall of the garden. Three days after, +about seven o'clock in the evening, I saw a servant on +horseback leave the house at full gallop, and take the road +to Sevres. I concluded that he was going to Versailles, and +I was not deceived. Three hours later, the man returned +covered with dust, his errand was performed, and two minutes +after, another man on foot, muffled in a mantle, opened the +little door of the garden, which he closed after him. I +descended rapidly; although I had not seen Villefort's face, +I recognized him by the beating of my heart. I crossed the +street, and stopped at a post placed at the angle of the +wall, and by means of which I had once before looked into +the garden. This time I did not content myself with looking, +but I took my knife out of my pocket, felt that the point +was sharp, and sprang over the wall. My first care was to +run to the door; he had left the key in it, taking the +simple precaution of turning it twice in the lock. Nothing, +then, preventing my escape by this means, I examined the +grounds. The garden was long and narrow; a stretch of smooth +turf extended down the middle, and at the corners were +clumps of trees with thick and massy foliage, that made a +background for the shrubs and flowers. In order to go from +the door to the house, or from the house to the door, M. de +Villefort would be obliged to pass by one of these clumps of +trees. + +"It was the end of September; the wind blew violently. The +faint glimpses of the pale moon, hidden momentarily by +masses of dark clouds that were sweeping across the sky, +whitened the gravel walks that led to the house, but were +unable to pierce the obscurity of the thick shrubberies, in +which a man could conceal himself without any fear of +discovery. I hid myself in the one nearest to the path +Villefort must take, and scarcely was I there when, amidst +the gusts of wind, I fancied I heard groans; but you know, +or rather you do not know, your excellency, that he who is +about to commit an assassination fancies that he hears low +cries perpetually ringing in his ears. Two hours passed +thus, during which I imagined I heard moans repeatedly. +Midnight struck. As the last stroke died away, I saw a faint +light shine through the windows of the private staircase by +which we have just descended. The door opened, and the man +in the mantle reappeared. The terrible moment had come, but +I had so long been prepared for it that my heart did not +fail in the least. I drew my knife from my pocket again, +opened it, and made ready to strike. The man in the mantle +advanced towards me, but as he drew near I saw that he had a +weapon in his hand. I was afraid, not of a struggle, but of +a failure. When he was only a few paces from me, I saw that +what I had taken for a weapon was only a spade. I was still +unable to divine for what reason M. de Villefort had this +spade in his hands, when he stopped close to the thicket +where I was, glanced round, and began to dig a hole in the +earth. I then perceived that he was hiding something under +his mantle, which he laid on the grass in order to dig more +freely. Then, I confess, curiosity mingled with hatred; I +wished to see what Villefort was going to do there, and I +remained motionless, holding my breath. Then an idea crossed +my mind, which was confirmed when I saw the procureur lift +from under his mantle a box, two feet long, and six or eight +inches deep. I let him place the box in the hole he had +made, then, while he stamped with his feet to remove all +traces of his occupation, I rushed on him and plunged my +knife into his breast, exclaiming, -- `I am Giovanni +Bertuccio; thy death for my brother's; thy treasure for his +widow; thou seest that my vengeance is more complete than I +had hoped.' I know not if he heard these words; I think he +did not, for he fell without a cry. I felt his blood gush +over my face, but I was intoxicated, I was delirious, and +the blood refreshed, instead of burning me. In a second I +had disinterred the box; then, that it might not be known I +had done so, I filled up the hole, threw the spade over the +wall, and rushed through the door, which I double-locked, +carrying off the key." + +"Ah," said Monte Cristo "it seems to me this was nothing but +murder and robbery." + +"No, your excellency," returned Bertuccio; "it was a +vendetta followed by restitution." + +"And was the sum a large one?" + +"It was not money." + +"Ah, I recollect," replied the count; "did you not say +something of an infant?" + +"Yes, excellency; I hastened to the river, sat down on the +bank, and with my knife forced open the lock of the box. In +a fine linen cloth was wrapped a new-born child. Its purple +visage, and its violet-colored hands showed that it had +perished from suffocation, but as it was not yet cold, I +hesitated to throw it into the water that ran at my feet. +After a moment I fancied that I felt a slight pulsation of +the heart, and as I had been assistant at the hospital at +Bastia, I did what a doctor would have done -- I inflated +the lungs by blowing air into them, and at the expiration of +a quarter of an hour, it began to breathe, and cried feebly. +In my turn I uttered a cry, but a cry of joy. `God has not +cursed me then,' I cried, `since he permits me to save the +life of a human creature, in exchange for the life I have +taken away.'" + +"And what did you do with the child?" asked Monte Cristo. +"It was an embarrassing load for a man seeking to escape." + +"I had not for a moment the idea of keeping it, but I knew +that at Paris there was an asylum where they receive such +creatures. As I passed the city gates I declared that I had +found the child on the road, and I inquired where the asylum +was; the box confirmed my statement, the linen proved that +the infant belonged to wealthy parents, the blood with which +I was covered might have proceeded from the child as well as +from any one else. No objection was raised, but they pointed +out the asylum, which was situated at the upper end of the +Rue d'Enfer, and after having taken the precaution of +cutting the linen in two pieces, so that one of the two +letters which marked it was on the piece wrapped around the +child, while the other remained in my possession, I rang the +bell, and fled with all speed. A fortnight after I was at +Rogliano, and I said to Assunta, -- `Console thyself, +sister; Israel is dead, but he is avenged.' She demanded +what I meant, and when I had told her all, -- `Giovanni,' +said she, `you should have brought this child with you; we +would have replaced the parents it has lost, have called it +Benedetto, and then, in consequence of this good action, God +would have blessed us.' In reply I gave her the half of the +linen I had kept in order to reclaim him if we became rich." + +"What letters were marked on the linen?" said Monte Cristo. + +"An H and an N, surmounted by a baron's coronet." + +"By heaven, M. Bertuccio, you make use of heraldic terms; +where did you study heraldry?" + +"In your service, excellency, where everything is learned." + +"Go on, I am curious to know two things." + +"What are they, your excellency ?" + +"What became of this little boy? for I think you told me it +was a boy, M. Bertuccio." + +"No excellency, I do not recollect telling you that." + +"I thought you did; I must have been mistaken." + +"No, you were not, for it was in reality a little boy. But +your excellency wished to know two things; what was the +second?" + +"The second was the crime of which you were accused when you +asked for a confessor, and the Abbe Busoni came to visit you +at your request in the prison at Nimes." + +"The story will be very long, excellency." + +"What matter? you know I take but little sleep, and I do not +suppose you are very much inclined for it either." Bertuccio +bowed, and resumed his story. + +"Partly to drown the recollections of the past that haunted +me, partly to supply the wants of the poor widow, I eagerly +returned to my trade of smuggler, which had become more easy +since that relaxation of the laws which always follows a +revolution. The southern districts were ill-watched in +particular, in consequence of the disturbances that were +perpetually breaking out in Avignon, Nimes, or Uzes. We +profited by this respite on the part of the government to +make friends everywhere. Since my brother's assassination in +the streets of Nimes, I had never entered the town; the +result was that the inn-keeper with whom we were connected, +seeing that we would no longer come to him, was forced to +come to us, and had established a branch to his inn, on the +road from Bellegarde to Beaucaire, at the sign of the Pont +du Gard. We had thus, at Aigues-Mortes, Martigues, or Bouc, +a dozen places where we left our goods, and where, in case +of necessity, we concealed ourselves from the gendarmes and +custom-house officers. Smuggling is a profitable trade, when +a certain degree of vigor and intelligence is employed; as +for myself, brought up in the mountains, I had a double +motive for fearing the gendarmes and custom-house officers, +as my appearance before the judges would cause an inquiry, +and an inquiry always looks back into the past. And in my +past life they might find something far more grave than the +selling of smuggled cigars, or barrels of brandy without a +permit. So, preferring death to capture, I accomplished the +most astonishing deeds, and which, more than once, showed me +that the too great care we take of our bodies is the only +obstacle to the success of those projects which require +rapid decision, and vigorous and determined execution. In +reality, when you have once devoted your life to your +enterprises, you are no longer the equal of other men, or, +rather, other men are no longer your equals, and whosoever +has taken this resolution, feels his strength and resources +doubled." + +"Philosophy, M. Bertuccio," interrupted the Count; "you have +done a little of everything in your life." + +"Oh, excellency," + +"No, no; but philosophy at half-past ten at night is +somewhat late; yet I have no other observation to make, for +what you say is correct, which is more than can be said for +all philosophy." + +"My journeys became more and more extensive and more +productive. Assunta took care of all, and our little fortune +increased. One day as I was setting off on an expedition, +`Go,' said she; `at your return I will give you a surprise.' +I questioned her, but in vain; she would tell me nothing, +and I departed. Our expedition lasted nearly six weeks; we +had been to Lucca to take in oil, to Leghorn for English +cottons, and we ran our cargo without opposition, and +returned home full of joy. When I entered the house, the +first thing I beheld in the middle of Assunta's chamber was +a cradle that might be called sumptuous compared with the +rest of the furniture, and in it a baby seven or eight +months old. I uttered a cry of joy; the only moments of +sadness I had known since the assassination of the procureur +were caused by the recollection that I had abandoned this +child. For the assassination itself I had never felt any +remorse. Poor Assunta had guessed all. She had profited by +my absence, and furnished with the half of the linen, and +having written down the day and hour at which I had +deposited the child at the asylum, had set off for Paris, +and had reclaimed it. No objection was raised, and the +infant was given up to her. Ah, I confess, your excellency, +when I saw this poor creature sleeping peacefully in its +cradle, I felt my eyes filled with tears. `Ah, Assunta,' +cried I, `you are an excellent woman, and heaven will bless +you.'" + +"This," said Monte Cristo, "is less correct than your +philosophy, -- it is only faith." + +"Alas, your excellency is right," replied Bertuccio, "and +God made this infant the instrument of our punishment. Never +did a perverse nature declare itself more prematurely, and +yet it was not owing to any fault in his bringing up. He was +a most lovely child, with large blue eyes, of that deep +color that harmonizes so well with the blond complexion; +only his hair, which was too light, gave his face a most +singular expression, and added to the vivacity of his look, +and the malice of his smile. Unfortunately, there is a +proverb which says that `red is either altogether good or +altogether bad.' The proverb was but too correct as regarded +Benedetto, and even in his infancy he manifested the worst +disposition. It is true that the indulgence of his +foster-mother encouraged him. This child, for whom my poor +sister would go to the town, five or six leagues off, to +purchase the earliest fruits and the most tempting +sweetmeats, preferred to Palma grapes or Genoese preserves, +the chestnuts stolen from a neighbor's orchard, or the dried +apples in his loft, when he could eat as well of the nuts +and apples that grew in my garden. One day, when Benedetto +was about five or six, our neighbor Vasilio, who, according +to the custom of the country, never locked up his purse or +his valuables -- for, as your excellency knows, there are no +thieves in Corsica -- complained that he had lost a louis +out of his purse; we thought he must have made a mistake in +counting his money, but he persisted in the accuracy of his +statement. One day, Benedetto, who had been gone from the +house since morning, to our great anxiety, did not return +until late in the evening, dragging a monkey after him, +which he said he had found chained to the foot of a tree. +For more than a month past, the mischievous child, who knew +not what to wish for, had taken it into his head to have a +monkey. A boatman, who had passed by Rogliano, and who had +several of these animals, whose tricks had greatly diverted +him, had, doubtless, suggested this idea to him. `Monkeys +are not found in our woods chained to trees,' said I; +`confess how you obtained this animal.' Benedetto maintained +the truth of what he had said, and accompanied it with +details that did more honor to his imagination than to his +veracity. I became angry; he began to laugh, I threatened to +strike him, and he made two steps backwards. `You cannot +beat me,' said he; `you have no right, for you are not my +father.' + +"We never knew who had revealed this fatal secret, which we +had so carefully concealed from him; however, it was this +answer, in which the child's whole character revealed +itself, that almost terrified me, and my arm fell without +touching him. The boy triumphed, and this victory rendered +him so audacious, that all the money of Assunta, whose +affection for him seemed to increase as he became more +unworthy of it, was spent in caprices she knew not how to +contend against, and follies she had not the courage to +prevent. When I was at Rogliano everything went on properly, +but no sooner was my back turned than Benedetto became +master, and everything went ill. When he was only eleven, he +chose his companions from among the young men of eighteen or +twenty, the worst characters in Bastia, or, indeed, in +Corsica, and they had already, for some mischievous pranks, +been several times threatened with a prosecution. I became +alarmed, as any prosecution might be attended with serious +consequences. I was compelled, at this period, to leave +Corsica on an important expedition; I reflected for a long +time, and with the hope of averting some impending +misfortune, I resolved that Benedetto should accompany me. I +hoped that the active and laborious life of a smuggler, with +the severe discipline on board, would have a salutary effect +on his character, which was now well-nigh, if not quite, +corrupt. I spoke to Benedetto alone, and proposed to him to +accompany me, endeavoring to tempt him by all the promises +most likely to dazzle the imagination of a child of twelve. +He heard me patiently, and when I had finished, burst out +laughing. + +"`Are you mad, uncle?' (he called me by this name when he +was in good humor); `do you think I am going to change the +life I lead for your mode of existence -- my agreeable +indolence for the hard and precarious toil you impose on +yourself, exposed to the bitter frost at night, and the +scorching heat by day, compelled to conceal yourself, and +when you are perceived, receive a volley of bullets, all to +earn a paltry sum? Why, I have as much money as I want; +mother Assunta always furnishes me when I ask for it! You +see that I should be a fool to accept your offer.' The +arguments, and his audacity, perfectly stupefied me. +Benedetto rejoined his associates, and I saw him from a +distance point me out to them as a fool." + +"Sweet child," murmured Monte Cristo. + +"Oh, had he been my own son," replied Bertuccio, "or even my +nephew, I would have brought him back to the right road, for +the knowledge that you are doing your duty gives you +strength, but the idea that I was striking a child whose +father I had killed, made it impossible for me to punish +him. I gave my sister, who constantly defended the +unfortunate boy, good advice, and as she confessed that she +had several times missed money to a considerable amount, I +showed her a safe place in which to conceal our little +treasure for the future. My mind was already made up. +Benedetto could read, write, and cipher perfectly, for when +the fit seized him, he learned more in a day than others in +a week. My intention was to enter him as a clerk in some +ship, and without letting him know anything of my plan, to +convey him some morning on board; by this means his future +treatment would depend upon his own conduct. I set off for +France, after having fixed upon the plan. Our cargo was to +be landed in the Gulf of Lyons, and this was a difficult +thing to do because it was then the year 1829. The most +perfect tranquillity was restored, and the vigilance of the +custom-house officers was redoubled, and their strictness +was increased at this time, in consequence of the fair at +Beaucaire. + +"Our expedition made a favorable beginning. We anchored our +vessel -- which had a double hold, where our goods were +concealed -- amidst a number of other vessels that bordered +the banks of the Rhone from Beaucaire to Arles. On our +arrival we began to discharge our cargo in the night, and to +convey it into the town, by the help of the inn-keeper with +whom we were connected. Whether success rendered us +imprudent, or whether we were betrayed, I know not; but one +evening, about five o'clock, our little cabin-boy came +breathlessly, to inform us that he had seen a detachment of +custom-house officers advancing in our direction. It was not +their proximity that alarmed us, for detachments were +constantly patrolling along the banks of the Rhone, but the +care, according to the boy's account, that they took to +avoid being seen. In an instant we were on the alert, but it +was too late; our vessel was surrounded, and amongst the +custom-house officers I observed several gendarmes, and, as +terrified at the sight of their uniforms as I was brave at +the sight of any other, I sprang into the hold, opened a +port, and dropped into the river, dived, and only rose at +intervals to breathe, until I reached a ditch that had +recently been made from the Rhone to the canal that runs +from Beaucaire to Aigues-Mortes. I was now safe, for I could +swim along the ditch without being seen, and I reached the +canal in safety. I had designedly taken this direction. I +have already told your excellency of an inn-keeper from +Nimes who had set up a little tavern on the road from +Bellegarde to Beaucaire." + +"Yes," said Monte Cristo "I perfectly recollect him; I think +he was your colleague." + +"Precisely," answered Bertuccio; "but he had, seven or eight +years before this period, sold his establishment to a tailor +at Marseilles, who, having almost ruined himself in his old +trade, wished to make his fortune in another. Of course, we +made the same arrangements with the new landlord that we had +with the old; and it was of this man that I intended to ask +shelter." + +"What was his name?" inquired the count, who seemed to +become somewhat interested in Bertuccio's story. + +"Gaspard Caderousse; he had married a woman from the village +of Carconte, and whom we did not know by any other name than +that of her village. She was suffering from malarial fever, +and seemed dying by inches. As for her husband, he was a +strapping fellow of forty, or five and forty, who had more +than once, in time of danger, given ample proof of his +presence of mind and courage." + +"And you say," interrupted Monte Cristo "that this took +place towards the year" -- + +"1829, your excellency." + +"In what month?" + +"June." + +"The beginning or the end?" + +"The evening of the 3d." + +"Ah," said Monte Cristo "the evening of the 3d of June, +1829. Go on." + +"It was from Caderousse that I intended demanding shelter, +and, as we never entered by the door that opened onto the +road, I resolved not to break through the rule, so climbing +over the garden-hedge, I crept amongst the olive and wild +fig trees, and fearing that Caderousse might have some +guest, I entered a kind of shed in which I had often passed +the night, and which was only separated from the inn by a +partition, in which holes had been made in order to enable +us to watch an opportunity of announcing our presence. My +intention was, if Caderousse was alone, to acquaint him with +my presence, finish the meal the custom-house officers had +interrupted, and profit by the threatened storm to return to +the Rhone, and ascertain the state of our vessel and its +crew. I stepped into the shed, and it was fortunate I did +so, for at that moment Caderousse entered with a stranger. + +"I waited patiently, not to overhear what they said, but +because I could do nothing else; besides, the same thing had +occurred often before. The man who was with Caderousse was +evidently a stranger to the South of France; he was one of +those merchants who come to sell jewellery at the Beaucaire +fair, and who during the month the fair lasts, and during +which there is so great an influx of merchants and customers +from all parts of Europe, often have dealings to the amount +of 100,000 to 150,000 francs. Caderousse entered hastily. +Then, seeing that the room was, as usual, empty, and only +guarded by the dog, he called to his wife, `Hello, +Carconte,' said he, `the worthy priest has not deceived us; +the diamond is real.' An exclamation of joy was heard, and +the staircase creaked beneath a feeble step. `What do you +say?' asked his wife, pale as death. + +"`I say that the diamond is real, and that this gentleman, +one of the first jewellers of Paris, will give us 50,000 +francs for it. Only, in order to satisfy himself that it +really belongs to us, he wishes you to relate to him, as I +have done already, the miraculous manner in which the +diamond came into our possession. In the meantime please to +sit down, monsieur, and I will fetch you some refreshment.' +The jeweller examined attentively the interior of the inn +and the apparent poverty of the persons who were about to +sell him a diamond that seemed to have come from the casket +of a prince. `Relate your story, madame,' said he, wishing, +no doubt, to profit by the absence of the husband, so that +the latter could not influence the wife's story, to see if +the two recitals tallied. + +"`Oh,' returned she, `it was a gift of heaven. My husband +was a great friend, in 1814 or 1815, of a sailor named +Edmond Dantes. This poor fellow, whom Caderousse had +forgotten, had not forgotten him, and at his death he +bequeathed this diamond to him.' -- `But how did he obtain +it?' asked the jeweller; `had he it before he was +imprisoned?' -- `No, monsieur; but it appears that in prison +he made the acquaintance of a rich Englishman, and as in +prison he fell sick, and Dantes took the same care of him as +if he had been his brother, the Englishman, when he was set +free, gave this stone to Dantes, who, less fortunate, died, +and, in his turn, left it to us, and charged the excellent +abbe, who was here this morning, to deliver it.' -- `The +same story,' muttered the jeweller; `and improbable as it +seemed at first, it may be true. There's only the price we +are not agreed about.' -- `How not agreed about?' said +Caderousse. `I thought we agreed for the price I asked.' -- +`That is,' replied the jeweller, `I offered 40,000 francs.' +-- `Forty thousand,' cried La Carconte; `we will not part +with it for that sum. The abbe told us it was worth 50,000 +without the setting.' + +"`What was the abbe's name?' asked the indefatigable +questioner. -- `The Abbe Busoni,' said La Carconte. -- `He +was a foreigner?' -- `An Italian, from the neighborhood of +Mantua, I believe.' -- `Let me see this diamond again,' +replied the jeweller; `the first time you are often mistaken +as to the value of a stone.' Caderousse took from his pocket +a small case of black shagreen, opened, and gave it to the +jeweller. At the sight of the diamond, which was as large as +a hazel-nut, La Carconte's eyes sparkled with cupidity." + +"And what did you think of this fine story, eavesdropper?" +said Monte Cristo; "did you credit it?" + +"Yes, your excellency. I did not look on Caderousse as a bad +man, and I thought him incapable of committing a crime, or +even a theft." + +"That did more honor to your heart than to your experience, +M. Bertuccio. Had you known this Edmond Dantes, of whom they +spoke?" + +"No, your excellency, I had never heard of him before, and +never but once afterwards, and that was from the Abbe Busoni +himself, when I saw him in the prison at Nimes." + +"Go on." + +"The jeweller took the ring, and drawing from his pocket a +pair of steel pliers and a small set of copper scales, he +took the stone out of its setting, and weighed it carefully. +`I will give you 45,000,' said he, `but not a sou more; +besides, as that is the exact value of the stone, I brought +just that sum with me.' -- `Oh, that's no matter,' replied +Caderousse, `I will go back with you to fetch the other +5,000 francs.' -- `No,' returned the jeweller, giving back +the diamond and the ring to Caderousse -- `no, it is worth +no more, and I am sorry I offered so much, for the stone has +a flaw in it, which I had not seen. However, I will not go +back on my word, and I will give 45,000.' -- `At least, +replace the diamond in the ring,' said La Carconte sharply. +-- `Ah, true,' replied the jeweller, and he reset the stone. +-- `No matter,' observed Caderousse, replacing the box in +his pocket, `some one else will purchase it.' -- `Yes,' +continued the jeweller; `but some one else will not be so +easy as I am, or content himself with the same story. It is +not natural that a man like you should possess such a +diamond. He will inform against you. You will have to find +the Abbe Busoni; and abbes who give diamonds worth two +thousand louis are rare. The law would seize it, and put you +in prison; if at the end of three or four months you are set +at liberty, the ring will be lost, or a false stone, worth +three francs, will be given you, instead of a diamond worth +50,000 or perhaps 55,000 francs; from which you must allow +that one runs considerable risk in purchasing.' Caderousse +and his wife looked eagerly at each other. -- `No,' said +Caderousse, `we are not rich enough to lose 5,000 francs.' +-- `As you please, my dear sir,' said the, jeweller; `I had, +however, as you see, brought you the money in bright coin.' +And he drew from his pocket a handful of gold, and held it +sparkling before the dazzled eyes of the innkeeper, and in +the other hand he held a packet of bank-notes. + +"There was evidently a severe struggle in the mind of +Caderousse; it was plain that the small shagreen case, which +he turned over and over in his hand, did not seem to him +commensurate in value to the enormous sum which fascinated +his gaze. He turned towards his wife. `What do you think of +this?' he asked in a low voice. -- `Let him have it -- let +him have it,' she said. `If he returns to Beaucaire without +the diamond, he will inform against us, and, as he says, who +knows if we shall ever again see the Abbe Busoni? -- in all +probability we shall never see him.' -- `Well, then, so I +will!' said Caderousse; `so you may have the diamond for +45,000 francs. But my wife wants a gold chain, and I want a +pair of silver buckles.' The jeweller drew from his pocket a +long flat box, which contained several samples of the +articles demanded. `Here,' he said, `I am very +straightforward in my dealings -- take your choice.' The +woman selected a gold chain worth about five louis, and the +husband a pair of buckles. worth perhaps fifteen francs. -- +`I hope you will not complain now?' said the jeweller. + +"`The abbe told me it was worth 50,000 francs,' muttered +Caderousse. `Come, come -- give it to me! What a strange +fellow you are,' said the jeweller, taking the diamond from +his hand. `I give you 45,000 francs -- that is, 2,500 livres +of income, -- a fortune such as I wish I had myself, and you +are not satisfied!' -- `And the five and forty thousand +francs,' inquired Caderousse in a hoarse voice, `where are +they? Come -- let us see them.' -- `Here they are,' replied +the jeweller, and he counted out upon the table 15,000 +francs in gold, and 30,000 francs in bank-notes. + +"`Wait while I light the lamp,' said La Carconte; `it is +growing dark, and there may be some mistake.' In fact, night +had come on during this conversation, and with night the +storm which had been threatening for the last half-hour. The +thunder growled in the distance; but it was apparently not +heard by the jeweller, Caderousse, or La Carconte, absorbed +as they were all three with the demon of gain. I myself +felt; a strange kind of fascination at the sight of all this +gold and all these bank-notes; it seemed to me that I was in +a dream, and, as it always happens in a dream, I felt myself +riveted to the spot. Caderousse counted and again counted +the gold and the notes, then handed them to his wife, who +counted and counted them again in her turn. During this +time, the jeweller made the diamond play and sparkle in the +lamplight, and the gem threw out jets of light which made +him unmindful of those which -- precursors of the storm -- +began to play in at the windows. `Well,' inquired the +jeweller, `is the cash all right?' + +"`Yes,' said Caderousse. `Give me the pocket-book, La +Carconte, and find a bag somewhere.' + +"La Carconte went to a cupboard, and returned with an old +leathern pocket-book and a bag. From the former she took +some greasy letters, and put in their place the bank-notes, +and from the bag took two or three crowns of six livres +each, which, in all probability, formed the entire fortune +of the miserable couple. `There,' said Caderousse; `and now, +although you have wronged us of perhaps 10,000 francs, will +you have your supper with us? I invite you with good-will.' +-- `Thank you,' replied the jeweller, `it must be getting +late, and I must return to Beaucaire -- my wife will be +getting uneasy.' He drew out his watch, and exclaimed, +`Morbleu, nearly nine o'clock -- why, I shall not get back +to Beaucaire before midnight! Good-night, my friends. If the +Abbe Busoni should by any accident return, think of me.' -- +`In another week you will have left Beaucaire.' remarked +Caderousse, `for the fair ends in a few days.' -- `True, but +that makes no difference. Write to me at Paris, to M. +Joannes, in the Palais Royal, arcade Pierre, No. 45. I will +make the journey on purpose to see him, if it is worth +while.' At this moment there was a tremendous clap of +thunder, accompanied by a flash of lightning so vivid, that +it quite eclipsed the light of the lamp. + +"`See here,' exclaimed Caderousse. `You cannot think of +going out in such weather as this.' -- `Oh, I am not afraid +of thunder,' said the jeweller. -- `And then there are +robbers,' said La Carconte. `The road is never very safe +during fair time.' -- `Oh, as to the robbers,' said Joannes, +`here is something for them,' and he drew from his pocket a +pair of small pistols, loaded to the muzzle. `Here,' said +he, `are dogs who bark and bite at the same time, they are +for the two first who shall have a longing for your diamond, +Friend Caderousse.' + +"Caderousse and his wife again interchanged a meaning look. +It seemed as though they were both inspired at the same time +with some horrible thought. `Well, then, a good journey to +you,' said Caderousse. -- `Thanks,' replied the jeweller. He +then took his cane, which he had placed against an old +cupboard, and went out. At the moment when he opened the +door, such a gust of wind came in that the lamp was nearly +extinguished. `Oh,' said he, `this is very nice weather, and +two leagues to go in such a storm.' -- `Remain,' said +Caderousse. `You can sleep here.' -- `Yes; do stay,' added +La Carconte in a tremulous voice; `we will take every care +of you.' -- `No; I must sleep at Beaucaire. So, once more, +good-night.' Caderousse followed him slowly to the +threshold. `I can see neither heaven nor earth,' said the +jeweller, who was outside the door. `Do I turn to the right, +or to the left hand?' -- `To the right,' said Caderousse. +`You cannot go wrong -- the road is bordered by trees on +both sides.' -- `Good -- all right,' said a voice almost +lost in the distance. `Close the door,' said La Carconte; `I +do not like open doors when it thunders.' -- `Particularly +when there is money in the house, eh?' answered Caderousse, +double-locking the door. + +"He came into the room, went to the cupboard, took out the +bag and pocket-book, and both began, for the third time, to +count their gold and bank-notes. I never saw such an +expression of cupidity as the flickering lamp revealed in +those two countenances. The woman, especially, was hideous; +her usual feverish tremulousness was intensified, her +countenance had become livid, and her eyes resembled burning +coals. `Why,' she inquired in a hoarse voice, `did you +invite him to sleep here to-night?' -- `Why?' said +Caderousse with a shudder; `why, that he might not have the +trouble of returning to Beaucaire.' -- `Ah,' responded the +woman, with an expression impossible to describe; `I thought +it was for something else.' -- `Woman, woman -- why do you +have such ideas?' cried Caderousse; `or, if you have them, +why don't you keep them to yourself?' -- `Well,' said La +Carconte, after a moment's pause, `you are not a man.' -- +`What do you mean?' added Caderousse. -- `If you had been a +man, you would not have let him go from here.' -- `Woman!' +-- `Or else he should not have reached Beaucaire.' -- +`Woman!' -- `The road takes a turn -- he is obliged to +follow it -- while alongside of the canal there is a shorter +road.' -- `Woman! -- you offend the good God. There -- +listen!' And at this moment there was a tremendous peal of +thunder, while the livid lightning illumined the room, and +the thunder, rolling away in the distance, seemed to +withdraw unwillingly from the cursed abode. `Mercy!' said +Caderousse, crossing himself. + +"At the same moment, and in the midst of the terrifying +silence which usually follows a clap of thunder, they heard +a knocking at the door. Caderousse and his wife started and +looked aghast at each other. `Who's there?' cried +Caderousse, rising, and drawing up in a heap the gold and +notes scattered over the table, and which he covered with +his two hands. -- `It is I,' shouted a voice. -- `And who +are you?' -- `Eh, pardieu, Joannes, the jeweller.' -- `Well, +and you said I offended the good God,' said La Carconte with +a horrid smile. `Why, the good God sends him back again.' +Caderousse sank pale and breathless into his chair. La +Carconte, on the contrary, rose, and going with a firm step +towards the door, opened it, saying, as she did so -- `Come +in, dear M. Joannes.' -- `Ma foi,' said the jeweller, +drenched with rain, `I am not destined to return to +Beaucaire to-night. The shortest follies are best, my dear +Caderousse. You offered me hospitality, and I accept it, and +have returned to sleep beneath your friendly roof.' +Caderousse stammered out something, while he wiped away the +sweat that started to his brow. La Carconte doubled-locked +the door behind the jeweller. + + + +Chapter 45 +The Rain of Blood. + +"As the jeweller returned to the apartment, he cast around +him a scrutinizing glance -- but there was nothing to excite +suspicion, if it did not exist, or to confirm it, if it were +already awakened. Caderousse's hands still grasped the gold +and bank-notes, and La Carconte called up her sweetest +smiles while welcoming the reappearance of their guest. +`Well, well,' said the jeweller, `you seem, my good friends, +to have had some fears respecting the accuracy of your +money, by counting it over so carefully directly I was +gone.' -- `Oh, no,' answered Caderousse, `that was not my +reason, I can assure you; but the circumstances by which we +have become possessed of this wealth are so unexpected, as +to make us scarcely credit our good fortune, and it is only +by placing the actual proof of our riches before our eyes +that we can persuade ourselves that the whole affair is not +a dream.' The jeweller smiled. -- `Have you any other guests +in your house?' inquired he. -- `Nobody but ourselves,' +replied Caderousse; `the fact is, we do not lodge travellers +-- indeed, our tavern is so near the town, that nobody would +think of stopping here. -- `Then I am afraid I shall very +much inconvenience you.' -- `Inconvenience us? Not at all, +my dear sir,' said La Carconte in her most gracious manner. +`Not at all, I assure you.' -- `But where will you manage to +stow me?' -- `In the chamber overhead.' -- `Surely that is +where you yourselves sleep?' -- `Never mind that; we have a +second bed in the adjoining room.' Caderousse stared at his +wife with much astonishment. + +"The jeweller, meanwhile, was humming a song as he stood +warming his back at the fire La Carconte had kindled to dry +the wet garments of her guest; and this done, she next +occupied herself in arranging his supper, by spreading a +napkin at the end of the table, and placing on it the +slender remains of their dinner, to which she added three or +four fresh-laid eggs. Caderousse had once more parted with +his treasure -- the banknotes were replaced in the +pocket-book, the gold put back into the bag, and the whole +carefully locked in the cupboard. He then began pacing the +room with a pensive and gloomy air, glancing from time to +time at the jeweller, who stood reeking with the steam from +his wet clothes, and merely changing his place on the warm +hearth, to enable the whole of his garments to be dried. + +"`There,' said La Carconte, as she placed a bottle of wine +on the table, `supper is ready whenever you are.' -- `And +you?' asked Joannes. -- `I don't want any supper,' said +Caderousse. -- `We dined so very late,' hastily interposed +La Carconte. -- `Then it seems I am to eat alone,' remarked +the jeweller. -- `Oh, we shall have the pleasure of waiting +upon you,' answered La Carconte, with an eager attention she +was not accustomed to manifest even to guests who paid for +what they took. + +"From time to time Caderousse darted on his wife keen, +searching glances, but rapid as the lightning flash. The +storm still continued. `There, there,' said La Carconte; `do +you hear that? upon my word, you did well to come back.' -- +`Nevertheless,' replied the jeweller, `if by the time I have +finished my supper the tempest has at all abated, I shall +make another start.' -- `It's the mistral,' said Caderousse, +`and it will be sure to last till to-morrow morning.' He +sighed heavily. -- `Well,' said the jeweller, as he placed +himself at table, `all I can say is, so much the worse for +those who are abroad.' -- `Yes,' chimed in La Carconte, +`they will have a wretched night of it.' + +"The jeweller began eating his supper, and the woman, who +was ordinarily so querulous and indifferent to all who +approached her, was suddenly transformed into the most +smiling and attentive hostess. Had the unhappy man on whom +she lavished her assiduities been previously acquainted with +her, so sudden an alteration might well have excited +suspicion in his mind, or at least have greatly astonished +him. Caderousse, meanwhile, continued to pace the room in +gloomy silence, sedulously avoiding the sight of his guest; +but as soon as the stranger had completed his repast, the +agitated inn-keeper went eagerly to the door and opened it. +`I believe the storm is over,' said he. But as if to +contradict his statement, at that instant a violent clap of +thunder seemed to shake the house to its very foundation, +while a sudden gust of wind, mingled with rain, extinguished +the lamp he held in his hand. Trembling and awe-struck, +Caderousse hastily shut the door and returned to his guest, +while La Carconte lighted a candle by the smouldering ashes +that glimmered on the hearth. `You must be tired,' said she +to the jeweller; `I have spread a pair of white sheets on +your bed; go up when you are ready, and sleep well.' + +"Joannes stayed for a while to see whether the storm seemed +to abate in its fury, but a brief space of time sufficed to +assure him that, instead of diminishing, the violence of the +rain and thunder momentarily increased; resigning himself, +therefore, to what seemed inevitable, he bade his host +good-night, and mounted the stairs. He passed over my head +and I heard the flooring creak beneath his footsteps. The +quick, eager glance of La Carconte followed him as he +ascended, while Caderousse, on the contrary, turned his +back, and seemed most anxiously to avoid even glancing at +him. + +"All these circumstances did not strike me as painfully at +the time as they have since done; in fact, all that had +happened (with the exception of the story of the diamond, +which certainly did wear an air of improbability), appeared +natural enough, and called for neither apprehension nor +mistrust; but, worn out as I was with fatigue, and fully +purposing to proceed onwards directly the tempest abated, I +determined to obtain a few hours' sleep. Overhead I could +accurately distinguish every movement of the jeweller, who, +after making the best arrangements in his power for passing +a comfortable night, threw himself on his bed, and I could +hear it creak and groan beneath his weight. Insensibly my +eyelids grew heavy, deep sleep stole over me, and having no +suspicion of anything wrong, I sought not to shake it off. I +looked into the kitchen once more and saw Caderousse sitting +by the side of a long table upon one of the low wooden +stools which in country places are frequently used instead +of chairs; his back was turned towards me, so that I could +not see the expression of his countenance -- neither should +I have been able to do so had he been placed differently, as +his head was buried between his two hands. La Carconte +continued to gaze on him for some time, then shrugging her +shoulders, she took her seat immediately opposite to him. At +this moment the expiring embers threw up a fresh flame from +the kindling of a piece of wood that lay near, and a bright +light flashed over the room. La Carconte still kept her eyes +fixed on her husband, but as he made no sign of changing his +position, she extended her hard, bony hand, and touched him +on the forehead. + +"Caderousse shuddered. The woman's lips seemed to move, as +though she were talking; but because she merely spoke in an +undertone, or my senses were dulled by sleep, I did not +catch a word she uttered. Confused sights and sounds seemed +to float before me, and gradually I fell into a deep, heavy +slumber. How long I had been in this unconscious state I +know not, when I was suddenly aroused by the report of a +pistol, followed by a fearful cry. Weak and tottering +footsteps resounded across the chamber above me, and the +next instant a dull, heavy weight seemed to fall powerless +on the staircase. I had not yet fully recovered +consciousness, when again I heard groans, mingled with +half-stifled cries, as if from persons engaged in a deadly +struggle. A cry more prolonged than the others and ending in +a series of groans effectually roused me from my drowsy +lethargy. Hastily raising myself on one arm, I looked +around, but all was dark; and it seemed to me as if the rain +must have penetrated through the flooring of the room above, +for some kind of moisture appeared to fall, drop by drop, +upon my forehead, and when I passed my hand across my brow, +I felt that it was wet and clammy. + +"To the fearful noises that had awakened me had succeeded +the most perfect silence -- unbroken, save by the footsteps +of a man walking about in the chamber above. The staircase +creaked, he descended into the room below, approached the +fire and lit a candle. The man was Caderousse -- he was pale +and his shirt was all blood. Having obtained the light, he +hurried up-stairs again, and once more I heard his rapid and +uneasy footsteps. A moment later he came down again, holding +in his hand the small shagreen case, which he opened, to +assure himself it contained the diamond, -- seemed to +hesitate as to which pocket he should put it in, then, as if +dissatisfied with the security of either pocket, he +deposited it in his red handkerchief, which he carefully +rolled round his head. After this he took from his cupboard +the bank-notes and gold he had put there, thrust the one +into the pocket of his trousers, and the other into that of +his waistcoat, hastily tied up a small bundle of linen, and +rushing towards the door, disappeared in the darkness of the +night. + +"Then all became clear and manifest to me, and I reproached +myself with what had happened, as though I myself had done +the guilty deed. I fancied that I still heard faint moans, +and imagining that the unfortunate jeweller might not be +quite dead, I determined to go to his relief, by way of +atoning in some slight degree, not for the crime I had +committed, but for that which I had not endeavored to +prevent. For this purpose I applied all the strength I +possessed to force an entrance from the cramped spot in +which I lay to the adjoining room. The poorly fastened +boards which alone divided me from it yielded to my efforts, +and I found myself in the house. Hastily snatching up the +lighted candle, I hurried to the staircase; about midway a +body was lying quite across the stairs. It was that of La +Carconte. The pistol I had heard had doubtless been fired at +her. The shot had frightfully lacerated her throat, leaving +two gaping wounds from which, as well as the mouth, the +blood was pouring in floods. She was stone dead. I strode +past her, and ascended to the sleeping chamber, which +presented an appearance of the wildest disorder. The +furniture had been knocked over in the deadly struggle that +had taken place there, and the sheets, to which the +unfortunate jeweller had doubtless clung, were dragged +across the room. The murdered man lay on the floor, his head +leaning against the wall, and about him was a pool of blood +which poured forth from three large wounds in his breast; +there was a fourth gash, in which a long table knife was +plunged up to the handle. + +"I stumbled over some object; I stooped to examine -- it was +the second pistol, which had not gone off, probably from the +powder being wet. I approached the jeweller, who was not +quite dead, and at the sound of my footsteps and the +creaking of the floor, he opened his eyes, fixed them on me +with an anxious and inquiring gaze, moved his lips as though +trying to speak, then, overcome by the effort, fell back and +expired. This appalling sight almost bereft me of my senses, +and finding that I could no longer be of service to any one +in the house, my only desire was to fly. I rushed towards +the staircase, clutching my hair, and uttering a groan of +horror. Upon reaching the room below, I found five or six +custom-house officers, and two or three gendarmes -- all +heavily armed. They threw themselves upon me. I made no +resistance; I was no longer master of my senses. When I +strove to speak, a few inarticulate sounds alone escaped my +lips. + +"As I noticed the significant manner in which the whole +party pointed to my blood-stained garments, I involuntarily +surveyed myself, and then I discovered that the thick warm +drops that had so bedewed me as I lay beneath the staircase +must have been the blood of La Carconte. I pointed to the +spot where I had concealed myself. `What does he mean?' +asked a gendarme. One of the officers went to the place I +directed. `He means,' replied the man upon his return, `that +he got in that way;' and he showed the hole I had made when +I broke through. + +"Then I saw that they took me for the assassin. I recovered +force and energy enough to free myself from the hands of +those who held me, while I managed to stammer forth -- `I +did not do it! Indeed, indeed I did not!' A couple of +gendarmes held the muzzles of their carbines against my +breast. -- `Stir but a step,' said they, `and you are a dead +man.' -- `Why should you threaten me with death,' cried I, +`when I have already declared my innocence?' -- `Tush, +tush,' cried the men; `keep your innocent stories to tell to +the judge at Nimes. Meanwhile, come along with us; and the +best advice we can give you is to do so unresistingly.' +Alas, resistance was far from my thoughts. I was utterly +overpowered by surprise and terror; and without a word I +suffered myself to be handcuffed and tied to a horse's tail, +and thus they took me to Nimes. + +"I had been tracked by a customs-officer, who had lost sight +of me near the tavern; feeling certain that I intended to +pass the night there, he had returned to summon his +comrades, who just arrived in time to hear the report of the +pistol, and to take me in the midst of such circumstantial +proofs of my guilt as rendered all hopes of proving my +innocence utterly futile. One only chance was left me, that +of beseeching the magistrate before whom I was taken to +cause every inquiry to be made for the Abbe Busoni, who had +stopped at the inn of the Pont du Gard on that morning. If +Caderousse had invented the story relative to the diamond, +and there existed no such person as the Abbe Busoni, then, +indeed, I was lost past redemption, or, at least, my life +hung upon the feeble chance of Caderousse himself being +apprehended and confessing the whole truth. Two months +passed away in hopeless expectation on my part, while I must +do the magistrate the justice to say that he used every +means to obtain information of the person I declared could +exculpate me if he would. Caderousse still evaded all +pursuit, and I had resigned myself to what seemed my +inevitable fate. My trial was to come on at the approaching +assizes; when, on the 8th of September -- that is to say, +precisely three months and five days after the events which +had perilled my life -- the Abbe Busoni, whom I never +ventured to believe I should see, presented himself at the +prison doors, saying he understood one of the prisoners +wished to speak to him; he added, that having learned at +Marseilles the particulars of my imprisonment, he hastened +to comply with my desire. You may easily imagine with what +eagerness I welcomed him, and how minutely I related the +whole of what I had seen and heard. I felt some degree of +nervousness as I entered upon the history of the diamond, +but, to my inexpressible astonishment, he confirmed it in +every particular, and to my equal surprise, he seemed to +place entire belief in all I said. And then it was that, won +by his mild charity, seeing that he was acquainted with all +the habits and customs of my own country, and considering +also that pardon for the only crime of which I was really +guilty might come with a double power from lips so +benevolent and kind, I besought him to receive my +confession, under the seal of which I recounted the Auteuil +affair in all its details, as well as every other +transaction of my life. That which I had done by the impulse +of my best feelings produced the same effect as though it +had been the result of calculation. My voluntary confession +of the assassination at Auteuil proved to him that I had not +committed that of which I stood accused. When he quitted me, +he bade me be of good courage, and to rely upon his doing +all in his power to convince my judges of my innocence. + +"I had speedy proofs that the excellent abbe was engaged in +my behalf, for the rigors of my imprisonment were alleviated +by many trifling though acceptable indulgences, and I was +told that my trial was to be postponed to the assizes +following those now being held. In the interim it pleased +providence to cause the apprehension of Caderousse, who was +discovered in some distant country, and brought back to +France, where he made a full confession, refusing to make +the fact of his wife's having suggested and arranged the +murder any excuse for his own guilt. The wretched man was +sentenced to the galleys for life, and I was immediately set +at liberty." + +"And then it was, I presume," said Monte Cristo "that you +came to me as the bearer of a letter from the Abbe Busoni?" + +"It was, your excellency; the benevolent abbe took an +evident interest in all that concerned me. + +"`Your mode of life as a smuggler,' said he to me one day, +`will be the ruin of you; if you get out, don't take it up +again.' -- `But how,' inquired I, `am I to maintain myself +and my poor sister?' + +"`A person, whose confessor I am,' replied he, `and who +entertains a high regard for me, applied to me a short time +since to procure him a confidential servant. Would you like +such a post? If so, I will give you a letter of introduction +to him.' -- `Oh, father,' I exclaimed, `you are very good.' + +"`But you must swear solemnly that I shall never have reason +to repent my recommendation.' I extended my hand, and was +about to pledge myself by any promise he would dictate, but +he stopped me. `It is unnecessary for you to bind yourself +by any vow,' said he; `I know and admire the Corsican nature +too well to fear you. Here, take this,' continued he, after +rapidly writing the few lines I brought to your excellency, +and upon receipt of which you deigned to receive me into +your service, and proudly I ask whether your excellency has +ever had cause to repent having done so?" + +"No," replied the count; "I take pleasure in saying that you +have served me faithfully, Bertuccio; but you might have +shown more confidence in me." + +"I, your excellency?" + +"Yes; you. How comes it, that having both a sister and an +adopted son, you have never spoken to me of either?" + +"Alas, I have still to recount the most distressing period +of my life. Anxious as you may suppose I was to behold and +comfort my dear sister, I lost no time in hastening to +Corsica, but when I arrived at Rogliano I found a house of +mourning, the consequences of a scene so horrible that the +neighbors remember and speak of it to this day. Acting by my +advice, my poor sister had refused to comply with the +unreasonable demands of Benedetto, who was continually +tormenting her for money, as long as he believed there was a +sou left in her possession. One morning that he had demanded +money, threatening her with the severest consequences if she +did not supply him with what he desired, he disappeared and +remained away all day, leaving the kind-hearted Assunta, who +loved him as if he were her own child, to weep over his +conduct and bewail his absence. Evening came, and still, +with all the patient solicitude of a mother, she watched for +his return. + +"As the eleventh hour struck, he entered with a swaggering +air, attended by two of the most dissolute and reckless of +his boon companions. She stretched out her arms to him, but +they seized hold of her, and one of the three -- none other +than the accursed Benedetto exclaimed, -- `Put her to +torture and she'll soon tell us where her money is.' + +"It unfortunately happened that our neighbor, Vasilio, was +at Bastia, leaving no person in his house but his wife; no +human creature beside could hear or see anything that took +place within our dwelling. Two held poor Assunta, who, +unable to conceive that any harm was intended to her, smiled +in the face of those who were soon to become her +executioners. The third proceeded to barricade the doors and +windows, then returned, and the three united in stifling the +cries of terror incited by the sight of these preparations, +and then dragged Assunta feet foremost towards the brazier, +expecting to wring from her an avowal of where her supposed +treasure was secreted. In the struggle her clothes caught +fire, and they were obliged to let go their hold in order to +preserve themselves from sharing the same fate. Covered with +flames, Assunta rushed wildly to the door, but it was +fastened; she flew to the windows, but they were also +secured; then the neighbors heard frightful shrieks; it was +Assunta calling for help. The cries died away in groans, and +next morning, as soon as Vasilio's wife could muster up +courage to venture abroad, she caused the door of our +dwelling to be opened by the public authorities, when +Assunta, although dreadfully burnt, was found still +breathing; every drawer and closet in the house had been +forced open, and the money stolen. Benedetto never again +appeared at Rogliano, neither have I since that day either +seen or heard anything concerning him. + +"It was subsequently to these dreadful events that I waited +on your excellency, to whom it would have been folly to have +mentioned Benedetto, since all trace of him seemed entirely +lost; or of my sister, since she was dead." + +"And in what light did you view the occurrence?" inquired +Monte Cristo. + +"As a punishment for the crime I had committed," answered +Bertuccio. "Oh, those Villeforts are an accursed race!" + +"Truly they are," murmured the count in a lugubrious tone. + +"And now," resumed Bertuccio, "your excellency may, perhaps, +be able to comprehend that this place, which I revisit for +the first time -- this garden, the actual scene of my crime +-- must have given rise to reflections of no very agreeable +nature, and produced that gloom and depression of spirits +which excited the notice of your excellency, who was pleased +to express a desire to know the cause. At this instant a +shudder passes over me as I reflect that possibly I am now +standing on the very grave in which lies M. de Villefort, by +whose hand the ground was dug to receive the corpse of his +child." + +"Everything is possible," said Monte Cristo, rising from the +bench on which he had been sitting; "even," he added in an +inaudible voice, "even that the procureur be not dead. The +Abbe Busoni did right to send you to me," he went on in his +ordinary tone, "and you have done well in relating to me the +whole of your history, as it will prevent my forming any +erroneous opinions concerning you in future. As for that +Benedetto, who so grossly belied his name, have you never +made any effort to trace out whither he has gone, or what +has become of him?" + +"No; far from wishing to learn whither he has betaken +himself, I should shun the possibility of meeting him as I +would a wild beast. Thank God, I have never heard his name +mentioned by any person, and I hope and believe he is dead." + +"Do not think so, Bertuccio," replied the count; "for the +wicked are not so easily disposed of, for God seems to have +them under his special watch-care to make of them +instruments of his vengeance." + +"So be it," responded Bertuccio, "all I ask of heaven is +that I may never see him again. And now, your excellency," +he added, bowing his head, "you know everything -- you are +my judge on earth, as the Almighty is in heaven; have you +for me no words of consolation?" + +"My good friend, I can only repeat the words addressed to +you by the Abbe Busoni. Villefort merited punishment for +what he had done to you, and, perhaps, to others. Benedetto, +if still living, will become the instrument of divine +retribution in some way or other, and then be duly punished +in his turn. As far as you yourself are concerned, I see but +one point in which you are really guilty. Ask yourself, +wherefore, after rescuing the infant from its living grave, +you did not restore it to its mother? There was the crime, +Bertuccio -- that was where you became really culpable." + +"True, excellency, that was the crime, the real crime, for +in that I acted like a coward. My first duty, directly I had +succeeded in recalling the babe to life, was to restore it +to its mother; but, in order to do so, I must have made +close and careful inquiry, which would, in all probability, +have led to my own apprehension; and I clung to life, partly +on my sister's account, and partly from that feeling of +pride inborn in our hearts of desiring to come off untouched +and victorious in the execution of our vengeance. Perhaps, +too, the natural and instinctive love of life made me wish +to avoid endangering my own. And then, again, I am not as +brave and courageous as was my poor brother." Bertuccio hid +his face in his hands as he uttered these words, while Monte +Cristo fixed on him a look of inscrutable meaning. After a +brief silence, rendered still more solemn by the time and +place, the count said, in a tone of melancholy wholly unlike +his usual manner, "In order to bring this conversation to a +fitting termination (the last we shall ever hold upon this +subject), I will repeat to you some words I have heard from +the lips of the Abbe Busoni. For all evils there are two +remedies -- time and silence. And now leave me, Monsieur +Bertuccio, to walk alone here in the garden. The very +circumstances which inflict on you, as a principal in the +tragic scene enacted here, such painful emotions, are to me, +on the contrary, a source of something like contentment, and +serve but to enhance the value of this dwelling in my +estimation. The chief beauty of trees consists in the deep +shadow of their umbrageous boughs, while fancy pictures a +moving multitude of shapes and forms flitting and passing +beneath that shade. Here I have a garden laid out in such a +way as to afford the fullest scope for the imagination, and +furnished with thickly grown trees, beneath whose leafy +screen a visionary like myself may conjure up phantoms at +will. This to me, who expected but to find a blank enclosure +surrounded by a straight wall, is, I assure you, a most +agreeable surprise. I have no fear of ghosts, and I have +never heard it said that so much harm had been done by the +dead during six thousand years as is wrought by the living +in a single day. Retire within, Bertuccio, and tranquillize +your mind. Should your confessor be less indulgent to you in +your dying moments than you found the Abbe Busoni, send for +me, if I am still on earth, and I will soothe your ears with +words that shall effectually calm and soothe your parting +soul ere it goes forth to traverse the ocean called +eternity." + +Bertuccio bowed respectfully, and turned away, sighing +heavily. Monte Cristo, left alone, took three or four steps +onwards, and murmured, "Here, beneath this plane-tree, must +have been where the infant's grave was dug. There is the +little door opening into the garden. At this corner is the +private staircase communicating with the sleeping apartment. +There will be no necessity for me to make a note of these +particulars, for there, before my eyes, beneath my feet, all +around me, I have the plan sketched with all the living +reality of truth." After making the tour of the garden a +second time, the count re-entered his carriage, while +Bertuccio, who perceived the thoughtful expression of his +master's features, took his seat beside the driver without +uttering a word. The carriage proceeded rapidly towards +Paris. + +That same evening, upon reaching his abode in the Champs +Elysees, the Count of Monte Cristo went over the whole +building with the air of one long acquainted with each nook +or corner. Nor, although preceding the party, did he once +mistake one door for another, or commit the smallest error +when choosing any particular corridor or staircase to +conduct him to a place or suite of rooms he desired to +visit. Ali was his principal attendant during this nocturnal +survey. Having given various orders to Bertuccio relative to +the improvements and alterations he desired to make in the +house, the Count, drawing out his watch, said to the +attentive Nubian, "It is half-past eleven o'clock; Haidee +will soon he here. Have the French attendants been summoned +to await her coming?" Ali extended his hands towards the +apartments destined for the fair Greek, which were so +effectually concealed by means of a tapestried entrance, +that it would have puzzled the most curious to have divined +their existence. Ali, having pointed to the apartments, held +up three fingers of his right hand, and then, placing it +beneath his head, shut his eyes, and feigned to sleep. "I +understand," said Monte Cristo, well acquainted with Ali's +pantomime; "you mean to tell me that three female attendants +await their new mistress in her sleeping-chamber." Ali, with +considerable animation, made a sign in the affirmative. + +"Madame will be tired to-night," continued Monte Cristo, +"and will, no doubt, wish to rest. Desire the French +attendants not to weary her with questions, but merely to +pay their respectful duty and retire. You will also see that +the Greek servants hold no communication with those of this +country." He bowed. Just at that moment voices were heard +hailing the concierge. The gate opened, a carriage rolled +down the avenue, and stopped at the steps. The count hastily +descended, presented himself at the already opened carriage +door, and held out his hand to a young woman, completely +enveloped in a green silk mantle heavily embroidered with +gold. She raised the hand extended towards her to her lips, +and kissed it with a mixture of love and respect. Some few +words passed between them in that sonorous language in which +Homer makes his gods converse. The young woman spoke with an +expression of deep tenderness, while the count replied with +an air of gentle gravity. Preceded by Ali, who carried a +rose-colored flambeau in his hand, the new-comer, who was no +other than the lovely Greek who had been Monte Cristo's +companion in Italy, was conducted to her apartments, while +the count retired to the pavilion reserved for himself. In +another hour every light in the house was extinguished, and +it might have been thought that all its inmates slept. + + + +Chapter 46 +Unlimited Credit. + +About two o'clock the following day a calash, drawn by a +pair of magnificent English horses, stopped at the door of +Monte Cristo and a person, dressed in a blue coat, with +buttons of a similar color, a white waistcoat, over which +was displayed a massive gold chain, brown trousers, and a +quantity of black hair descending so low over his eyebrows +as to leave it doubtful whether it were not artificial so +little did its jetty glossiness assimilate with the deep +wrinkles stamped on his features -- a person, in a word, +who, although evidently past fifty, desired to be taken for +not more than forty, bent forwards from the carriage door, +on the panels of which were emblazoned the armorial bearings +of a baron, and directed his groom to inquire at the +porter's lodge whether the Count of Monte Cristo resided +there, and if he were within. While waiting, the occupant of +the carriage surveyed the house, the garden as far as he +could distinguish it, and the livery of servants who passed +to and fro, with an attention so close as to be somewhat +impertinent. His glance was keen but showed cunning rather +than intelligence; his lips were straight, and so thin that, +as they closed, they were drawn in over the teeth; his +cheek-bones were broad and projecting, a never-failing proof +of audacity and craftiness; while the flatness of his +forehead, and the enlargement of the back of his skull, +which rose much higher than his large and coarsely shaped +ears, combined to form a physiognomy anything but +prepossessing, save in the eyes of such as considered that +the owner of so splendid an equipage must needs be all that +was admirable and enviable, more especially when they gazed +on the enormous diamond that glittered in his shirt, and the +red ribbon that depended from his button-hole. + +The groom, in obedience to his orders, tapped at the window +of the porter's lodge, saying, "Pray, does not the Count of +Monte Cristo live here?" + +"His excellency does reside here," replied the concierge; +"but" -- added he, glancing an inquiring look at Ali. Ali +returned a sign in the negative. "But what?" asked the +groom. + +"His excellency does not receive visitors to-day." + +"Then here is my master's card, -- the Baron Danglars. You +will take it to the count, and say that, although in haste +to attend the Chamber, my master came out of his way to have +the honor of calling upon him." + +"I never speak to his excellency," replied the concierge; +"the valet de chambre will carry your message." The groom +returned to the carriage. "Well?" asked Danglars. The man, +somewhat crest-fallen by the rebuke he had received, +repeated what the concierge had said. "Bless me," murmured +Baron Danglars, "this must surely be a prince instead of a +count by their styling him `excellency,' and only venturing +to address him by the medium of his valet de chambre. +However, it does not signify; he has a letter of credit on +me, so I must see him when he requires his money." + +Then, throwing himself back in his carriage, Danglars called +out to his coachman, in a voice that might be heard across +the road, "To the Chamber of Deputies." + +Apprised in time of the visit paid him, Monte Cristo had, +from behind the blinds of his pavilion, as minutely observed +the baron, by means of an excellent lorgnette, as Danglars +himself had scrutinized the house, garden, and servants. +"That fellow has a decidedly bad countenance," said the +count in a tone of disgust, as he shut up his glass into its +ivory case. "How comes it that all do not retreat in +aversion at sight of that flat, receding, serpent-like +forehead, round, vulture-shaped head, and sharp-hooked nose, +like the beak of a buzzard? Ali," cried he, striking at the +same time on the brazen gong. Ali appeared. "Summon +Bertuccio," said the count. Almost immediately Bertuccio +entered the apartment. "Did your excellency desire to see +me?" inquired he. "I did," replied the count. "You no doubt +observed the horses standing a few minutes since at the +door?" + +"Certainly, your excellency. I noticed them for their +remarkable beauty." + +"Then how comes it," said Monte Cristo with a frown, "that, +when I desired you to purchase for me the finest pair of +horses to be found in Paris, there is another pair, fully as +fine as mine, not in my stables?" At the look of +displeasure, added to the angry tone in which the count +spoke, Ali turned pale and held down his head. "It is not +your fault, my good Ali," said the count in the Arabic +language, and with a gentleness none would have thought him +capable of showing, either in voice or face -- "it is not +your fault. You do not understand the points of English +horses." The countenance of poor Ali recovered its serenity. +"Permit me to assure your excellency," said Bertuccio, "that +the horses you speak of were not to be sold when I purchased +yours." Monte Cristo shrugged his shoulders. "It seems, sir +steward," said he, "that you have yet to learn that all +things are to be sold to such as care to pay the price." + +"His excellency is not, perhaps, aware that M. Danglars gave +16,000 francs for his horses?" + +"Very well. Then offer him double that sum; a banker never +loses an opportunity of doubling his capital." + +"Is your excellency really in earnest?" inquired the +steward. Monte Cristo regarded the person who durst presume +to doubt his words with the look of one equally surprised +and displeased. "I have to pay a visit this evening," +replied he. "I desire that these horses, with completely new +harness, may be at the door with my carriage." Bertuccio +bowed, and was about to retire; but when he reached the +door, he paused, and then said, "At what o'clock does your +excellency wish the carriage and horses to be ready?" + +"At five o'clock," replied the count. + +"I beg your excellency's pardon," interposed the steward in +a deprecating manner, "for venturing to observe that it is +already two o'clock." + +"I am perfectly aware of that fact," answered Monte Cristo +calmly. Then, turning towards Ali, he said, "Let all the +horses in my stables be led before the windows of your young +lady, that she may select those she prefers for her +carriage. Request her also to oblige me by saying whether it +is her pleasure to dine with me; if so, let dinner be served +in her apartments. Now, leave me, and desire my valet de +chambre to come hither." Scarcely had Ali disappeared when +the valet entered the chamber. "Monsieur Baptistin," said +the count, "you have been in my service one year, the time I +generally give myself to judge of the merits or demerits of +those about me. You suit me very well." Baptistin bowed low. +"It only remains for me to know whether I also suit you?" + +"Oh, your excellency!" exclaimed Baptistin eagerly. + +"Listen, if you please, till I have finished speaking," +replied Monte Cristo. "You receive 1,500 francs per annum +for your services here -- more than many a brave subaltern, +who continually risks his life for his country, obtains. You +live in a manner far superior to many clerks who work ten +times harder than you do for their money. Then, though +yourself a servant, you have other servants to wait upon +you, take care of your clothes, and see that your linen is +duly prepared for you. Again, you make a profit upon each +article you purchase for my toilet, amounting in the course +of a year to a sum equalling your wages." + +"Nay, indeed, your excellency." + +"I am not condemning you for this, Monsieur Baptistin; but +let your profits end here. It would be long indeed ere you +would find so lucrative a post as that you have how the good +fortune to fill. I neither ill-use nor ill-treat my servants +by word or action. An error I readily forgive, but wilful +negligence or forgetfulness, never. My commands are +ordinarily short, clear, and precise; and I would rather be +obliged to repeat my words twice, or even three times, than +they should be misunderstood. I am rich enough to know +whatever I desire to know, and I can promise you I am not +wanting in curiosity. If, then, I should learn that you had +taken upon yourself to speak of me to any one favorably or +unfavorably, to comment on my actions, or watch my conduct, +that very instant you would quit my service. You may now +retire. I never caution my servants a second time -- +remember that." Baptistin bowed, and was proceeding towards +the door. "I forgot to mention to you," said the count, +"that I lay yearly aside a certain sum for each servant in +my establishment; those whom I am compelled to dismiss lose +(as a matter of course) all participation in this money, +while their portion goes to the fund accumulating for those +domestics who remain with me, and among whom it will be +divided at my death. You have been in my service a year, +your fund has already begun to accumulate -- let it continue +to do so." + +This address, delivered in the presence of Ali, who, not +understanding one word of the language in which it was +spoken, stood wholly unmoved, produced an effect on M. +Baptistin only to be conceived by such as have occasion to +study the character and disposition of French domestics. "I +assure your excellency," said he, "that at least it shall be +my study to merit your approbation in all things, and I will +take M. Ali as my model." + +"By no means," replied the count in the most frigid tones; +"Ali has many faults mixed with most excellent qualities. He +cannot possibly serve you as a pattern for your conduct, not +being, as you are, a paid servant, but a mere slave -- a +dog, who, should he fail in his duty towards me, I should +not discharge from my service, but kill." Baptistin opened +his eyes with astonishment. + +"You seen incredulous," said Monte Cristo who repeated to +Ali in the Arabic language what he had just been saying to +Baptistin in French. The Nubian smiled assentingly to his +master's words, then, kneeling on one knee, respectfully +kissed the hand of the count. This corroboration of the +lesson he had just received put the finishing stroke to the +wonder and stupefaction of M. Baptistin. The count then +motioned the valet de chambre to retire, and to Ali to +follow to his study, where they conversed long and earnestly +together. As the hand of the clock pointed to five the count +struck thrice upon his gong. When Ali was wanted one stroke +was given, two summoned Baptistin, and three Bertuccio. The +steward entered. "My horses," said Monte Cristo. + +"They are at the door harnessed to the carriage as your +excellency desired. Does your excellency wish me to +accompany him?" + +"No, the coachman, Ali, and Baptistin will go." The count +descended to the door of his mansion, and beheld his +carriage drawn by the very pair of horses he had so much +admired in the morning as the property of Danglars. As he +passed them he said -- "They are extremely handsome +certainly, and you have done well to purchase them, although +you were somewhat remiss not to have procured them sooner." + +"Indeed, your excellency, I had very considerable difficulty +in obtaining them, and, as it is, they have cost an enormous +price." + +"Does the sum you gave for them make the animals less +beautiful," inquired the count, shrugging his shoulders. + +"Nay, if your excellency is satisfied, it is all that I +could wish. Whither does your excellency desire to be +driven?" + +"To the residence of Baron Danglars, Rue de la Chaussee +d'Antin." This conversation had passed as they stood upon +the terrace, from which a flight of stone steps led to the +carriage-drive. As Bertuccio, with a respectful bow, was +moving away, the count called him back. "I have another +commission for you, M. Bertuccio," said he; "I am desirous +of having an estate by the seaside in Normandy -- for +instance, between Havre and Boulogne. You see I give you a +wide range. It will be absolutely necessary that the place +you may select have a small harbor, creek, or bay, into +which my corvette can enter and remain at anchor. She draws +only fifteen feet. She must be kept in constant readiness to +sail immediately I think proper to give the signal. Make the +requisite inquiries for a place of this description, and +when you have met with an eligible spot, visit it, and if it +possess the advantages desired, purchase it at once in your +own name. The corvette must now, I think, be on her way to +Fecamp, must she not?" + +"Certainly, your excellency; I saw her put to sea the same +evening we quitted Marseilles." + +"And the yacht." + +"Was ordered to remain at Martigues." + +"'Tis well. I wish you to write from time to time to the +captains in charge of the two vessels so as to keep them on +the alert." + +"And the steamboat?" + +"She is at Chalons?" + +"Yes." + +"The same orders for her as for the two sailing vessels." + +"Very good." + +"When you have purchased the estate I desire, I want +constant relays of horses at ten leagues apart along the +northern and southern road." + +"Your excellency may depend upon me." The Count made a +gesture of satisfaction, descended the terrace steps, and +sprang into his carriage, which was whirled along swiftly to +the banker's house. Danglars was engaged at that moment, +presiding over a railroad committee. But the meeting was +nearly concluded when the name of his visitor was announced. +As the count's title sounded on his ear he rose, and +addressing his colleagues, who were members of one or the +other Chamber, he said, -- "Gentlemen, pardon me for leaving +you so abruptly; but a most ridiculous circumstance has +occurred, which is this, -- Thomson & French, the Roman +bankers, have sent to me a certain person calling himself +the Count of Monte Cristo, and have given him an unlimited +credit with me. I confess this is the drollest thing I have +ever met with in the course of my extensive foreign +transactions, and you may readily suppose it has greatly +roused my curiosity. I took the trouble this morning to call +on the pretended count -- if he were a real count he +wouldn't be so rich. But, would you believe it, `He was not +receiving.' So the master of Monte Cristo gives himself airs +befitting a great millionaire or a capricious beauty. I made +inquiries, and found that the house in the Champs Elysees is +his own property, and certainly it was very decently kept +up. But," pursued Danglars with one of his sinister smiles, +"an order for unlimited credit calls for something like +caution on the part of the banker to whom that order is +given. I am very anxious to see this man. I suspect a hoax +is intended, but the instigators of it little knew whom they +had to deal with. `They laugh best who laugh last!'" + +Having delivered himself of this pompous address, uttered +with a degree of energy that left the baron almost out of +breath, he bowed to the assembled party and withdrew to his +drawing-room, whose sumptuous furnishings of white and gold +had caused a great sensation in the Chaussee d'Antin. It was +to this apartment he had desired his guest to be shown, with +the purpose of overwhelming him at the sight of so much +luxury. He found the count standing before some copies of +Albano and Fattore that had been passed off to the banker as +originals; but which, mere copies as they were, seemed to +feel their degradation in being brought into juxtaposition +with the gaudy colors that covered the ceiling. The count +turned round as he heard the entrance of Danglars into the +room. With a slight inclination of the head, Danglars signed +to the count to be seated, pointing significantly to a +gilded arm-chair, covered with white satin embroidered with +gold. The count sat down. "I have the honor, I presume, of +addressing M. de Monte Cristo." + +The count bowed. "And I of speaking to Baron Danglars, +chevalier of the Legion of Honor, and member of the Chamber +of Deputies?" + +Monte Cristo repeated all the titles he had read on the +baron's card. + +Danglars felt the irony and compressed his lips. "You will, +I trust, excuse me, monsieur, for not calling you by your +title when I first addressed you," he said, "but you are +aware that we are living under a popular form of government, +and that I am myself a representative of the liberties of +the people." + +"So much so," replied Monte Cristo, "that while you call +yourself baron you are not willing to call anybody else +count." + +"Upon my word, monsieur," said Danglars with affected +carelessness, "I attach no sort of value to such empty +distinctions; but the fact is, I was made baron, and also +chevalier of the Legion of Honor, in return for services +rendered, but" -- + +"But you have discarded your titles after the example set +you by Messrs. de Montmorency and Lafayette? That was a +noble example to follow, monsieur." + +"Why," replied Danglars, "not entirely so; with the +servants, -- you understand." + +"I see; to your domestics you are `my lord,' the journalists +style you `monsieur,' while your constituents call you +`citizen.' These are distinctions very suitable under a +constitutional government. I understand perfectly." Again +Danglars bit his lips; he saw that he was no match for Monte +Cristo in an argument of this sort, and he therefore +hastened to turn to subjects more congenial. + +"Permit me to inform you, Count," said he, bowing, "that I +have received a letter of advice from Thomson & French, of +Rome." + +"I am glad to hear it, baron, -- for I must claim the +privilege of addressing you after the manner of your +servants. I have acquired the bad habit of calling persons +by their titles from living in a country where barons are +still barons by right of birth. But as regards the letter of +advice, I am charmed to find that it has reached you; that +will spare me the troublesome and disagreeable task of +coming to you for money myself. You have received a regular +letter of advice?" + +"Yes," said Danglars, "but I confess I didn't quite +comprehend its meaning." + +"Indeed?" + +"And for that reason I did myself the honor of calling upon +you, in order to beg for an explanation." + +"Go on, monsieur. Here I am, ready to give you any +explanation you desire." + +"Why," said Danglers, "in the letter -- I believe I have it +about me" -- here he felt in his breast-pocket -- "yes, here +it is. Well, this letter gives the Count of Monte Cristo +unlimited credit on our house." + +"Well, baron, what is there difficult to understand about +that?" + +"Merely the term unlimited -- nothing else, certainly." + +"Is not that word known in France? The people who wrote are +Anglo-Germans, you know." + +"Oh, as for the composition of the letter, there is nothing +to be said; but as regards the competency of the document, I +certainly have doubts." + +"Is it possible?" asked the count, assuming all air and tone +of the utmost simplicity and candor. "Is it possible that +Thomson & French are not looked upon as safe and solvent +bankers? Pray tell me what you think, baron, for I feel +uneasy, I can assure you, having some considerable property +in their hands." + +"Thomson & French are perfectly solvent," replied Danglars, +with an almost mocking smile: "but the word unlimited, in +financial affairs, is so extremely vague." + +"Is, in fact, unlimited," said Monte Cristo. + +"Precisely what I was about to say," cried Danglars. "Now +what is vague is doubtful; and it was a wise man who said, +`when in doubt, keep out.'" + +"Meaning to say," rejoined Monte Cristo, "that however +Thomson & French may be inclined to commit acts of +imprudence and folly, the Baron Danglars is not disposed to +follow their example." + +"Not at all." + +"Plainly enough. Messrs. Thomson & French set no bounds to +their engagements while those of M. Danglars have their +limits; he is a wise man, according to his own showing." + +"Monsieur," replied the banker, drawing himself up with a +haughty air, "the extent of my resources has never yet been +questioned." + +"It seems, then, reserved for me," said Monte Cristo coldly, +"to be the first to do so." + +"By what right, sir?" + +"By right of the objections you have raised, and the +explanations you have demanded, which certainly must have +some motive." + +Once more Danglars bit his lips. It was the second time he +had been worsted, and this time on his own ground. His +forced politeness sat awkwardly upon him, and approached +almost to impertinence. Monte Cristo on the contrary, +preserved a graceful suavity of demeanor, aided by a certain +degree of simplicity he could assume at pleasure, and thus +possessed the advantage. + +"Well, sir," resumed Danglars, after a brief silence, "I +will endeavor to make myself understood, by requesting you +to inform me for what sum you propose to draw upon me?" + +"Why, truly," replied Monte Cristo, determined not to lose +an inch of the ground he had gained, "my reason for desiring +an `unlimited' credit was precisely because I did not know +how much money I might need." + +The banker thought the time had come for him to take the +upper hand. So throwing himself back in his arm-chair, he +said, with an arrogant and purse-proud air, -- "Let me beg +of you not to hesitate in naming your wishes; you will then +be convinced that the resources of the house of Danglars, +however limited, are still equal to meeting the largest +demands; and were you even to require a million" -- + +"I beg your pardon," interposed Monte Cristo. + +"I said a million," replied Danglars, with the confidence of +ignorance. + +"But could I do with a million?" retorted the count. "My +dear sir, if a trifle like that could suffice me, I should +never have given myself the trouble of opening an account. A +million? Excuse my smiling when you speak of a sum I am in +the habit of carrying in my pocket-book or dressing-case." +And with these words Monte Cristo took from his pocket a +small case containing his visiting-cards, and drew forth two +orders on the treasury for 500,000 francs each, payable at +sight to the bearer. A man like Danglars was wholly +inaccessible to any gentler method of correction. The effect +of the present revelation was stunning; he trembled and was +on the verge of apoplexy. The pupils of his eyes, as he +gazed at Monte Cristo dilated horribly. + +"Come, come," said Monte Cristo, "confess honestly that you +have not perfect confidence in Thomson & French. I +understand, and foreseeing that such might be the case, I +took, in spite of my ignorance of affairs, certain +precautions. See, here are two similar letters to that you +have yourself received; one from the house of Arstein & +Eskeles of Vienna, to Baron Rothschild, the other drawn by +Baring of London, upon M. Laffitte. Now, sir, you have but +to say the word, and I will spare you all uneasiness by +presenting my letter of credit to one or other of these two +firms." The blow had struck home, and Danglars was entirely +vanquished; with a trembling hand he took the two letters +from the count, who held them carelessly between finger and +thumb, and proceeded to scrutinize the signatures, with a +minuteness that the count might have regarded as insulting, +had it not suited his present purpose to mislead the banker. +"Oh, sir," said Danglars, after he had convinced himself of +the authenticity of the documents he held, and rising as if +to salute the power of gold personified in the man before +him, -- "three letters of unlimited credit! I can be no +longer mistrustful, but you must pardon me, my dear count, +for confessing to some degree of astonishment." + +"Nay," answered Monte Cristo, with the most gentlemanly air, +"'tis not for such trifling sums as these that your banking +house is to be incommoded. Then, you can let me have some +money, can you not?" + +"Whatever you say, my dear count; I am at your orders." + +"Why," replied Monte Cristo, "since we mutually understand +each other -- for such I presume is the case?" Danglars +bowed assentingly. "You are quite sure that not a lurking +doubt or suspicion lingers in your mind?" + +"Oh, my dear count," exclaimed Danglars, "I never for an +instant entertained such a feeling towards you." + +"No, you merely wished to be convinced, nothing more; but +now that we have come to so clear an understanding, and that +all distrust and suspicion are laid at rest, we may as well +fix a sum as the probable expenditure of the first year, +suppose we say six millions to" -- + +"Six millions!" gasped Danglars -- "so be it." + +"Then, if I should require more," continued Monte Cristo in +a careless manner, "why, of course, I should draw upon you; +but my present intention is not to remain in France more +than a year, and during that period I scarcely think I shall +exceed the sum I mentioned. However, we shall see. Be kind +enough, then, to send me 500,000 francs to-morrow. I shall +be at home till midday, or if not, I will leave a receipt +with my steward." + +"The money you desire shall be at your house by ten o'clock +to-morrow morning, my dear count," replied Danglars. "How +would you like to have it? in gold, silver, or notes?" + +"Half in gold, and the other half in bank-notes, if you +please," said the count, rising from his seat. + +"I must confess to you, count," said Danglars, "that I have +hitherto imagined myself acquainted with the degree of all +the great fortunes of Europe, and still wealth such as yours +has been wholly unknown to me. May I presume to ask whether +you have long possessed it?" + +"It has been in the family a very long while," returned +Monte Cristo, "a sort of treasure expressly forbidden to be +touched for a certain period of years, during which the +accumulated interest has doubled the capital. The period +appointed by the testator for the disposal of these riches +occurred only a short time ago, and they have only been +employed by me within the last few years. Your ignorance on +the subject, therefore, is easily accounted for. However, +you will be better informed as to me and my possessions ere +long." And the count, while pronouncing these latter words, +accompanied them with one of those ghastly smiles that used +to strike terror into poor Franz d'Epinay. + +"With your tastes, and means of gratifying them," continued +Danglars, "you will exhibit a splendor that must effectually +put us poor miserable millionaires quite in the shade. If I +mistake not you are an admirer of paintings, at least I +judged so from the attention you appeared to be bestowing on +mine when I entered the room. If you will permit me, I shall +be happy to show you my picture gallery, composed entirely +of works by the ancient masters -- warranted as such. Not a +modern picture among them. I cannot endure the modern school +of painting." + +"You are perfectly right in objecting to them, for this one +great fault -- that they have not yet had time to become +old." + +"Or will you allow me to show you several fine statues by +Thorwaldsen, Bartoloni, and Canova? -- all foreign artists, +for, as you may perceive, I think but very indifferently of +our French sculptors." + +"You have a right to be unjust to them, monsieur; they are +your compatriots." + +"But all this may come later, when we shall be better known +to each other. For the present, I will confine myself (if +perfectly agreeable to you) to introducing you to the +Baroness Danglars -- excuse my impatience, my dear count, +but a client like you is almost like a member of the +family." Monte Cristo bowed, in sign that he accepted the +proffered honor; Danglars rang and was answered by a servant +in a showy livery. "Is the baroness at home?" inquired +Danglars. + +"Yes, my lord," answered the man. + +"And alone?" + +"No, my lord, madame has visitors." + +"Have you any objection to meet any persons who may be with +madame, or do you desire to preserve a strict incognito?" + +"No, indeed," replied Monte Cristo with a smile, "I do not +arrogate to myself the right of so doing." + +"And who is with madame? -- M. Debray?" inquired Danglars, +with an air of indulgence and good-nature that made Monte +Cristo smile, acquainted as he was with the secrets of the +banker's domestic life. + +"Yes, my lord," replied the servant, "M. Debray is with +madame." Danglars nodded his head; then, turning to Monte +Cristo, said, "M. Lucien Debray is an old friend of ours, +and private secretary to the Minister of the Interior. As +for my wife, I must tell you, she lowered herself by +marrying me, for she belongs to one of the most ancient +families in France. Her maiden name was De Servieres, and +her first husband was Colonel the Marquis of Nargonne." + +"I have not the honor of knowing Madame Danglars; but I have +already met M. Lucien Debray." + +"Ah, indeed?" said Danglars; "and where was that?" + +"At the house of M. de Morcerf." + +"Ah, ha, you are acquainted with the young viscount, are +you?" + +"We were together a good deal during the Carnival at Rome." + +"True, true," cried Danglars. "Let me see; have I not heard +talk of some strange adventure with bandits or thieves hid +in ruins, and of his having had a miraculous escape? I +forget how, but I know he used to amuse my wife and daughter +by telling them about it after his return from Italy." + +"Her ladyship is waiting to receive you, gentlemen," said +the servant, who had gone to inquire the pleasure of his +mistress. "With your permission," said Danglars, bowing, "I +will precede you, to show you the way." + +"By all means," replied Monte Cristo; "I follow you." + + + +Chapter 47 +The Dappled Grays. + +The baron, followed by the count, traversed a long series of +apartments, in which the prevailing characteristics were +heavy magnificence and the gaudiness of ostentatious wealth, +until he reached the boudoir of Madame Danglars -- a small +octagonal-shaped room, hung with pink satin, covered with +white Indian muslin. The chairs were of ancient workmanship +and materials; over the doors were painted sketches of +shepherds and shepherdesses, after the style and manner of +Boucher; and at each side pretty medallions in crayons, +harmonizing well with the furnishings of this charming +apartment, the only one throughout the great mansion in +which any distinctive taste prevailed. The truth was, it had +been entirely overlooked in the plan arranged and followed +out by M. Danglars and his architect, who had been selected +to aid the baron in the great work of improvement solely +because he was the most fashionable and celebrated decorator +of the day. The decorations of the boudoir had then been +left entirely to Madame Danglars and Lucien Debray. M. +Danglars, however, while possessing a great admiration for +the antique, as it was understood during the time of the +Directory, entertained the most sovereign contempt for the +simple elegance of his wife's favorite sitting-room, where, +by the way, he was never permitted to intrude, unless, +indeed, he excused his own appearance by ushering in some +more agreeable visitor than himself; and even then he had +rather the air and manner of a person who was himself +introduced, than that of being the presenter of another, his +reception being cordial or frigid, in proportion as the +person who accompanied him chanced to please or displease +the baroness. + +Madame Danglars (who, although past the first bloom of +youth, was still strikingly handsome) was now seated at the +piano, a most elaborate piece of cabinet and inlaid work, +while Lucien Debray, standing before a small work-table, was +turning over the pages of an album. Lucien had found time, +preparatory to the count's arrival, to relate many +particulars respecting him to Madame Danglars. It will be +remembered that Monte Cristo had made a lively impression on +the minds of all the party assembled at the breakfast given +by Albert de Morcerf; and although Debray was not in the +habit of yielding to such feelings, he had never been able +to shake off the powerful influence excited in his mind by +the impressive look and manner of the count, consequently +the description given by Lucien to the baroness bore the +highly-colored tinge of his own heated imagination. Already +excited by the wonderful stories related of the count by De +Morcerf, it is no wonder that Madame Danglars eagerly +listened to, and fully credited, all the additional +circumstances detailed by Debray. This posing at the piano +and over the album was only a little ruse adopted by way of +precaution. A most gracious welcome and unusual smile were +bestowed on M. Danglars; the count, in return for his +gentlemanly bow, received a formal though graceful courtesy, +while Lucien exchanged with the count a sort of distant +recognition, and with Danglars a free and easy nod. + +"Baroness," said Danglars, "give me leave to present to you +the Count of Monte Cristo, who has been most warmly +recommended to me by my correspondents at Rome. I need but +mention one fact to make all the ladies in Paris court his +notice, and that is, that he has come to take up his abode +in Paris for a year, during which brief period he proposes +to spend six millions of money. That means balls, dinners, +and lawn parties without end, in all of which I trust the +count will remember us, as he may depend upon it we shall +him, in our own humble entertainments." In spite of the +gross flattery and coarseness of this address, Madame +Danglars could not forbear gazing with considerable interest +on a man capable of expending six millions in twelve months, +and who had selected Paris for the scene of his princely +extravagance. "And when did you arrive here?" inquired she. + +"Yesterday morning, madame." + +"Coming, as usual, I presume, from the extreme end of the +globe? Pardon me -- at least, such I have heard is your +custom." + +"Nay, madame. This time I have merely come from Cadiz." + +"You have selected a most unfavorable moment for your first +visit. Paris is a horrible place in summer. Balls, parties, +and fetes are over; the Italian opera is in London; the +French opera everywhere except in Paris. As for the Theatre +Francais, you know, of course, that it is nowhere. The only +amusements left us are the indifferent races at the Champ de +Mars and Satory. Do you propose entering any horses at +either of these races, count?" + +"I shall do whatever they do at Paris, madame, if I have the +good fortune to find some one who will initiate me into the +prevalent ideas of amusement." + +"Are you fond of horses, count?" + +"I have passed a considerable part of my life in the East, +madame, and you are doubtless aware that the Orientals value +only two things -- the fine breeding of their horses and the +beauty of their women." + +"Nay, count," said the baroness, "it would have been +somewhat more gallant to have placed the ladies first." + +"You see, madame, how rightly I spoke when I said I required +a preceptor to guide me in all my sayings and doings here." +At this instant the favorite attendant of Madame Danglars +entered the boudoir; approaching her mistress, she spoke +some words in an undertone. Madame Danglars turned very +pale, then exclaimed, -- "I cannot believe it; the thing is +impossible." + +"I assure you, madame," replied the woman, "it is as I have +said." Turning impatiently towards her husband, Madame +Danglars demanded, "Is this true?" + +"Is what true, madame?" inquired Danglars, visibly agitated. + +"What my maid tells me." + +"But what does she tell you?" + +"That when my coachman was about to harness the horses to my +carriage, he discovered that they had been removed from the +stables without his knowledge. I desire to know what is the +meaning of this?" + +"Be kind enough, madame, to listen to me," said Danglars. + +"Oh, yes; I will listen, monsieur, for I am most curious to +hear what explanation you will give. These two gentlemen +shall decide between us; but, first, I will state the case +to them. Gentlemen," continued the baroness, "among the ten +horses in the stables of Baron Danglars, are two that belong +exclusively to me -- a pair of the handsomest and most +spirited creatures to be found in Paris. But to you, at +least, M. Debray, I need not give a further description, +because to you my beautiful pair of dappled grays were well +known. Well, I had promised Madame de Villefort the loan of +my carriage to drive to-morrow to the Bois; but when my +coachman goes to fetch the grays from the stables they are +gone -- positively gone. No doubt M. Danglars has sacrificed +them to the selfish consideration of gaining some thousands +of paltry francs. Oh, what a detestable crew they are, these +mercenary speculators!" + +"Madame," replied Danglars, "the horses were not +sufficiently quiet for you; they were scarcely four years +old, and they made me extremely uneasy on your account." + +"Nonsense," retorted the baroness; "you could not have +entertained any alarm on the subject, because you are +perfectly well aware that I have had for a month in my +service the very best coachman in Paris. But, perhaps, you +have disposed of the coachman as well as the horses?" + +"My dear love, pray do not say any more about them, and I +promise you another pair exactly like them in appearance, +only more quiet and steady." The baroness shrugged her +shoulders with an air of ineffable contempt, while her +husband, affecting not to observe this unconjugal gesture, +turned towards Monte Cristo and said, -- "Upon my word, +count, I am quite sorry not to have met you sooner. You are +setting up an establishment, of course?" + +"Why, yes," replied the count. + +"I should have liked to have made you the offer of these +horses. I have almost given them away, as it is; but, as I +before said, I was anxious to get rid of them upon any +terms. They were only fit for a young man." + +"I am much obliged by your kind intentions towards me," said +Monte Cristo; "but this morning I purchased a very excellent +pair of carriage-horses, and I do not think they were dear. +There they are. Come, M. Debray, you are a connoisseur, I +believe, let me have your opinion upon them." As Debray +walked towards the window, Danglars approached his wife. "I +could not tell you before others," said he in a low tone, +"the reason of my parting with the horses; but a most +enormous price was offered me this morning for them. Some +madman or fool, bent upon ruining himself as fast as he can, +actually sent his steward to me to purchase them at any +cost; and the fact is, I have gained 16,000 francs by the +sale of them. Come, don't look so angry, and you shall have +4,000 francs of the money to do what you like with, and +Eugenie shall have 2,000. There, what do you think now of +the affair? Wasn't I right to part with the horses?" Madame +Danglars surveyed her husband with a look of withering +contempt. + +"Great heavens?" suddenly exclaimed Debray. + +"What is it?" asked the baroness. + +"I cannot be mistaken; there are your horses! The very +animals we were speaking of, harnessed to the count's +carriage!" + +"My dappled grays?" demanded the baroness, springing to the +window. "'Tis indeed they!" said she. Danglars looked +absolutely stupefied. "How very singular," cried Monte +Cristo with well-feigned astonishment. + +"I cannot believe it," murmured the banker. Madame Danglars +whispered a few words in the ear of Debray, who approached +Monte Cristo, saying, "The baroness wishes to know what you +paid her husband for the horses." + +"I scarcely know," replied the count; "it was a little +surprise prepared for me by my steward, and cost me -- well, +somewhere about 30,000 francs." Debray conveyed the count's +reply to the baroness. Poor Danglars looked so crest-fallen +and discomfited that Monte Cristo assumed a pitying air +towards him. "See," said the count, "how very ungrateful +women are. Your kind attention, in providing for the safety +of the baroness by disposing of the horses, does not seem to +have made the least impression on her. But so it is; a woman +will often, from mere wilfulness, prefer that which is +dangerous to that which is safe. Therefore, in my opinion, +my dear baron, the best and easiest way is to leave them to +their fancies, and allow them to act as they please, and +then, if any mischief follows, why, at least, they have no +one to blame but themselves." Danglars made no reply; he was +occupied in anticipations of the coming scene between +himself and the baroness, whose frowning brow, like that of +Olympic Jove, predicted a storm. Debray, who perceived the +gathering clouds, and felt no desire to witness the +explosion of Madame Danglars' rage, suddenly recollected an +appointment, which compelled him to take his leave; while +Monte Cristo, unwilling by prolonging his stay to destroy +the advantages he hoped to obtain, made a farewell bow and +departed, leaving Danglars to endure the angry reproaches of +his wife. + +"Excellent," murmured Monte Cristo to himself, as he came +away. "All his gone according to my wishes. The domestic +peace of this family is henceforth in my hands. Now, then, +to play another master-stroke, by which I shall gain the +heart of both husband and wife -- delightful! Still," added +he, "amid all this, I have not yet been presented to +Mademoiselle Eugenie Danglars, whose acquaintance I should +have been glad to make. But," he went on with his peculiar +smile, "I am here in Paris, and have plenty of time before +me -- by and by will do for that." With these reflections he +entered his carriage and returned home. Two hours +afterwards, Madame Danglars received a most flattering +epistle from the count, in which he entreated her to receive +back her favorite "dappled grays," protesting that he could +not endure the idea of making his entry into the Parisian +world of fashion with the knowledge that his splendid +equipage had been obtained at the price of a lovely woman's +regrets. The horses were sent back wearing the same harness +she had seen on them in the morning; only, by the count's +orders, in the centre of each rosette that adorned either +side of their heads, had been fastened a large diamond. + +To Danglars Monte Cristo also wrote, requesting him to +excuse the whimsical gift of a capricious millionaire, and +to beg the baroness to pardon the Eastern fashion adopted in +the return of the horses. + +During the evening, Monte Cristo quitted Paris for Auteuil, +accompanied by Ali. The following day, about three o'clock, +a single blow struck on the gong summoned Ali to the +presence of the count. "Ali," observed his master, as the +Nubian entered the chamber, "you have frequently explained +to me how more than commonly skilful you are in throwing the +lasso, have you not?" Ali drew himself up proudly, and then +returned a sign in the affirmative. "I thought I did not +mistake. With your lasso you could stop an ox?" Again Ali +repeated his affirmative gesture. "Or a tiger?" Ali bowed +his head in token of assent. "A lion even?" Ali sprung +forwards, imitating the action of one throwing the lasso, +then of a strangled lion. + +"I understand," said Monte Cristo; "you wish to tell me you +have hunted the lion?" Ali smiled with triumphant pride as +he signified that he had indeed both chased and captured +many lions. "But do you believe you could arrest the +progress of two horses rushing forwards with ungovernable +fury?" The Nubian smiled. "It is well," said Monte Cristo. +"Then listen to me. Ere long a carriage will dash past here, +drawn by the pair of dappled gray horses you saw me with +yesterday; now, at the risk of your own life, you must +manage to stop those horses before my door." + +Ali descended to the street, and marked a straight line on +the pavement immediately at the entrance of the house, and +then pointed out the line he had traced to the count, who +was watching him. The count patted him gently on the +shoulder, his usual mode of praising Ali, who, pleased and +gratified with the commission assigned him, walked calmly +towards a projecting stone forming the angle of the street +and house, and, seating himself thereon, began to smoke his +chibouque, while Monte Cristo re-entered his dwelling, +perfectly assured of the success of his plan. Still, as five +o'clock approached, and the carriage was momentarily +expected by the count, the indication of more than common +impatience and uneasiness might be observed in his manner. +He stationed himself in a room commanding a view of the +street, pacing the chamber with restless steps, stopping +merely to listen from time to time for the sound of +approaching wheels, then to cast an anxious glance on Ali; +but the regularity with which the Nubian puffed forth the +smoke of his chibouque proved that he at least was wholly +absorbed in the enjoyment of his favorite occupation. +Suddenly a distant sound of rapidly advancing wheels was +heard, and almost immediately a carriage appeared, drawn by +a pair of wild, ungovernable horses, while the terrified +coachman strove in vain to restrain their furious speed. + +In the vehicle was a young woman and a child of about seven +or eight clasped in each other's arms. Terror seemed to have +deprived them even of the power of uttering a cry. The +carriage creaked and rattled as it flew over the rough +stones, and the slightest obstacle under the wheels would +have caused disaster; but it kept on in the middle of the +road, and those who saw it pass uttered cries of terror. + +Ali suddenly cast aside his chibouque, drew the lasso from +his pocket, threw it so skilfully as to catch the forelegs +of the near horse in its triple fold, and suffered himself +to be dragged on for a few steps by the violence of the +shock, then the animal fell over on the pole, which snapped, +and therefore prevented the other horse from pursuing its +way. Gladly availing himself of this opportunity, the +coachman leaped from his box; but Ali had promptly seized +the nostrils of the second horse, and held them in his iron +grasp, till the beast, snorting with pain, sunk beside his +companion. All this was achieved in much less time than is +occupied in the recital. The brief space had, however, been +sufficient for a man, followed by a number of servants, to +rush from the house before which the accident had occurred, +and, as the coachman opened the door of the carriage, to +take from it a lady who was convulsively grasping the +cushions with one hand, while with the other she pressed to +her bosom the young boy, who had lost consciousness. + +Monte Cristo carried them both to the salon, and deposited +them on a sofa. "Compose yourself, madame," said he; "all +danger is over." The woman looked up at these words, and, +with a glance far more expressive than any entreaties could +have been, pointed to her child, who still continued +insensible. "I understand the nature of your alarms, +madame," said the count, carefully examining the child, "but +I assure you there is not the slightest occasion for +uneasiness; your little charge has not received the least +injury; his insensibility is merely the effects of terror, +and will soon pass." + +"Are you quite sure you do not say so to tranquillize my +fears? See how deadly pale he is! My child, my darling +Edward; speak to your mother -- open your dear eyes and look +on me once again! Oh, sir, in pity send for a physician; my +whole fortune shall not be thought too much for the recovery +of my boy." + +With a calm smile and a gentle wave of the hand, Monte +Cristo signed to the distracted mother to lay aside her +apprehensions; then, opening a casket that stood near, he +drew forth a phial of Bohemian glass incrusted with gold, +containing a liquid of the color of blood, of which he let +fall a single drop on the child's lips. Scarcely had it +reached them, ere the boy, though still pale as marble, +opened his eyes, and eagerly gazed around him. At this, the +delight of the mother was almost frantic. "Where am I?" +exclaimed she; "and to whom am I indebted for so happy a +termination to my late dreadful alarm?" + +"Madame," answered the count, "you are under the roof of one +who esteems himself most fortunate in having been able to +save you from a further continuance of your sufferings." + +"My wretched curiosity has brought all this about," pursued +the lady. "All Paris rung with the praises of Madame +Danglars' beautiful horses, and I had the folly to desire to +know whether they really merited the high praise given to +them." + +"Is it possible," exclaimed the count with well-feigned +astonishment, "that these horses belong to the baroness?" + +"They do, indeed. May I inquire if you are acquainted with +Madame Danglars?" + +"I have that honor; and my happiness at your escape from the +danger that threatened you is redoubled by the consciousness +that I have been the unwilling and the unintentional cause +of all the peril you have incurred. I yesterday purchased +these horses of the baron; but as the baroness evidently +regretted parting with them, I ventured to send them back to +her, with a request that she would gratify me by accepting +them from my hands." + +"You are, then, doubtless, the Count of Monte Cristo, of +whom Hermine has talked to me so much?" + +"You have rightly guessed, madame," replied the count. + +"And I am Madame Heloise de Villefort." The count bowed with +the air of a person who hears a name for the first time. +"How grateful will M. de Villefort be for all your goodness; +how thankfully will he acknowledge that to you alone he owes +the existence of his wife and child! Most certainly, but for +the prompt assistance of your intrepid servant, this dear +child and myself must both have perished." + +"Indeed, I still shudder at the fearful danger you were +placed in." + +"I trust you will allow me to recompense worthily the +devotion of your man." + +"I beseech you, madame," replied Monte Cristo "not to spoil +Ali, either by too great praise or rewards. I cannot allow +him to acquire the habit of expecting to be recompensed for +every trifling service he may render. Ali is my slave, and +in saving your life he was but discharging his duty to me." + +"Nay," interposed Madame de Villefort, on whom the +authoritative style adopted by the count made a deep +impression, "nay, but consider that to preserve my life he +has risked his own." + +"His life, madame, belongs not to him; it is mine, in return +for my having myself saved him from death." Madame de +Villefort made no further reply; her mind was utterly +absorbed in the contemplation of the person who, from the +first instant she saw him, had made so powerful an +impression on her. During the evident preoccupation of +Madame de Villefort, Monte Cristo scrutinized the features +and appearance of the boy she kept folded in her arms, +lavishing on him the most tender endearments. The child was +small for his age, and unnaturally pale. A mass of straight +black hair, defying all attempts to train or curl it, fell +over his projecting forehead, and hung down to his +shoulders, giving increased vivacity to eyes already +sparkling with a youthful love of mischief and fondness for +every forbidden enjoyment. His mouth was large, and the +lips, which had not yet regained their color, were +particularly thin; in fact, the deep and crafty look, giving +a predominant expression to the child's face, belonged +rather to a boy of twelve or fourteen than to one so young. +His first movement was to free himself by a violent push +from the encircling arms of his mother, and to rush forward +to the casket from whence the count had taken the phial of +elixir; then, without asking permission of any one, he +proceeded, in all the wilfulness of a spoiled child +unaccustomed to restrain either whims or caprices, to pull +the corks out of all the bottles. + +"Touch nothing, my little friend," cried the count eagerly; +"some of those liquids are not only dangerous to taste, but +even to inhale." + +Madame de Villefort became very pale, and, seizing her son's +arm, drew him anxiously toward her; but, once satisfied of +his safety, she also cast a brief but expressive glance on +the casket, which was not lost upon the count. At this +moment Ali entered. At sight of him Madame de Villefort +uttered an expression of pleasure, and, holding the child +still closer towards her, she said, "Edward, dearest, do you +see that good man? He has shown very great courage and +resolution, for he exposed his own life to stop the horses +that were running away with us, and would certainly have +dashed the carriage to pieces. Thank him, then, my child, in +your very best manner; for, had he not come to our aid, +neither you nor I would have been alive to speak our +thanks." The child stuck out his lips and turned away his +head in a disdainful manner, saying, "He's too ugly." + +The count smiled as if the child bade fair to realize his +hopes, while Madame de Villefort reprimanded her son with a +gentleness and moderation very far from conveying the least +idea of a fault having been committed. "This lady," said the +Count, speaking to Ali in the Arabic language, "is desirous +that her son should thank you for saving both their lives; +but the boy refuses, saying you are too ugly." Ali turned +his intelligent countenance towards the boy, on whom he +gazed without any apparent emotion; but the spasmodic +working of the nostrils showed to the practiced eye of Monte +Cristo that the Arab had been wounded to the heart. + +"Will you permit me to inquire," said Madame de Villefort, +as she arose to take her leave, "whether you usually reside +here?" + +"No, I do not," replied Monte Cristo; "it is a small place I +have purchased quite lately. My place of abode is No. 30, +Avenue des Champs Elysees; but I see you have quite +recovered from your fright, and are, no doubt, desirous of +returning home. Anticipating your wishes, I have desired the +same horses you came with to be put to one of my carriages, +and Ali, he whom you think so very ugly," continued he, +addressing the boy with a smiling air, "will have the honor +of driving you home, while your coachman remains here to +attend to the necessary repairs of your calash. As soon as +that important business is concluded, I will have a pair of +my own horses harnessed to convey it direct to Madame +Danglars." + +"I dare not return with those dreadful horses," said Madame +de Villefort. + +"You will see," replied Monte Cristo, "that they will be as +different as possible in the hands of Ali. With him they +will be gentle and docile as lambs." Ali had, indeed, given +proof of this; for, approaching the animals, who had been +got upon their legs with considerable difficulty, he rubbed +their foreheads and nostrils with a sponge soaked in +aromatic vinegar, and wiped off the sweat and foam that +covered their mouths. Then, commencing a loud whistling +noise, he rubbed them well all over their bodies for several +minutes; then, undisturbed by the noisy crowd collected +round the broken carriage, Ali quietly harnessed the +pacified animals to the count's chariot, took the reins in +his hands, and mounted the box, when to the utter +astonishment of those who had witnessed the ungovernable +spirit and maddened speed of the same horses, he was +actually compelled to apply his whip in no very gentle +manner before he could induce them to start; and even then +all that could be obtained from the celebrated "dappled +grays," now changed into a couple of dull, sluggish, stupid +brutes, was a slow, pottering pace, kept up with so much +difficulty that Madame de Villefort was more than two hours +returning to her residence in the Faubourg St. Honore. + +Scarcely had the first congratulations upon her marvellous +escape been gone through when she wrote the following letter +to Madame Danglars: -- + +Dear Hermine, -- I have just had a wonderful escape from the +most imminent danger, and I owe my safety to the very Count +of Monte Cristo we were talking about yesterday, but whom I +little expected to see to-day. I remember how unmercifully I +laughed at what I considered your eulogistic and exaggerated +praises of him; but I have now ample cause to admit that +your enthusiastic description of this wonderful man fell far +short of his merits. Your horses got as far as Ranelagh, +when they darted forward like mad things, and galloped away +at so fearful a rate, that there seemed no other prospect +for myself and my poor Edward but that of being dashed to +pieces against the first object that impeded their progress, +when a strange-looking man, -- an Arab, a negro, or a +Nubian, at least a black of some nation or other -- at a +signal from the count, whose domestic he is, suddenly seized +and stopped the infuriated animals, even at the risk of +being trampled to death himself; and certainly he must have +had a most wonderful escape. The count then hastened to us, +and took us into his house, where he speedily recalled my +poor Edward to life. He sent us home in his own carriage. +Yours will be returned to you to-morrow. You will find your +horses in bad condition, from the results of this accident; +they seem thoroughly stupefied, as if sulky and vexed at +having been conquered by man. The count, however, his +commissioned me to assure you that two or three days' rest, +with plenty of barley for their sole food during that time, +will bring them back to as fine, that is as terrifying, a +condition as they were in yesterday. Adieu! I cannot return +you many thanks for the drive of yesterday; but, after all, +I ought not to blame you for the misconduct of your horses, +more especially as it procured me the pleasure of an +introduction to the Count of Monte Cristo, -- and certainly +that illustrious personage, apart from the millions he is +said to be so very anxious to dispose of, seemed to me one +of those curiously interesting problems I, for one, delight +in solving at any risk, even if it were to necessitate +another drive to the Bois behind your horses. Edward endured +the accident with miraculous courage -- he did not utter a +single cry, but fell lifeless into my arms; nor did a tear +fall from his eyes after it was over. I doubt not you will +consider these praises the result of blind maternal +affection, but there is a soul of iron in that delicate, +fragile body. Valentine sends many affectionate remembrances +to your dear Eugenie. I embrace you with all my heart. + +Heloise de Villefort. + +P.S. -- Do pray contrive some means for me to meet the Count +of Monte Cristo at your house. I must and will see him +again. I have just made M. de Villefort promise to call on +him, and I hope the visit will be returned. + +That night the adventure at Auteuil was talked of +everywhere. Albert related it to his mother; Chateau-Renaud +recounted it at the Jockey Club, and Debray detailed it at +length in the salons of the minister; even Beauchamp +accorded twenty lines in his journal to the relation of the +count's courage and gallantry, thereby celebrating him as +the greatest hero of the day in the eyes of all the feminine +members of the aristocracy. Vast was the crowd of visitors +and inquiring friends who left their names at the residence +of Madame de Villefort, with the design of renewing their +visit at the right moment, of hearing from her lips all the +interesting circumstances of this most romantic adventure. +As for M. de Villefort, he fulfilled the predictions of +Heloise to the letter, -- donned his dress suit, drew on a +pair of white gloves, ordered the servants to attend the +carriage dressed in their full livery, and drove that same +night to No. 30 in the Avenue des Champs-Elysees. + + + +Chapter 48 +Ideology. + +If the Count of Monte Cristo had been for a long time +familiar with the ways of Parisian society, he would have +appreciated better the significance of the step which M. de +Villefort had taken. Standing well at court, whether the +king regnant was of the older or younger branch, whether the +government was doctrinaire liberal, or conservative; looked +upon by all as a man of talent, since those who have never +experienced a political check are generally so regarded; +hated by many, but warmly supported by others, without being +really liked by anybody, M. de Villefort held a high +position in the magistracy, and maintained his eminence like +a Harlay or a Mole. His drawing-room, under the regenerating +influence of a young wife and a daughter by his first +marriage, scarcely eighteen, was still one of the +well-regulated Paris salons where the worship of traditional +customs and the observance of rigid etiquette were carefully +maintained. A freezing politeness, a strict fidelity to +government principles, a profound contempt for theories and +theorists, a deep-seated hatred of ideality, -- these were +the elements of private and public life displayed by M. de +Villefort. + +He was not only a magistrate, he was almost a diplomatist. +His relations with the former court, of which he always +spoke with dignity and respect, made him respected by the +new one, and he knew so many things, that not only was he +always carefully considered, but sometimes consulted. +Perhaps this would not have been so had it been possible to +get rid of M. de Villefort; but, like the feudal barons who +rebelled against their sovereign, he dwelt in an impregnable +fortress. This fortress was his post as king's attorney, all +the advantages of which he exploited with marvellous skill, +and which he would not have resigned but to be made deputy, +and thus to replace neutrality by opposition. Ordinarily M. +de Villefort made and returned very few visits. His wife +visited for him, and this was the received thing in the +world, where the weighty and multifarious occupations of the +magistrate were accepted as an excuse for what was really +only calculated pride, a manifestation of professed +superiority -- in fact, the application of the axiom, +"Pretend to think well of yourself, and the world will think +well of you," an axiom a hundred times more useful in +society nowadays than that of the Greeks, "Know thyself," a +knowledge for which, in our days, we have substituted the +less difficult and more advantageous science of knowing +others. + +To his friends M. de Villefort was a powerful protector; to +his enemies, he was a silent, but bitter opponent; for those +who were neither the one nor the other, he was a statue of +the law-made man. He had a haughty bearing, a look either +steady and impenetrable or insolently piercing and +inquisitorial. Four successive revolutions had built and +cemented the pedestal upon which his fortune was based. M. +de Villefort had the reputation of being the least curious +and the least wearisome man in France. He gave a ball every +year, at which he appeared for a quarter of an hour only, -- +that is to say, five and forty minutes less than the king is +visible at his balls. He was never seen at the theatres, at +concerts, or in any place of public resort. Occasionally, +but seldom, he played at whist, and then care was taken to +select partners worthy of him -- sometimes they were +ambassadors, sometimes archbishops, or sometimes a prince, +or a president, or some dowager duchess. Such was the man +whose carriage had just now stopped before the Count of +Monte Cristo's door. The valet de chambre announced M. de +Villefort at the moment when the count, leaning over a large +table, was tracing on a map the route from St. Petersburg to +China. + +The procureur entered with the same grave and measured step +he would have employed in entering a court of justice. He +was the same man, or rather the development of the same man, +whom we have heretofore seen as assistant attorney at +Marseilles. Nature, according to her way, had made no +deviation in the path he had marked out for himself. From +being slender he had now become meagre; once pale, he was +now yellow; his deep-set eyes were hollow, and the gold +spectacles shielding his eyes seemed to be an integral +portion of his face. He dressed entirely in black, with the +exception of his white tie, and his funeral appearance was +only mitigated by the slight line of red ribbon which passed +almost imperceptibly through his button-hole, and appeared +like a streak of blood traced with a delicate brush. +Although master of himself, Monte Cristo, scrutinized with +irrepressible curiosity the magistrate whose salute he +returned, and who, distrustful by habit, and especially +incredulous as to social prodigies, was much more dispised +to look upon "the noble stranger," as Monte Cristo was +already called, as an adventurer in search of new fields, or +an escaped criminal, rather than as a prince of the Holy +See, or a sultan of the Thousand and One Nights. + +"Sir," said Villefort, in the squeaky tone assumed by +magistrates in their oratorical periods, and of which they +cannot, or will not, divest themselves in society, "sir, the +signal service which you yesterday rendered to my wife and +son has made it a duty for me to offer you my thanks. I have +come, therefore, to discharge this duty, and to express to +you my overwhelming gratitude." And as he said this, the +"eye severe" of the magistrate had lost nothing of its +habitual arrogance. He spoke in a voice of the +procureur-general, with the rigid inflexibility of neck and +shoulders which caused his flatterers to say (as we have +before observed) that he was the living statue of the law. + +"Monsieur," replied the count, with a chilling air, "I am +very happy to have been the means of preserving a son to his +mother, for they say that the sentiment of maternity is the +most holy of all; and the good fortune which occurred to me, +monsieur, might have enabled you to dispense with a duty +which, in its discharge, confers an undoubtedly great honor; +for I am aware that M. de Villefort is not usually lavish of +the favor which he now bestows on me, -- a favor which, +however estimable, is unequal to the satisfaction which I +have in my own consciousness." Villefort, astonished at this +reply, which he by no means expected, started like a soldier +who feels the blow levelled at him over the armor he wears, +and a curl of his disdainful lip indicated that from that +moment he noted in the tablets of his brain that the Count +of Monte Cristo was by no means a highly bred gentleman. He +glanced around. in order to seize on something on which the +conversation might turn, and seemed to fall easily on a +topic. He saw the map which Monte Cristo had been examining +when he entered, and said, "You seem geographically engaged, +sir? It is a rich study for you, who, as I learn, have seen +as many lands as are delineated on this map." + +"Yes, sir," replied the count; "l have sought to make of the +human race, taken in the mass, what you practice every day +on individuals -- a physiological study. I have believed it +was much easier to descend from the whole to a part than to +ascend from a part to the whole. It is an algebraic axiom, +which makes us proceed from a known to an unknown quantity, +and not from an unknown to a known; but sit down, sir, I beg +of you." + +Monte Cristo pointed to a chair, which the procureur was +obliged to take the trouble to move forwards himself, while +the count merely fell back into his own, on which he had +been kneeling when M. Villefort entered. Thus the count was +halfway turned towards his visitor, having his back towards +the window, his elbow resting on the geographical chart +which furnished the theme of conversation for the moment, -- +a conversation which assumed, as in the case of the +interviews with Danglars and Morcerf, a turn analogous to +the persons, if not to the situation. "Ah, you +philosophize," replied Villefort, after a moment's silence, +during which, like a wrestler who encounters a powerful +opponent, he took breath; "well, sir, really, if, like you, +I had nothing else to do, I should seek a more amusing +occupation." + +"Why, in truth, sir," was Monte Cristo's reply, "man is but +an ugly caterpillar for him who studies him through a solar +microscope; but you said, I think, that I had nothing else +to do. Now, really, let me ask, sir, have you? -- do you +believe you have anything to do? or to speak in plain terms, +do you really think that what you do deserves being called +anything?" + +Villefort's astonishment redoubled at this second thrust so +forcibly made by his strange adversary. It was a long time +since the magistrate had heard a paradox so strong, or +rather, to say the truth more exactly, it was the first time +he had ever heard of it. The procureur exerted himself to +reply. "Sir," he responded, "you are a stranger, and I +believe you say yourself that a portion of your life has +been spent in Oriental countries, so you are not aware how +human justice, so expeditions in barbarous countries, takes +with us a prudent and well-studied course." + +"Oh, yes -- yes, I do, sir; it is the pede claudo of the +ancients. I know all that, for it is with the justice of all +countries especially that I have occupied myself -- it is +with the criminal procedure of all nations that I have +compared natural justice, and I must say, sir, that it is +the law of primitive nations, that is, the law of +retaliation, that I have most frequently found to be +according to the law of God." + +"If this law were adopted, sir," said the procureur, "it +would greatly simplify our legal codes, and in that case the +magistrates would not (as you just observed) have much to +do." + +"It may, perhaps, come to this in time," observed Monte +Cristo; "you know that human inventions march from the +complex to the simple, and simplicity is always perfection." + +"In the meanwhile," continued the magistrate, "our codes are +in full force, with all their contradictory enactments +derived from Gallic customs, Roman laws, and Frank usages; +the knowledge of all which, you will agree, is not to be +acquired without extended labor; it needs tedious study to +acquire this knowledge, and, when acquired, a strong power +of brain to retain it." + +"I agree with you entirely, sir; but all that even you know +with respect to the French code, I know, not only in +reference to that code, but as regards the codes of all +nations. The English, Turkish, Japanese, Hindu laws, are as +familiar to me as the French laws, and thus I was right, +when I said to you, that relatively (you know that +everything is relative, sir) -- that relatively to what I +have done, you have very little to do; but that relatively +to all I have learned, you have yet a great deal to learn." + +"But with what motive have you learned all this?" inquired +Villefort, in astonishment. Monte Cristo smiled. "Really, +sir," he observed, "I see that in spite of the reputation +which you have acquired as a superior man, you look at +everything from the material and vulgar view of society, +beginning with man, and ending with man -- that is to say, +in the most restricted, most narrow view which it is +possible for human understanding to embrace." + +"Pray, sir, explain yourself," said Villefort, more and more +astonished, "I really do -- not -- understand you -- +perfectly." + +"I say, sir, that with the eyes fixed on the social +organization of nations, you see only the springs of the +machine, and lose sight of the sublime workman who makes +them act; I say that you do not recognize before you and +around you any but those office-holders whose commissions +have been signed by a minister or king; and that the men +whom God has put above those office-holders, ministers, and +kings, by giving them a mission to follow out, instead of a +post to fill -- I say that they escape your narrow, limited +field of observation. It is thus that human weakness fails, +from its debilitated and imperfect organs. Tobias took the +angel who restored him to light for an ordinary young man. +The nations took Attila, who was doomed to destroy them, for +a conqueror similar to other conquerors, and it was +necessary for both to reveal their missions, that they might +be known and acknowledged; one was compelled to say, `I am +the angel of the Lord'; and the other, `I am the hammer of +God,' in order that the divine essence in both might be +revealed." + +"Then," said Villefort, more and more amazed, and really +supposing he was speaking to a mystic or a madman, "you +consider yourself as one of those extraordinary beings whom +you have mentioned?" + +"And why not?" said Monte Cristo coldly. + +"Your pardon, sir," replied Villefort, quite astounded, "but +you will excuse me if, when I presented myself to you, I was +unaware that I should meet with a person whose knowledge and +understanding so far surpass the usual knowledge and +understanding of men. It is not usual with us corrupted +wretches of civilization to find gentlemen like yourself, +possessors, as you are, of immense fortune -- at least, so +it is said -- and I beg you to observe that I do not +inquire, I merely repeat; -- it is not usual, I say, for +such privileged and wealthy beings to waste their time in +speculations on the state of society, in philosophical +reveries, intended at best to console those whom fate has +disinherited from the goods of this world." + +"Really, sir," retorted the count, "have you attained the +eminent situation in which you are, without having admitted, +or even without having met with exceptions? and do you never +use your eyes, which must have acquired so much finesse and +certainty, to divine, at a glance, the kind of man by whom +you are confronted? Should not a magistrate be not merely +the best administrator of the law, but the most crafty +expounder of the chicanery of his profession, a steel probe +to search hearts, a touchstone to try the gold which in each +soul is mingled with more or less of alloy?" + +"Sir," said Villefort, "upon my word, you overcome me. I +really never heard a person speak as you do." + +"Because you remain eternally encircled in a round of +general conditions, and have never dared to raise your wings +into those upper spheres which God has peopled with +invisible or exceptional beings." + +"And you allow then, sir, that spheres exist, and that these +marked and invisible beings mingle amongst us?" + +"Why should they not? Can you see the air you breathe, and +yet without which you could not for a moment exist?" + +"Then we do not see those beings to whom you allude?" + +"Yes, we do; you see them whenever God pleases to allow them +to assume a material form. You touch them, come in contact +with them, speak to them, and they reply to you." + +"Ah," said Villefort, smiling, "I confess I should like to +be warned when one of these beings is in contact with me." + +"You have been served as you desire, monsieur, for you were +warned just now, and I now again warn you." + +"Then you yourself are one of these marked beings?" + +"Yes, monsieur, I believe so; for until now, no man has +found himself in a position similar to mine. The dominions +of kings are limited either by mountains or rivers, or a +change of manners, or an alteration of language. My kingdom +is bounded only by the world, for I am not an Italian, or a +Frenchman, or a Hindu, or an American, or a Spaniard -- I am +a cosmopolite. No country can say it saw my birth. God alone +knows what country will see me die. I adopt all customs, +speak all languages. You believe me to be a Frenchman, for I +speak French with the same facility and purity as yourself. +Well, Ali, my Nubian, believes me to be an Arab; Bertuccio, +my steward, takes me for a Roman; Haidee, my slave, thinks +me a Greek. You may, therefore, comprehend, that being of no +country, asking no protection from any government, +acknowledging no man as my brother, not one of the scruples +that arrest the powerful, or the obstacles which paralyze +the weak, paralyzes or arrests me. I have only two +adversaries -- I will not say two conquerors, for with +perseverance I subdue even them, -- they are time and +distance. There is a third, and the most terrible -- that is +my condition as a mortal being. This alone can stop me in my +onward career, before I have attained the goal at which I +aim, for all the rest I have reduced to mathematical terms. +What men call the chances of fate -- namely, ruin, change, +circumstances -- I have fully anticipated, and if any of +these should overtake me, yet it will not overwhelm me. +Unless I die, I shall always be what I am, and therefore it +is that I utter the things you have never heard, even from +the mouths of kings -- for kings have need, and other +persons have fear of you. For who is there who does not say +to himself, in a society as incongruously organized as ours, +`Perhaps some day I shall have to do with the king's +attorney'?" + +"But can you not say that, sir? The moment you become an +inhabitant of France, you are naturally subjected to the +French law." + +"I know it sir," replied Monte Cristo; "but when I visit a +country I begin to study, by all the means which are +available, the men from whom I may have anything to hope or +to fear, till I know them as well as, perhaps better than, +they know themselves. It follows from this, that the king's +attorney, be he who he may, with whom I should have to deal, +would assuredly be more embarrassed than I should." + +"That is to say," replied Villefort with hesitation, "that +human nature being weak, every man, according to your creed, +has committed faults." + +"Faults or crimes," responded Monte Cristo with a negligent +air. + +"And that you alone, amongst the men whom you do not +recognize as your brothers -- for you have said so," +observed Villefort in a tone that faltered somewhat -- "you +alone are perfect." + +"No, not perfect," was the count's reply; "only +impenetrable, that's all. But let us leave off this strain, +sir, if the tone of it is displeasing to you; I am no more +disturbed by your justice than are you by my second-sight." + +"No, no, -- by no means," said Villefort, who was afraid of +seeming to abandon his ground. "No; by your brilliant and +almost sublime conversation you have elevated me above the +ordinary level; we no longer talk, we rise to dissertation. +But you know how the theologians in their collegiate chairs, +and philosophers in their controversies, occasionally say +cruel truths; let us suppose for the moment that we are +theologizing in a social way, or even philosophically, and I +will say to you, rude as it may seem, `My brother, you +sacrifice greatly to pride; you may be above others, but +above you there is God.'" + +"Above us all, sir," was Monte Cristo's response, in a tone +and with an emphasis so deep that Villefort involuntarily +shuddered. "I have my pride for men -- serpents always ready +to threaten every one who would pass without crushing them +under foot. But I lay aside that pride before God, who has +taken me from nothing to make me what I am." + +"Then, count, I admire you," said Villefort, who, for the +first time in this strange conversation, used the +aristocratic form to the unknown personage, whom, until now, +he had only called monsieur. "Yes, and I say to you, if you +are really strong, really superior, really pious, or +impenetrable, which you were right in saying amounts to the +same thing -- then be proud, sir, for that is the +characteristic of predominance. Yet you have unquestionably +some ambition." + +"I have, sir." + +"And what may it be?" + +"I too, as happens to every man once in his life, have been +taken by Satan into the highest mountain in the earth, and +when there he showed me all the kingdoms of the world, and +as he said before, so said he to me, `Child of earth, what +wouldst thou have to make thee adore me?' I reflected long, +for a gnawing ambition had long preyed upon me, and then I +replied, `Listen, -- I have always heard of providence, and +yet I have never seen him, or anything that resembles him, +or which can make me believe that he exists. I wish to be +providence myself, for I feel that the most beautiful, +noblest, most sublime thing in the world, is to recompense +and punish.' Satan bowed his head, and groaned. `You +mistake,' he said, `providence does exist, only you have +never seen him, because the child of God is as invisible as +the parent. You have seen nothing that resembles him, +because he works by secret springs, and moves by hidden +ways. All I can do for you is to make you one of the agents +of that providence.' The bargain was concluded. I may +sacrifice my soul, but what matters it?" added Monte Cristo. +"If the thing were to do again, I would again do it." +Villefort looked at Monte Cristo with extreme amazement. +"Count," he inquired, "have you any relations?" + +"No, sir, I am alone in the world." + +"So much the worse." + +"Why?" asked Monte Cristo. + +"Because then you might witness a spectacle calculated to +break down your pride. You say you fear nothing but death?" + +"I did not say that I feared it; I only said that death +alone could check the execution of my plans." + +"And old age?" + +"My end will be achieved before I grow old." + +"And madness?" + +"I have been nearly mad; and you know the axiom, -- non bis +in idem. It is an axiom of criminal law, and, consequently, +you understand its full application." + +"Sir," continued Villefort, "there is something to fear +besides death, old age, and madness. For instance, there is +apoplexy -- that lightning-stroke which strikes but does not +destroy you, and yet which brings everything to an end. You +are still yourself as now, and yet you are yourself no +longer; you who, like Ariel, verge on the angelic, are but +an inert mass, which, like Caliban, verges on the brutal; +and this is called in human tongues, as I tell you, neither +more nor less than apoplexy. Come, if so you will, count, +and continue this conversation at my house, any day you may +be willing to see an adversary capable of understanding and +anxious to refute you, and I will show you my father, M. +Noirtier de Villefort, one of the most fiery Jacobins of the +French Revolution; that is to say, he had the most +remarkable audacity, seconded by a most powerful +organization -- a man who has not, perhaps, like yourself +seen all the kingdoms of the earth, but who has helped to +overturn one of the greatest; in fact, a man who believed +himself, like you, one of the envoys, not of God, but of a +supreme being; not of providence, but of fate. Well, sir, +the rupture of a blood-vessel on the lobe of the brain has +destroyed all this, not in a day, not in an hour, but in a +second. M. Noirtier, who, on the previous night, was the old +Jacobin, the old senator, the old Carbonaro, laughing at the +guillotine, the cannon, and the dagger -- M. Noirtier, +playing with revolutions -- M. Noirtier, for whom France was +a vast chess-board, from which pawns, rooks, knights, and +queens were to disappear, so that the king was checkmated -- +M. Noirtier, the redoubtable, was the next morning `poor M. +Noirtier,' the helpless old man, at the tender mercies of +the weakest creature in the household, that is, his +grandchild, Valentine; a dumb and frozen carcass, in fact, +living painlessly on, that time may be given for his frame +to decompose without his consciousness of its decay." + +"Alas, sir," said Monte Cristo "this spectacle is neither +strange to my eye nor my thought. I am something of a +physician, and have, like my fellows, sought more than once +for the soul in living and in dead matter; yet, like +providence, it has remained invisible to my eyes, although +present to my heart. A hundred writers since Socrates, +Seneca, St. Augustine, and Gall, have made, in verse and +prose, the comparison you have made, and yet I can well +understand that a father's sufferings may effect great +changes in the mind of a son. I will call on you, sir, since +you bid me contemplate, for the advantage of my pride, this +terrible spectacle, which must have been so great a source +of sorrow to your family." + +"It would have been so unquestionably, had not God given me +so large a compensation. In contrast with the old man, who +is dragging his way to the tomb, are two children just +entering into life -- Valentine, the daughter by my first +wife -- Mademoiselle Renee de Saint-Meran -- and Edward, the +boy whose life you have this day saved." + +"And what is your deduction from this compensation, sir?" +inquired Monte Cristo. + +"My deduction is," replied Villefort, "that my father, led +away by his passions, has committed some fault unknown to +human justice, but marked by the justice of God. That God, +desirous in his mercy to punish but one person, has visited +this justice on him alone." Monte Cristo with a smile on his +lips, uttered in the depths of his soul a groan which would +have made Villefort fly had he but heard it. "Adieu, sir," +said the magistrate, who had risen from his seat; "I leave +you, bearing a remembrance of you -- a remembrance of +esteem, which I hope will not be disagreeable to you when +you know me better; for I am not a man to bore my friends, +as you will learn. Besides, you have made an eternal friend +of Madame de Villefort." The count bowed, and contented +himself with seeing Villefort to the door of his cabinet, +the procureur being escorted to his carriage by two footmen, +who, on a signal from their master, followed him with every +mark of attention. When he had gone, Monte Cristo breathed a +profound sigh, and said, -- "Enough of this poison, let me +now seek the antidote." Then sounding his bell, he said to +Ali, who entered, "I am going to madam's chamber -- have the +carriage ready at one o'clock." + + + +Chapter 49 +Haidee. + +It will be recollected that the new, or rather old, +acquaintances of the Count of Monte Cristo, residing in the +Rue Meslay, were no other than Maximilian, Julie, and +Emmanuel. The very anticipations of delight to be enjoyed in +his forthcoming visits -- the bright, pure gleam of heavenly +happiness it diffused over the almost deadly warfare in +which he had voluntarily engaged, illumined his whole +countenance with a look of ineffable joy and calmness, as, +immediately after Villefort's departure, his thoughts flew +back to the cheering prospect before him, of tasting, at +least, a brief respite from the fierce and stormy passions +of his mind. Even Ali, who had hastened to obey the Count's +summons, went forth from his master's presence in charmed +amazement at the unusual animation and pleasure depicted on +features ordinarily so stern and cold; while, as though +dreading to put to flight the agreeable ideas hovering over +his patron's meditations, whatever they were, the faithful +Nubian walked on tiptoe towards the door, holding his +breath, lest its faintest sound should dissipate his +master's happy reverie. + +It was noon, and Monte Cristo had set apart one hour to be +passed in the apartments of Haidee, as though his oppressed +spirit could not all at once admit the feeling of pure and +unmixed joy, but required a gradual succession of calm and +gentle emotions to prepare his mind to receive full and +perfect happiness, in the same manner as ordinary natures +demand to be inured by degrees to the reception of strong or +violent sensations. The young Greek, as we have already +said, occupied apartments wholly unconnected with those of +the count. The rooms had been fitted up in strict accordance +with Oriental ideas; the floors were covered with the +richest carpets Turkey could produce; the walls hung with +brocaded silk of the most magnificent designs and texture; +while around each chamber luxurious divans were placed, with +piles of soft and yielding cushions, that needed only to be +arranged at the pleasure or convenience of such as sought +repose. Haidee and three French maids, and one who was a +Greek. The first three remained constantly in a small +waiting-room, ready to obey the summons of a small golden +bell, or to receive the orders of the Romaic slave, who knew +just enough French to be able to transmit her mistress's +wishes to the three other waiting-women; the latter had +received most peremptory instructions from Monte Cristo to +treat Haidee with all the deference they would observe to a +queen. + +The young girl herself generally passed her time in the +chamber at the farther end of her apartments. This was a +sort of boudoir, circular, and lighted only from the roof, +which consisted of rose-colored glass. Haidee was reclining +upon soft downy cushions, covered with blue satin spotted +with silver; her head, supported by one of her exquisitely +moulded arms, rested on the divan immediately behind her, +while the other was employed in adjusting to her lips the +coral tube of a rich narghile, through whose flexible pipe +she drew the smoke fragrant by its passage through perfumed +water. Her attitude, though perfectly natural for an Eastern +woman would, in a European, have been deemed too full of +coquettish straining after effect. Her dress, which was that +of the women of Epirus, consisted of a pair of white satin +trousers, embroidered with pink roses, displaying feet so +exquisitely formed and so delicately fair, that they might +well have been taken for Parian marble, had not the eye been +undeceived by their movements as they constantly shifted in +and out of a pair of little slippers with upturned toes, +beautifully ornamented with gold and pearls. She wore a blue +and white-striped vest, with long open sleeves, trimmed with +silver loops and buttons of pearls, and a sort of bodice, +which, closing only from the centre to the waist, exhibited +the whole of the ivory throat and upper part of the bosom; +it was fastened with three magnificent diamond clasps. The +junction of the bodice and drawers was entirely concealed by +one of the many-colored scarfs, whose brilliant hues and +rich silken fringe have rendered them so precious in the +eyes of Parisian belles. Tilted on one side of her head she +had a small cap of gold-colored silk, embroidered with +pearls; while on the other a purple rose mingled its glowing +colors with the luxuriant masses of her hair, of which the +blackness was so intense that it was tinged with blue. The +extreme beauty of the countenance, that shone forth in +loveliness that mocked the vain attempts of dress to augment +it, was peculiarly and purely Grecian; there were the large, +dark, melting eyes, the finely formed nose, the coral lips, +and pearly teeth, that belonged to her race and country. +And, to complete the whole, Haidee was in the very +springtide and fulness of youthful charms -- she had not yet +numbered more than twenty summers. + +Monte Cristo summoned the Greek attendant, and bade her +inquire whether it would be agreeable to her mistress to +receive his visit. Haidee's only reply was to direct her +servant by a sign to withdraw the tapestried curtain that +hung before the door of her boudoir, the framework of the +opening thus made serving as a sort of border to the +graceful tableau presented by the young girl's picturesque +attitude and appearance. As Monte Cristo approached, she +leaned upon the elbow of the arm that held the narghile, and +extending to him her other hand, said, with a smile of +captivating sweetness, in the sonorous language spoken by +the women of Athens and Sparta, "Why demand permission ere +you enter? Are you no longer my master, or have I ceased to +be your slave?" Monte Cristo returned her smile. "Haidee," +said he, "you well know." + +"Why do you address me so coldly -- so distantly?" asked the +young Greek. "Have I by any means displeased you? Oh, if so, +punish me as you will; but do not -- do not speak to me in +tones and manner so formal and constrained." + +"Haidee," replied the count, "you know that you are now in +France, and are free." + +"Free to do what?" asked the young girl. + +"Free to leave me." + +"Leave you? Why should I leave you?" + +"That is not for me to say; but we are now about to mix in +society -- to visit and be visited." + +"I don't wish to see anybody but you." + +"And should you see one whom you could prefer, I would not +be so unjust" -- + +"I have never seen any one I preferred to you, and I have +never loved any one but you and my father." + +"My poor child," replied Monte Cristo, "that is merely +because your father and myself are the only men who have +ever talked to you." + +"I don't want anybody else to talk to me. My father said I +was his `joy' -- you style me your `love,' -- and both of +you have called me `my child.'" + +"Do you remember your father, Haidee?" The young Greek +smiled. "He is here, and here," said she, touching her eyes +and her heart. "And where am I?" inquired Monte Cristo +laughingly. + +"You?" cried she, with tones of thrilling tenderness, "you +are everywhere!" Monte Cristo took the delicate hand of the +young girl in his, and was about to raise it to his lips, +when the simple child of nature hastily withdrew it, and +presented her cheek. "You now understand, Haidee," said the +count, "that from this moment you are absolutely free; that +here you exercise unlimited sway, and are at liberty to lay +aside or continue the costume of your country, as it may +suit your inclination. Within this mansion you are absolute +mistress of your actions, and may go abroad or remain in +your apartments as may seem most agreeable to you. A +carriage waits your orders, and Ali and Myrtho will +accompany you whithersoever you desire to go. There is but +one favor I would entreat of you." + +"Speak." + +"Guard carefully the secret of your birth. Make no allusion +to the past; nor upon any occasion be induced to pronounce +the names of your illustrious father or ill-fated mother." + +"I have already told you, my lord, that I shall see no one." + +"It is possible, Haidee, that so perfect a seclusion, though +conformable with the habits and customs of the East, may not +be practicable in Paris. Endeavor, then, to accustom +yourself to our manner of living in these northern climes as +you did to those of Rome, Florence, Milan, and Madrid; it +may be useful to you one of these days, whether you remain +here or return to the East." The young girl raised her +tearful eyes towards Monte Cristo as she said with touching +earnestness, "Whether we return to the East, you mean to +say, my lord, do you not?" + +"My child," returned Monte Cristo "you know full well that +whenever we part, it will be no fault or wish of mine; the +tree forsakes not the flower -- the flower falls from the +tree." + +"My lord," replied Haidee, "I never will leave you, for I am +sure I could not exist without you." + +"My poor girl, in ten years I shall be old, and you will be +still young." + +"My father had a long white beard, but I loved him; he was +sixty years old, but to me he was handsomer than all the +fine youths I saw." + +"Then tell me, Haidee, do you believe you shall be able to +accustom yourself to our present mode of life?" + +"Shall I see you?" + +"Every day." + +"Then what do you fear, my lord?" + +"You might find it dull." + +"No, my lord. In the morning, I shall rejoice in the +prospect of your coming, and in the evening dwell with +delight on the happiness I have enjoyed in your presence; +then too, when alone, I can call forth mighty pictures of +the past, see vast horizons bounded only by the towering +mountains of Pindus and Olympus. Oh, believe me, that when +three great passions, such as sorrow, love, and gratitude +fill the heart, ennui can find no place." + +"You are a worthy daughter of Epirus, Haidee, and your +charming and poetical ideas prove well your descent from +that race of goddesses who claim your country as their +birthplace. Depend on my care to see that your youth is not +blighted, or suffered to pass away in ungenial solitude; and +of this be well assured, that if you love me as a father, I +love you as a child." + +"You are wrong, my lord. The love I have for you is very +different from the love I had for my father. My father died, +but I did not die. If you were to die, I should die too." +The Count, with a smile of profound tenderness, extended his +hand, and she carried it to her lips. Monte Cristo, thus +attuned to the interview he proposed to hold with Morrel and +his family, departed, murmuring as he went these lines of +Pindar, "Youth is a flower of which love is the fruit; happy +is he who, after having watched its silent growth, is +permitted to gather and call it his own." The carriage was +prepared according to orders, and stepping lightly into it, +the count drove off at his usual rapid pace. + + + +Chapter 50 +The Morrel Family. + +In a very few minutes the count reached No. 7 in the Rue +Meslay. The house was of white stone, and in a small court +before it were two small beds full of beautiful flowers. In +the concierge that opened the gate the count recognized +Cocles; but as he had but one eye, and that eye had become +somewhat dim in the course of nine years, Cocles did not +recognize the count. The carriages that drove up to the door +were compelled to turn, to avoid a fountain that played in a +basin of rockwork, -- an ornament that had excited the +jealousy of the whole quarter, and had gained for the place +the appellation of "The Little Versailles." It is needless +to add that there were gold and silver fish in the basin. +The house, with kitchens and cellars below, had above the +ground-floor, two stories and attics. The whole of the +property, consisting of an immense workshop, two pavilions +at the bottom of the garden, and the garden itself, had been +purchased by Emmanuel, who had seen at a glance that he +could make of it a profitable speculation. He had reserved +the house and half the garden, and building a wall between +the garden and the workshops, had let them upon lease with +the pavilions at the bottom of the garden. So that for a +trifling sum he was as well lodged, and as perfectly shut +out from observation, as the inhabitants of the finest +mansion in the Faubourg St. Germain. The breakfast-room was +finished in oak; the salon in mahogany, and the furnishings +were of blue velvet; the bedroom was in citronwood and green +damask. There was a study for Emmanuel, who never studied, +and a music-room for Julie, who never played. The whole of +the second story was set apart for Maximilian; it was +precisely similar to his sister's apartments, except that +for the breakfast-parlor he had a billiard-room, where he +received his friends. He was superintending the grooming of +his horse, and smoking his cigar at the entrance of the +garden, when the count's carriage stopped at the gate. + +Cocles opened the gate, and Baptistin, springing from the +box, inquired whether Monsieur and Madame Herbault and +Monsieur Maximilian Morrel would see his excellency the +Count of Monte Cristo. "The Count of Monte Cristo?" cried +Morrel, throwing away his cigar and hastening to the +carriage; "I should think we would see him. Ah, a thousand +thanks, count, for not having forgotten your promise." And +the young officer shook the count's hand so warmly, that +Monte Cristo could not be mistaken as to the sincerity of +his joy, and he saw that he had been expected with +impatience, and was received with pleasure. "Come, come," +said Maximilian, "I will serve as your guide; such a man as +you are ought not to be introduced by a servant. My sister +is in the garden plucking the dead roses; my brother is +reading his two papers, the Presse and the Debats, within +six steps of her; for wherever you see Madame Herbault, you +have only to look within a circle of four yards and you will +find M. Emmanuel, and `reciprocally,' as they say at the +Polytechnic School." At the sound of their steps a young +woman of twenty to five and twenty, dressed in a silk +morning gown, and busily engaged in plucking the dead leaves +off a noisette rose-tree, raised her head. This was Julie, +who had become, as the clerk of the house of Thomson & +French had predicted, Madame Emmanuel Herbault. She uttered +a cry of surprise at the sight of a stranger, and Maximilian +began to laugh. "Don't disturb yourself, Julie," said he. +"The count has only been two or three days in Paris, but he +already knows what a fashionable woman of the Marais is, and +if he does not, you will show him." + +"Ah, monsieur," returned Julie, "it is treason in my brother +to bring you thus, but he never has any regard for his poor +sister. Penelon, Penelon!" An old man, who was digging +busily at one of the beds, stuck his spade in the earth, and +approached, cap in hand, striving to conceal a quid of +tobacco he had just thrust into his cheek. A few locks of +gray mingled with his hair, which was still thick and +matted, while his bronzed features and determined glance +well suited an old sailor who had braved the heat of the +equator and the storms of the tropics. "I think you hailed +me, Mademoiselle Julie?" said he. Penelon had still +preserved the habit of calling his master's daughter +"Mademoiselle Julie," and had never been able to change the +name to Madame Herbault. "Penelon," replied Julie, "go and +inform M. Emmanuel of this gentleman's visit, and Maximilian +will conduct him to the salon." Then, turning to Monte +Cristo, -- "I hope you will permit me to leave you for a few +minutes," continued she; and without awaiting any reply, +disappeared behind a clump of trees, and escaped to the +house by a lateral alley. + +"I am sorry to see," observed Monte Cristo to Morrel, "that +I cause no small disturbance in your house." + +"Look there," said Maximilian, laughing; "there is her +husband changing his jacket for a coat. I assure you, you +are well known in the Rue Meslay." + +"Your family appears to be a very happy one," said the +count, as if speaking to himself. + +"Oh, yes, I assure you, count, they want nothing that can +render them happy; they are young and cheerful, they are +tenderly attached to each other, and with twenty-five +thousand francs a year they fancy themselves as rich as +Rothschild." + +"Five and twenty thousand francs is not a large sum, +however," replied Monte Cristo, with a tone so sweet and +gentle, that it went to Maximilian's heart like the voice of +a father; "but they will not be content with that. Your +brother-in-law is a barrister? a doctor?" + +"He was a merchant, monsieur, and had succeeded to the +business of my poor father. M. Morrel, at his death, left +500,000 francs, which were divided between my sister and +myself, for we were his only children. Her husband, who, +when he married her, had no other patrimony than his noble +probity, his first-rate ability, and his spotless +reputation, wished to possess as much as his wife. He +labored and toiled until he had amassed 250,000 francs; six +years sufficed to achieve this object. Oh, I assure you, +sir, it was a touching spectacle to see these young +creatures, destined by their talents for higher stations, +toiling together, and through their unwillingness to change +any of the customs of their paternal house, taking six years +to accomplish what less scrupulous people would have +effected in two or three. Marseilles resounded with their +well-earned praises. At last, one day, Emmanuel came to his +wife, who had just finished making up the accounts. `Julie,' +said he to her, `Cocles has just given me the last rouleau +of a hundred francs; that completes the 250,000 francs we +had fixed as the limits of our gains. Can you content +yourself with the small fortune which we shall possess for +the future? Listen to me. Our house transacts business to +the amount of a million a year, from which we derive an +income of 40,000 francs. We can dispose of the business, if +we please, in an hour, for I have received a letter from M. +Delaunay, in which he offers to purchase the good-will of +the house, to unite with his own, for 300,000 francs. Advise +me what I had better do.' -- `Emmanuel,' returned my sister, +`the house of Morrel can only be carried on by a Morrel. Is +it not worth 300,000 francs to save our father's name from +the chances of evil fortune and failure?' -- `I thought so,' +replied Emmanuel; `but I wished to have your advice.' -- +`This is my counsel: -- Our accounts are made up and our +bills paid; all we have to do is to stop the issue of any +more, and close our office.' This was done instantly. It was +three o'clock; at a quarter past, a merchant presented +himself to insure two ships; it was a clear profit of 15,000 +francs. `Monsieur,' said Emmanuel, `have the goodness to +address yourself to M. Delaunay. We have quitted business.' +-- `How long?' inquired the astonished merchant. `A quarter +of an hour,' was the reply. And this is the reason, +monsieur," continued Maximilian, "of my sister and +brother-in-law having only 25,000 francs a year." + +Maximilian had scarcely finished his story, during which the +count's heart had swelled within him, when Emmanuel entered +wearing a hat and coat. He saluted the count with the air of +a man who is aware of the rank of his guest; then, after +having led Monte Cristo around the little garden, he +returned to the house. A large vase of Japan porcelain, +filled with flowers that loaded the air with their perfume, +stood in the salon. Julie, suitably dressed, and her hair +arranged (she had accomplished this feat in less than ten +minutes), received the count on his entrance. The songs of +the birds were heard in an aviary hard by, and the branches +of laburnums and rose acacias formed an exquisite framework +to the blue velvet curtains. Everything in this charming +retreat, from the warble of the birds to the smile of the +mistress, breathed tranquillity and repose. The count had +felt the influence of this happiness from the moment he +entered the house, and he remained silent and pensive, +forgetting that he was expected to renew the conversation, +which had ceased after the first salutations had been +exchanged. The silence became almost painful when, by a +violent effort, tearing himself from his pleasing reverie -- +"Madame," said he at length, "I pray you to excuse my +emotion, which must astonish you who are only accustomed to +the happiness I meet here; but contentment is so new a sight +to me, that I could never be weary of looking at yourself +and your husband." + +"We are very happy, monsieur," replied Julie; "but we have +also known unhappiness, and few have ever undergone more +bitter sufferings than ourselves." The Count's features +displayed an expression of the most intense curiosity. + +"Oh, all this is a family history, as Chateau-Renaud told +you the other day," observed Maximilian. "This humble +picture would have but little interest for you, accustomed +as you are to behold the pleasures and the misfortunes of +the wealthy and industrious; but such as we are, we have +experienced bitter sorrows." + +"And God has poured balm into your wounds, as he does into +those of all who are in affliction?" said Monte Cristo +inquiringly. + +"Yes, count," returned Julie, "we may indeed say he has, for +he has done for us what he grants only to his chosen; he +sent us one of his angels." The count's cheeks became +scarlet, and he coughed, in order to have an excuse for +putting his handkerchief to his mouth. "Those born to +wealth, and who have the means of gratifying every wish," +said Emmanuel, "know not what is the real happiness of life, +just as those who have been tossed on the stormy waters of +the ocean on a few frail planks can alone realize the +blessings of fair weather." + +Monte Cristo rose, and without making any answer (for the +tremulousness of his voice would have betrayed his emotion) +walked up and down the apartment with a slow step. + +"Our magnificence makes you smile, count," said Maximilian, +who had followed him with his eyes. "No, no," returned Monte +Cristo, pale as death, pressing one hand on his heart to +still its throbbings, while with the other he pointed to a +crystal cover, beneath which a silken purse lay on a black +velvet cushion. "I was wondering what could be the +significance of this purse, with the paper at one end and +the large diamond at the other." + +"Count," replied Maximilian, with an air of gravity, "those +are our most precious family treasures." + +"The stone seems very brilliant," answered the count. + +"Oh, my brother does not allude to its value, although it +has been estimated at 100,000 francs; he means, that the +articles contained in this purse are the relics of the angel +I spoke of just now." + +"This I do not comprehend; and yet I may not ask for an +explanation, madame," replied Monte Cristo bowing. "Pardon +me, I had no intention of committing an indiscretion." + +"Indiscretion, -- oh, you make us happy by giving us an +excuse for expatiating on this subject. If we wanted to +conceal the noble action this purse commemorates, we should +not expose it thus to view. Oh, would we could relate it +everywhere, and to every one, so that the emotion of our +unknown benefactor might reveal his presence." + +"Ah, really," said Monte Cristo in a half-stifled voice. + +"Monsieur," returned Maximilian, raising the glass cover, +and respectfully kissing the silken purse, "this has touched +the hand of a man who saved my father from suicide, us from +ruin, and our name from shame and disgrace, -- a man by +whose matchless benevolence we poor children, doomed to want +and wretchedness, can at present hear every one envying our +happy lot. This letter" (as he spoke, Maximilian drew a +letter from the purse and gave it to the count) -- "this +letter was written by him the day that my father had taken a +desperate resolution, and this diamond was given by the +generous unknown to my sister as her dowry." Monte Cristo +opened the letter, and read it with an indescribable feeling +of delight. It was the letter written (as our readers know) +to Julie, and signed "Sinbad the Sailor." "Unknown you say, +is the man who rendered you this service -- unknown to you?" + +"Yes; we have never had the happiness of pressing his hand," +continued Maximilian. "We have supplicated heaven in vain to +grant us this favor, but the whole affair has had a +mysterious meaning that we cannot comprehend -- we have been +guided by an invisible hand, -- a hand as powerful as that +of an enchanter." + +"Oh," cried Julie, "I have not lost all hope of some day +kissing that hand, as I now kiss the purse which he has +touched. Four years ago, Penelon was at Trieste -- Penelon, +count, is the old sailor you saw in the garden, and who, +from quartermaster, has become gardener -- Penelon, when he +was at Trieste, saw on the quay an Englishman, who was on +the point of embarking on board a yacht, and he recognized +him as the person who called on my father the fifth of June, +1829, and who wrote me this letter on the fifth of +September. He felt convinced of his identity, but he did not +venture to address him." + +"An Englishman," said Monte Cristo, who grew uneasy at the +attention with which Julie looked at him. "An Englishman you +say?" + +"Yes," replied Maximilian, "an Englishman, who represented +himself as the confidential clerk of the house of Thomson & +French, at Rome. It was this that made me start when you +said the other day, at M. de Morcerf's, that Messrs. Thomson +& French were your bankers. That happened, as I told you, in +1829. For God's sake, tell me, did you know this +Englishman?" + +"But you tell me, also, that the house of Thomson & French +have constantly denied having rendered you this service?" + +"Yes." + +"Then is it not probable that this Englishman may be some +one who, grateful for a kindness your father had shown him, +and which he himself had forgotten, has taken this method of +requiting the obligation?" + +"Everything is possible in this affair, even a miracle." + +"What was his name?" asked Monte Cristo. + +"He gave no other name," answered Julie, looking earnestly +at the count, "than that at the end of his letter -- `Sinbad +the Sailor.'" + +"Which is evidently not his real name, but a fictitious +one." + +Then, noticing that Julie was struck with the sound of his +voice, -- + +"Tell me," continued he, "was he not about my height, +perhaps a little taller, with his chin imprisoned, as it +were, in a high cravat; his coat closely buttoned up, and +constantly taking out his pencil?" + +"Oh, do you then know him?" cried Julie, whose eyes sparkled +with joy. + +"No," returned Monte Cristo "I only guessed. I knew a Lord +Wilmore, who was constantly doing actions of this kind." + +"Without revealing himself?" + +"He was an eccentric being, and did not believe in the +existence of gratitude." + +"Oh, heaven," exclaimed Julie, clasping her hands, "in what +did he believe, then?" + +"He did not credit it at the period which I knew him," said +Monte Cristo, touched to the heart by the accents of Julie's +voice; "but, perhaps, since then he has had proofs that +gratitude does exist." + +"And do you know this gentleman, monsieur?" inquired +Emmanuel. + +"Oh, if you do know him," cried Julie, "can you tell us +where he is -- where we can find him? Maximilian -- Emmanuel +-- if we do but discover him, he must believe in the +gratitude of the heart!" Monte Cristo felt tears start into +his eyes, and he again walked hastily up and down the room. + +"In the name of heaven," said Maximilian, "if you know +anything of him, tell us what it is." + +"Alas," cried Monte Cristo, striving to repress his emotion, +"if Lord Wilmore was your unknown benefactor, I fear you +will never see him again. I parted from him two years ago at +Palermo, and he was then on the point of setting out for the +most remote regions; so that I fear he will never return." + +"Oh, monsieur, this is cruel of you," said Julie, much +affected; and the young lady's eyes swam with tears. + +"Madame," replied Monte Cristo gravely, and gazing earnestly +on the two liquid pearls that trickled down Julie's cheeks, +"had Lord Wilmore seen what I now see, he would become +attached to life, for the tears you shed would reconcile him +to mankind;" and he held out his hand to Julie, who gave him +hers, carried away by the look and accent of the count. +"But," continued she, "Lord Wilmore had a family or friends, +he must have known some one, can we not -- " + +"Oh, it is useless to inquire," returned the count; +"perhaps, after all, he was not the man you seek for. He was +my friend: he had no secrets from me, and if this had been +so he would have confided in me." + +"And he told you nothing?" + +"Not a word." + +"Nothing that would lead you to suppose?" + +"Nothing." + +"And yet you spoke of him at once." + +"Ah, in such a case one supposes" -- + +"Sister, sister," said Maximilian, coming to the count's +aid, "monsieur is quite right. Recollect what our excellent +father so often told us, `It was no Englishman that thus +saved us.'" Monte Cristo started. "What did your father tell +you, M. Morrel?" said he eagerly. + +"My father thought that this action had been miraculously +performed -- he believed that a benefactor had arisen from +the grave to save us. Oh, it was a touching superstition, +monsieur, and although I did not myself believe it, I would +not for the world have destroyed my father's faith. How +often did he muse over it and pronounce the name of a dear +friend -- a friend lost to him forever; and on his +death-bed, when the near approach of eternity seemed to have +illumined his mind with supernatural light, this thought, +which had until then been but a doubt, became a conviction, +and his last words were, `Maximilian, it was Edmond +Dantes!'" At these words the count's paleness, which had for +some time been increasing, became alarming; he could not +speak; he looked at his watch like a man who has forgotten +the hour, said a few hurried words to Madame Herbault, and +pressing the hands of Emmanuel and Maximilian, -- "Madame," +said he, "I trust you will allow me to visit you +occasionally; I value your friendship, and feel grateful to +you for your welcome, for this is the first time for many +years that I have thus yielded to my feelings;" and he +hastily quitted the apartment. + +"This Count of Monte Cristo is a strange man," said +Emmanuel. + +"Yes," answered Maximilian, "but I feel sure he has an +excellent heart, and that he likes us." + +"His voice went to my heart," observed Julie; "and two or +three times I fancied that I had heard it before." + + + +Chapter 51 +Pyramus and Thisbe. + +About two-thirds of the way along the Faubourg Saint-Honore, +and in the rear of one of the most imposing mansions in this +rich neighborhood, where the various houses vie with each +other for elegance of design and magnificence of +construction, extended a large garden, where the +wide-spreading chestnut-trees raised their heads high above +the walls in a solid rampart, and with the coming of every +spring scattered a shower of delicate pink and white +blossoms into the large stone vases that stood upon the two +square pilasters of a curiously wrought iron gate, that +dated from the time of Louis XII. This noble entrance, +however, in spite of its striking appearance and the +graceful effect of the geraniums planted in the two vases, +as they waved their variegated leaves in the wind and +charmed the eye with their scarlet bloom, had fallen into +utter disuse. The proprietors of the mansion had many years +before thought it best to confine themselves to the +possession of the house itself, with its thickly planted +court-yard, opening into the Faubourg Saint-Honore, and to +the garden shut in by this gate, which formerly communicated +with a fine kitchen-garden of about an acre. For the demon +of speculation drew a line, or in other words projected a +street, at the farther side of the kitchen-garden. The +street was laid out, a name was chosen and posted up on an +iron plate, but before construction was begun, it occurred +to the possessor of the property that a handsome sum might +be obtained for the ground then devoted to fruits and +vegetables, by building along the line of the proposed +street, and so making it a branch of communication with the +Faubourg Saint-Honore itself, one of the most important +thoroughfares in the city of Paris. + +In matters of speculation, however, though "man proposes," +"money disposes." From some such difficulty the newly named +street died almost in birth, and the purchaser of the +kitchen-garden, having paid a high price for it, and being +quite unable to find any one willing to take his bargain off +his hands without a considerable loss, yet still clinging to +the belief that at some future day he should obtain a sum +for it that would repay him, not only for his past outlay, +but also the interest upon the capital locked up in his new +acquisition, contented himself with letting the ground +temporarily to some market-gardeners, at a yearly rental of +500 francs. And so, as we have said, the iron gate leading +into the kitchen-garden had been closed up and left to the +rust, which bade fair before long to eat off its hinges, +while to prevent the ignoble glances of the diggers and +delvers of the ground from presuming to sully the +aristocratic enclosure belonging to the mansion, the gate +had been boarded up to a height of six feet. True, the +planks were not so closely adjusted but that a hasty peep +might be obtained through their interstices; but the strict +decorum and rigid propriety of the inhabitants of the house +left no grounds for apprehending that advantage would be +taken of that circumstance. + +Horticulture seemed, however, to have been abandoned in the +deserted kitchen-garden; and where cabbages, carrots, +radishes, pease, and melons had once flourished, a scanty +crop of lucerne alone bore evidence of its being deemed +worthy of cultivation. A small, low door gave egress from +the walled space we have been describing into the projected +street, the ground having been abandoned as unproductive by +its various renters, and had now fallen so completely in +general estimation as to return not even the one-half per +cent it had originally paid. Towards the house the +chestnut-trees we have before mentioned rose high above the +wall, without in any way affecting the growth of other +luxuriant shrubs and flowers that eagerly dressed forward to +fill up the vacant spaces, as though asserting their right +to enjoy the boon of light and air. At one corner, where the +foliage became so thick as almost to shut out day, a large +stone bench and sundry rustic seats indicated that this +sheltered spot was either in general favor or particular use +by some inhabitant of the house, which was faintly +discernible through the dense mass of verdure that partially +concealed it, though situated but a hundred paces off. + +Whoever had selected this retired portion of the grounds as +the boundary of a walk, or as a place for meditation, was +abundantly justified in the choice by the absence of all +glare, the cool, refreshing shade, the screen it afforded +from the scorching rays of the sun, that found no entrance +there even during the burning days of hottest summer, the +incessant and melodious warbling of birds, and the entire +removal from either the noise of the street or the bustle of +the mansion. On the evening of one of the warmest days +spring had yet bestowed on the inhabitants of Paris, might +be seen negligently thrown upon the stone bench, a book, a +parasol, and a work-basket, from which hung a partly +embroidered cambric handkerchief, while at a little distance +from these articles was a young woman, standing close to the +iron gate, endeavoring to discern something on the other +side by means of the openings in the planks, -- the +earnestness of her attitude and the fixed gaze with which +she seemed to seek the object of her wishes, proving how +much her feelings were interested in the matter. At that +instant the little side-gate leading from the waste ground +to the street was noiselessly opened, and a tall, powerful +young man appeared. He was dressed in a common gray blouse +and velvet cap, but his carefully arranged hair, beard and +mustache, all of the richest and glossiest black, ill +accorded with his plebeian attire. After casting a rapid +glance around him, in order to assure himself that he was +unobserved, he entered by the small gate, and, carefully +closing and securing it after him, proceeded with a hurried +step towards the barrier. + +At the sight of him she expected, though probably not in +such a costume, the young woman started in terror, and was +about to make a hasty retreat. But the eye of love had +already seen, even through the narrow chinks of the wooden +palisades, the movement of the white robe, and observed the +fluttering of the blue sash. Pressing his lips close to the +planks, he exclaimed, "Don't be alarmed, Valentine -- it is +I!" Again the timid girl found courage to return to the +gate, saying, as she did so, "And why do you come so late +to-day? It is almost dinner-time, and I had to use no little +diplomacy to get rid of my watchful mother-in-law, my +too-devoted maid, and my troublesome brother, who is always +teasing me about coming to work at my embroidery, which I am +in a fair way never to get done. So pray excuse yourself as +well as you can for having made me wait, and, after that, +tell me why I see you in a dress so singular that at first I +did not recognize you." + +"Dearest Valentine," said the young man, "the difference +between our respective stations makes me fear to offend you +by speaking of my love, but yet I cannot find myself in your +presence without longing to pour forth my soul, and tell you +how fondly I adore you. If it be but to carry away with me +the recollection of such sweet moments, I could even thank +you for chiding me, for it leaves me a gleam of hope, that +if you did not expect me (and that indeed would be worse +than vanity to suppose), at least I was in your thoughts. +You asked me the cause of my being late, and why I come +disguised. I will candidly explain the reason of both, and I +trust to your goodness to pardon me. I have chosen a trade." + +"A trade? Oh, Maximilian, how can you jest at a time when we +have such deep cause for uneasiness?" + +"Heaven keep me from jesting with that which is far dearer +to me than life itself! But listen to me, Valentine, and I +will tell you all about it. I became weary of ranging fields +and scaling walls, and seriously alarmed at the idea +suggested by you, that if caught hovering about here your +father would very likely have me sent to prison as a thief. +That would compromise the honor of the French army, to say +nothing of the fact that the continual presence of a captain +of Spahis in a place where no warlike projects could be +supposed to account for it might well create surprise; so I +have become a gardener, and, consequently, adopted the +costume of my calling." + +"What excessive nonsense you talk, Maximilian!" + +"Nonsense? Pray do not call what I consider the wisest +action of my life by such a name. Consider, by becoming a +gardener I effectually screen our meetings from all +suspicion or danger." + +"I beseech of you, Maximilian, to cease trifling, and tell +me what you really mean." + +"Simply, that having ascertained that the piece of ground on +which I stand was to let, I made application for it, was +readily accepted by the proprietor, and am now master of +this fine crop of lucerne. Think of that, Valentine! There +is nothing now to prevent my building myself a little hut on +my plantation, and residing not twenty yards from you. Only +imagine what happiness that would afford me. I can scarcely +contain myself at the bare idea. Such felicity seems above +all price -- as a thing impossible and unattainable. But +would you believe that I purchase all this delight, joy, and +happiness, for which I would cheerfully have surrendered ten +years of my life, at the small cost of 500 francs per annum, +paid quarterly? Henceforth we have nothing to fear. I am on +my own ground, and have an undoubted right to place a ladder +against the wall, and to look over when I please, without +having any apprehensions of being taken off by the police as +a suspicious character. I may also enjoy the precious +privilege of assuring you of my fond, faithful, and +unalterable affection, whenever you visit your favorite +bower, unless, indeed, it offends your pride to listen to +professions of love from the lips of a poor workingman, clad +in a blouse and cap." A faint cry of mingled pleasure and +surprise escaped from the lips of Valentine, who almost +instantly said, in a saddened tone, as though some envious +cloud darkened the joy which illumined her heart, "Alas, no, +Maximilian, this must not be, for many reasons. We should +presume too much on our own strength, and, like others, +perhaps, be led astray by our blind confidence in each +other's prudence." + +"How can you for an instant entertain so unworthy a thought, +dear Valentine? Have I not, from the first blessed hour of +our acquaintance, schooled all my words and actions to your +sentiments and ideas? And you have, I am sure, the fullest +confidence in my honor. When you spoke to me of experiencing +a vague and indefinite sense of coming danger, I placed +myself blindly and devotedly at your service, asking no +other reward than the pleasure of being useful to you; and +have I ever since, by word or look, given you cause of +regret for having selected me from the numbers that would +willingly have sacrificed their lives for you? You told me, +my dear Valentine, that you were engaged to M. d'Epinay, and +that your father was resolved upon completing the match, and +that from his will there was no appeal, as M. de Villefort +was never known to change a determination once formed. I +kept in the background, as you wished, and waited, not for +the decision of your heart or my own, but hoping that +providence would graciously interpose in our behalf, and +order events in our favor. But what cared I for delays or +difficulties, Valentine, as long as you confessed that you +loved me, and took pity on me? If you will only repeat that +avowal now and then, I can endure anything." + +"Ah, Maximilian, that is the very thing that makes you so +bold, and which renders me at once so happy and unhappy, +that I frequently ask myself whether it is better for me to +endure the harshness of my mother-in-law, and her blind +preference for her own child, or to be, as I now am, +insensible to any pleasure save such as I find in these +meetings, so fraught with danger to both." + +"I will not admit that word," returned the young man; "it is +at once cruel and unjust. Is it possible to find a more +submissive slave than myself? You have permitted me to +converse with you from time to time, Valentine, but +forbidden my ever following you in your walks or elsewhere +-- have I not obeyed? And since I found means to enter this +enclosure to exchange a few words with you through this gate +-- to be close to you without really seeing you -- have I +ever asked so much as to touch the hem of your gown or tried +to pass this barrier which is but a trifle to one of my +youth and strength? Never has a complaint or a murmur +escaped me. I have been bound by my promises as rigidly as +any knight of olden times. Come, come, dearest Valentine, +confess that what I say is true, lest I be tempted to call +you unjust." + +"It is true," said Valentine, as she passed the end of her +slender fingers through a small opening in the planks, and +permitted Maximilian to press his lips to them, "and you are +a true and faithful friend; but still you acted from motives +of self-interest, my dear Maximilian, for you well knew that +from the moment in which you had manifested an opposite +spirit all would have been ended between us. You promised to +bestow on me the friendly affection of a brother. For I have +no friend but yourself upon earth, who am neglected and +forgotten by my father, harassed and persecuted by my +mother-in-law, and left to the sole companionship of a +paralyzed and speechless old man, whose withered hand can no +longer press mine, and who can speak to me with the eye +alone, although there still lingers in his heart the warmest +tenderness for his poor grandchild. Oh, how bitter a fate is +mine, to serve either as a victim or an enemy to all who are +stronger than myself, while my only friend and supporter is +a living corpse! Indeed, indeed, Maximilian, I am very +miserable, and if you love me it must be out of pity." + +"Valentine," replied the young man, deeply affected, "I will +not say you are all I love in the world, for I dearly prize +my sister and brother-in-law; but my affection for them is +calm and tranquil, in no manner resembling what I feel for +you. When I think of you my heart beats fast, the blood +burns in my veins, and I can hardly breathe; but I solemnly +promise you to restrain all this ardor, this fervor and +intensity of feeling, until you yourself shall require me to +render them available in serving or assisting you. M. Franz +is not expected to return home for a year to come, I am +told; in that time many favorable and unforeseen chances may +befriend us. Let us, then, hope for the best; hope is so +sweet a comforter. Meanwhile, Valentine, while reproaching +me with selfishness, think a little what you have been to me +-- the beautiful but cold resemblance of a marble Venus. +What promise of future reward have you made me for all the +submission and obedience I have evinced? -- none whatever. +What granted me? -- scarcely more. You tell me of M. Franz +d'Epinay, your betrothed lover, and you shrink from the idea +of being his wife; but tell me, Valentine, is there no other +sorrow in your heart? You see me devoted to you, body and +soul, my life and each warm drop that circles round my heart +are consecrated to your service; you know full well that my +existence is bound up in yours -- that were I to lose you I +would not outlive the hour of such crushing misery; yet you +speak with calmness of the prospect of your being the wife +of another! Oh, Valentine, were I in your place, and did I +feel conscious, as you do, of being worshipped, adored, with +such a love as mine, a hundred times at least should I have +passed my hand between these iron bars, and said, `Take this +hand, dearest Maximilian, and believe that, living or dead, +I am yours -- yours only, and forever!'" The poor girl made +no reply, but her lover could plainly hear her sobs and +tears. A rapid change took place in the young man's +feelings. "Dearest, dearest Valentine," exclaimed he, +"forgive me if I have offended you, and forget the words I +spoke if they have unwittingly caused you pain." + +"No, Maximilian, I am not offended," answered she, "but do +you not see what a poor, helpless being I am, almost a +stranger and an outcast in my father's house, where even he +is seldom seen; whose will has been thwarted, and spirits +broken, from the age of ten years, beneath the iron rod so +sternly held over me; oppressed, mortified, and persecuted, +day by day, hour by hour, minute by minute, no person has +cared for, even observed my sufferings, nor have I ever +breathed one word on the subject save to yourself. Outwardly +and in the eyes of the world, I am surrounded by kindness +and affection; but the reverse is the case. The general +remark is, `Oh, it cannot be expected that one of so stern a +character as M. Villefort could lavish the tenderness some +fathers do on their daughters. What though she has lost her +own mother at a tender age, she has had the happiness to +find a second mother in Madame de Villefort.' The world, +however, is mistaken; my father abandons me from utter +indifference, while my mother-in-law detests me with a +hatred so much the more terrible because it is veiled +beneath a continual smile." + +"Hate you, sweet Valentine," exclaimed the young man; "how +is it possible for any one to do that?" + +"Alas," replied the weeping girl, "I am obliged to own that +my mother-in-law's aversion to me arises from a very natural +source -- her overweening love for her own child, my brother +Edward." + +"But why should it?" + +"I do not know; but, though unwilling to introduce money +matters into our present conversation, I will just say this +much -- that her extreme dislike to me has its origin there; +and I much fear she envies me the fortune I enjoy in right +of my mother, and which will be more than doubled at the +death of M. and Mme. de Saint-Meran, whose sole heiress I +am. Madame de Villefort has nothing of her own, and hates me +for being so richly endowed. Alas, how gladly would I +exchange the half of this wealth for the happiness of at +least sharing my father's love. God knows, I would prefer +sacrificing the whole, so that it would obtain me a happy +and affectionate home." + +"Poor Valentine!" + +"I seem to myself as though living a life of bondage, yet at +the same time am so conscious of my own weakness that I fear +to break the restraint in which I am held, lest I fall +utterly helpless. Then, too, my father is not a person whose +orders may be infringed with impunity; protected as he is by +his high position and firmly established reputation for +talent and unswerving integrity, no one could oppose him; he +is all-powerful even with the king; he would crush you at a +word. Dear Maximilian, believe me when I assure you that if +I do not attempt to resist my father's commands it is more +on your account than my own." + +"But why, Valentine, do you persist in anticipating the +worst, -- why picture so gloomy a future?" + +"Because I judge it from the past." + +"Still, consider that although I may not be, strictly +speaking, what is termed an illustrious match for you, I am, +for many reasons, not altogether so much beneath your +alliance. The days when such distinctions were so nicely +weighed and considered no longer exist in France, and the +first families of the monarchy have intermarried with those +of the empire. The aristocracy of the lance has allied +itself with the nobility of the cannon. Now I belong to this +last-named class; and certainly my prospects of military +preferment are most encouraging as well as certain. My +fortune, though small, is free and unfettered, and the +memory of my late father is respected in our country, +Valentine, as that of the most upright and honorable +merchant of the city; I say our country, because you were +born not far from Marseilles." + +"Don't speak of Marseilles, I beg of you, Maximilian; that +one word brings back my mother to my recollection -- my +angel mother, who died too soon for myself and all who knew +her; but who, after watching over her child during the brief +period allotted to her in this world, now, I fondly hope, +watches from her home in heaven. Oh, if my mother were still +living, there would be nothing to fear, Maximilian, for I +would tell her that I loved you, and she would protect us." + +"I fear, Valentine," replied the lover, "that were she +living I should never have had the happiness of knowing you; +you would then have been too happy to have stooped from your +grandeur to bestow a thought on me." + +"Now it is you who are unjust, Maximilian," cried Valentine; +"but there is one thing I wish to know." + +"And what is that?" inquired the young man, perceiving that +Valentine hesitated. + +"Tell me truly, Maximilian, whether in former days, when our +fathers dwelt at Marseilles, there was ever any +misunderstanding between them?" + +"Not that I am aware of," replied the young man, "unless, +indeed, any ill-feeling might have arisen from their being +of opposite parties -- your father was, as you know, a +zealous partisan of the Bourbons, while mine was wholly +devoted to the emperor; there could not possibly be any +other difference between them. But why do you ask?" + +"I will tell you," replied the young girl, "for it is but +right you should know. Well, on the day when your +appointment as an officer of the Legion of honor was +announced in the papers, we were all sitting with my +grandfather, M. Noirtier; M. Danglars was there also -- you +recollect M. Danglars, do you not, Maximilian, the banker, +whose horses ran away with my mother-in-law and little +brother, and very nearly killed them? While the rest of the +company were discussing the approaching marriage of +Mademoiselle Danglars, I was reading the paper to my +grandfather; but when I came to the paragraph about you, +although I had done nothing else but read it over to myself +all the morning (you know you had told me all about it the +previous evening), I felt so happy, and yet so nervous, at +the idea of speaking your name aloud, and before so many +people, that I really think I should have passed it over, +but for the fear that my doing so might create suspicions as +to the cause of my silence; so I summoned up all my courage, +and read it as firmly and as steadily as I could." + +"Dear Valentine!" + +"Well, would you believe it? directly my father caught the +sound of your name he turned round quite hastily, and, like +a poor silly thing, I was so persuaded that every one must +be as much affected as myself by the utterance of your name, +that I was not surprised to see my father start, and almost +tremble; but I even thought (though that surely must have +been a mistake) that M. Danglars trembled too." + +"`Morrel, Morrel,' cried my father, `stop a bit;' then +knitting his brows into a deep frown, he added, `surely this +cannot be one of the Morrel family who lived at Marseilles, +and gave us so much trouble from their violent Bonapartism +-- I mean about the year 1815.' -- `Yes,' replied M. +Danglars, `I believe he is the son of the old shipowner.'" + +"Indeed," answered Maximilian; "and what did your father say +then, Valentine?" + +"Oh, such a dreadful thing, that I don't dare to tell you." + +"Always tell me everything," said Maximilian with a smile. + +"`Ah,' continued my father, still frowning, `their idolized +emperor treated these madmen as they deserved; he called +them `food for powder,' which was precisely all they were +good for; and I am delighted to see that the present +government have adopted this salutary principle with all its +pristine vigor; if Algiers were good for nothing but to +furnish the means of carrying so admirable an idea into +practice, it would be an acquisition well worthy of +struggling to obtain. Though it certainly does cost France +somewhat dear to assert her rights in that uncivilized +country.'" + +"Brutal politics, I must confess." said Maximilian; "but +don't attach any serious importance, dear, to what your +father said. My father was not a bit behind yours in that +sort of talk. `Why,' said he, `does not the emperor, who has +devised so many clever and efficient modes of improving the +art of war, organize a regiment of lawyers, judges and legal +practitioners, sending them in the hottest fire the enemy +could maintain, and using them to save better men?' You see, +my dear, that for picturesque expression and generosity of +spirit there is not much to choose between the language of +either party. But what did M. Danglars say to this outburst +on the part of the procureur?" + +"Oh, he laughed, and in that singular manner so peculiar to +himself -- half-malicious, half-ferocious; he almost +immediately got up and took his leave; then, for the first +time, I observed the agitation of my grandfather, and I must +tell you, Maximilian, that I am the only person capable of +discerning emotion in his paralyzed frame. And I suspected +that the conversation that had been carried on in his +presence (for they always say and do what they like before +the dear old man, without the smallest regard for his +feelings) had made a strong impression on his mind; for, +naturally enough, it must have pained him to hear the +emperor he so devotedly loved and served spoken of in that +depreciating manner." + +"The name of M. Noirtier," interposed Maximilian, "is +celebrated throughout Europe; he was a statesman of high +standing, and you may or may not know, Valentine, that he +took a leading part in every Bonapartist conspiracy set on +foot during the restoration of the Bourbons." + +"Oh, I have often heard whispers of things that seem to me +most strange -- the father a Bonapartist, the son a +Royalist; what can have been the reason of so singular a +difference in parties and politics? But to resume my story; +I turned towards my grandfather, as though to question him +as to the cause of his emotion; he looked expressively at +the newspaper I had been reading. `What is the matter, dear +grandfather?' said I, `are you pleased?' He gave me a sign +in the affirmative. `With what my father said just now?' He +returned a sign in the negative. `Perhaps you liked what M. +Danglars said?' Another sign in the negative. `Oh, then, you +were glad to hear that M. Morrel (I didn't dare to say +Maximilian) had been made an officer of the Legion of +Honor?' He signified assent; only think of the poor old +man's being so pleased to think that you, who were a perfect +stranger to him, had been made an officer of the Legion of +Honor! Perhaps it was a mere whim on his part, for he is +falling, they say, into second childhood, but I love him for +showing so much interest in you." + +"How singular," murmured Maximilian; "your father hates me, +while your grandfather, on the contrary -- What strange +feelings are aroused by politics." + +"Hush," cried Valentine, suddenly; "some one is coming!" +Maximilian leaped at one bound into his crop of lucerne, +which he began to pull up in the most ruthless way, under +the pretext of being occupied in weeding it. + +"Mademoiselle, mademoiselle!" exclaimed a voice from behind +the trees. "Madame is searching for you everywhere; there is +a visitor in the drawing-room." + +"A visitor?" inquired Valentine, much agitated; "who is it?" + +"Some grand personage -- a prince I believe they said -- the +Count of Monte Cristo." + +"I will come directly," cried Valentine aloud. The name of +Monte Cristo sent an electric shock through the young man on +the other side of the iron gate, to whom Valentine's "I am +coming" was the customary signal of farewell. "Now, then," +said Maximilian, leaning on the handle of his spade, "I +would give a good deal to know how it comes about that the +Count of Monte Cristo is acquainted with M. de Villefort." + + + +Chapter 52 +Toxicology. + +It was really the Count of Monte Cristo who had just arrived +at Madame de Villefort's for the purpose of returning the +procureur's visit, and at his name, as may be easily +imagined, the whole house was in confusion. Madame de +Villefort, who was alone in her drawing-room when the count +was announced, desired that her son might be brought thither +instantly to renew his thanks to the count; and Edward, who +heard this great personage talked of for two whole days, +made all possible haste to come to him, not from obedience +to his mother, or out of any feeling of gratitude to the +count, but from sheer curiosity, and that some chance remark +might give him the opportunity for making one of the +impertinent speeches which made his mother say, -- "Oh, that +naughty child! But I can't be severe with him, he is really +so bright." + +After the usual civilities, the count inquired after M. de +Villefort. "My husband dines with the chancellor," replied +the young lady; "he has just gone, and I am sure he'll be +exceedingly sorry not to have had the pleasure of seeing you +before he went." Two visitors who were there when the count +arrived, having gazed at him with all their eyes, retired +after that reasonable delay which politeness admits and +curiosity requires. "What is your sister Valentine doing?" +inquired Madame de Villefort of Edward; "tell some one to +bid her come here, that I may have the honor of introducing +her to the count." + +"You have a daughter, then, madame?" inquired the count; +"very young, I presume?" + +"The daughter of M. de Villefort by his first marriage," +replied the young wife, "a fine well-grown girl." + +"But melancholy," interrupted Master Edward, snatching the +feathers out of the tail of a splendid parroquet that was +screaming on its gilded perch, in order to make a plume for +his hat. Madame de Villefort merely cried, -- "Be still, +Edward!" She then added, -- "This young madcap is, however, +very nearly right, and merely re-echoes what he has heard me +say with pain a hundred times; for Mademoiselle de Villefort +is, in spite of all we can do to rouse her, of a melancholy +disposition and taciturn habit, which frequently injure the +effect of her beauty. But what detains her? Go, Edward, and +see." + +"Because they are looking for her where she is not to be +found." + +"And where are they looking for her?" + +"With grandpapa Noirtier." + +"And do you think she is not there?" + +"No, no, no, no, no, she is not there," replied Edward, +singing his words. + +"And where is she, then? If you know, why don't you tell?" + +"She is under the big chestnut-tree," replied the spoiled +brat, as he gave, in spite of his mother's commands, live +flies to the parrot, which seemed keenly to relish such +fare. Madame de Villefort stretched out her hand to ring, +intending to direct her waiting-maid to the spot where she +would find Valentine, when the young lady herself entered +the apartment. She appeared much dejected; and any person +who considered her attentively might have observed the +traces of recent tears in her eyes. + +Valentine, whom we have in the rapid march of our narrative +presented to our readers without formally introducing her, +was a tall and graceful girl of nineteen, with bright +chestnut hair, deep blue eyes, and that reposeful air of +quiet distinction which characterized her mother. Her white +and slender fingers, her pearly neck, her cheeks tinted with +varying hues reminded one of the lovely Englishwomen who +have been so poetically compared in their manner to the +gracefulness of a swan. She entered the apartment, and +seeing near her stepmother the stranger of whom she had +already heard so much, saluted him without any girlish +awkwardness, or even lowering her eyes, and with an elegance +that redoubled the count's attention. He rose to return the +salutation. "Mademoiselle de Villefort, my daughter-in-law," +said Madame de Villefort to Monte Cristo, leaning back on +her sofa and motioning towards Valentine with her hand. "And +M. de Monte Cristo, King of China, Emperor of Cochin-China," +said the young imp, looking slyly towards his sister. + +Madame de Villefort at this really did turn pale, and was +very nearly angry with this household plague, who answered +to the name of Edward; but the count, on the contrary, +smiled, and appeared to look at the boy complacently, which +caused the maternal heart to bound again with joy and +enthusiasm. + +"But, madame," replied the count, continuing the +conversation, and looking by turns at Madame de Villefort +and Valentine, "have I not already had the honor of meeting +yourself and mademoiselle before? I could not help thinking +so just now; the idea came over my mind, and as mademoiselle +entered the sight of her was an additional ray of light +thrown on a confused remembrance; excuse the remark." + +"I do not think it likely, sir; Mademoiselle de Villefort is +not very fond of society, and we very seldom go out," said +the young lady. + +"Then it was not in society that I met with mademoiselle or +yourself, madame, or this charming little merry boy. +Besides, the Parisian world is entirely unknown to me, for, +as I believe I told you, I have been in Paris but very few +days. No, -- but, perhaps, you will permit me to call to +mind -- stay!" The Count placed his hand on his brow as if +to collect his thoughts. "No -- it was somewhere -- away +from here -- it was -- I do not know -- but it appears that +this recollection is connected with a lovely sky and some +religious fete; mademoiselle was holding flowers in her +hand, the interesting boy was chasing a beautiful peacock in +a garden, and you, madame, were under the trellis of some +arbor. Pray come to my aid, madame; do not these +circumstances appeal to your memory?" + +"No, indeed," replied Madame de Villefort; "and yet it +appears to me, sir, that if I had met you anywhere, the +recollection of you must have been imprinted on my memory." + +"Perhaps the count saw us in Italy," said Valentine timidly. + +"Yes, in Italy; it was in Italy most probably," replied +Monte Cristo; "you have travelled then in Italy, +mademoiselle?" + +"Yes; madame and I were there two years ago. The doctors, +anxious for my lungs, had prescribed the air of Naples. We +went by Bologna, Perugia, and Rome." + +"Ah, yes -- true, mademoiselle," exclaimed Monte Cristo as +if this simple explanation was sufficient to revive the +recollection he sought. "It was at Perugia on Corpus Christi +Day, in the garden of the Hotel des Postes, when chance +brought us together; you, Madame de Villefort, and her son; +I now remember having had the honor of meeting you." + +"I perfectly well remember Perugia, sir, and the Hotel des +Postes, and the festival of which you speak," said Madame de +Villefort, "but in vain do I tax my memory, of whose +treachery I am ashamed, for I really do not recall to mind +that I ever had the pleasure of seeing you before." + +"It is strange, but neither do I recollect meeting with +you," observed Valentine, raising her beautiful eyes to the +count. + +"But I remember it perfectly," interposed the darling +Edward. + +"I will assist your memory, madame," continued the count; +"the day had been burning hot; you were waiting for horses, +which were delayed in consequence of the festival. +Mademoiselle was walking in the shade of the garden, and +your son disappeared in pursuit of the peacock." + +"And I caught it, mamma, don't you remember?" interposed +Edward, "and I pulled three such beautiful feathers out of +his tail." + +"You, madame, remained under the arbor; do you not remember, +that while you were seated on a stone bench, and while, as I +told you, Mademoiselle de Villefort and your young son were +absent, you conversed for a considerable time with +somebody?" + +"Yes, in truth, yes," answered the young lady, turning very +red, "I do remember conversing with a person wrapped in a +long woollen mantle; he was a medical man, I think." + +"Precisely so, madame; this man was myself; for a fortnight +I had been at that hotel, during which period I had cured my +valet de chambre of a fever, and my landlord of the +jaundice, so that I really acquired a reputation as a +skilful physician. We discoursed a long time, madame, on +different subjects; of Perugino, of Raffaelle, of manners, +customs, of the famous aquatofana, of which they had told +you, I think you said, that certain individuals in Perugia +had preserved the secret." + +"Yes, true," replied Madame de Villefort, somewhat uneasily, +"I remember now." + +"I do not recollect now all the various subjects of which we +discoursed, madame," continued the count with perfect +calmness; "but I perfectly remember that, falling into the +error which others had entertained respecting me, you +consulted me as to the health of Mademoiselle de Villefort." + +"Yes, really, sir, you were in fact a medical man," said +Madame de Villefort, "since you had cured the sick." + +"Moliere or Beaumarchais would reply to you, madame, that it +was precisely because I was not, that I had cured my +patients; for myself, I am content to say to you that I have +studied chemistry and the natural sciences somewhat deeply, +but still only as an amateur, you understand." -- At this +moment the clock struck six. "It is six o'clock," said +Madame de Villefort, evidently agitated. "Valentine, will +you not go and see if your grandpapa will have his dinner?" +Valentine rose, and saluting the count, left the apartment +without speaking. + +"Oh, madame," said the count, when Valentine had left the +room, "was it on my account that you sent Mademoiselle de +Villefort away?" + +"By no means," replied the young lady quickly; "but this is +the hour when we usually give M. Noirtier the unwelcome meal +that sustains his pitiful existence. You are aware, sir, of +the deplorable condition of my husband's father?" + +"Yes, madame, M. de Villefort spoke of it to me -- a +paralysis, I think." + +"Alas, yes; the poor old gentleman is entirely helpless; the +mind alone is still active in this human machine, and that +is faint and flickering, like the light of a lamp about to +expire. But excuse me, sir, for talking of our domestic +misfortunes; I interrupted you at the moment when you were +telling me that you were a skilful chemist." + +"No, madame, I did not say as much as that," replied the +count with a smile; "quite the contrary. I have studied +chemistry because, having determined to live in eastern +climates I have been desirous of following the example of +King Mithridates." + +"Mithridates rex Ponticus," said the young scamp, as he tore +some beautiful portraits out of a splendid album, "the +individual who took cream in his cup of poison every morning +at breakfast." + +"Edward, you naughty boy," exclaimed Madame de Villefort, +snatching the mutilated book from the urchin's grasp, "you +are positively past bearing; you really disturb the +conversation; go, leave us, and join your sister Valentine +in dear grandpapa Noirtier's room." + +"The album," said Edward sulkily. + +"What do you mean? -- the album!" + +"I want the album." + +"How dare you tear out the drawings?" + +"Oh, it amuses me." + +"Go -- go at once." + +"I won't go unless you give me the album," said the boy, +seating himself doggedly in an arm-chair, according to his +habit of never giving way. + +"Take it, then, and pray disturb us no longer," said Madame +de Villefort, giving the album to Edward, who then went +towards the door, led by his mother. The count followed her +with his eyes. + +"Let us see if she shuts the door after him," he muttered. +Madame de Villefort closed the door carefully after the +child, the count appearing not to notice her; then casting a +scrutinizing glance around the chamber, the young wife +returned to her chair, in which she seated herself. "Allow +me to observe, madame," said the count, with that kind tone +he could assume so well, "you are really very severe with +that dear clever child." + +"Oh, sometimes severity is quite necessary," replied Madame +de Villefort, with all a mother's real firmness. + +"It was his Cornelius Nepos that Master Edward was repeating +when he referred to King Mithridates," continued the count, +"and you interrupted him in a quotation which proves that +his tutor has by no means neglected him, for your son is +really advanced for his years." + +"The fact is, count," answered the mother, agreeably +flattered, "he has great aptitude, and learns all that is +set before him. He has but one fault, he is somewhat wilful; +but really, on referring for the moment to what he said, do +you truly believe that Mithridates used these precautions, +and that these precautions were efficacious?" + +"I think so, madame, because I myself have made use of them, +that I might not be poisoned at Naples, at Palermo, and at +Smyrna -- that is to say, on three several occasions when, +but for these precautions, I must have lost my life." + +"And your precautions were successful?" + +"Completely so." + +"Yes, I remember now your mentioning to me at Perugia +something of this sort." + +"Indeed?" said the count with an air of surprise, remarkably +well counterfeited; "I really did not remember." + +"I inquired of you if poisons acted equally, and with the +same effect, on men of the North as on men of the South; and +you answered me that the cold and sluggish habits of the +North did not present the same aptitude as the rich and +energetic temperaments of the natives of the South." + +"And that is the case," observed Monte Cristo. "I have seen +Russians devour, without being visibly inconvenienced, +vegetable substances which would infallibly have killed a +Neapolitan or an Arab." + +"And you really believe the result would be still more sure +with us than in the East, and in the midst of our fogs and +rains a man would habituate himself more easily than in a +warm latitude to this progressive absorption of poison?" + +"Certainly; it being at the same time perfectly understood +that he should have been duly fortified against the poison +to which he had not been accustomed." + +"Yes, I understand that; and how would you habituate +yourself, for instance, or rather, how did you habituate +yourself to it?" + +"Oh, very easily. Suppose you knew beforehand the poison +that would be made use of against you; suppose the poison +was, for instance, brucine" -- + +"Brucine is extracted from the false angostura* is it not?" +inquired Madame de Villefort. + +"Precisely, madame," replied Monte Cristo; "but I perceive I +have not much to teach you. Allow me to compliment you on +your knowledge; such learning is very rare among ladies." + +* Brucoea ferruginea. + +"Oh, I am aware of that," said Madame de Villefort; "but I +have a passion for the occult sciences, which speak to the +imagination like poetry, and are reducible to figures, like +an algebraic equation; but go on, I beg of you; what you say +interests me to the greatest degree." + +"Well," replied Monte Cristo "suppose, then, that this +poison was brucine, and you were to take a milligramme the +first day, two milligrammes the second day, and so on. Well, +at the end of ten days you would have taken a centigramme, +at the end of twenty days, increasing another milligramme, +you would have taken three hundred centigrammes; that is to +say, a dose which you would support without inconvenience, +and which would be very dangerous for any other person who +had not taken the same precautions as yourself. Well, then, +at the end of a month, when drinking water from the same +carafe, you would kill the person who drank with you, +without your perceiving, otherwise than from slight +inconvenience, that there was any poisonous substance +mingled with this water." + +"Do you know any other counter-poisons?" + +"I do not." + +"I have often read, and read again, the history of +Mithridates," said Madame de Villefort in a tone of +reflection, "and had always considered it a fable." + +"No, madame, contrary to most history, it is true; but what +you tell me, madame, what you inquire of me, is not the +result of a chance query, for two years ago you asked me the +same questions, and said then, that for a very long time +this history of Mithridates had occupied your mind." + +"True, sir. The two favorite studies of my youth were botany +and mineralogy, and subsequently, when I learned that the +use of simples frequently explained the whole history of a +people, and the entire life of individuals in the East, as +flowers betoken and symbolize a love affair, I have +regretted that I was not a man, that I might have been a +Flamel, a Fontana, or a Cabanis." + +"And the more, madame," said Monte Cristo, "as the Orientals +do not confine themselves, as did Mithridates, to make a +cuirass of his poisons, but they also made them a dagger. +Science becomes, in their hands, not only a defensive +weapon, but still more frequently an offensive one; the one +serves against all their physical sufferings, the other +against all their enemies. With opium, belladonna, brucaea, +snake-wood, and the cherry-laurel, they put to sleep all who +stand in their way. There is not one of those women, +Egyptian, Turkish, or Greek, whom here you call `good +women,' who do not know how, by means of chemistry, to +stupefy a doctor, and in psychology to amaze a confessor." + +"Really," said Madame de Villefort, whose eyes sparkled with +strange fire at this conversation. + +"Oh, yes, indeed, madame," continued Monte Cristo, "the +secret dramas of the East begin with a love philtre and end +with a death potion -- begin with paradise and end with -- +hell. There are as many elixirs of every kind as there are +caprices and peculiarities in the physical and moral nature +of humanity; and I will say further -- the art of these +chemists is capable with the utmost precision to accommodate +and proportion the remedy and the bane to yearnings for love +or desires for vengeance." + +"But, sir," remarked the young woman, "these Eastern +societies, in the midst of which you have passed a portion +of your existence, are as fantastic as the tales that come +from their strange land. A man can easily be put out of the +way there, then; it is, indeed, the Bagdad and Bassora of +the `Thousand and One Nights.' The sultans and viziers who +rule over society there, and who constitute what in France +we call the government, are really Haroun-al-Raschids and +Giaffars, who not only pardon a poisoner, but even make him +a prime minister, if his crime has been an ingenious one, +and who, under such circumstances, have the whole story +written in letters of gold, to divert their hours of +idleness and ennui." + +"By no means, madame; the fanciful exists no longer in the +East. There, disguised under other names, and concealed +under other costumes, are police agents, magistrates, +attorneys-general, and bailiffs. They hang, behead, and +impale their criminals in the most agreeable possible +manner; but some of these, like clever rogues, have +contrived to escape human justice, and succeed in their +fraudulent enterprises by cunning stratagems. Amongst us a +simpleton, possessed by the demon of hate or cupidity, who +has an enemy to destroy, or some near relation to dispose +of, goes straight to the grocer's or druggist's, gives a +false name, which leads more easily to his detection than +his real one, and under the pretext that the rats prevent +him from sleeping, purchases five or six grammes of arsenic +-- if he is really a cunning fellow, he goes to five or six +different druggists or grocers, and thereby becomes only +five or six times more easily traced; -- then, when he has +acquired his specific, he administers duly to his enemy, or +near kinsman, a dose of arsenic which would make a mammoth +or mastodon burst, and which, without rhyme or reason, makes +his victim utter groans which alarm the entire neighborhood. +Then arrive a crowd of policemen and constables. They fetch +a doctor, who opens the dead body, and collects from the +entrails and stomach a quantity of arsenic in a spoon. Next +day a hundred newspapers relate the fact, with the names of +the victim and the murderer. The same evening the grocer or +grocers, druggist or druggists, come and say, `It was I who +sold the arsenic to the gentleman;' and rather than not +recognize the guilty purchaser, they will recognize twenty. +Then the foolish criminal is taken, imprisoned, +interrogated, confronted, confounded, condemned, and cut off +by hemp or steel; or if she be a woman of any consideration, +they lock her up for life. This is the way in which you +Northerns understand chemistry, madame. Desrues was, +however, I must confess, more skilful." + +"What would you have, sir?" said the lady, laughing; "we do +what we can. All the world has not the secret of the Medicis +or the Borgias." + +"Now," replied the count, shrugging his shoulders, "shall I +tell you the cause of all these stupidities? It is because, +at your theatres, by what at least I could judge by reading +the pieces they play, they see persons swallow the contents +of a phial, or suck the button of a ring, and fall dead +instantly. Five minutes afterwards the curtain falls, and +the spectators depart. They are ignorant of the consequences +of the murder; they see neither the police commissary with +his badge of office, nor the corporal with his four men; and +so the poor fools believe that the whole thing is as easy as +lying. But go a little way from France -- go either to +Aleppo or Cairo, or only to Naples or Rome, and you will see +people passing by you in the streets -- people erect, +smiling, and fresh-colored, of whom Asmodeus, if you were +holding on by the skirt of his mantle, would say, `That man +was poisoned three weeks ago; he will be a dead man in a +month.'" + +"Then," remarked Madame de Villefort, "they have again +discovered the secret of the famous aquatofana that they +said was lost at Perugia." + +"Ah, but madame, does mankind ever lose anything? The arts +change about and make a tour of the world; things take a +different name, and the vulgar do not follow them -- that is +all; but there is always the same result. Poisons act +particularly on some organ or another -- one on the stomach, +another on the brain, another on the intestines. Well, the +poison brings on a cough, the cough an inflammation of the +lungs, or some other complaint catalogued in the book of +science, which, however, by no means precludes it from being +decidedly mortal; and if it were not, would be sure to +become so, thanks to the remedies applied by foolish +doctors, who are generally bad chemists, and which will act +in favor of or against the malady, as you please; and then +there is a human being killed according to all the rules of +art and skill, and of whom justice learns nothing, as was +said by a terrible chemist of my acquaintance, the worthy +Abbe Adelmonte of Taormina, in Sicily, who has studied these +national phenomena very profoundly." + +"It is quite frightful, but deeply interesting," said the +young lady, motionless with attention. "I thought, I must +confess, that these tales, were inventions of the Middle +Ages." + +"Yes, no doubt, but improved upon by ours. What is the use +of time, rewards of merit, medals, crosses, Monthyon prizes, +if they do not lead society towards more complete +perfection? Yet man will never be perfect until he learns to +create and destroy; he does know how to destroy, and that is +half the battle." + +"So," added Madame de Villefort, constantly returning to her +object, "the poisons of the Borgias, the Medicis, the Renes, +the Ruggieris, and later, probably, that of Baron de Trenck, +whose story has been so misused by modern drama and romance" +-- + +"Were objects of art, madame, and nothing more," replied the +count. "Do you suppose that the real savant addresses +himself stupidly to the mere individual? By no means. +Science loves eccentricities, leaps and bounds, trials of +strength, fancies, if I may be allowed so to term them. +Thus, for instance, the excellent Abbe Adelmonte, of whom I +spoke just now, made in this way some marvellous +experiments." + +"Really?" + +"Yes; I will mention one to you. He had a remarkably fine +garden, full of vegetables, flowers, and fruit. From amongst +these vegetables he selected the most simple -- a cabbage, +for instance. For three days he watered this cabbage with a +distillation of arsenic; on the third, the cabbage began to +droop and turn yellow. At that moment he cut it. In the eyes +of everybody it seemed fit for table, and preserved its +wholesome appearance. It was only poisoned to the Abbe +Adelmonte. He then took the cabbage to the room where he had +rabbits -- for the Abbe Adelmonte had a collection of +rabbits, cats, and guinea-pigs, fully as fine as his +collection of vegetables, flowers, and fruit. Well, the Abbe +Adelmonte took a rabbit, and made it eat a leaf of the +cabbage. The rabbit died. What magistrate would find, or +even venture to insinuate, anything against this? What +procureur has ever ventured to draw up an accusation against +M. Magendie or M. Flourens, in consequence of the rabbits, +cats, and guinea-pigs they have killed? -- not one. So, +then, the rabbit dies, and justice takes no notice. This +rabbit dead, the Abbe Adelmonte has its entrails taken out +by his cook and thrown on the dunghill; on this dunghill is +a hen, who, pecking these intestines, is in her turn taken +ill, and dies next day. At the moment when she is struggling +in the convulsions of death, a vulture is flying by (there +are a good many vultures in Adelmonte's country); this bird +darts on the dead fowl, and carries it away to a rock, where +it dines off its prey. Three days afterwards, this poor +vulture, which has been very much indisposed since that +dinner, suddenly feels very giddy while flying aloft in the +clouds, and falls heavily into a fish-pond. The pike, eels, +and carp eat greedily always, as everybody knows -- well, +they feast on the vulture. Now suppose that next day, one of +these eels, or pike, or carp, poisoned at the fourth remove, +is served up at your table. Well, then, your guest will be +poisoned at the fifth remove, and die, at the end of eight +or ten days, of pains in the intestines, sickness, or +abscess of the pylorus. The doctors open the body and say +with an air of profound learning, `The subject his died of a +tumor on the liver, or of typhoid fever!'" + +"But," remarked Madame de Villefort, "all these +circumstances which you link thus to one another may be +broken by the least accident; the vulture may not see the +fowl, or may fall a hundred yards from the fish-pond." + +"Ah, that is where the art comes in. To be a great chemist +in the East, one must direct chance; and this is to be +achieved." -- Madame de Villefort was in deep thought, yet +listened attentively. "But," she exclaimed, suddenly, +"arsenic is indelible, indestructible; in whatsoever way it +is absorbed, it will be found again in the body of the +victim from the moment when it has been taken in sufficient +quantity to cause death." + +"Precisely so," cried Monte Cristo -- "precisely so; and +this is what I said to my worthy Adelmonte. He reflected, +smiled, and replied to me by a Sicilian proverb, which I +believe is also a French proverb, `My son, the world was not +made in a day -- but in seven. Return on Sunday.' On the +Sunday following I did return to him. Instead of having +watered his cabbage with arsenic, he had watered it this +time with a solution of salts, having their basis in +strychnine, strychnos colubrina, as the learned term it. +Now, the cabbage had not the slightest appearance of disease +in the world, and the rabbit had not the smallest distrust; +yet, five minutes afterwards, the rabbit was dead. The fowl +pecked at the rabbit, and the next day was a dead hen. This +time we were the vultures; so we opened the bird, and this +time all special symptoms had disappeared, there were only +general symptoms. There was no peculiar indication in any +organ -- an excitement of the nervous system -- that was it; +a case of cerebral congestion -- nothing more. The fowl had +not been poisoned -- she had died of apoplexy. Apoplexy is a +rare disease among fowls, I believe, but very common among +men." Madame de Villefort appeared more and more thoughtful. + +"It is very fortunate," she observed, "that such substances +could only be prepared by chemists; otherwise, all the world +would be poisoning each other." + +"By chemists and persons who have a taste for chemistry," +said Monte Cristo carelessly. + +"And then," said Madame de Villefort, endeavoring by a +struggle, and with effort, to get away from her thoughts, +"however skilfully it is prepared, crime is always crime, +and if it avoid human scrutiny, it does not escape the eye +of God. The Orientals are stronger than we are in cases of +conscience, and, very prudently, have no hell -- that is the +point." + +"Really, madame, this is a scruple which naturally must +occur to a pure mind like yours, but which would easily +yield before sound reasoning. The bad side of human thought +will always be defined by the paradox of Jean Jacques +Rousseau, -- you remember, -- the mandarin who is killed +five hundred leagues off by raising the tip of the finger. +Man's whole life passes in doing these things, and his +intellect is exhausted by reflecting on them. You will find +very few persons who will go and brutally thrust a knife in +the heart of a fellow-creature, or will administer to him, +in order to remove him from the surface of the globe on +which we move with life and animation, that quantity of +arsenic of which we just now talked. Such a thing is really +out of rule -- eccentric or stupid. To attain such a point, +the blood must be heated to thirty-six degrees, the pulse +be, at least, at ninety, and the feelings excited beyond the +ordinary limit. But suppose one pass, as is permissible in +philology, from the word itself to its softened synonym, +then, instead of committing an ignoble assassination you +make an `elimination;' you merely and simply remove from +your path the individual who is in your way, and that +without shock or violence, without the display of the +sufferings which, in the case of becoming a punishment, make +a martyr of the victim, and a butcher, in every sense of the +word, of him who inflicts them. Then there will be no blood, +no groans, no convulsions, and above all, no consciousness +of that horrid and compromising moment of accomplishing the +act, -- then one escapes the clutch of the human law, which +says, `Do not disturb society!' This is the mode in which +they manage these things, and succeed in Eastern climes, +where there are grave and phlegmatic persons who care very +little for the questions of time in conjunctures of +importance." + +"Yet conscience remains," remarked Madame de Villefort in an +agitated voice, and with a stifled sigh. + +"Yes," answered Monte Cristo "happily, yes, conscience does +remain; and if it did not, how wretched we should be! After +every action requiring exertion, it is conscience that saves +us, for it supplies us with a thousand good excuses, of +which we alone are judges; and these reasons, howsoever +excellent in producing sleep, would avail us but very little +before a tribunal, when we were tried for our lives. Thus +Richard III., for instance, was marvellously served by his +conscience after the putting away of the two children of +Edward IV.; in fact, he could say, `These two children of a +cruel and persecuting king, who have inherited the vices of +their father, which I alone could perceive in their juvenile +propensities -- these two children are impediments in my way +of promoting the happiness of the English people, whose +unhappiness they (the children) would infallibly have +caused.' Thus was Lady Macbeth served by her conscience, +when she sought to give her son, and not her husband +(whatever Shakspeare may say), a throne. Ah, maternal love +is a great virtue, a powerful motive -- so powerful that it +excuses a multitude of things, even if, after Duncan's +death, Lady Macbeth had been at all pricked by her +conscience." + +Madame de Villefort listened with avidity to these appalling +maxims and horrible paradoxes, delivered by the count with +that ironical simplicity which was peculiar to him. After a +moment's silence, the lady inquired, "Do you know, my dear +count," she said, "that you are a very terrible reasoner, +and that you look at the world through a somewhat +distempered medium? Have you really measured the world by +scrutinies, or through alembics and crucibles? For you must +indeed be a great chemist, and the elixir you administered +to my son, which recalled him to life almost +instantaneously" -- + +"Oh, do not place any reliance on that, madame; one drop of +that elixir sufficed to recall life to a dying child, but +three drops would have impelled the blood into his lungs in +such a way as to have produced most violent palpitations; +six would have suspended his respiration, and caused syncope +more serious than that in which he was; ten would have +destroyed him. You know, madame, how suddenly I snatched him +from those phials which he so imprudently touched?" + +"Is it then so terrible a poison?" + +"Oh, no. In the first place, let us agree that the word +poison does not exist, because in medicine use is made of +the most violent poisons, which become, according as they +are employed, most salutary remedies." + +"What, then, is it?" + +"A skilful preparation of my friend's the worthy Abbe +Adelmonte, who taught me the use of it." + +"Oh," observed Madame de Villefort, "it must be an admirable +anti-spasmodic." + +"Perfect, madame, as you have seen," replied the count; "and +I frequently make use of it -- with all possible prudence +though, be it observed," he added with a smile of +intelligence. + +"Most assuredly," responded Madame de Villefort in the same +tone. "As for me, so nervous, and so subject to fainting +fits, I should require a Doctor Adelmonte to invent for me +some means of breathing freely and tranquillizing my mind, +in the fear I have of dying some fine day of suffocation. In +the meanwhile, as the thing is difficult to find in France, +and your abbe is not probably disposed to make a journey to +Paris on my account, I must continue to use Monsieur +Planche's anti-spasmodics; and mint and Hoffman's drops are +among my favorite remedies. Here are some lozenges which I +have made up on purpose; they are compounded doubly strong." +Monte Cristo opened the tortoise-shell box, which the lady +presented to him, and inhaled the odor of the lozenges with +the air of an amateur who thoroughly appreciated their +composition. "They are indeed exquisite," he said; "but as +they are necessarily submitted to the process of deglutition +-- a function which it is frequently impossible for a +fainting person to accomplish -- I prefer my own specific." + +"Undoubtedly, and so should I prefer it, after the effects I +have seen produced; but of course it is a secret, and I am +not so indiscreet as to ask it of you." + +"But I," said Monte Cristo, rising as he spoke -- "I am +gallant enough to offer it you." + +"How kind you are." + +"Only remember one thing -- a small dose is a remedy, a +large one is poison. One drop will restore life, as you have +seen; five or six will inevitably kill, and in a way the +more terrible inasmuch as, poured into a glass of wine, it +would not in the slightest degree affect its flavor. But I +say no more, madame; it is really as if I were prescribing +for you." The clock struck half-past six, and a lady was +announced, a friend of Madame de Villefort, who came to dine +with her. + +"If I had had the honor of seeing you for the third or +fourth time, count, instead of only for the second," said +Madame de Villefort; "if I had had the honor of being your +friend, instead of only having the happiness of being under +an obligation to you, I should insist on detaining you to +dinner, and not allow myself to be daunted by a first +refusal." + +"A thousand thanks, madame," replied Monte Cristo "but I +have an engagement which I cannot break. I have promised to +escort to the Academie a Greek princess of my acquaintance +who has never seen your grand opera, and who relies on me to +conduct her thither." + +"Adieu, then, sir, and do not forget the prescription." + +"Ah, in truth, madame, to do that I must forget the hour's +conversation I have had with you, which is indeed +impossible." Monte Cristo bowed, and left the house. Madame +de Villefort remained immersed in thought. "He is a very +strange man," she said, "and in my opinion is himself the +Adelmonte he talks about." As to Monte Cristo the result had +surpassed his utmost expectations. "Good," said he, as he +went away; "this is a fruitful soil, and I feel certain that +the seed sown will not be cast on barren ground." Next +morning, faithful to his promise, he sent the prescription +requested. + + + +Chapter 53 +Robert le Diable. + +The pretext of an opera engagement was so much the more +feasible, as there chanced to be on that very night a more +than ordinary attraction at the Academie Royale. Levasseur, +who had been suffering under severe illness, made his +reappearance in the character of Bertrand, and, as usual, +the announcement of the most admired production of the +favorite composer of the day had attracteda brilliant and +fashionable audience. Morcerf, like most other young men of +rank and fortune, had his orchestra stall, with the +certainty of always finding a seat in at least a dozen of +the principal boxes occupied by persons of his acquaintance; +he had, moreover, his right of entry into the omnibus box. +Chateau-Renaud rented a stall beside his own, while +Beauchamp, as a journalist, had unlimited range all over the +theatre. It happened that on this particular night the +minister's box was placed at the disposal of Lucien Debray, +who offered it to the Comte de Morcerf, who again, upon his +mother's rejection of it, sent it to Danglars, with an +intimation that he should probably do himself the honor of +joining the baroness and her daughter during the evening, in +the event of their accepting the box in question. The ladies +received the offer with too much pleasure to dream of a +refusal. To no class of persons is the presentation of a +gratuitous opera-box more acceptable than to the wealthy +millionaire, who still hugs economy while boasting of +carrying a king's ransom in his waistcoat pocket. + +Danglars had, however, protested against showing himself in +a ministerial box, declaring that his political principles, +and his parliamentary position as member of the opposition +party would not permit him so to commit himself; the +baroness had, therefore, despatched a note to Lucien Debray, +bidding him call for them, it being wholly impossible for +her to go alone with Eugenie to the opera. There is no +gainsaying the fact that a very unfavorable construction +would have been put upon the circumstance if the two women +had gone without escort, while the addition of a third, in +the person of her mother's admitted lover, enabled +Mademoiselle Danglars to defy malice and ill-nature. One +must take the world as one finds it. + +The curtain rose, as usual, to an almost empty house, it +being one of the absurdities of Parisian fashion never to +appear at the opera until after the beginning of the +performance, so that the first act is generally played +without the slightest attention being paid to it, that part +of the audience already assembled being too much occupied in +observing the fresh arrivals, while nothing is heard but the +noise of opening and shutting doors, and the buzz of +conversation. "Surely," said Albert, as the door of a box on +the first circle opened, "that must be the Countess G---- +." + +"And who is the Countess G---- ?" inquired Chateau-Renaud. + +"What a question! Now, do you know, baron, I have a great +mind to pick a quarrel with you for asking it; as if all the +world did not know who the Countess G---- was." + +"Ah, to be sure," replied Chateau-Renaud; "the lovely +Venetian, is it not?" + +"Herself." At this moment the countess perceived Albert, and +returned his salutation with a smile. "You know her, it +seems?" said Chateau-Renaud. + +"Franz introduced me to her at Rome," replied Albert. + +"Well, then, will you do as much for me in Paris as Franz +did for you in Rome?" + +"With pleasure." + +There was a cry of "Shut up!" from the audience. This +manifestation on the part of the spectators of their wish to +be allowed to hear the music, produced not the slightest +effect on the two young men, who continued their +conversation. "The countess was present at the races in the +Champ-de-Mars," said Chateau-Renaud. + +"To-day?" + +"Yes." + +"Bless me, I quite forgot the races. Did you bet?" + +"Oh, merely a paltry fifty louis." + +"And who was the winner?" + +"Nautilus. I staked on him." + +"But there were three races, were there not?" + +"Yes; there was the prize given by the Jockey Club -- a gold +cup, you know -- and a very singular circumstance occurred +about that race." + +"What was it?" + +"Oh, shut up!" again interposed some of the audience. + +"Why, it was won by a horse and rider utterly unknown on the +course." + +"Is that possible?" + +"True as day. The fact was, nobody had observed a horse +entered by the name of Vampa, or that of a jockey styled +Job, when, at the last moment, a splendid roan, mounted by a +jockey about as big as your fist, presented themselves at +the starting-post. They were obliged to stuff at least +twenty pounds weight of shot in the small rider's pockets, +to make him weight; but with all that he outstripped Ariel +and Barbare, against whom he ran, by at least three whole +lengths." + +"And was it not found out at last to whom the horse and +jockey belonged?" + +"No." + +"You say that the horse was entered under the name of +Vampa?" + +"Exactly; that was the title." + +"Then," answered Albert, "I am better informed than you are, +and know who the owner of that horse was." + +"Shut up, there!" cried the pit in chorus. And this time the +tone and manner in which the command was given, betokened +such growing hostility that the two young men perceived, for +the first time, that the mandate was addressed to them. +Leisurely turning round, they calmly scrutinized the various +countenances around them, as though demanding some one +person who would take upon himself the responsibility of +what they deemed excessive impertinence; but as no one +responded to the challenge, the friends turned again to the +front of the theatre, and affected to busy themselves with +the stage. At this moment the door of the minister's box +opened, and Madame Danglars, accompanied by her daughter, +entered, escorted by Lucien Debray, who assiduously +conducted them to their seats. + +"Ha, ha," said Chateau-Renaud, "here comes some friends of +yours, viscount! What are you looking at there? don't you +see they are trying to catch your eye?" Albert turned round, +just in time to receive a gracious wave of the fan from the +baroness; as for Mademoiselle Eugenie, she scarcely +vouchsafed to waste the glances of her large black eyes even +upon the business of the stage. "I tell you what, my dear +fellow," said Chateau-Renaud, "I cannot imagine what +objection you can possibly have to Mademoiselle Danglars -- +that is, setting aside her want of ancestry and somewhat +inferior rank, which by the way I don't think you care very +much about. Now, barring all that, I mean to say she is a +deuced fine girl!" + +"Handsome, certainly," replied Albert, "but not to my taste, +which I confess, inclines to something softer, gentler, and +more feminine." + +"Ah, well," exclaimed Chateau-Renaud, who because he had +seen his thirtieth summer fancied himself duly warranted in +assuming a sort of paternal air with his more youthful +friend, "you young people are never satisfied; why, what +would you have more? your parents have chosen you a bride +built on the model of Diana, the huntress, and yet you are +not content." + +"No, for that very resemblance affrights me; I should have +liked something more in the manner of the Venus of Milo or +Capua; but this chase-loving Diana continually surrounded by +her nymphs gives me a sort of alarm lest she should some day +bring on me the fate of Actaeon." + +And, indeed, it required but one glance at Mademoiselle +Danglars to comprehend the justness of Morcerf's remark -- +she was beautiful, but her beauty was of too marked and +decided a character to please a fastidious taste; her hair +was raven black, but its natural waves seemed somewhat +rebellious; her eyes, of the same color as her hair, were +surmounted by well-arched brows, whose great defect, +however, consisted in an almost habitual frown, while her +whole physiognomy wore that expression of firmness and +decision so little in accordance with the gentler attributes +of her sex -- her nose was precisely what a sculptor would +have chosen for a chiselled Juno. Her mouth, which might +have been found fault with as too large, displayed teeth of +pearly whiteness, rendered still more conspicuous by the +brilliant carmine of her lips, contrasting vividly with her +naturally pale complexion. But that which completed the +almost masculine look Morcerf found so little to his taste, +was a dark mole, of much larger dimensions than these freaks +of nature generally are, placed just at the corner of her +mouth; and the effect tended to increase the expression of +self-dependence that characterized her countenance. The rest +of Mademoiselle Eugenie's person was in perfect keeping with +the head just described; she, indeed, reminded one of Diana, +as Chateau-Renaud observed, but her bearing was more haughty +and resolute. As regarded her attainments, the only fault to +be found with them was the same that a fastidious +connoisseur might have found with her beauty, that they were +somewhat too erudite and masculine for so young a person. +She was a perfect linguist, a first-rate artist, wrote +poetry, and composed music; to the study of the latter she +professed to be entirely devoted, following it with an +indefatigable perseverance, assisted by a schoolfellow, -- a +young woman without fortune whose talent promised to develop +into remarkable powers as a singer. It was rumored that she +was an object of almost paternal interest to one of the +principal composers of the day, who excited her to spare no +pains in the cultivation of her voice, which might hereafter +prove a source of wealth and independence. But this counsel +effectually decided Mademoiselle Danglars never to commit +herself by being seen in public with one destined for a +theatrical life; and acting upon this principle, the +banker's daughter, though perfectly willing to allow +Mademoiselle Louise d'Armilly (that was the name of the +young virtuosa) to practice with her through the day, took +especial care not to be seen in her company. Still, though +not actually received at the Hotel Danglars in the light of +an acknowledged friend, Louise was treated with far more +kindness and consideration than is usually bestowed on a +governess. + +The curtain fell almost immediately after the entrance of +Madame Danglars into her box, the band quitted the orchestra +for the accustomed half-hour's interval allowed between the +acts, and the audience were left at liberty to promenade the +salon or lobbies, or to pay and receive visits in their +respective boxes. Morcerf and Chateau-Renaud were amongst +the first to avail themselves of this permission. For an +instant the idea struck Madame Danglars that this eagerness +on the part of the young viscount arose from his impatience +to join her party, and she whispered her expectations to her +daughter, that Albert was hurrying to pay his respects to +them. Mademoiselle Eugenie, however, merely returned a +dissenting movement of the head, while, with a cold smile, +she directed the attention of her mother to an opposite box +on the first circle, in which sat the Countess G---- , and +where Morcerf had just made his appearance. "So we meet +again, my travelling friend, do we?" cried the countess, +extending her hand to him with all the warmth and cordiality +of an old acquaintance; "it was really very good of you to +recognize me so quickly, and still more so to bestow your +first visit on me." + +"Be assured," replied Albert, "that if I had been aware of +your arrival in Paris, and had known your address, I should +have paid my respects to you before this. Allow me to +introduce my friend, Baron de Chateau-Renaud, one of the few +true gentlemen now to be found in France, and from whom I +have just learned that you were a spectator of the races in +the Champ-de-Mars, yesterday." Chateau-Renaud bowed to the +countess. + +"So you were at the races, baron?" inquired the countess +eagerly. + +"Yes, madame." + +"Well, then," pursued Madame G---- with considerable +animation, "you can probably tell me who won the Jockey Club +stakes?" + +"I am sorry to say I cannot," replied the baron; "and I was +just asking the same question of Albert." + +"Are you very anxious to know, countess?" asked Albert. + +"To know what?" + +"The name of the owner of the winning horse?" + +"Excessively; only imagine -- but do tell me, viscount, +whether you really are acquainted with it or no?" + +"I beg your pardon, madame, but you were about to relate +some story, were you not? You said, `only imagine,' -- and +then paused. Pray continue." + +"Well, then, listen. You must know I felt so interested in +the splendid roan horse, with his elegant little rider, so +tastefully dressed in a pink satin jacket and cap, that I +could not help praying for their success with as much +earnestness as though the half of my fortune were at stake; +and when I saw them outstrip all the others, and come to the +winning-post in such gallant style, I actually clapped my +hands with joy. Imagine my surprise, when, upon returning +home, the first object I met on the staircase was the +identical jockey in the pink jacket! I concluded that, by +some singular chance, the owner of the winning horse must +live in the same hotel as myself; but, as I entered my +apartments, I beheld the very gold cup awarded as a prize to +the unknown horse and rider. Inside the cup was a small +piece of paper, on which were written these words -- `From +Lord Ruthven to Countess G---- .'" + +"Precisely; I was sure of it," said Morcerf. + +"Sure of what?" + +"That the owner of the horse was Lord Ruthven himself." + +"What Lord Ruthven do you mean?" + +"Why, our Lord Ruthven -- the Vampire of the Salle +Argentino!" + +"Is it possible?" exclaimed the countess; "is he here in +Paris?" + +"To be sure, -- why not?" + +"And you visit him? -- meet him at your own house and +elsewhere?" + +"I assure you he is my most intimate friend, and M. de +Chateau-Renaud has also the honor of his acquaintance." + +"But why are you so sure of his being the winner of the +Jockey Club prize?" + +"Was not the winning horse entered by the name of Vampa?" + +"What of that?" + +"Why, do you not recollect the name of the celebrated bandit +by whom I was made prisoner?" + +"Oh, yes." + +"And from whose hands the count extricated me in so +wonderful a manner?" + +"To be sure, I remember it all now." + +"He called himself Vampa. You see. it's evident where the +count got the name." + +"But what could have been his motive for sending the cup to +me?" + +"In the first place, because I had spoken much of you to +him, as you may believe; and in the second, because he +delighted to see a countrywoman take so lively an interest +in his success." + +"I trust and hope you never repeated to the count all the +foolish remarks we used to make about him?" + +"I should not like to affirm upon oath that I have not. +Besides, his presenting you the cup under the name of Lord +Ruthven" -- + +"Oh, but that is dreadful! Why, the man must owe me a +fearful grudge." + +"Does his action appear like that of an enemy?" + +"No; certainly not." + +"Well, then" -- + +"And so he is in Paris?" + +"Yes." + +"And what effect does he produce?" + +"Why," said Albert, "he was talked about for a week; then +the coronation of the queen of England took place, followed +by the theft of Mademoiselle Mars's diamonds; and so people +talked of something else." + +"My good fellow," said Chateau-Renaud, "the count is your +friend and you treat him accordingly. Do not believe what +Albert is telling you, countess; so far from the sensation +excited in the Parisian circles by the appearance of the +Count of Monte Cristo having abated, I take upon myself to +declare that it is as strong as ever. His first astounding +act upon coming amongst us was to present a pair of horses, +worth 32,000 francs, to Madame Danglars; his second, the +almost miraculous preservation of Madame de Villefort's +life; now it seems that he has carried off the prize awarded +by the Jockey Club. I therefore maintain, in spite of +Morcerf, that not only is the count the object of interest +at this present moment, but also that he will continue to be +so for a month longer if he pleases to exhibit an +eccentricity of conduct which, after all, may be his +ordinary mode of existence." + +"Perhaps you are right," said Morcerf; "meanwhile, who is in +the Russian ambassador's box?" + +"Which box do you mean?" asked the countess. + +"The one between the pillars on the first tier -- it seems +to have been fitted up entirely afresh." + +"Did you observe any one during the first act?" asked +Chateau-Renaud. + +"Where?" + +"In that box." + +"No," replied the countess, "it was certainly empty during +the first act;" then, resuming the subject of their previous +conversation, she said, "And so you really believe it was +your mysterious Count of Monte Cristo that gained the +prize?" + +"I am sure of it." + +"And who afterwards sent the cup to me?" + +"Undoubtedly." + +"But I don't know him," said the countess; "I have a great +mind to return it." + +"Do no such thing, I beg of you; he would only send you +another, formed of a magnificent sapphire, or hollowed out +of a gigantic ruby. It is his way, and you must take him as +you find him." At this moment the bell rang to announce the +drawing up of the curtain for the second act. Albert rose to +return to his place. "Shall I see you again?" asked the +countess. "At the end of the next act, with your permission, +I will come and inquire whether there is anything I can do +for you in Paris?" + +"Pray take notice," said the countess, "that my present +residence is 22 Rue de Rivoli, and that I am at home to my +friends every Saturday evening. So now, you are both +forewarned." The young men bowed, and quitted the box. Upon +reaching their stalls, they found the whole of the audience +in the parterre standing up and directing their gaze towards +the box formerly possessed by the Russian ambassador. A man +of from thirty-five to forty years of age, dressed in deep +black, had just entered, accompanied by a young woman +dressed after the Eastern style. The lady was surpassingly +beautiful, while the rich magnificence of her attire drew +all eyes upon her. "Hullo," said Albert; "it is Monte Cristo +and his Greek!" + +The strangers were, indeed, no other than the count and +Haidee. In a few moments the young girl had attracted the +attention of the whole house, and even the occupants of the +boxes leaned forward to scrutinize her magnificent diamonds. +The second act passed away during one continued buzz of +voices -- one deep whisper -- intimating that some great and +universally interesting event had occurred; all eyes, all +thoughts, were occupied with the young and beautiful woman, +whose gorgeous apparel and splendid jewels made a most +extraordinary spectacle. Upon this occasion an unmistakable +sign from Madame Danglars intimated her desire to see Albert +in her box directly the curtain fell on the second act, and +neither the politeness nor good taste of Morcerf would +permit his neglecting an invitation so unequivocally given. +At the close of the act he therefore went to the baroness. +Having bowed to the two ladies, he extended his hand to +Debray. By the baroness he was most graciously welcomed, +while Eugenie received him with her accustomed coldness. + +"My dear fellow," said Debray, "you have come in the nick of +time. There is madame overwhelming me with questions +respecting the count; she insists upon it that I can tell +her his birth, education, and parentage, where he came from, +and whither he is going. Being no disciple of Cagliostro, I +was wholly unable to do this; so, by way of getting out of +the scrape, I said, `Ask Morcerf; he has got the whole +history of his beloved Monte Cristo at his fingers' ends;' +whereupon the baroness signified her desire to see you." + +"Is it not almost incredible," said Madame Danglars, "that a +person having at least half a million of secret-service +money at his command, should possess so little information?" + +"Let me assure you, madame," said Lucien, "that had I really +the sum you mention at my disposal, I would employ it more +profitably than in troubling myself to obtain particulars +respecting the Count of Monte Cristo, whose only merit in my +eyes consists in his being twice as rich as a nabob. +However, I have turned the business over to Morcerf, so pray +settle it with him as may be most agreeable to you; for my +own part, I care nothing about the count or his mysterious +doings." + +"I am very sure no nabob would have sent me a pair of horses +worth 32,000 francs, wearing on their heads four diamonds +valued at 5,000 francs each." + +"He seems to have a mania for diamonds," said Morcerf, +smiling, "and I verily believe that, like Potemkin, he keeps +his pockets filled, for the sake of strewing them along the +road, as Tom Thumb did his flint stones." + +"Perhaps he has discovered some mine," said Madame Danglars. +"I suppose you know he has an order for unlimited credit on +the baron's banking establishment?" + +"I was not aware of it," replied Albert, "but I can readily +believe it." + +"And, further, that he stated to M. Danglars his intention +of only staying a year in Paris, during which time he +proposed to spend six millions. + +"He must be the Shah of Persia, travelling incog." + +"Have you noticed the remarkable beauty of the young woman, +M. Lucien?" inquired Eugenie. + +"I really never met with one woman so ready to do justice to +the charms of another as yourself," responded Lucien, +raising his lorgnette to his eye. "A most lovely creature, +upon my soul!" was his verdict. + +"Who is this young person, M. de Morcerf?" inquired Eugenie; +"does anybody know?" + +"Mademoiselle," said Albert, replying to this direct appeal, +"I can give you very exact information on that subject, as +well as on most points relative to the mysterious person of +whom we are now conversing -- the young woman is a Greek." + +"So I should suppose by her dress; if you know no more than +that, every one here is as well-informed as yourself." + +"I am extremely sorry you find me so ignorant a cicerone," +replied Morcerf, "but I am reluctantly obliged to confess, I +have nothing further to communicate -- yes, stay, I do know +one thing more, namely, that she is a musician, for one day +when I chanced to be breakfasting with the count, I heard +the sound of a guzla -- it is impossible that it could have +been touched by any other finger than her own." + +"Then your count entertains visitors, does he?" asked Madame +Danglars. + +"Indeed he does, and in a most lavish manner, I can assure +you." + +"I must try and persuade M. Danglars to invite him to a ball +or dinner, or something of the sort, that he may be +compelled to ask us in return." + +"What," said Debray, laughing; "do you really mean you would +go to his house?" + +"Why not? my husband could accompany me." + +"But do you know this mysterious count is a bachelor?" + +"You have ample proof to the contrary, if you look +opposite," said the baroness, as she laughingly pointed to +the beautiful Greek. + +"No, no!" exclaimed Debray; "that girl is not his wife: he +told us himself she was his slave. Do you not recollect, +Morcerf, his telling us so at your breakfast?" + +"Well, then," said the baroness, "if slave she be, she has +all the air and manner of a princess." + +"Of the `Arabian Nights'?" + +"If you like; but tell me, my dear Lucien, what it is that +constitutes a princess. Why, diamonds -- and she is covered +with them." + +"To me she seems overloaded," observed Eugenie; "she would +look far better if she wore fewer, and we should then be +able to see her finely formed throat and wrists." + +"See how the artist peeps out!" exclaimed Madame Danglars. +"My poor Eugenie, you must conceal your passion for the fine +arts." + +"I admire all that is beautiful," returned the young lady. + +"What do you think of the count?" inquired Debray; "he is +not much amiss, according to my ideas of good looks." + +"The count," repeated Eugenie, as though it had not occurred +to her to observe him sooner; "the count? -- oh, he is so +dreadfully pale." + +"I quite agree with you," said Morcerf; "and the secret of +that very pallor is what we want to find out. The Countess +G---- insists upon it that he is a vampire." + +"Then the Countess G---- has returned to Paris, has she?" +inquired the baroness. + +"Is that she, mamma?" asked Eugenie; "almost opposite to us, +with that profusion of beautiful light hair?" + +"Yes," said Madame Danglars, "that is she. Shall I tell you +what you ought to do, Morcerf?" + +"Command me, madame." + +"Well, then, you should go and bring your Count of Monte +Cristo to us." + +"What for?" asked Eugenie. + +"What for? Why, to converse with him, of course. Have you +really no desire to meet him?" + +"None whatever," replied Eugenie. + +"Strange child," murmured the baroness. + +"He will very probably come of his own accord," said +Morcerf. "There; do you see, madame, he recognizes you, and +bows." The baroness returned the salute in the most smiling +and graceful manner. + +"Well," said Morcerf, "I may as well be magnanimous, and +tear myself away to forward your wishes. Adieu; I will go +and try if there are any means of speaking to him." + +"Go straight to his box; that will be the simplest plan." + +"But I have never been presented." + +"Presented to whom?" + +"To the beautiful Greek." + +"You say she is only a slave?" + +"While you assert that she is a queen, or at least a +princess. No; I hope that when he sees me leave you, he will +come out." + +"That is possible -- go." + +"I am going," said Albert, as he made his parting bow. Just +as he was passing the count's box, the door opened, and +Monte Cristo came forth. After giving some directions to +Ali, who stood in the lobby, the count took Albert's arm. +Carefully closing the box door, Ali placed himself before +it, while a crowd of spectators assembled round the Nubian. + +"Upon my word," said Monte Cristo, "Paris is a strange city, +and the Parisians a very singular people. See that cluster +of persons collected around poor Ali, who is as much +astonished as themselves; really one might suppose he was +the only Nubian they had ever beheld. Now I can promise you, +that a Frenchman might show himself in public, either in +Tunis, Constantinople, Bagdad, or Cairo, without being +treated in that way." + +"That shows that the Eastern nations have too much good +sense to waste their time and attention on objects +undeserving of either. However, as far as Ali is concerned, +I can assure you, the interest he excites is merely from the +circumstance of his being your attendant -- you, who are at +this moment the most celebrated and fashionable person in +Paris." + +"Really? and what has procured me so fluttering a +distinction?" + +"What? why, yourself, to be sure! You give away horses worth +a thousand louis; you save the lives of ladies of high rank +and beauty; under the name of Major Brack you run +thoroughbreds ridden by tiny urchins not larger than +marmots; then, when you have carried off the golden trophy +of victory, instead of setting any value on it, you give it +to the first handsome woman you think of!" + +"And who has filled your head with all this nonsense?" + +"Why, in the first place, I heard it from Madame Danglars, +who, by the by, is dying to see you in her box, or to have +you seen there by others; secondly, I learned it from +Beauchamp's journal; and thirdly, from my own imagination. +Why, if you sought concealment, did you call your horse +Vampa?" + +"That was an oversight, certainly," replied the count; "but +tell me, does the Count of Morcerf never visit the Opera? I +have been looking for him, but without success." + +"He will be here to-night." + +"In what part of the house?" + +"In the baroness's box, I believe." + +"That charming young woman with her is her daughter?" + +"Yes." + +"I congratulate you." Morcerf smiled. "We will discuss that +subject at length some future time," said he. "But what do +you think of the music?" + +"What music?" + +"Why, the music you have been listening to." + +"Oh, it is well enough as the production of a human +composer, sung by featherless bipeds, to quote the late +Diogenes." + +"From which it would seem, my dear count, that you can at +pleasure enjoy the seraphic strains that proceed from the +seven choirs of paradise?" + +"You are right, in some degree; when I wish to listen to +sounds more exquisitely attuned to melody than mortal ear +ever yet listened to, I go to sleep." + +"Then sleep here, my dear count. The conditions are +favorable; what else was opera invented for?" + +"No, thank you. Your orchestra is too noisy. To sleep after +the manner I speak of, absolute calm and silence are +necessary, and then a certain preparation" -- + +"I know -- the famous hashish!" + +"Precisely. So, my dear viscount, whenever you wish to be +regaled with music come and sup with me." + +"I have already enjoyed that treat when breakfasting with +you," said Morcerf. + +"Do you mean at Rome?" + +"I do." + +"Ah, then, I suppose you heard Haidee's guzla; the poor +exile frequently beguiles a weary hour in playing over to me +the airs of her native land." Morcerf did not pursue the +subject, and Monte Cristo himself fell into a silent +reverie. The bell rang at this moment for the rising of the +curtain. "You will excuse my leaving you," said the count, +turning in the direction of his box. + +"What? Are you going?" + +"Pray, say everything that is kind to Countess G---- on the +part of her friend the Vampire." + +"And what message shall I convey to the baroness!" + +"That, with her permission, I shall do myself the honor of +paying my respects in the course of the evening." + +The third act had begun; and during its progress the Count +of Morcerf, according to his promise, made his appearance in +the box of Madame Danglars. The Count of Morcerf was not a +person to excite either interest or curiosity in a place of +public amusement; his presence, therefore, was wholly +unnoticed, save by the occupants of the box in which he had +just seated himself. The quick eye of Monte Cristo however, +marked his coming; and a slight though meaning smile passed +over his lips. Haidee, whose soul seemed centred in the +business of the stage, like all unsophisticated natures, +delighted in whatever addressed itself to the eye or ear. + +The third act passed off as usual. Mesdemoiselles Noblet, +Julie, and Leroux executed the customary pirouettes; Robert +duly challenged the Prince of Granada; and the royal father +of the princess Isabella, taking his daughter by the hand, +swept round the stage with majestic strides, the better to +display the rich folds of his velvet robe and mantle. After +which the curtain again fell, and the spectators poured +forth from the theatre into the lobbies and salon. The count +left his box, and a moment later was saluting the Baronne +Danglars, who could not restrain a cry of mingled pleasure +and surprise. "You are welcome, count!" she exclaimed, as he +entered. "I have been most anxious to see you, that I might +repeat orally the thanks writing can so ill express." + +"Surely so trifling a circumstance cannot deserve a place in +your remembrance. Believe me, madame, I had entirely +forgotten it." + +"But it is not so easy to forget, monsieur, that the very +next day after your princely gift you saved the life of my +dear friend, Madame de Villefort, which was endangered by +the very animals your generosity restored to me." + +"This time, at least, I do not deserve your thanks. It was +Ali, my Nubian slave, who rendered this service to Madame de +Villefort." + +"Was it Ali," asked the Count of Morcerf, "who rescued my +son from the hands of bandits?" + +"No, count," replied Monte Cristo taking the hand held out +to him by the general; "in this instance I may fairly and +freely accept your thanks; but you have already tendered +them, and fully discharged your debt -- if indeed there +existed one -- and I feel almost mortified to find you still +reverting to the subject. May I beg of you, baroness, to +honor me with an introduction to your daughter?" + +"Oh, you are no stranger -- at least not by name," replied +Madame Danglars, "and the last two or three days we have +really talked of nothing but you. Eugenie," continued the +baroness, turning towards her daughter, "this is the Count +of Monte Cristo." The Count bowed, while Mademoiselle +Danglars bent her head slightly. "You have a charming young +person with you to-night, count," said Eugenie. "Is she your +daughter?" + +"No, mademoiselle," said Monte Cristo, astonished at the +coolness and freedom of the question. "She is a poor +unfortunate Greek left under my care." + +"And what is her name?" + +"Haidee," replied Monte Cristo. + +"A Greek?" murmured the Count of Morcerf. + +"Yes, indeed, count," said Madame Danglars; "and tell me, +did you ever see at the court of Ali Tepelini, whom you so +gloriously and valiantly served, a more exquisite beauty or +richer costume?" + +"Did I hear rightly, monsieur," said Monte Cristo "that you +served at Yanina?" + +"I was inspector-general of the pasha's troops," replied +Morcerf; "and it is no secret that I owe my fortune, such as +it is, to the liberality of the illustrious Albanese chief." + +"But look!" exclaimed Madame Danglars. + +"Where?" stammered Morcerf. + +"There," said Monte Cristo placing his arms around the +count, and leaning with him over the front of the box, just +as Haidee, whose eyes were occupied in examining the theatre +in search of her guardian, perceived his pale features close +to Morcerf's face. It was as if the young girl beheld the +head of Medusa. She bent forwards as though to assure +herself of the reality of what she saw, then, uttering a +faint cry, threw herself back in her seat. The sound was +heard by the people about Ali, who instantly opened the +box-door. "Why, count," exclaimed Eugenie, "what has +happened to your ward? she seems to have been taken suddenly +ill." + +"Very probably," answered the count. "But do not be alarmed +on her account. Haidee's nervous system is delicately +organized, and she is peculiarly susceptible to the odors +even of flowers -- nay, there are some which cause her to +faint if brought into her presence. However," continued +Monte Cristo, drawing a small phial from his pocket, "I have +an infallible remedy." So saying, he bowed to the baroness +and her daughter, exchanged a parting shake of the hand with +Debray and the count, and left Madame Danglars' box. Upon +his return to Haidee he found her still very pale. As soon +as she saw him she seized his hand; her own hands were moist +and icy cold. "Who was it you were talking with over there?" +she asked. + +"With the Count of Morcerf," answered Monte Cristo. "He +tells me he served your illustrious father, and that he owes +his fortune to him." + +"Wretch!" exclaimed Haidee, her eyes flashing with rage; "he +sold my father to the Turks, and the fortune he boasts of +was the price of his treachery! Did not you know that, my +dear lord?" + +"Something of this I heard in Epirus," said Monte Cristo; +"but the particulars are still unknown to me. You shall +relate them to me, my child. They are, no doubt, both +curious and interesting." + +"Yes, yes; but let us go. I feel as though it would kill me +to remain long near that dreadful man." So saying, Haidee +arose, and wrapping herself in her burnoose of white +cashmire embroidered with pearls and coral, she hastily +quitted the box at the moment when the curtain was rising +upon the fourth act. + +"Do you observe," said the Countess G---- to Albert, who +had returned to her side, "that man does nothing like other +people; he listens most devoutly to the third act of `Robert +le Diable,' and when the fourth begins, takes his +departure." + + + +Chapter 54 +A Flurry in Stocks. + +Some days after this meeting, Albert de Morcerf visited the +Count of Monte Cristo at his house in the Champs Elysees, +which had already assumed that palace-like appearance which +the count's princely fortune enabled him to give even to his +most temporary residences. He came to renew the thanks of +Madame Danglars which had been already conveyed to the count +through the medium of a letter, signed "Baronne Danglars, +nee Hermine de Servieux." Albert was accompanied by Lucien +Debray, who, joining in his friend's conversation, added +some passing compliments, the source of which the count's +talent for finesse easily enabled him to guess. He was +convinced that Lucien's visit was due to a double feeling of +curiosity, the larger half of which sentiment emanated from +the Rue de la Chaussee d'Antin. In short, Madame Danglars, +not being able personally to examine in detail the domestic +economy and household arrangements of a man who gave away +horses worth 30,000 francs and who went to the opera with a +Greek slave wearing diamonds to the amount of a million of +money, had deputed those eyes, by which she was accustomed +to see, to give her a faithful account of the mode of life +of this incomprehensible person. But the count did not +appear to suspect that there could be the slightest +connection between Lucien's visit and the curiosity of the +baroness. + +"You are in constant communication with the Baron Danglars?" +the count inquired of Albert de Morcerf. + +"Yes, count, you know what I told you?" + +"All remains the same, then, in that quarter?" + +"It is more than ever a settled thing," said Lucien, -- and, +considering that this remark was all that he was at that +time called upon to make, he adjusted the glass to his eye, +and biting the top of his gold headed cane, began to make +the tour of the apartment, examining the arms and the +pictures. + +"Ah," said Monte Cristo "I did not expect that the affair +would be so promptly concluded." + +"Oh, things take their course without our assistance. While +we are forgetting them, they are falling into their +appointed order; and when, again, our attention is directed +to them, we are surprised at the progress they have made +towards the proposed end. My father and M. Danglars served +together in Spain, my father in the army and M. Danglars in +the commissariat department. It was there that my father, +ruined by the revolution, and M. Danglars, who never had +possessed any patrimony, both laid the foundations of their +different fortunes." + +"Yes," said Monte Cristo "I think M. Danglars mentioned that +in a visit which I paid him; and," continued he, casting a +side-glance at Lucien, who was turning over the leaves of an +album, "Mademoiselle Eugenie is pretty -- I think I remember +that to be her name." + +"Very pretty, or rather, very beautiful," replied Albert, +"but of that style of beauty which I do not appreciate; I am +an ungrateful fellow." + +"You speak as if you were already her husband." + +"Ah," returned Albert, in his turn looking around to see +what Lucien was doing. + +"Really," said Monte Cristo, lowering his voice, "you do not +appear to me to be very enthusiastic on the subject of this +marriage." + +"Mademoiselle Danglars is too rich for me," replied Morcerf, +"and that frightens me." + +"Bah," exclaimed Monte Cristo, "that's a fine reason to +give. Are you not rich yourself?" + +"My father's income is about 50,000 francs per annum; and he +will give me, perhaps, ten or twelve thousand when I marry." + +"That, perhaps, might not be considered a large sum, in +Paris especially," said the count; "but everything does not +depend on wealth, and it is a fine thing to have a good +name, and to occupy a high station in society. Your name is +celebrated, your position magnificent; and then the Comte de +Morcerf is a soldier, and it is pleasing to see the +integrity of a Bayard united to the poverty of a Duguesclin; +disinterestedness is the brightest ray in which a noble +sword can shine. As for me, I consider the union with +Mademoiselle Danglars a most suitable one; she will enrich +you, and you will ennoble her." Albert shook his head, and +looked thoughtful. "There is still something else," said he. + +"I confess," observed Monte Cristo, "that I have some +difficulty in comprehending your objection to a young lady +who is both rich and beautiful." + +"Oh," said Morcerf, "this repugnance, if repugnance it may +be called, is not all on my side." + +"Whence can it arise, then? for you told me your father +desired the marriage." + +"It is my mother who dissents; she has a clear and +penetrating judgment, and does not smile on the proposed +union. I cannot account for it, but she seems to entertain +some prejudice against the Danglars." + +"Ah," said the count, in a somewhat forced tone, "that may +be easily explained; the Comtesse de Morcerf, who is +aristocracy and refinement itself, does not relish the idea +of being allied by your marriage with one of ignoble birth; +that is natural enough." + +"I do not know if that is her reason," said Albert, "but one +thing I do know, that if this marriage be consummated, it +will render her quite miserable. There was to have been a +meeting six weeks ago in order to talk over and settle the +affair; but I had such a sudden attack of indisposition" -- + +"Real?" interrupted the count, smiling. + +"Oh, real enough, from anxiety doubtless, -- at any rate +they postponed the matter for two months. There is no hurry, +you know. I am not yet twenty-one, and Eugenie is only +seventeen; but the two months expire next week. It must be +done. My dear count, you cannot imagine now my mind is +harassed. How happy you are in being exempt from all this!" + +"Well, and why should not you be free, too? What prevents +you from being so?" + +"Oh, it will be too great a disappointment to my father if I +do not marry Mademoiselle Danglars." + +"Marry her then," said the count, with a significant shrug +of the shoulders. + +"Yes," replied Morcerf, "but that will plunge my mother into +positive grief." + +"Then do not marry her," said the count. + +"Well, I shall see. I will try and think over what is the +best thing to be done; you will give me your advice, will +you not, and if possible extricate me from my unpleasant +position? I think, rather than give pain to my dear mother, +I would run the risk of offending the count." Monte Cristo +turned away; he seemed moved by this last remark. "Ah," said +he to Debray, who had thrown himself into an easy-chair at +the farthest extremity of the salon, and who held a pencil +in his right hand and an account book in his left, "what are +you doing there? Are you making a sketch after Poussin?" + +"Oh, no," was the tranquil response; "I am too fond of art +to attempt anything of that sort. I am doing a little sum in +arithmetic." + +"In arithmetic?" + +"Yes; I am calculating -- by the way, Morcerf, that +indirectly concerns you -- I am calculating what the house +of Danglars must have gained by the last rise in Haiti +bonds; from 206 they have risen to 409 in three days, and +the prudent banker had purchased at 206; therefore he must +have made 300,000 livres." + +"That is not his biggest scoop," said Morcerf; "did he not +make a million in Spaniards this last year?" + +"My dear fellow," said Lucien, "here is the Count of Monte +Cristo, who will say to you, as the Italians do, -- + +"`Danaro e santita, +Meta della meta.'* + +* "Money and sanctity, +Each in a moiety. + +"When they tell me such things, I only shrug my shoulders +and say nothing." + +"But you were speaking of Haitians?" said Monte Cristo. + +"Ah, Haitians, -- that is quite another thing! Haitians are +the ecarte of French stock-jobbing. We may like bouillotte, +delight in whist, be enraptured with boston, and yet grow +tired of them all; but we always come back to ecarte -- it +is not only a game, it is a hors-d'oeuvre! M. Danglars sold +yesterday at 405, and pockets 300,000 francs. Had he but +waited till to-day, the price would have fallen to 205, and +instead of gaining 300,000 francs, he would have lost 20 or +25,000." + +"And what has caused the sudden fall from 409 to 206?" asked +Monte Cristo. "I am profoundly ignorant of all these +stock-jobbing intrigues." + +"Because," said Albert, laughing, "one piece of news follows +another, and there is often great dissimilarity between +them." + +"Ah," said the count, "I see that M. Danglars is accustomed +to play at gaining or losing 300,000 francs in a day; he +must be enormously rich." + +"It is not he who plays!" exclaimed Lucien; "it is Madame +Danglars: she is indeed daring." + +"But you who are a reasonable being, Lucien, and who know +how little dependence is to be placed on the news, since you +are at the fountain-head, surely you ought to prevent it," +said Morcerf, with a smile. + +"How can I, if her husband fails in controlling her?" asked +Lucien; "you know the character of the baroness -- no one +has any influence with her, and she does precisely what she +pleases." + +"Ah, if I were in your place" -- said Albert. + +"Well?" + +"I would reform her; it would be rendering a service to her +future son-in-law." + +"How would you set about it?" + +"Ah, that would be easy enough -- I would give her a +lesson." + +"A lesson?" + +"Yes. Your position as secretary to the minister renders +your authority great on the subject of political news; you +never open your mouth but the stockbrokers immediately +stenograph your words. Cause her to lose a hundred thousand +francs, and that would teach her prudence." + +"I do not understand," stammered Lucien. + +"It is very clear, notwithstanding," replied the young man, +with an artlessness wholly free from affectation; "tell her +some fine morning an unheard-of piece of intelligence -- +some telegraphic despatch, of which you alone are in +possession; for instance, that Henri IV. was seen yesterday +at Gabrielle's. That would boom the market; she will buy +heavily, and she will certainly lose when Beauchamp +announces the following day, in his gazette, `The report +circulated by some usually well-informed persons that the +king was seen yesterday at Gabrielle's house, is totally +without foundation. We can positively assert that his +majesty did not quit the Pont-Neuf.'" Lucien half smiled. +Monte Cristo, although apparently indifferent, had not lost +one word of this conversation, and his penetrating eye had +even read a hidden secret in the embarrassed manner of the +secretary. This embarrassment had completely escaped Albert, +but it caused Lucien to shorten his visit; he was evidently +ill at ease. The count, in taking leave of him, said +something in a low voice, to which he answered, "Willingly, +count; I accept." The count returned to young Morcerf. + +"Do you not think, on reflection," said he to him, "that you +have done wrong in thus speaking of your mother-in-law in +the presence of M. Debray?" + +"My dear count," said Morcerf, "I beg of you not to apply +that title so prematurely." + +"Now, speaking without any exaggeration, is your mother +really so very much averse to this marriage?" + +"So much so that the baroness very rarely comes to the +house, and my mother, has not, I think, visited Madame +Danglars twice in her whole life." + +"Then," said the count, "I am emboldened to speak openly to +you. M. Danglars is my banker; M. de Villefort has +overwhelmed me with politeness in return for a service which +a casual piece of good fortune enabled me to render him. I +predict from all this an avalanche of dinners and routs. +Now, in order not to presume on this, and also to be +beforehand with them, I have, if agreeable to you, thought +of inviting M. and Madame Danglars, and M. and Madame de +Villefort, to my country-house at Auteuil. If I were to +invite you and the Count and Countess of Morcerf to this +dinner, I should give it the appearance of being a +matrimonial meeting, or at least Madame de Morcerf would +look upon the affair in that light, especially if Baron +Danglars did me the honor to bring his daughter. In that +case your mother would hold me in aversion, and I do not at +all wish that; on the contrary, I desire to stand high in +her esteem." + +"Indeed, count," said Morcerf, "I thank you sincerely for +having used so much candor towards me, and I gratefully +accept the exclusion which you propose. You say you desire +my mother's good opinion; I assure you it is already yours +to a very unusual extent." + +"Do you think so?" said Monte Cristo, with interest. + +"Oh, I am sure of it; we talked of you an hour after you +left us the other day. But to return to what we were saying. +If my mother could know of this attention on your part -- +and I will venture to tell her -- I am sure that she will be +most grateful to you; it is true that my father will be +equally angry." The count laughed. "Well," said he to +Morcerf, "but I think your father will not be the only angry +one; M. and Madame Danglars will think me a very +ill-mannered person. They know that I am intimate with you +-- that you are, in fact; one of the oldest of my Parisian +acquaintances -- and they will not find you at my house; +they will certainly ask me why I did not invite you. Be sure +to provide yourself with some previous engagement which +shall have a semblance of probability, and communicate the +fact to me by a line in writing. You know that with bankers +nothing but a written document will be valid." + +"I will do better than that," said Albert; "my mother is +wishing to go to the sea-side -- what day is fixed for your +dinner?" + +"Saturday." + +"This is Tuesday -- well, to-morrow evening we leave, and +the day after we shall be at Treport. Really, count, you +have a delightful way of setting people at their ease." + +"Indeed, you give me more credit than I deserve; I only wish +to do what will be agreeable to you, that is all." + +"When shall you send your invitations?" + +"This very day." + +"Well, I will immediately call on M. Danglars, and tell him +that my mother and myself must leave Paris to-morrow. I have +not seen you, consequently I know nothing of your dinner." + +"How foolish you are! Have you forgotten that M. Debray has +just seen you at my house?" + +"Ah, true," + +"Fix it this way. I have seen you, and invited you without +any ceremony, when you instantly answered that it would be +impossible for you to accept, as you were going to Treport." + +"Well, then, that is settled; but you will come and call on +my mother before to-morrow?" + +"Before to-morrow? -- that will be a difficult matter to +arrange, besides, I shall just be in the way of all the +preparations for departure." + +"Well, you can do better. You were only a charming man +before, but, if you accede to my proposal, you will be +adorable." + +"What must I do to attain such sublimity?" + +"You are to-day free as air -- come and dine with me; we +shall be a small party -- only yourself, my mother, and I. +You have scarcely seen my mother; you shall have an +opportunity of observing her more closely. She is a +remarkable woman, and I only regret that there does not +exist another like her, about twenty years younger; in that +case, I assure you, there would very soon be a Countess and +Viscountess of Morcerf. As to my father, you will not see +him; he is officially engaged, and dines with the chief +referendary. We will talk over our travels; and you, who +have seen the whole world, will relate your adventures -- +you shall tell us the history of the beautiful Greek who was +with you the other night at the Opera, and whom you call +your slave, and yet treat like a princess. We will talk +Italian and Spanish. Come, accept my invitation, and my +mother will thank you." + +"A thousand thanks," said the count, "your invitation is +most gracious, and I regret exceedingly that it is not in my +power to accept it. I am not so much at liberty as you +suppose; on the contrary, I have a most important +engagement." + +"Ah, take care, you were teaching me just now how, in case +of an invitation to dinner, one might creditably make an +excuse. I require the proof of a pre-engagement. I am not a +banker, like M. Danglars, but I am quite as incredulous as +he is." + +"I am going to give you a proof," replied the count, and he +rang the bell. + +"Humph," said Morcerf, "this is the second time you have +refused to dine with my mother; it is evident that you wish +to avoid her." Monte Cristo started. "Oh, you do not mean +that," said he; "besides, here comes the confirmation of my +assertion." Baptistin entered, and remained standing at the +door. "I had no previous knowledge of your visit, had I?" + +"Indeed, you are such an extraordinary person, that I would +not answer for it." + +"At all events, I could not guess that you would invite me +to dinner." + +"Probably not." + +"Well, listen, Baptistin, what did I tell you this morning +when I called you into my laboratory?" + +"To close the door against visitors as soon as the clock +struck five," replied the valet. + +"What then?" + +"Ah, my dear count," said Albert. + +"No, no, I wish to do away with that mysterious reputation +that you have given me, my dear viscount; it is tiresome to +be always acting Manfred. I wish my life to be free and +open. Go on, Baptistin." + +"Then to admit no one except Major Bartolomeo Cavalcanti and +his son." + +"You hear -- Major Bartolomeo Cavalcanti -- a man who ranks +amongst the most ancient nobility of Italy, whose name Dante +has celebrated in the tenth canto of `The Inferno,' you +remember it, do you not? Then there is his son, Andrea, a +charming young man, about your own age, viscount, bearing +the same title as yourself, and who is making his entry into +the Parisian world, aided by his father's millions. The +major will bring his son with him this evening, the contino, +as we say in Italy; he confides him to my care. If he proves +himself worthy of it, I will do what I can to advance his +interests. You will assist me in the work, will you not?" + +"Most undoubtedly. This Major Cavalcanti is an old friend of +yours, then?" + +"By no means. He is a perfect nobleman, very polite, modest, +and agreeable, such as may be found constantly in Italy, +descendants of very ancient families. I have met him several +times at Florence, Bologna and Lucca, and he has now +communicated to me the fact of his arrival in Paris. The +acquaintances one makes in travelling have a sort of claim +on one; they everywhere expect to receive the same attention +which you once paid them by chance, as though the civilities +of a passing hour were likely to awaken any lasting interest +in favor of the man in whose society you may happen to be +thrown in the course of your journey. This good Major +Cavalcanti is come to take a second view of Paris, which he +only saw in passing through in the time of the Empire, when +he was on his way to Moscow. I shall give him a good dinner, +he will confide his son to my care, I will promise to watch +over him, I shall let him follow in whatever path his folly +may lead him, and then I shall have done my part." + +"Certainly; I see you are a model Mentor," said Albert +"Good-by, we shall return on Sunday. By the way, I have +received news of Franz." + +"Have you? Is he still amusing himself in Italy?" + +"I believe so; however, he regrets your absence extremely . +He says you were the sun of Rome, and that without you all +appears dark and cloudy; I do not know if he does not even +go so far as to say that it rains." + +"His opinion of me is altered for the better, then?" + +"No, he still persists in looking upon you as the most +incomprehensible and mysterious of beings." + +"He is a charming young man," said Monte Cristo "and I felt +a lively interest in him the very first evening of my +introduction, when I met him in search of a supper, and +prevailed upon him to accept a portion of mine. He is, I +think, the son of General d'Epinay?" + +"He is." + +"The same who was so shamefully assassinated in 1815?" + +"By the Bonapartists." + +"Yes. Really I like him extremely; is there not also a +matrimonial engagement contemplated for him?" + +"Yes, he is to marry Mademoiselle de Villefort." + +"Indeed?" + +"And you know I am to marry Mademoiselle Danglars," said +Albert, laughing. + +"You smile." + +"Yes." + +"Why do you do so?" + +"I smile because there appears to me to be about as much +inclination for the consummation of the engagement in +question as there is for my own. But really, my dear count, +we are talking as much of women as they do of us; it is +unpardonable." Albert rose. + +"Are you going?" + +"Really, that is a good idea! -- two hours have I been +boring you to death with my company, and then you, with the +greatest politeness, ask me if I am going. Indeed, count, +you are the most polished man in the world. And your +servants, too, how very well behaved they are; there is +quite a style about them. Monsieur Baptistin especially; I +could never get such a man as that. My servants seem to +imitate those you sometimes see in a play, who, because they +have only a word or two to say, aquit themselves in the most +awkward manner possible. Therefore, if you part with M. +Baptistin, give me the refusal of him." + +"By all means." + +"That is not all; give my compliments to your illustrious +Luccanese, Cavalcante of the Cavalcanti; and if by any +chance he should be wishing to establish his son, find him a +wife very rich, very noble on her mother's side at least, +and a baroness in right of her father, I will help you in +the search." + +"Ah, ha; you will do as much as that, will you?" + +"Yes." + +"Well, really, nothing is certain in this world." + +"Oh, count, what a service you might render me! I should +like you a hundred times better if, by your intervention, I +could manage to remain a bachelor, even were it only for ten +years." + +"Nothing is impossible," gravely replied Monte Cristo; and +taking leave of Albert, he returned into the house, and +struck the gong three times. Bertuccio appeared. "Monsieur +Bertuccio, you understand that I intend entertaining company +on Saturday at Auteuil." Bertuccio slightly started. "I +shall require your services to see that all be properly +arranged. It is a beautiful house, or at all events may be +made so." + +"There must be a good deal done before it can deserve that +title, your excellency, for the tapestried hangings are very +old." + +"Let them all be taken away and changed, then, with the +exception of the sleeping-chamber which is hung with red +damask; you will leave that exactly as it is." Bertuccio +bowed. "You will not touch the garden either; as to the +yard, you may do what you please with it; I should prefer +that being altered beyond all recognition." + +"I will do everything in my power to carry out your wishes, +your excellency. I should be glad, however, to receive your +excellency's commands concerning the dinner." + +"Really, my dear M. Bertuccio," said the count, "since you +have been in Paris, you have become quite nervous, and +apparently out of your element; you no longer seem to +understand me." + +"But surely your excellency will be so good as to inform me +whom you are expecting to receive?" + +"I do not yet know myself, neither is it necessary that you +should do so. `Lucullus dines with Lucullus,' that is quite +sufficient." Bertuccio bowed, and left the room. + + + +Chapter 55 +Major Cavalcanti. + +Both the count and Baptistin had told the truth when they +announced to Morcerf the proposed visit of the major, which +had served Monte Cristo as a pretext for declining Albert's +invitation. Seven o'clock had just struck, and M. Bertuccio, +according to the command which had been given him, had two +hours before left for Auteuil, when a cab stopped at the +door, and after depositing its occupant at the gate, +immediately hurried away, as if ashamed of its employment. +The visitor was about fifty-two years of age, dressed in one +of the green surtouts, ornamented with black frogs, which +have so long maintained their popularity all over Europe. He +wore trousers of blue cloth, boots tolerably clean, but not +of the brightest polish, and a little too thick in the +soles, buckskin gloves, a hat somewhat resembling in shape +those usually worn by the gendarmes, and a black cravat +striped with white, which, if the proprietor had not worn it +of his own free will, might have passed for a halter, so +much did it resemble one. Such was the picturesque costume +of the person who rang at the gate, and demanded if it was +not at No. 30 in the Avenue des Champs-Elysees that the +Count of Monte Cristo lived, and who, being answered by the +porter in the affirmative, entered, closed the gate after +him, and began to ascend the steps. + +The small and angular head of this man, his white hair and +thick gray mustaches, caused him to be easily recognized by +Baptistin, who had received an exact description of the +expected visitor, and who was awaiting him in the hall. +Therefore, scarcely had the stranger time to pronounce his +name before the count was apprised of his arrival. He was +ushered into a simple and elegant drawing-room, and the +count rose to meet him with a smiling air. "Ah, my dear sir, +you are most welcome; I was expecting you." + +"Indeed," said the Italian, "was your excellency then aware +of my visit?" + +"Yes; I had been told that I should see you to-day at seven +o'clock." + +"Then you have received full information concerning my +arrival?" + +"Of course." + +"Ah, so much the better, I feared this little precaution +might have been forgotten." + +"What precaution?" + +"That of informing you beforehand of my coming." + +"Oh, no, it has not." + +"But you are sure you are not mistaken." + +"Very sure." + +"It really was I whom your excellency expected at seven +o'clock this evening?" + +"I will prove it to you beyond a doubt." + +"Oh, no, never mind that," said the Italian; "it is not +worth the trouble." + +"Yes, yes," said Monte Cristo. His visitor appeared slightly +uneasy. "Let me see," said the count; "are you not the +Marquis Bartolomeo Cavalcanti?" + +"Bartolomeo Cavalcanti," joyfully replied the Italian; "yes, +I am really he." + +"Ex-major in the Austrian service?" + +"Was I a major?" timidly asked the old soldier. + +"Yes," said Monte Cristo "you were a major; that is the +title the French give to the post which you filled in +Italy." + +"Very good," said the major, "I do not demand more, you +understand" -- + +"Your visit here to-day is not of your own suggestion, is +it?" said Monte Cristo. + +"No, certainly not." + +"You were sent by some other person?" + +"Yes." + +"By the excellent Abbe Busoni?" + +"Exactly so," said the delighted major. + +"And you have a letter?" + +"Yes, there it is." + +"Give it me, then;" and Monte Cristo took the letter, which +he opened and read. The major looked at the count with his +large staring eyes, and then took a survey of the apartment, +but his gaze almost immediately reverted to the proprietor +of the room. "Yes, yes, I see. `Major Cavalcanti, a worthy +patrician of Lucca, a descendant of the Cavalcanti of +Florence,'" continued Monte Cristo, reading aloud, +"`possessing an income of half a million.'" Monte Cristo +raised his eyes from the paper, and bowed. "Half a million," +said he, "magnificent!" + +"Half a million, is it?" said the major. + +"Yes, in so many words; and it must be so, for the abbe +knows correctly the amount of all the largest fortunes in +Europe." + +"Be it half a million. then; but on my word of honor, I had +no idea that it was so much." + +"Because you are robbed by your steward. You must make some +reformation in that quarter." + +"You have opened my eyes," said the Italian gravely; "I will +show the gentlemen the door." Monte Cristo resumed the +perusal of the letter: -- + +"`And who only needs one thing more to make him happy.'" + +"Yes, indeed but one!" said the major with a sigh. + +"`Which is to recover a lost and adored son.'" + +"A lost and adored son!" + +"`Stolen away in his infancy, either by an enemy of his +noble family or by the gypsies.'" + +"At the age of five years!" said the major with a deep sigh, +and raising his eye to heaven. + +"Unhappy father," said Monte Cristo. The count continued: -- + +"`I have given him renewed life and hope, in the assurance +that you have the power of restoring the son whom he has +vainly sought for fifteen years.'" The major looked at the +count with an indescribable expression of anxiety. "I have +the power of so doing," said Monte Cristo. The major +recovered his self-possession. "So, then," said he, "the +letter was true to the end?" + +"Did you doubt it, my dear Monsieur Bartolomeo?" + +"No, indeed; certainly not; a good man, a man holding +religious office, as does the Abbe Busoni, could not +condescend to deceive or play off a joke; but your +excellency has not read all." + +"Ah, true," said Monte Cristo "there is a postscript." + +"Yes, yes," repeated the major, "yes -- there -- is -- a -- +postscript." + +"`In order to save Major Cavalcanti the trouble of drawing +on his banker, I send him a draft for 2,000 francs to defray +his travelling expenses, and credit on you for the further +sum of 48,000 francs, which you still owe me.'" The major +awaited the conclusion of the postscript, apparently with +great anxiety. "Very good," said the count. + +"He said `very good,'" muttered the major, "then -- sir" -- +replied he. + +"Then what?" asked Monte Cristo. + +"Then the postscript" -- + +"Well; what of the postscript?" + +"Then the postscript is as favorably received by you as the +rest of the letter?" + +"Certainly; the Abbe Busoni and myself have a small account +open between us. I do not remember if it is exactly 48,000 +francs, which I am still owing him, but I dare say we shall +not dispute the difference. You attached great importance, +then, to this postscript, my dear Monsieur Cavalcanti?" + +"I must explain to you," said the major, "that, fully +confiding in the signature of the Abbe Busoni, I had not +provided myself with any other funds; so that if this +resource had failed me, I should have found myself very +unpleasantly situated in Paris." + +"Is it possible that a man of your standing should be +embarrassed anywhere?" said Monte Cristo. + +"Why, really I know no one," said the major. + +"But then you yourself are known to others?" + +"Yes, I am known, so that" -- + +"Proceed, my dear Monsieur Cavalcanti." + +"So that you will remit to me these 48,000 francs?" + +"Certainly, at your first request." The major's eyes dilated +with pleasing astonishment. "But sit down," said Monte +Cristo; "really I do not know what I have been thinking of +-- I have positively kept you standing for the last quarter +of an hour." + +"Don't mention it." The major drew an arm-chair towards him, +and proceeded to seat himself. + +"Now," said the count, "what will you take -- a glass of +port, sherry, or Alicante?" + +"Alicante, if you please; it is my favorite wine." + +"I have some that is very good. You will take a biscuit with +it, will you not?" + +"Yes, I will take a biscuit, as you are so obliging." + +Monte Cristo rang; Baptistin appeared. The count advanced to +meet him. "Well?" said he in a low voice. "The young man is +here," said the valet de chambre in the same tone. + +"Into what room did you take him?" + +"Into the blue drawing-room, according to your excellency's +orders." + +"That's right; now bring the Alicante and some biscuits." + +Baptistin left the room. "Really," said the major, "I am +quite ashamed of the trouble I am giving you." + +"Pray don't mention such a thing," said the count. Baptistin +re-entered with glasses, wine, and biscuits. The count +filled one glass, but in the other he only poured a few +drops of the ruby-colored liquid. The bottle was covered +with spiders' webs, and all the other signs which indicate +the age of wine more truly than do wrinkles on a man's face. +The major made a wise choice; he took the full glass and a +biscuit. The count told Baptistin to leave the plate within +reach of his guest, who began by sipping the Alicante with +an expression of great satisfaction, and then delicately +steeped his biscuit in the wine. + +"So, sir, you lived at Lucca, did you? You were rich, noble, +held in great esteem -- had all that could render a man +happy?" + +"All," said the major, hastily swallowing his biscuit, +"positively all." + +"And yet there was one thing wanting in order to complete +your happiness?" + +"Only one thing," said the Italian. + +"And that one thing, your lost child." + +"Ah," said the major, taking a second biscuit, "that +consummation of my happiness was indeed wanting." The worthy +major raised his eyes to heaven and sighed. + +"Let me hear, then," said the count, "who this deeply +regretted son was; for I always understood you were a +bachelor." + +"That was the general opinion, sir," said the major, "and I" +-- + +"Yes," replied the count, "and you confirmed the report. A +youthful indiscretion, I suppose, which you were anxious to +conceal from the world at large?" The major recovered +himself, and resumed his usual calm manner, at the same time +casting his eyes down, either to give himself time to +compose his countenance, or to assist his imagination, all +the while giving an under-look at the count, the protracted +smile on whose lips still announced the same polite +curiosity. "Yes," said the major, "I did wish this fault to +be hidden from every eye." + +"Not on your own account, surely," replied Monte Cristo; +"for a man is above that sort of thing?" + +"Oh, no, certainly not on my own account," said the major +with a smile and a shake of the head. + +"But for the sake of the mother?" said the count. + +"Yes, for the mother's sake -- his poor mother!" cried the +major, taking a third biscuit. + +"Take some more wine, my dear Cavalcanti," said the count, +pouring out for him a second glass of Alicante; "your +emotion has quite overcome you." + +"His poor mother," murmured the major, trying to get the +lachrymal gland in operation, so as to moisten the corner of +his eye with a false tear. + +"She belonged to one of the first families in Italy, I +think, did she not?" + +"She was of a noble family of Fiesole, count." + +"And her name was" -- + +"Do you desire to know her name?" -- + +"Oh," said Monte Cristo "it would be quite superfluous for +you to tell me, for I already know it." + +"The count knows everything," said the Italian, bowing. + +"Oliva Corsinari, was it not?" + +"Oliva Corsinari." + +"A marchioness?" + +"A marchioness." + +"And you married her at last, notwithstanding the opposition +of her family?" + +"Yes, that was the way it ended." + +"And you have doubtless brought all your papers with you?" +said Monte Cristo. + +"What papers?" + +"The certificate of your marriage with Oliva Corsinari, and +the register of your child's birth." + +"The register of my child's birth?" + +"The register of the birth of Andrea Cavalcanti -- of your +son; is not his name Andrea?" + +"I believe so," said the major. + +"What? You believe so?" + +"I dare not positively assert it, as he has been lost for so +long a time." + +"Well, then," said Monte Cristo "you have all the documents +with you?" + +"Your excellency, I regret to say that, not knowing it was +necessary to come provided with these papers, I neglected to +bring them." + +"That is unfortunate," returned Monte Cristo. + +"Were they, then, so necessary?" + +"They were indispensable." + +The major passed his hand across his brow. "Ah, per Bacco, +indispensable, were they?" + +"Certainly they were; supposing there were to be doubts +raised as to the validity of your marriage or the legitimacy +of your child?" + +"True," said the major, "there might be doubts raised." + +"In that case your son would be very unpleasantly situated." + +"It would be fatal to his interests." + +"It might cause him to fail in some desirable matrimonial +alliance." + +"O peccato!" + +"You must know that in France they are very particular on +these points; it is not sufficient, as in Italy, to go to +the priest and say, `We love each other, and want you to +marry us.' Marriage is a civil affair in France, and in +order to marry in an orthodox manner you must have papers +which undeniably establish your identity." + +"That is the misfortune! You see I have not these necessary +papers." + +"Fortunately, I have them, though," said Monte Cristo. + +"You?" + +"Yes." + +"You have them?" + +"I have them." + +"Ah, indeed?" said the major, who, seeing the object of his +journey frustrated by the absence of the papers, feared also +that his forgetfulness might give rise to some difficulty +concerning the 48,000 francs -- "ah, indeed, that is a +fortunate circumstance; yes, that really is lucky, for it +never occurred to me to bring them." + +"I do not at all wonder at it -- one cannot think of +everything; but, happily, the Abbe Busoni thought for you." + +"He is an excellent person." + +"He is extremely prudent and thoughtful" + +"He is an admirable man," said the major; "and he sent them +to you?" + +"Here they are." + +The major clasped his hands in token of admiration. "You +married Oliva Corsinari in the church of San Paolo del +Monte-Cattini; here is the priest's certificate." + +"Yes indeed, there it is truly," said the Italian, looking +on with astonishment. + +"And here is Andrea Cavalcanti's baptismal register, given +by the curate of Saravezza." + +"All quite correct." + +"Take these documents, then; they do not concern me. You +will give them to your son, who will, of course, take great +care of them." + +"I should think so, indeed! If he were to lose them" -- + +"Well, and if he were to lose them?" said Monte Cristo. + +"In that case," replied the major, "it would be necessary to +write to the curate for duplicates, and it would be some +time before they could be obtained." + +"It would be a difficult matter to arrange," said Monte +Cristo. + +"Almost an impossibility," replied the major. + +"I am very glad to see that you understand the value of +these papers." + +"I regard them as invaluable." + +"Now," said Monte Cristo "as to the mother of the young man" +-- + +"As to the mother of the young man" -- repeated the Italian, +with anxiety. + +"As regards the Marchesa Corsinari" -- + +"Really," said the major, "difficulties seem to thicken upon +us; will she be wanted in any way?" + +"No, sir," replied Monte Cristo; "besides, has she not" -- + +"Yes, sir," said the major, "she has" -- + +"Paid the last debt of nature?" + +"Alas, yes," returned the Italian. + +"I knew that," said Monte Cristo; "she has been dead these +ten years." + +"And I am still mourning her loss," exclaimed the major, +drawing from his pocket a checked handkerchief, and +alternately wiping first the left and then the right eye. + +"What would you have?" said Monte Cristo; "we are all +mortal. Now, you understand, my dear Monsieur Cavalcanti, +that it is useless for you to tell people in France that you +have been separated from your son for fifteen years. Stories +of gypsies, who steal children, are not at all in vogue in +this part of the world, and would not be believed. You sent +him for his education to a college in one of the provinces, +and now you wish him to complete his education in the +Parisian world. That is the reason which has induced you to +leave Via Reggio, where you have lived since the death of +your wife. That will be sufficient." + +"You think so?" + +"Certainly." + +"Very well, then." + +"If they should hear of the separation" -- + +"Ah, yes; what could I say?" + +"That an unfaithful tutor, bought over by the enemies of +your family" -- + +"By the Corsinari?" + +"Precisely. Had stolen away this child, in order that your +name might become extinct." + +"That is reasonable, since he is an only son." + +"Well, now that all is arranged, do not let these newly +awakened remembrances be forgotten. You have, doubtless, +already guessed that I was preparing a surprise for you?" + +"An agreeable one?" asked the Italian. + +"Ah, I see the eye of a father is no more to be deceived +than his heart." + +"Hum!" said the major. + +"Some one has told you the secret; or, perhaps, you guessed +that he was here." + +"That who was here?" + +"Your child -- your son -- your Andrea!" + +"I did guess it," replied the major with the greatest +possible coolness. "Then he is here?" + +"He is," said Monte Cristo; "when the valet de chambre came +in just now, he told me of his arrival." + +"Ah, very well, very well," said the major, clutching the +buttons of his coat at each exclamation. + +"My dear sir," said Monte Cristo, "I understand your +emotion; you must have time to recover yourself. I will, in +the meantime, go and prepare the young man for this +much-desired interview, for I presume that he is not less +impatient for it than yourself." + +"I should quite imagine that to be the case," said +Cavalcanti. + +"Well, in a quarter of an hour he shall be with you." + +"You will bring him, then? You carry your goodness so far as +even to present him to me yourself?" + +"No; I do not wish to come between a father and son. Your +interview will be private. But do not be uneasy; even if the +powerful voice of nature should be silent, you cannot well +mistake him; he will enter by this door. He is a fine young +man, of fair complexion -- a little too fair, perhaps -- +pleasing in manners; but you will see and judge for +yourself." + +"By the way," said the major, "you know I have only the +2,000 francs which the Abbe Busoni sent me; this sum I have +expended upon travelling expenses, and" -- + +"And you want money; that is a matter of course, my dear M. +Cavalcanti. Well, here are 8,000 francs on account." + +The major's eyes sparkled brilliantly. + +"It is 40,000 francs which I now owe you," said Monte +Cristo. + +"Does your excellency wish for a receipt?" said the major, +at the same time slipping the money into the inner pocket of +his coat. + +"For what?" said the count. + +"I thought you might want it to show the Abbe Busoni." + +"Well, when you receive the remaining 40,000, you shall give +me a receipt in full. Between honest men such excessive +precaution is, I think, quite unnecessary." + +"Yes, so it is, between perfectly upright people." + +"One word more," said Monte Cristo. + +"Say on." + +"You will permit me to make one remark?" + +"Certainly; pray do so." + +"Then I should advise you to leave off wearing that style of +dress." + +"Indeed," said the major, regarding himself with an air of +complete satisfaction. + +"Yes. It may be worn at Via Reggio; but that costume, +however elegant in itself, has long been out of fashion in +Paris." + +"That's unfortunate." + +"Oh, if you really are attached to your old mode of dress; +you can easily resume it when you leave Paris." + +"But what shall I wear?" + +"What you find in your trunks." + +"In my trunks? I have but one portmanteau." + +"I dare say you have nothing else with you. What is the use +of boring one's self with so many things? Besides an old +soldier always likes to march with as little baggage as +possible." + +"That is just the case -- precisely so." + +"But you are a man of foresight and prudence, therefore you +sent your luggage on before you. It has arrived at the Hotel +des Princes, Rue de Richelieu. It is there you are to take +up your quarters." + +"Then, in these trunks" -- + +"I presume you have given orders to your valet de chambre to +put in all you are likely to need, -- your plain clothes and +your uniform. On grand occasions you must wear your uniform; +that will look very well. Do not forget your crosses. They +still laugh at them in France, and yet always wear them, for +all that." + +"Very well, very well," said the major, who was in ecstasy +at the attention paid him by the count. + +"Now," said Monte Cristo, "that you have fortified yourself +against all painful excitement, prepare yourself, my dear M. +Cavalcanti, to meet your lost Andrea." Saying which Monte +Cristo bowed, and disappeared behind the tapestry, leaving +the major fascinated beyond expression with the delightful +reception which he had received at the hands of the count. + + + +Chapter 56 +Andrea Cavalcanti. + +The Count of Monte Cristo entered the adjoining room, which +Baptistin had designated as the drawing-room, and found +there a young man, of graceful demeanor and elegant +appearance, who had arrived in a cab about half an hour +previously. Baptistin had not found any difficulty in +recognizing the person who presented himself at the door for +admittance. He was certainly the tall young man with light +hair, red heard, black eyes, and brilliant complexion, whom +his master had so particularly described to him. When the +count entered the room the young man was carelessly +stretched on a sofa, tapping his boot with the gold-headed +cane which he held in his hand. On perceiving the count he +rose quickly. "The Count of Monte Cristo, I believe?" said +he. + +"Yes, sir, and I think I have the honor of addressing Count +Andrea Cavalcanti?" + +"Count Andrea Cavalcanti," repeated the young man, +accompanying his words with a bow. + +"You are charged with a letter of introduction addressed to +me, are you not?" said the count. + +"I did not mention that, because the signature seemed to me +so strange." + +"The letter signed `Sinbad the Sailor,' is it not?" + +"Exactly so. Now, as I have never known any Sinbad, with the +exception of the one celebrated in the `Thousand and One +Nights'" -- + +"Well, it is one of his descendants, and a great friend of +mine; he is a very rich Englishman, eccentric almost to +insanity, and his real name is Lord Wilmore." + +"Ah, indeed? Then that explains everything that is +extraordinary," said Andrea. "He is, then, the same +Englishman whom I met -- at -- ah -- yes, indeed. Well, +monsieur, I am at your service." + +"If what you say be true," replied the count, smiling, +"perhaps you will be kind enough to give me some account of +yourself and your family?" + +"Certainly, I will do so," said the young man, with a +quickness which gave proof of his ready invention. "I am (as +you have said) the Count Andrea Cavalcanti, son of Major +Bartolomeo Cavalcanti, a descendant of the Cavalcanti whose +names are inscribed in the golden book at Florence. Our +family, although still rich (for my father's income amounts +to half a million), has experienced many misfortunes, and I +myself was, at the age of five years, taken away by the +treachery of my tutor, so that for fifteen years I have not +seen the author of my existence. Since I have arrived at +years of discretion and become my own master, I have been +constantly seeking him, but all in vain. At length I +received this letter from your friend, which states that my +father is in Paris, and authorizes me to address myself to +you for information respecting him." + +"Really, all you have related to me is exceedingly +interesting," said Monte Cristo, observing the young man +with a gloomy satisfaction; "and you have done well to +conform in everything to the wishes of my friend Sinbad; for +your father is indeed here, and is seeking you." + +The count from the moment of first entering the +drawing-room, had not once lost sight of the expression of +the young man's countenance; he had admired the assurance of +his look and the firmness of his voice; but at these words, +so natural in themselves, "Your father is indeed here, and +is seeking you," young Andrea started, and exclaimed, "My +father? Is my father here?" + +"Most undoubtedly," replied Monte Cristo; "your father, +Major Bartolomeo Cavalcanti." The expression of terror +which, for the moment, had overspread the features of the +young man, had now disappeared. "Ah, yes, that is the name, +certainly. Major Bartolomeo Cavalcanti. And you really mean +to say; monsieur, that my dear father is here?" + +"Yes, sir; and I can even add that I have only just left his +company. The history which he related to me of his lost son +touched me to the quick; indeed, his griefs, hopes, and +fears on that subject might furnish material for a most +touching and pathetic poem. At length, he one day received a +letter, stating that the abductors of his son now offered to +restore him, or at least to give notice where he might be +found, on condition of receiving a large sum of money, by +way of ransom. Your father did not hesitate an instant, and +the sum was sent to the frontier of Piedmont, with a +passport signed for Italy. You were in the south of France, +I think?" + +"Yes," replied Andrea, with an embarrassed air, "I was in +the south of France." + +"A carriage was to await you at Nice?" + +"Precisely so; and it conveyed me from Nice to Genoa, from +Genoa to Turin, from Turin to Chambery, from Chambery to +Pont-de-Beauvoisin, and from Pont-de-Beauvoisin to Paris." + +"Indeed? Then your father ought to have met with you on the +road, for it is exactly the same route which he himself +took, and that is how we have been able to trace your +journey to this place." + +"But," said Andrea, "if my father had met me, I doubt if he +would have recognized me; I must be somewhat altered since +he last saw me." + +"Oh, the voice of nature," said Monte Cristo. + +"True," interrupted the young man, "I had not looked upon it +in that light." + +"Now," replied Monte Cristo "there is only one source of +uneasiness left in your father's mind, which is this -- he +is anxious to know how you have been employed during your +long absence from him, how you have been treated by your +persecutors, and if they have conducted themselves towards +you with all the deference due to your rank. Finally, he is +anxious to see if you have been fortunate enough to escape +the bad moral influence to which you have been exposed, and +which is infinitely more to be dreaded than any physical +suffering; he wishes to discover if the fine abilities with +which nature had endowed you have been weakened by want of +culture; and, in short, whether you consider yourself +capable of resuming and retaining in the world the high +position to which your rank entitles you." + +"Sir!" exclaimed the young man, quite astounded, "I hope no +false report" -- + +"As for myself, I first heard you spoken of by my friend +Wilmore, the philanthropist. I believe he found you in some +unpleasant position, but do not know of what nature, for I +did not ask, not being inquisitive. Your misfortunes engaged +his sympathies, so you see you must have been interesting. +He told me that he was anxious to restore you to the +position which you had lost, and that he would seek your +father until he found him. He did seek, and has found him, +apparently, since he is here now; and, finally, my friend +apprised me of your coming, and gave me a few other +instructions relative to your future fortune. I am quite +aware that my friend Wilmore is peculiar, but he is sincere, +and as rich as a gold-mine, consequently, he may indulge his +eccentricities without any fear of their ruining him, and I +have promised to adhere to his instructions. Now, sir, pray +do not be offended at the question I am about to put to you, +as it comes in the way of my duty as your patron. I would +wish to know if the misfortunes which have happened to you +-- misfortunes entirely beyond your control, and which in no +degree diminish my regard for you -- I would wish to know if +they have not, in some measure, contributed to render you a +stranger to the world in which your fortune and your name +entitle you to make a conspicuous figure?" + +"Sir," returned the young man, with a reassurance of manner, +"make your mind easy on this score. Those who took me from +my father, and who always intended, sooner or later, to sell +me again to my original proprietor, as they have now done, +calculated that, in order to make the most of their bargain, +it would be politic to leave me in possession of all my +personal and hereditary worth, and even to increase the +value, if possible. I have, therefore, received a very good +education, and have been treated by these kidnappers very +much as the slaves were treated in Asia Minor, whose masters +made them grammarians, doctors, and philosophers, in order +that they might fetch a higher price in the Roman market." +Monte Cristo smiled with satisfaction; it appeared as if he +had not expected so much from M. Andrea Cavalcanti. +"Besides," continued the young man, "if there did appear +some defect in education, or offence against the established +forms of etiquette, I suppose it would be excused, in +consideration of the misfortunes which accompanied my birth, +and followed me through my youth." + +"Well," said Monte Cristo in an indifferent tone, "you will +do as you please, count, for you are the master of your own +actions, and are the person most concerned in the matter, +but if I were you, I would not divulge a word of these +adventures. Your history is quite a romance, and the world, +which delights in romances in yellow covers, strangely +mistrusts those which are bound in living parchment, even +though they be gilded like yourself. This is the kind of +difficulty which I wished to represent to you, my dear +count. You would hardly have recited your touching history +before it would go forth to the world, and be deemed +unlikely and unnatural. You would be no longer a lost child +found, but you would be looked upon as an upstart, who had +sprung up like a mushroom in the night. You might excite a +little curiosity, but it is not every one who likes to be +made the centre of observation and the subject of unpleasant +remark." + +"I agree with you, monsieur," said the young man, turning +pale, and, in spite of himself, trembling beneath the +scrutinizing look of his companion, "such consequences would +be extremely unpleasant." + +"Nevertheless, you must not exaggerate the evil," said Monte +Cristo, "for by endeavoring to avoid one fault you will fall +into another. You must resolve upon one simple and single +line of conduct, and for a man of your intelligence, this +plan is as easy as it is necessary; you must form honorable +friendships, and by that means counteract the prejudice +which may attach to the obscurity of your former life." +Andrea visibly changed countenance. "I would offer myself as +your surety and friendly adviser," said Monte Cristo, "did I +not possess a moral distrust of my best friends, and a sort +of inclination to lead others to doubt them too; therefore, +in departing from this rule, I should (as the actors say) be +playing a part quite out of my line, and should, therefore, +run the risk of being hissed, which would be an act of +folly." + +"However, your excellency," said Andrea, "in consideration +of Lord Wilmore, by whom I was recommended to you -- " + +"Yes, certainly," interrupted Monte Cristo; "but Lord +Wilmore did not omit to inform me, my dear M. Andrea, that +the season of your youth was rather a stormy one. Ah," said +the count, watching Andrea's countenance, "I do not demand +any confession from you; it is precisely to avoid that +necessity that your father was sent for from Lucca. You +shall soon see him. He is a little stiff and pompous in his +manner, and he is disfigured by his uniform; but when it +becomes known that he has been for eighteen years in the +Austrian service, all that will be pardoned. We are not +generally very severe with the Austrians. In short, you will +find your father a very presentable person, I assure you." + +"Ah, sir, you have given me confidence; it is so long since +we were separated, that I have not the least remembrance of +him, and, besides, you know that in the eyes of the world a +large fortune covers all defects." + +"He is a millionaire -- his income is 500,000 francs." + +"Then," said the young man, with anxiety, "I shall be sure +to be placed in an agreeable position." + +"One of the most agreeable possible, my dear sir; he will +allow you an income of 50,000 livres per annum during the +whole time of your stay in Paris." + +"Then in that case I shall always choose to remain there." + +"You cannot control circumstances, my dear sir; `man +proposes, and God disposes.'" Andrea sighed. "But," said he, +"so long as I do remain in Paris, and nothing forces me to +quit it, do you mean to tell me that I may rely on receiving +the sum you just now mentioned to me?" + +"You may." + +"Shall I receive it from my father?" asked Andrea, with some +uneasiness. + +"Yes, you will receive it from your father personally, but +Lord Wilmore will be the security for the money. He has, at +the request of your father, opened an account of 6,000 +francs a month at M. Danglars', which is one of the safest +banks in Paris." + +"And does my father mean to remain long in Paris?" asked +Andrea. + +"Only a few days," replied Monte Cristo. "His service does +not allow him to absent himself more than two or three weeks +together." + +"Ah, my dear father!" exclaimed Andrea, evidently charmed +with the idea of his speedy departure. + +"Therefore," said Monte Cristo feigning to mistake his +meaning -- "therefore I will not, for another instant, +retard the pleasure of your meeting. Are you prepared to +embrace your worthy father?" + +"I hope you do not doubt it." + +"Go, then, into the drawing-room, my young friend, where you +will find your father awaiting you." Andrea made a low bow +to the count, and entered the adjoining room. Monte Cristo +watched him till he disappeared, and then touched a spring +in a panel made to look like a picture, which, in sliding +partly from the frame, discovered to view a small opening, +so cleverly contrived that it revealed all that was passing +in the drawing-room now occupied by Cavalcanti and Andrea. +The young man closed the door behind him, and advanced +towards the major, who had risen when he heard steps +approaching him. "Ah, my dear father!" said Andrea in a loud +voice, in order that the count might hear him in the next +room, "is it really you?" + +"How do you do, my dear son?" said the major gravely. + +"After so many years of painful separation," said Andrea, in +the same tone of voice, and glancing towards the door, "what +a happiness it is to meet again!" + +"Indeed it is, after so long a separation." + +"Will you not embrace me, sir?" said Andrea. + +"If you wish it, my son," said the major; and the two men +embraced each other after the fashion of actors on the +stage; that is to say, each rested his head on the other's +shoulder. + +"Then we are once more reunited?" said Andrea. + +"Once more," replied the major. + +"Never more to be separated?" + +"Why, as to that -- I think, my dear son, you must be by +this time so accustomed to France as to look upon it almost +as a second country." + +"The fact is," said the young man, "that I should be +exceedingly grieved to leave it." + +"As for me, you must know I cannot possibly live out of +Lucca; therefore I shall return to Italy as soon as I can." + +"But before you leave France, my dear father, I hope you +will put me in possession of the documents which will be +necessary to prove my descent." + +"Certainly; I am come expressly on that account; it has cost +me much trouble to find you, but I had resolved on giving +them into your hands, and if I had to recommence my search, +it would occupy all the few remaining years of my life." + +"Where are these papers, then?" + +"Here they are." + +Andrea seized the certificate of his father's marriage and +his own baptismal register, and after having opened them +with all the eagerness which might be expected under the +circumstances, he read them with a facility which proved +that he was accustomed to similar documents, and with an +expression which plainly denoted an unusual interest in the +contents. When he had perused the documents, an indefinable +expression of pleasure lighted up his countenance, and +looking at the major with a most peculiar smile, he said, in +very excellent Tuscan, -- "Then there is no longer any such +thing, in Italy as being condemned to the galleys?" The +major drew himself up to his full height. + +"Why? -- what do you mean by that question?" + +"I mean that if there were, it would be impossible to draw +up with impunity two such deeds as these. In France, my dear +sir, half such a piece of effrontery as that would cause you +to be quickly despatched to Toulon for five years, for +change of air." + +"Will you be good enough to explain your meaning?" said the +major, endeavoring as much as possible to assume an air of +the greatest majesty. + +"My dear M. Cavalcanti," said Andrea, taking the major by +the arm in a confidential manner, "how much are you paid for +being my father?" The major was about to speak, when Andrea +continued, in a low voice. + +"Nonsense, I am going to set you an example of confidence, +they give me 50,000 francs a year to be your son; +consequently, you can understand that it is not at all +likely I shall ever deny my parent." The major looked +anxiously around him. "Make yourself easy, we are quite +alone," said Andrea; "besides, we are conversing in +Italian." + +"Well, then," replied the major, "they paid me 50,000 francs +down." + +"Monsieur Cavalcanti," said Andrea, "do you believe in fairy +tales?" + +"I used not to do so, but I really feel now almost obliged +to have faith in them." + +"You have, then, been induced to alter your opinion; you +have had some proofs of their truth?" The major drew from +his pocket a handful of gold. "Most palpable proofs," said +he, "as you may perceive." + +"You think, then, that I may rely on the count's promises?" + +"Certainly I do." + +"You are sure he will keep his word with me?" + +"To the letter, but at the same time, remember, we must +continue to play our respective parts. I, as a tender +father" -- + +"And I as a dutiful son, as they choose that I shall be +descended from you." + +"Whom do you mean by they?" + +"Ma foi, I can hardly tell, but I was alluding to those who +wrote the letter; you received one, did you not?" + +"Yes." + +"From whom?" + +"From a certain Abbe Busoni." + +"Have you any knowledge of him?" + +"No, I have never seen him." + +"What did he say in the letter?" + +"You will promise not to betray me?" + +"Rest assured of that; you well know that our interests are +the same." + +"Then read for yourself;" and the major gave a letter into +the young man's hand. Andrea read in a low voice -- + +"You are poor; a miserable old age awaits you. Would you +like to become rich, or at least independent? Set out +immediately for Paris, and demand of the Count of Monte +Cristo, Avenue des Champs Elysees, No. 30, the son whom you +had by the Marchesa Corsinari, and who was taken from you at +five years of age. This son is named Andrea Cavalcanti. In +order that you may not doubt the kind intention of the +writer of this letter, you will find enclosed an order for +2,400 francs, payable in Florence, at Signor Gozzi's; also a +letter of introduction to the Count of Monte Cristo, on whom +I give you a draft of 48,000 francs. Remember to go to the +count on the 26th May at seven o'clock in the evening. + +(Signed) + +"Abbe Busoni." + +"It is the same." + +"What do you mean?" said the major. + +"I was going to say that I received a letter almost to the +same effect." + +"You?" + +"Yes." + +"From the Abbe Busoni?" + +"No." + +"From whom, then?" + +"From an Englishman, called Lord Wilmore, who takes the name +of Sinbad the Sailor." + +"And of whom you have no more knowledge than I of the Abbe +Busoni?" + +"You are mistaken; there I am ahead of you." + +"You have seen him, then?" + +"Yes, once." + +"Where?" + +"Ah, that is just what I cannot tell you; if I did, I should +make you as wise as myself, which it is not my intention to +do." + +"And what did the letter contain?" + +"Read it." + +"`You are poor, and your future prospects are dark and +gloomy. Do you wish for a name? should you like to be rich, +and your own master?'" + +"Ma foi," said the young man; "was it possible there could +be two answers to such a question?" + +"Take the post-chaise which you will find waiting at the +Porte de Genes, as you enter Nice; pass through Turin, +Chambery, and Pont-de-Beauvoisin. Go to the Count of Monte +Cristo, Avenue des Champs Elysees, on the 26th of May, at +seven o'clock in the evening, and demand of him your father. +You are the son of the Marchese Cavalcanti and the Marchesa +Oliva Corsinari. The marquis will give you some papers which +will certify this fact, and authorize you to appear under +that name in the Parisian world. As to your rank, an annual +income of 50,000 livres will enable you to support it +admirably. I enclose a draft for 5,000 livres, payable on M. +Ferrea, banker at Nice, and also a letter of introduction to +the Count of Monte Cristo, whom I have directed to supply +all your wants. + +"Sinbad the Sailor." + +"Humph," said the major; "very good. You have seen the +count, you say?" + +"I have only just left him " + +"And has he conformed to all that the letter specified?" + +"He has." + +"Do you understand it?" + +"Not in the least." + +"There is a dupe somewhere." + +"At all events, it is neither you nor I." + +"Certainly not." + +"Well, then" -- + +"Why, it does not much concern us, do you think it does?" + +"No; I agree with you there. We must play the game to the +end, and consent to be blindfold." + +"Ah, you shall see; I promise you I will sustain my part to +admiration." + +"I never once doubted your doing so." Monte Cristo chose +this moment for re-entering the drawing-room. On hearing the +sound of his footsteps, the two men threw themselves in each +other's arms, and while they were in the midst of this +embrace, the count entered. "Well, marquis," said Monte +Cristo, "you appear to be in no way disappointed in the son +whom your good fortune has restored to you." + +"Ah, your excellency, I am overwhelmed with delight." + +"And what are your feelings?" said Monte Cristo, turning to +the young man. + +"As for me, my heart is overflowing with happiness." + +"Happy father, happy son!" said the count. + +"There is only one thing which grieves me," observed the +major, "and that is the necessity for my leaving Paris so +soon." + +"Ah, my dear M. Cavalcanti, I trust you will not leave +before I have had the honor of presenting you to some of my +friends." + +"I am at your service, sir," replied the major. + +"Now, sir," said Monte Cristo, addressing Andrea, "make your +confession." + +"To whom?" + +"Tell M. Cavalcanti something of the state of your +finances." + +"Ma foi, monsieur, you have touched upon a tender chord." + +"Do you hear what he says, major?" + +"Certainly I do." + +"But do you understand?" + +"I do." + +"Your son says he requires money." + +"Well, what would you have me do?" said the major. + +"You should furnish him with some of course," replied Monte +Cristo. + +"I?" + +"Yes, you," said the count, at the same time advancing +towards Andrea, and slipping a packet of bank-notes into the +young man's hand. + +"What is this?" + +"It is from your father." + +"From my father?" + +"Yes; did you not tell him just now that you wanted money? +Well, then, he deputes me to give you this." + +"Am I to consider this as part of my income on account?" + +"No, it is for the first expenses of your settling in +Paris." + +"Ah, how good my dear father is!" + +"Silence," said Monte Cristo; "he does not wish you to know +that it comes from him." + +"I fully appreciate his delicacy," said Andrea, cramming the +notes hastily into his pocket. + +"And now, gentlemen, I wish you good-morning," said Monte +Cristo. + +"And when shall we have the honor of seeing you again, your +excellency?" asked Cavalcanti. + +"Ah," said Andrea, "when may we hope for that pleasure?" + +"On Saturday, if you will -- Yes. -- Let me see -- Saturday +-- I am to dine at my country house, at Auteuil, on that +day, Rue de la Fontaine, No. 28. Several persons are +invited, and among others, M. Danglars, your banker. I will +introduce you to him, for it will be necessary he should +know you, as he is to pay your money." + +"Full dress?" said the major, half aloud. + +"Oh, yes, certainly," said the count; "uniform, cross, +knee-breeches." + +"And how shall I be dressed?" demanded Andrea. + +"Oh, very simply; black trousers, patent leather boots, +white waistcoat, either a black or blue coat, and a long +cravat. Go to Blin or Veronique for your clothes. Baptistin +will tell you where, if you do not know their address. The +less pretension there is in your attire, the better will be +the effect, as you are a rich man. If you mean to buy any +horses, get them of Devedeux, and if you purchase a phaeton, +go to Baptiste for it." + +"At what hour shall we come?" asked the young man. + +"About half-past six." + +"We will be with you at that time," said the major. The two +Cavalcanti bowed to the count, and left the house. Monte +Cristo went to the window, and saw them crossing the street, +arm in arm. "There go two miscreants;" said he, "it is a +pity they are not really related!" -- then, after an instant +of gloomy reflection, "Come, I will go to see the Morrels," +said he; "I think that disgust is even more sickening than +hatred." + + + +Chapter 57 +In the Lucerne Patch. + +Our readers must now allow us to transport them again to the +enclosure surrounding M. de Villefort's house, and, behind +the gate, half screened from view by the large +chestnut-trees, which on all sides spread their luxuriant +branches, we shall find some people of our acquaintance. +This time Maximilian was the first to arrive. He was +intently watching for a shadow to appear among the trees, +and awaiting with anxiety the sound of a light step on the +gravel walk. At length, the long-desired sound was heard, +and instead of one figure, as he had expected, he perceived +that two were approaching him. The delay had been occasioned +by a visit from Madame Danglars and Eugenie, which had been +prolonged beyond the time at which Valentine was expected. +That she might not appear to fail in her promise to +Maximilian, she proposed to Mademoiselle Danglars that they +should take a walk in the garden, being anxious to show that +the delay, which was doubtless a cause of vexation to him, +was not occasioned by any neglect on her part. The young +man, with the intuitive perception of a lover, quickly +understood the circumstances in which she was involuntarily +placed, and he was comforted. Besides, although she avoided +coming within speaking distance, Valentine arranged so that +Maximilian could see her pass and repass, and each time she +went by, she managed, unperceived by her companion, to cast +an expressive look at the young man, which seemed to say, +"Have patience! You see it is not my fault." And Maximilian +was patient, and employed himself in mentally contrasting +the two girls, -- one fair, with soft languishing eyes, a +figure gracefully bending like a weeping willow; the other a +brunette, with a fierce and haughty expression, and as +straight as a poplar. It is unnecessary to state that, in +the eyes of the young man, Valentine did not suffer by the +contrast. In about half an hour the girls went away, and +Maximilian understood that Mademoiselle Danglars' visit had +at last come to an end. In a few minutes Valentine +re-entered the garden alone. For fear that any one should be +observing her return, she walked slowly; and instead of +immediately directing her steps towards the gate, she seated +herself on a bench, and, carefully casting her eyes around, +to convince herself that she was not watched, she presently +arose, and proceeded quickly to join Maximilian. + +"Good-evening, Valentine," said a well-known voice. + +"Good-evening, Maximilian; I know I have kept you waiting, +but you saw the cause of my delay." + +"Yes, I recognized Mademoiselle Danglars. I was not aware +that you were so intimate with her." + +"Who told you we were intimate, Maximilian?" + +"No one, but you appeared to be so. From the manner in which +you walked and talked together, one would have thought you +were two school-girls telling your secrets to each other." + +"We were having a confidential conversation," returned +Valentine; "she was owning to me her repugnance to the +marriage with M. de Morcerf; and I, on the other hand, was +confessing to her how wretched it made me to think of +marrying M. d'Epinay." + +"Dear Valentine!" + +"That will account to you for the unreserved manner which +you observed between me and Eugenie, as in speaking of the +man whom I could not love, my thoughts involuntarily +reverted to him on whom my affections were fixed." + +"Ah, how good you are to say so, Valentine! You possess a +quality which can never belong to Mademoiselle Danglars. It +is that indefinable charm which is to a woman what perfume +is to the flower and flavor to the fruit, for the beauty of +either is not the only quality we seek." + +"It is your love which makes you look upon everything in +that light." + +"No, Valentine, I assure you such is not the case. I was +observing you both when you were walking in the garden, and, +on my honor, without at all wishing to depreciate the beauty +of Mademoiselle Danglars, I cannot understand how any man +can really love her." + +"The fact is, Maximilian, that I was there, and my presence +had the effect of rendering you unjust in your comparison." + +"No; but tell me -- it is a question of simple curiosity, +and which was suggested by certain ideas passing in my mind +relative to Mademoiselle Danglars" -- + +"I dare say it is something disparaging which you are going +to say. It only proves how little indulgence we may expect +from your sex," interrupted Valentine. + +"You cannot, at least, deny that you are very harsh judges +of each other." + +"If we are so, it is because we generally judge under the +influence of excitement. But return to your question." + +"Does Mademoiselle Danglars object to this marriage with M. +de Morcerf on account of loving another?" + +"I told you I was not on terms of strict intimacy with +Eugenie." + +"Yes, but girls tell each other secrets without being +particularly intimate; own, now, that you did question her +on the subject. Ah, I see you are smiling." + +"If you are already aware of the conversation that passed, +the wooden partition which interposed between us and you has +proved but a slight security." + +"Come, what did she say?" + +"She told me that she loved no one," said Valentine; "that +she disliked the idea of being married; that she would +infinitely prefer leading an independent and unfettered +life; and that she almost wished her father might lose his +fortune, that she might become an artist, like her friend, +Mademoiselle Louise d'Armilly." + +"Ah, you see" -- + +"Well, what does that prove?" asked Valentine. + +"Nothing," replied Maximilian. + +"Then why did you smile?" + +"Why, you know very well that you are reflecting on +yourself, Valentine." + +"Do you want me to go away?" + +"Ah, no, no. But do not let us lose time; you are the +subject on which I wish to speak." + +"True, we must be quick, for we have scarcely ten minutes +more to pass together." + +"Ma foi," said Maximilian, in consternation. + +"Yes, you are right; I am but a poor friend to you. What a +life I cause you to lead, poor Maximilian, you who are +formed for happiness! I bitterly reproach myself, I assure +you." + +"Well, what does it signify, Valentine, so long as I am +satisfied, and feel that even this long and painful suspense +is amply repaid by five minutes of your society, or two +words from your lips? And I have also a deep conviction that +heaven would not have created two hearts, harmonizing as +ours do, and almost miraculously brought us together, to +separate us at last." + +"Those are kind and cheering words. You must hope for us +both, Maximilian; that will make me at least partly happy." + +"But why must you leave me so soon?" + +"I do not know particulars. I can only tell you that Madame +de Villefort sent to request my presence, as she had a +communication to make on which a part of my fortune +depended. Let them take my fortune, I am already too rich; +and, perhaps, when they have taken it, they will leave me in +peace and quietness. You would love me as much if I were +poor, would you not, Maximilian?" + +"Oh, I shall always love you. What should I care for either +riches or poverty, if my Valentine was near me, and I felt +certain that no one could deprive me of her? But do you not +fear that this communication may relate to your marriage?" + +"I do not think that is the case." + +"However it may be, Valentine, you must not be alarmed. I +assure you that, as long as I live, I shall never love any +one else!" + +"You think to reassure me when you say that, Maximilian." + +"Pardon me, you are right. I am a brute. But I was going to +tell you that I met M. de Morcerf the other day." + +"Well?" + +"Monsieur Franz is his friend, you know." + +"What then?" + +"Monsieur de Morcerf has received a letter from Franz, +announcing his immediate return." Valentine turned pale, and +leaned her hand against the gate. "Ah heavens, if it were +that! But no, the communication would not come through +Madame de Villefort." + +"Why not?" + +"Because -- I scarcely know why -- but it has appeared as if +Madame de Villefort secretly objected to the marriage, +although she did not choose openly to oppose it." + +"Is it so? Then I feel as if I could adore Madame de +Villefort." + +"Do not be in such a hurry to do that," said Valentine, with +a sad smile. + +"If she objects to your marrying M. d'Epinay, she would be +all the more likely to listen to any other proposition." + +"No, Maximilian, it is not suitors to which Madame de +Villefort objects, it is marriage itself." + +"Marriage? If she dislikes that so much, why did she ever +marry herself?" + +"You do not understand me, Maximilian. About a year ago, I +talked of retiring to a convent. Madame de Villefort, in +spite of all the remarks which she considered it her duty to +make, secretly approved of the proposition, my father +consented to it at her instigation, and it was only on +account of my poor grandfather that I finally abandoned the +project. You can form no idea of the expression of that old +man's eye when he looks at me, the only person in the world +whom he loves, and, I had almost said, by whom he is beloved +in return. When he learned my resolution, I shall never +forget the reproachful look which he cast on me, and the +tears of utter despair which chased each other down his +lifeless cheeks. Ah, Maximilian, I experienced, at that +moment, such remorse for my intention, that, throwing myself +at his feet, I exclaimed, -- `Forgive me, pray forgive me, +my dear grandfather; they may do what they will with me, I +will never leave you.' When I had ceased speaking, he +thankfully raised his eyes to heaven, but without uttering a +word. Ah, Maximilian, I may have much to suffer, but I feel +as if my grandfather's look at that moment would more than +compensate for all." + +"Dear Valentine, you are a perfect angel, and I am sure I do +not know what I -- sabring right and left among the Bedouins +-- can have done to merit your being revealed to me, unless, +indeed, heaven took into consideration the fact that the +victims of my sword were infidels. But tell me what interest +Madame de Villefort can have in your remaining unmarried?" + +"Did I not tell you just now that I was rich, Maximilian -- +too rich? I possess nearly 50,000 livres in right of my +mother; my grandfather and my grandmother, the Marquis and +Marquise de Saint-Meran, will leave me as much, and M. +Noirtier evidently intends making me his heir. My brother +Edward, who inherits nothing from his mother, will, +therefore, be poor in comparison with me. Now, if I had +taken the veil, all this fortune would have descended to my +father, and, in reversion, to his son." + +"Ah, how strange it seems that such a young and beautiful +woman should be so avaricious." + +"It is not for herself that she is so, but for her son, and +what you regard as a vice becomes almost a virtue when +looked at in the light of maternal love." + +"But could you not compromise matters, and give up a portion +of your fortune to her son?" + +"How could I make such a proposition, especially to a woman +who always professes to be so entirely disinterested?" + +"Valentine, I have always regarded our love in the light of +something sacred; consequently, I have covered it with the +veil of respect, and hid it in the innermost recesses of my +soul. No human being, not even my sister, is aware of its +existence. Valentine, will you permit me to make a confidant +of a friend and reveal to him the love I bear you?" + +Valentine started. "A friend, Maximilian; and who is this +friend? I tremble to give my permission." + +"Listen, Valentine. Have you never experienced for any one +that sudden and irresistible sympathy which made you feel as +if the object of it had been your old and familiar friend, +though, in reality, it was the first time you had ever met? +Nay, further, have you never endeavored to recall the time, +place, and circumstances of your former intercourse, and +failing in this attempt, have almost believed that your +spirits must have held converse with each other in some +state of being anterior to the present, and that you are +only now occupied in a reminiscence of the past?" + +"Yes." + +"Well, that is precisely the feeling which I experienced +when I first saw that extraordinary man." + +"Extraordinary, did you say?" + +"Yes." + +"You have known him for some time, then?" + +"Scarcely longer than eight or ten days." + +"And do you call a man your friend whom you have only known +for eight or ten days? Ah, Maximilian, I had hoped you set a +higher value on the title of friend." + +"Your logic is most powerful, Valentine, but say what you +will, I can never renounce the sentiment which has +instinctively taken possession of my mind. I feel as if it +were ordained that this man should be associated with all +the good which the future may have in store for me, and +sometimes it really seems as if his eye was able to see what +was to come, and his hand endowed with the power of +directing events according to his own will." + +"He must be a prophet, then," said Valentine, smiling. + +"Indeed," said Maximilian, "I have often been almost tempted +to attribute to him the gift of prophecy; at all events, he +has a wonderful power of foretelling any future good." + +"Ah," said Valentine in a mournful tone, "do let me see this +man, Maximilian; he may tell me whether I shall ever be +loved sufficiently to make amends for all I have suffered." + +"My poor girl, you know him already." + +"I know him?" + +"Yes; it was he who saved the life of your step-mother and +her son." + +"The Count of Monte Cristo?" + +"The same." + +"Ah," cried Valentine, "he is too much the friend of Madame +de Villefort ever to be mine." + +"The friend of Madame de Villefort! It cannot be; surely, +Valentine, you are mistaken?" + +"No, indeed, I am not; for I assure you, his power over our +household is almost unlimited. Courted by my step-mother, +who regards him as the epitome of human wisdom; admired by +my father, who says he has never before heard such sublime +ideas so eloquently expressed; idolized by Edward, who, +notwithstanding his fear of the count's large black eyes, +runs to meet him the moment he arrives, and opens his hand, +in which he is sure to find some delightful present, -- M. +de Monte Cristo appears to exert a mysterious and almost +uncontrollable influence over all the members of our +family." + +"If such be the case, my dear Valentine, you must yourself +have felt, or at all events will soon feel, the effects of +his presence. He meets Albert de Morcerf in Italy -- it is +to rescue him from the hands of the banditti; he introduces +himself to Madame Danglars -- it is that he may give her a +royal present; your step-mother and her son pass before his +door -- it is that his Nubian may save them from +destruction. This man evidently possesses the power of +influencing events, both as regards men and things. I never +saw more simple tastes united to greater magnificence. His +smile is so sweet when he addresses me, that I forget it +ever can be bitter to others. Ah, Valentine, tell me, if he +ever looked on you with one of those sweet smiles? if so, +depend on it, you will be happy." + +"Me?" said the young girl, "he never even glances at me; on +the contrary, if I accidentally cross his path, he appears +rather to avoid me. Ah, he is not generous, neither does he +possess that supernatural penetration which you attribute to +him, for if he did, he would have perceived that I was +unhappy; and if he had been generous, seeing me sad and +solitary, he would have used his influence to my advantage, +and since, as you say, he resembles the sun, he would have +warmed my heart with one of his life-giving rays. You say he +loves you, Maximilian; how do you know that he does? All +would pay deference to an officer like you, with a fierce +mustache and a long sabre, but they think they may crush a +poor weeping girl with impunity." + +"Ah, Valentine, I assure you you are mistaken." + +"If it were otherwise -- if he treated me diplomatically -- +that is to say, like a man who wishes, by some means or +other, to obtain a footing in the house, so that he may +ultimately gain the power of dictating to its occupants -- +he would, if it had been but once, have honored me with the +smile which you extol so loudly; but no, he saw that I was +unhappy, he understood that I could be of no use to him, and +therefore paid no attention to me whatever. Who knows but +that, in order to please Madame de Villefort and my father, +he may not persecute me by every means in his power? It is +not just that he should despise me so, without any reason. +Ah, forgive me," said Valentine, perceiving the effect which +her words were producing on Maximilian: "I have done wrong, +for I have given utterance to thoughts concerning that man +which I did not even know existed in my heart. I do not deny +the influence of which you speak, or that I have not myself +experienced it, but with me it has been productive of evil +rather than good." + +"Well, Valentine," said Morrel with a sigh, "we will not +discuss the matter further. I will not make a confidant of +him." + +"Alas," said Valentine, "I see that I have given you pain. I +can only say how sincerely I ask pardon for having griefed +you. But, indeed, I am not prejudiced beyond the power of +conviction. Tell me what this Count of Monte Cristo has done +for you." + +"I own that your question embarrasses me, Valentine, for I +cannot say that the count has rendered me any ostensible +service. Still, as I have already told you I have an +instinctive affection for him, the source of which I cannot +explain to you. Has the sun done anything for me? No; he +warms me with his rays, and it is by his light that I see +you -- nothing more. Has such and such a perfume done +anything for me? No; its odor charms one of my senses -- +that is all I can say when I am asked why I praise it. My +friendship for him is as strange and unaccountable as his +for me. A secret voice seems to whisper to me that there +must be something more than chance in this unexpected +reciprocity of friendship. In his most simple actions, as +well as in his most secret thoughts, I find a relation to my +own. You will perhaps smile at me when I tell you that, ever +since I have known this man, I have involuntarily +entertained the idea that all the good fortune which his +befallen me originated from him. However, I have managed to +live thirty years without this protection, you will say; but +I will endeavor a little to illustrate my meaning. He +invited me to dine with him on Saturday, which was a very +natural thing for him to do. Well, what have I learned +since? That your mother and M. de Villefort are both coming +to this dinner. I shall meet them there, and who knows what +future advantages may result from the interview? This may +appear to you to be no unusual combination of circumstances; +nevertheless, I perceive some hidden plot in the arrangement +-- something, in fact, more than is apparent on a casual +view of the subject. I believe that this singular man, who +appears to fathom the motives of every one, has purposely +arranged for me to meet M. and Madame de Villefort, and +sometimes, I confess, I have gone so far as to try to read +in his eyes whether he was in possession of the secret of +our love." + +"My good friend," said Valentine, "I should take you for a +visionary, and should tremble for your reason, if I were +always to hear you talk in a strain similar to this. Is it +possible that you can see anything more than the merest +chance in this meeting? Pray reflect a little. My father, +who never goes out, has several times been on the point of +refusing this invitation; Madame de Villefort, on the +contrary, is burning with the desire of seeing this +extraordinary nabob in his own house, therefore, she has +with great difficulty prevailed on my father to accompany +her. No, no; it is as I have said, Maximilian, -- there is +no one in the world of whom I can ask help but yourself and +my grandfather, who is little better than a corpse." + +"I see that you are right, logically speaking," said +Maximilian; "but the gentle voice which usually has such +power over me fails to convince me to-day." + +"I feel the same as regards yourself." said Valentine; "and +I own that, if you have no stronger proof to give me" -- + +"I have another," replied Maximilian; "but I fear you will +deem it even more absurd than the first." + +"So much the worse," said Valentine, smiling. + +"It is, nevertheless, conclusive to my mind. My ten years of +service have also confirmed my ideas on the subject of +sudden inspirations, for I have several times owed my life +to a mysterious impulse which directed me to move at once +either to the right or to the left, in order to escape the +ball which killed the comrade fighting by my side, while it +left me unharmed." + +"Dear Maximilian, why not attribute your escape to my +constant prayers for your safety? When you are away, I no +longer pray for myself, but for you." + +"Yes, since you have known me," said Morrel, smiling; "but +that cannot apply to the time previous to our acquaintance, +Valentine." + +"You are very provoking, and will not give me credit for +anything; but let me hear this second proof, which you +yourself own to be absurd." + +"Well, look through this opening, and you will see the +beautiful new horse which I rode here." + +"Ah, what a beautiful creature!" cried Valentine; "why did +you not bring him close to the gate, so that I could talk to +him and pat him?" + +"He is, as you see, a very valuable animal," said +Maximilian. "You know that my means are limited, and that I +am what would be designated a man of moderate pretensions. +Well, I went to a horse dealer's, where I saw this +magnificent horse, which I have named Medeah. I asked the +price; they told me it was 4,500 francs. I was, therefore, +obliged to give it up, as you may imagine, but I own I went +away with rather a heavy heart, for the horse had looked at +me affectionately, had rubbed his head against me and, when +I mounted him, had pranced in the most delightful way +imaginable, so that I was altogether fascinated with him. +The same evening some friends of mine visited me, -- M. de +Chateau-Renaud, M. Debray, and five or six other choice +spirits, whom you do not know, even by name. They proposed a +game of bouillotte. I never play, for I am not rich enough +to afford to lose, or sufficiently poor to desire to gain. +But I was at my own house, you understand, so there was +nothing to be done but to send for the cards, which I did. + +"Just as they were sitting down to table, M. de Monte Cristo +arrived. He took his seat amongst them; they played, and I +won. I am almost ashamed to say that my gains amounted to +5,000 francs. We separated at midnight. I could not defer my +pleasure, so I took a cabriolet and drove to the horse +dealer's. Feverish and excited, I rang at the door. The +person who opened it must have taken me for a madman, for I +rushed at once to the stable. Medeah was standing at the +rack, eating his hay. I immediately put on the saddle and +bridle, to which operation he lent himself with the best +grace possible; then, putting the 4,500 francs into the +hands of the astonished dealer, I proceeded to fulfil my +intention of passing the night in riding in the Champs +Elysees. As I rode by the count's house I perceived a light +in one of the windows, and fancied I saw the shadow of his +figure moving behind the curtain. Now, Valentine, I firmly +believe that he knew of my wish to possess this horse, and +that he lost expressly to give me the means of procuring +him." + +"My dear Maximilian, you are really too fanciful; you will +not love even me long. A man who accustoms himself to live +in such a world of poetry and imagination must find far too +little excitement in a common, every-day sort of attachment +such as ours. But they are calling me. Do you hear?" + +"Ah, Valentine," said Maximilian, "give me but one finger +through this opening in the grating, one finger, the +littlest finger of all, that I may have the happiness of +kissing it." + +"Maximilian, we said we would be to each other as two +voices, two shadows." + +"As you will, Valentine." + +"Shall you be happy if I do what you wish?" + +"Oh, yes!" Valentine mounted on a bench, and passed not only +her finger but her whole hand through the opening. +Maximilian uttered a cry of delight, and, springing +forwards, seized the hand extended towards him, and +imprinted on it a fervent and impassioned kiss. The little +hand was then immediately withdrawn, and the young man saw +Valentine hurrying towards the house, as though she were +almost terrified at her own sensations. + + + +Chapter 58 +M. Noirtier de Villefort. + +We will now relate what was passing in the house of the +king's attorney after the departure of Madame Danglars and +her daughter, and during the time of the conversation +between Maximilian and Valentine, which we have just +detailed. M. de Villefort entered his father's room, +followed by Madame de Villefort. Both of the visitors, after +saluting the old man and speaking to Barrois, a faithful +servant, who had been twenty-five years in his service, took +their places on either side of the paralytic. + +M. Noirtier was sitting in an arm-chair, which moved upon +casters, in which he was wheeled into the room in the +morning, and in the same way drawn out again at night. He +was placed before a large glass, which reflected the whole +apartment, and so, without any attempt to move, which would +have been impossible, he could see all who entered the room +and everything which was going on around him. M. Noirtier, +although almost as immovable as a corpse, looked at the +newcomers with a quick and intelligent expression, +perceiving at once, by their ceremonious courtesy, that they +were come on business of an unexpected and official +character. Sight and hearing were the only senses remaining, +and they, like two solitary sparks, remained to animate the +miserable body which seemed fit for nothing but the grave; +it was only, however, by means of one of these senses that +he could reveal the thoughts and feelings that still +occupied his mind, and the look by which he gave expression +to his inner life was like the distant gleam of a candle +which a traveller sees by night across some desert place, +and knows that a living being dwells beyond the silence and +obscurity. Noirtier's hair was long and white, and flowed +over his shoulders; while in his eyes, shaded by thick black +lashes, was concentrated, as it often happens with an organ +which is used to the exclusion of the others, all the +activity, address, force, and intelligence which were +formerly diffused over his whole body; and so although the +movement of the arm, the sound of the voice, and the agility +of the body, were wanting, the speaking eye sufficed for +all. He commanded with it; it was the medium through which +his thanks were conveyed. In short, his whole appearance +produced on the mind the impression of a corpse with living +eyes, and nothing could be more startling than to observe +the expression of anger or joy suddenly lighting up these +organs, while the rest of the rigid and marble-like features +were utterly deprived of the power of participation. Three +persons only could understand this language of the poor +paralytic; these were Villefort, Valentine, and the old +servant of whom we have already spoken. But as Villefort saw +his father but seldom, and then only when absolutely +obliged, and as he never took any pains to please or gratify +him when he was there, all the old man's happiness was +centred in his granddaughter. Valentine, by means of her +love, her patience, and her devotion, had learned to read in +Noirtier's look all the varied feelings which were passing +in his mind. To this dumb language, which was so +unintelligible to others, she answered by throwing her whole +soul into the expression of her countenance, and in this +manner were the conversations sustained between the blooming +girl and the helpless invalid, whose body could scarcely be +called a living one, but who, nevertheless, possessed a fund +of knowledge and penetration, united with a will as powerful +as ever although clogged by a body rendered utterly +incapable of obeying its impulses. Valentine had solved the +problem, and was able easily to understand his thoughts, and +to convey her own in return, and, through her untiring and +devoted assiduity, it was seldom that, in the ordinary +transactions of every-day life, she failed to anticipate the +wishes of the living, thinking mind, or the wants of the +almost inanimate body. As to the servant, he had, as we have +said, been with his master for five and twenty years, +therefore he knew all his habits, and it was seldom that +Noirtier found it necessary to ask for anything, so prompt +was he in administering to all the necessities of the +invalid. Villefort did not need the help of either Valentine +or the domestic in order to carry on with his father the +strange conversation which he was about to begin. As we have +said, he perfectly understood the old man's vocabulary, and +if he did not use it more often, it was only indifference +and ennui which prevented him from so doing. He therefore +allowed Valentine to go into the garden, sent away Barrois, +and after having seated himself at his father's right hand, +while Madame de Villefort placed herself on the left, he +addressed him thus: -- + +"I trust you will not be displeased, sir, that Valentine has +not come with us, or that I dismissed Barrois, for our +conference will be one which could not with propriety be +carried on in the presence of either. Madame de Villefort +and I have a communication to make to you." + +Noirtier's face remained perfectly passive during this long +preamble, while, on the contrary, Villefort's eye was +endeavoring to penetrate into the inmost recesses of the old +man's heart. + +"This communication," continued the procureur, in that cold +and decisive tone which seemed at once to preclude all +discussion, "will, we are sure, meet with your approbation." +The eye of the invalid still retained that vacancy of +expression which prevented his son from obtaining any +knowledge of the feelings which were passing in his mind; he +listened, nothing more. "Sir," resumed Villefort, "we are +thinking of marrying Valentine." Had the old man's face been +moulded in wax it could not have shown less emotion at this +news than was now to be traced there. "The marriage will +take place in less than three months," said Villefort. +Noirtier's eye still retained its inanimate expression. + +Madame de Villefort now took her part in the conversation +and added, -- "We thought this news would possess an +interest for you, sir, who have always entertained a great +affection for Valentine; it therefore only now remains for +us to tell you the name of the young man for whom she is +destined. It is one of the most desirable connections which +could possibly be formed; he possesses fortune, a high rank +in society, and every personal qualification likely to +render Valentine supremely happy, -- his name, moreover, +cannot be wholly unknown to you. It is M. Franz de Quesnel, +Baron d'Epinay." + +While his wife was speaking, Villefort had narrowly watched +the old man's countenance. When Madame de Villefort +pronounced the name of Franz, the pupil of M. Noirtier's eye +began to dilate, and his eyelids trembled with the same +movement that may be perceived on the lips of an individual +about to speak, and he darted a lightning glance at Madame +de Villefort and his son. The procureur, who knew the +political hatred which had formerly existed between M. +Noirtier and the elder d'Epinay, well understood the +agitation and anger which the announcement had produced; +but, feigning not to perceive either, he immediately resumed +the narrative begun by his wife. "Sir," said he, "you are +aware that Valentine is about to enter her nineteenth year, +which renders it important that she should lose no time in +forming a suitable alliance. Nevertheless, you have not been +forgotten in our plans, and we have fully ascertained +beforehand that Valentine's future husband will consent, not +to live in this house, for that might not be pleasant for +the young people, but that you should live with them; so +that you and Valentine, who are so attached to each other, +would not be separated, and you would be able to pursue +exactly the same course of life which you have hitherto +done, and thus, instead of losing, you will be a gainer by +the change, as it will secure to you two children instead of +one, to watch over and comfort you." + +Noirtier's look was furious; it was very evident that +something desperate was passing in the old man's mind, for a +cry of anger and grief rose in his throat, and not being +able to find vent in utterance, appeared almost to choke +him, for his face and lips turned quite purple with the +struggle. Villefort quietly opened a window, saying, "It is +very warm, and the heat affects M. Noirtier." He then +returned to his place, but did not sit down. "This +marriage," added Madame de Villefort, "is quite agreeable to +the wishes of M. d'Epinay and his family; besides, he had no +relations nearer than an uncle and aunt, his mother having +died at his birth, and his father having been assassinated +in 1815, that is to say, when he was but two years old; it +naturally followed that the child was permitted to choose +his own pursuits, and he has, therefore, seldom acknowledged +any other authority but that of his own will." + +"That assassination was a mysterious affair," said +Villefort, "and the perpetrators have hitherto escaped +detection, although suspicion has fallen on the head of more +than one person." Noirtier made such an effort that his lips +expanded into a smile. + +"Now," continued Villefort, "those to whom the guilt really +belongs, by whom the crime was committed, on whose heads the +justice of man may probably descend here, and the certain +judgment of God hereafter, would rejoice in the opportunity +thus afforded of bestowing such a peace-offering as +Valentine on the son of him whose life they so ruthlessly +destroyed." Noirtier had succeeded in mastering his emotion +more than could have been deemed possible with such an +enfeebled and shattered frame. "Yes, I understand," was the +reply contained in his look; and this look expressed a +feeling of strong indignation, mixed with profound contempt. +Villefort fully understood his father's meaning, and +answered by a slight shrug of his shoulders. He then +motioned to his wife to take leave. "Now sir," said Madame +de Villefort, "I must bid you farewell. Would you like me to +send Edward to you for a short time?" + +It had been agreed that the old man should express his +approbation by closing his eyes, his refusal by winking them +several times, and if he had some desire or feeling to +express, he raised them to heaven. If he wanted Valentine, +he closed his right eye only, and if Barrois, the left. At +Madame de Villefort's proposition he instantly winked his +eyes. Provoked by a complete refusal, she bit her lip and +said, "Then shall I send Valentine to you?" The old man +closed his eyes eagerly, thereby intimating that such was +his wish. M. and Madame de Villefort bowed and left the +room, giving orders that Valentine should be summoned to her +grandfather's presence, and feeling sure that she would have +much to do to restore calmness to the perturbed spirit of +the invalid. Valentine, with a color still heightened by +emotion, entered the room just after her parents had quitted +it. One look was sufficient to tell her that her grandfather +was suffering, and that there was much on his mind which he +was wishing to communicate to her. "Dear grandpapa," cried +she, "what has happened? They have vexed you, and you are +angry?" The paralytic closed his eyes in token of assent. +"Who has displeased you? Is it my father?" + +"No." + +"Madame de Villefort?" + +"No." + +"Me?" The former sign was repeated. "Are you displeased with +me?" cried Valentine in astonishment. M. Noirtier again +closed his eyes. "And what have I done, dear grandpapa, that +you should be angry with me?" cried Valentine. + +There was no answer, and she continued. "I have not seen you +all day. Has any one been speaking to you against me?" + +"Yes," said the old man's look, with eagerness. + +"Let me think a moment. I do assure you, grandpapa -- Ah -- +M. and Madame de Villefort have just left this room, have +they not?" + +"Yes." + +"And it was they who told you something which made you +angry? What was it then? May I go and ask them, that I may +have the opportunity of making my peace with you?" + +"No, no," said Noirtier's look. + +"Ah, you frighten me. What can they have said?" and she +again tried to think what it could be. + +"Ah, I know," said she, lowering her voice and going close +to the old man. "They have been speaking of my marriage, -- +have they not?" + +"Yes," replied the angry look. + +"I understand; you are displeased at the silence I have +preserved on the subject. The reason of it was, that they +had insisted on my keeping the matter a secret, and begged +me not to tell you anything of it. They did not even +acquaint me with their intentions, and I only discovered +them by chance, that is why I have been so reserved with +you, dear grandpapa. Pray forgive me." But there was no look +calculated to reassure her; all it seemed to say was, "It is +not only your reserve which afflicts me." + +"What is it, then?" asked the young girl. "Perhaps you think +I shall abandon you, dear grandpapa, and that I shall forget +you when I am married?" + +"No." + +"They told you, then, that M. d'Epinay consented to our all +living together?" + +"Yes." + +"Then why are you still vexed and grieved?" The old man's +eyes beamed with an expression of gentle affection. "Yes, I +understand," said Valentine; "it is because you love me." +The old man assented. "And you are afraid I shall be +unhappy?" + +"Yes." + +"You do not like M. Franz?" The eyes repeated several times, +"No, no, no." + +"Then you are vexed with the engagement?" + +"Yes." + +"Well, listen," said Valentine, throwing herself on her +knees, and putting her arm round her grandfather's neck, "I +am vexed, too, for I do not love M. Franz d'Epinay." An +expression of intense joy illumined the old man's eyes. +"When I wished to retire into a convent, you remember how +angry you were with me?" A tear trembled in the eye of the +invalid. "Well," continued Valentine, "the reason of my +proposing it was that I might escape this hateful marriage, +which drives me to despair." Noirtier's breathing came thick +and short. "Then the idea of this marriage really grieves +you too? Ah, if you could but help me -- if we could both +together defeat their plan! But you are unable to oppose +them, -- you, whose mind is so quick, and whose will is so +firm are nevertheless, as weak and unequal to the contest as +I am myself. Alas, you, who would have been such a powerful +protector to me in the days of your health and strength, can +now only sympathize in my joys and sorrows, without being +able to take any active part in them. However, this is much, +and calls for gratitude and heaven has not taken away all my +blessings when it leaves me your sympathy and kindness." + +At these words there appeared in Noirtier's eye an +expression of such deep meaning that the young girl thought +she could read these words there: "You are mistaken; I can +still do much for you." + +"Do you think you can help me, dear grandpapa?" said +Valentine. + +"Yes." Noirtier raised his eyes, it was the sign agreed on +between him and Valentine when he wanted anything. + +"What is it you want, dear grandpapa?" said Valentine, and +she endeavored to recall to mind all the things which he +would be likely to need; and as the ideas presented +themselves to her mind, she repeated them aloud, then, -- +finding that all her efforts elicited nothing but a constant +"No," -- she said, "Come, since this plan does not answer, I +will have recourse to another." She then recited all the +letters of the alphabet from A down to N. When she arrived +at that letter the paralytic made her understand that she +had spoken the initial letter of the thing he wanted. "Ah," +said Valentine, "the thing you desire begins with the letter +N; it is with N that we have to do, then. Well, let me see, +what can you want that begins with N? Na -- Ne -- Ni -- No" +-- + +"Yes, yes, yes," said the old man's eye. + +"Ah, it is No, then?" + +"Yes." Valentine fetched a dictionary, which she placed on a +desk before Noirtier; she opened it, and, seeing that the +odd man's eye was thoroughly fixed on its pages, she ran her +finger quickly up and down the columns. During the six years +which had passed since Noirtier first fell into this sad +state, Valentine's powers of invention had been too often +put to the test not to render her expert in devising +expedients for gaining a knowledge of his wishes, and the +constant practice had so perfected her in the art that she +guessed the old man's meaning as quickly as if he himself +had been able to seek for what he wanted. At the word +"Notary," Noirtier made a sign to her to stop. "Notary," +said she, "do you want a notary, dear grandpapa?" The old +man again signified that it was a notary he desired. + +"You would wish a notary to be sent for then?" said +Valentine. + +"Yes." + +"Shall my father be informed of your wish?" + +"Yes." + +"Do you wish the notary to be sent for immediately?" + +"Yes." + +"Then they shall go for him directly, dear grandpapa. Is +that all you want?" + +"Yes." Valentine rang the bell, and ordered the servant to +tell Monsieur or Madame de Villefort that they were +requested to come to M. Noirtier's room. "Are you satisfied +now?" inquired Valentine. + +"Yes." + +"I am sure you are; it is not very difficult to discover +that," -- and the young girl smiled on her grandfather, as +if he had been a child. M. de Villefort entered, followed by +Barrois. "What do you want me for, sir?" demanded he of the +paralytic. + +"Sir," said Valentine, "my grandfather wishes for a notary." +At this strange and unexpected demand M. de Villefort and +his father exchanged looks. "Yes," motioned the latter, with +a firmness which seemed to declare that with the help of +Valentine and his old servant, who both knew what his wishes +were, he was quite prepared to maintain the contest. "Do you +wish for a notary?" asked Villefort. + +"Yes." + +"What to do?" + +Noirtier made no answer. "What do you want with a notary?" +again repeated Villefort. The invalid's eye remained fixed, +by which expression he intended to intimate that his +resolution was unalterable. "Is it to do us some ill turn? +Do you think it is worth while?" said Villefort. + +"Still," said Barrois, with the freedom and fidelity of an +old servant, "if M. Noirtier asks for a notary, I suppose he +really wishes for a notary; therefore I shall go at once and +fetch one." Barrois acknowledged no master but Noirtier, and +never allowed his desires in any way to be contradicted. + +"Yes, I do want a notary," motioned the old man, shutting +his eyes with a look of defiance, which seemed to say, "and +I should like to see the person who dares to refuse my +request." + +"You shall have a notary, as you absolutely wish for one, +sir," said Villefort; "but I shall explain to him your state +of health, and make excuses for you, for the scene cannot +fail of being a most ridiculous one." + +"Never mind that," said Barrois; "I shall go and fetch a +notary, nevertheless," -- and the old servant departed +triumphantly on his mission. + + + +Chapter 59 +The Will. + +As soon as Barrois had left the room, Noirtier looked at +Valentine with a malicious expression that said many things. +The young girl perfectly understood the look, and so did +Villefort, for his countenance became clouded, and he +knitted his eyebrows angrily. He took a seat, and quietly +awaited the arrival of the notary. Noirtier saw him seat +himself with an appearance of perfect indifference, at the +same time giving a side look at Valentine, which made her +understand that she also was to remain in the room. +Three-quarters of an hour after, Barrois returned, bringing +the notary with him. "Sir," said Villefort, after the first +salutations were over, "you were sent for by M. Noirtier, +whom you see here. All his limbs have become completely +paralysed, he has lost his voice also, and we ourselves find +much trouble in endeavoring to catch some fragments of his +meaning." Noirtier cast an appealing look on Valentine, +which look was at once so earnest and imperative, that she +answered immediately. "Sir," said she, "I perfectly +understand my grandfather's meaning at all times." + +"That is quite true," said Barrois; "and that is what I told +the gentleman as we walked along." + +"Permit me," said the notary, turning first to Villefort and +then to Valentine -- "permit me to state that the case in +question is just one of those in which a public officer like +myself cannot proceed to act without thereby incurring a +dangerous responsibility. The first thing necessary to +render an act valid is, that the notary should be thoroughly +convinced that he has faithfully interpreted the will and +wishes of the person dictating the act. Now I cannot be sure +of the approbation or disapprobation of a client who cannot +speak, and as the object of his desire or his repugnance +cannot be clearly proved to me, on account of his want of +speech, my services here would be quite useless, and cannot +be legally exercised." The notary then prepared to retire. +An imperceptible smile of triumph was expressed on the lips +of the procureur. Noirtier looked at Valentine with an +expression so full of grief, that she arrested the departure +of the notary. "Sir," said she, "the language which I speak +with my grandfather may be easily learnt, and I can teach +you in a few minutes, to understand it almost as well as I +can myself. Will you tell me what you require, in order to +set your conscience quite at ease on the subject?" + +"In order to render an act valid, I must be certain of the +approbation or disapprobation of my client. Illness of body +would not affect the validity of the deed, but sanity of +mind is absolutely requisite." + +"Well, sir, by the help of two signs, with which I will +acquaint you presently, you may ascertain with perfect +certainty that my grandfather is still in the full +possession of all his mental faculties. M. Noirtier, being +deprived of voice and motion, is accustomed to convey his +meaning by closing his eyes when he wishes to signify `yes,' +and to wink when he means `no.' You now know quite enough to +enable you to converse with M. Noirtier; -- try." Noirtier +gave Valentine such a look of tenderness and gratitude that +it was comprehended even by the notary himself. "You have +heard and understood what your granddaughter has been +saying, sir, have you?" asked the notary. Noirtier closed +his eyes. "And you approve of what she said -- that is to +say, you declare that the signs which she mentioned are +really those by means of which you are accustomed to convey +your thoughts?" + +"Yes." + +"It was you who sent for me?" + +"Yes." + +"To make your will?" + +"Yes." + +"And you do not wish me to go away without fulfilling your +original intentions?" The old man winked violently. "Well, +sir," said the young girl, "do you understand now, and is +your conscience perfectly at rest on the subject?" But +before the notary could answer, Villefort had drawn him +aside. "Sir," said he, "do you suppose for a moment that a +man can sustain a physical shock, such as M. Noirtier has +received, without any detriment to his mental faculties?" + +"It is not exactly that, sir," said the notary, "which makes +me uneasy, but the difficulty will be in wording his +thoughts and intentions, so as to be able to get his +answers." + +"You must see that to be an utter impossibility," said +Villefort. Valentine and the old man heard this +conversation, and Noirtier fixed his eye so earnestly on +Valentine that she felt bound to answer to the look. + +"Sir," said she, "that need not make you uneasy, however +difficult it may at first sight appear to be. I can discover +and explain to you my grandfather's thoughts, so as to put +an end to all your doubts and fears on the subject. I have +now been six years with M. Noirtier, and let him tell you if +ever once, during that time, he has entertained a thought +which he was unable to make me understand." + +"No," signed the old man. + +"Let us try what we can do, then," said the notary. "You +accept this young lady as your interpreter, M. Noirtier?" + +"Yes." + +"Well, sir, what do you require of me, and what document is +it that you wish to be drawn up?" Valentine named all the +letters of the alphabet until she came to W. At this letter +the eloquent eye of Noirtier gave her notice that she was to +stop. "It is very evident that it is the letter W which M. +Noirtier wants," said the notary. "Wait," said Valentine; +and, turning to her grandfather, she repeated, "Wa -- We -- +Wi" -- The old man stopped her at the last syllable. +Valentine then took the dictionary, and the notary watched +her while she turned over the pages. She passed her finger +slowly down the columns, and when she came to the word +"Will," M. Noirtier's eye bade her stop. "Will," said the +notary; "it is very evident that M. Noirtier is desirous of +making his will." + +"Yes, yes, yes," motioned the invalid. + +"Really, sir, you must allow that this is most +extraordinary," said the astonished notary, turning to M. de +Villefort. "Yes," said the procureur, "and I think the will +promises to be yet more extraordinary, for I cannot see how +it is to be drawn up without the intervention of Valentine, +and she may, perhaps, be considered as too much interested +in its contents to allow of her being a suitable interpreter +of the obscure and ill-defined wishes of her grandfather." + +"No, no, no," replied the eye of the paralytic. + +"What?" said Villefort, "do you mean to say that Valentine +is not interested in your will?" + +"No." + +"Sir," said the notary, whose interest had been greatly +excited, and who had resolved on publishing far and wide the +account of this extraordinary and picturesque scene, "what +appeared so impossible to me an hour ago, has now become +quite easy and practicable, and this may be a perfectly +valid will, provided it be read in the presence of seven +witnesses, approved by the testator, and sealed by the +notary in the presence of the witnesses. As to the time, it +will not require very much more than the generality of +wills. There are certain forms necessary to be gone through, +and which are always the same. As to the details, the +greater part will be furnished afterwards by the state in +which we find the affairs of the testator, and by yourself, +who, having had the management of them, can doubtless give +full information on the subject. But besides all this, in +order that the instrument may not be contested, I am anxious +to give it the greatest possible authenticity, therefore, +one of my colleagues will help me, and, contrary to custom, +will assist in the dictation of the testament. Are you +satisfied, sir?" continued the notary, addressing the old +man. + +"Yes," looked the invalid, his eye beaming with delight at +the ready interpretation of his meaning. + +"What is he going to do?" thought Villefort, whose position +demanded much reserve, but who was longing to know what his +father's intentions were. He left the room to give orders +for another notary to be sent, but Barrois, who had heard +all that passed, had guessed his master's wishes, and had +already gone to fetch one. The procureur then told his wife +to come up. In the course of a quarter of an hour every one +had assembled in the chamber of the paralytic; the second +notary had also arrived. A few words sufficed for a mutual +understanding between the two officers of the law. They read +to Noirtier the formal copy of a will, in order to give him +an idea of the terms in which such documents are generally +couched; then, in order to test the capacity of the +testator, the first notary said, turning towards him, -- +"When an individual makes his will, it is generally in favor +or in prejudice of some person." + +"Yes." + +"Have you an exact idea of the amount of your fortune?" + +"Yes." + +"I will name to you several sums which will increase by +gradation; you will stop me when I reach the one +representing the amount of your own possessions?" + +"Yes." There was a kind of solemnity in this interrogation. +Never had the struggle between mind and matter been more +apparent than now, and if it was not a sublime, it was, at +least, a curious spectacle. They had formed a circle round +the invalid; the second notary was sitting at a table, +prepared for writing, and his colleague was standing before +the testator in the act of interrogating him on the subject +to which we have alluded. "Your fortune exceeds 300,000 +francs, does it not?" asked he. Noirtier made a sign that it +did. "Do you possess 400,000 francs?" inquired the notary. +Noirtier's eye remained immovable. "Five hundred thousand?" +The same expression continued. "Six hundred thousand -- +700,000 -- 800,000 -- 900,000?" Noirtier stopped him at the +last-named sum. "You are then in possession of 900,000 +francs?" asked the notary. "Yes." + +"In landed property?" + +"No." + +"In stock?" + +"Yes." + +"The stock is in your own hands?" The look which M. Noirtier +cast on Barrois showed that there was something wanting +which he knew where to find. The old servant left the room, +and presently returned, bringing with him a small casket. +"Do you permit us to open this casket?" asked the notary. +Noirtier gave his assent. They opened it, and found 900,000 +francs in bank scrip. The first notary handed over each +note, as he examined it, to his colleague. + +The total amount was found to be as M. Noirtier had stated. +"It is all as he has said; it is very evident that the mind +still retains its full force and vigor." Then, turning +towards the paralytic, he said, "You possess, then, 900,000 +francs of capital, which, according to the manner in which +you have invested it, ought to bring in an income of about +40,000 livres?" + +"Yes." + +"To whom do you desire to leave this fortune?" + +"Oh," said Madame de Villefort, "there is not much doubt on +that subject. M. Noirtier tenderly loves his granddaughter, +Mademoiselle de Villefort; it is she who has nursed and +tended him for six years, and has, by her devoted attention, +fully secured the affection, I had almost said the +gratitude, of her grandfather, and it is but just that she +should reap the fruit of her devotion." The eye of Noirtier +clearly showed by its expression that he was not deceived by +the false assent given by Madame de Villefort's words and +manner to the motives which she supposed him to entertain. +"Is it, then, to Mademoiselle Valentine de Villefort that +you leave these 900,000 francs?" demanded the notary, +thinking he had only to insert this clause, but waiting +first for the assent of Noirtier, which it was necessary +should be given before all the witnesses of this singular +scene. Valentine, when her name was made the subject of +discussion, had stepped back, to escape unpleasant +observation; her eyes were cast down, and she was crying. +The old man looked at her for an instant with an expression +of the deepest tenderness, then, turning towards the notary, +he significantly winked his eye in token of dissent. + +"What," said the notary, "do you not intend making +Mademoiselle Valentine de Villefort your residuary legatee?" + +"No." + +"You are not making any mistake, are you?" said the notary; +"you really mean to declare that such is not your +intention?" + +"No," repeated Noirtier; "No." Valentine raised her head, +struck dumb with astonishment. It was not so much the +conviction that she was disinherited that caused her grief, +but her total inability to account for the feelings which +had provoked her grandfather to such an act. But Noirtier +looked at her with so much affectionate tenderness that she +exclaimed, "Oh, grandpapa, I see now that it is only your +fortune of which you deprive me; you still leave me the love +which I have always enjoyed." + +"Ah, yes, most assuredly," said the eyes of the paralytic, +for he closed them with an expression which Valentine could +not mistake. "Thank you, thank you," murmured she. The old +man's declaration that Valentine was not the destined +inheritor of his fortune had excited the hopes of Madame de +Villefort; she gradually approached the invalid, and said: +"Then, doubtless, dear M. Noirtier, you intend leaving your +fortune to your grandson, Edward de Villefort?" The winking +of the eyes which answered this speech was most decided and +terrible, and expressed a feeling almost amounting to +hatred. + +"No?" said the notary; "then, perhaps, it is to your son, M. +de Villefort?" + +"No." The two notaries looked at each other in mute +astonishment and inquiry as to what were the real intentions +of the testator. Villefort and his wife both grew red, one +from shame, the other from anger. + +"What have we all done, then, dear grandpapa?" said +Valentine; "you no longer seem to love any of us?" The old +man's eyes passed rapidly from Villefort and his wife, and +rested on Valentine with a look of unutterable fondness. +"Well," said she; "if you love me, grandpapa, try and bring +that love to bear upon your actions at this present moment. +You know me well enough to be quite sure that I have never +thought of your fortune; besides, they say I am already rich +in right of my mother -- too rich, even. Explain yourself, +then." Noirtier fixed his intelligent eyes on Valentine's +hand. "My hand?" said she. + +"Yes." + +"Her hand!" exclaimed every one. + +"Oh, gentlemen, you see it is all useless, and that my +father's mind is really impaired," said Villefort. + +"Ah," cried Valentine suddenly, "I understand. It is my +marriage you mean, is it not, dear grandpapa?" + +"Yes, yes, yes," signed the paralytic, casting on Valentine +a look of joyful gratitude for having guessed his meaning. + +"You are angry with us all on account of this marriage, are +you not?" + +"Yes?" + +"Really, this is too absurd," said Villefort. + +"Excuse me, sir," replied the notary; "on the contrary, the +meaning of M. Noirtier is quite evident to me, and I can +quite easily connect the train of ideas passing in his +mind." + +"You do not wish me to marry M. Franz d'Epinay?" observed +Valentine. + +"I do not wish it," said the eye of her grandfather. "And +you disinherit your granddaughter," continued the notary, +"because she has contracted an engagement contrary to your +wishes?" + +"Yes." + +"So that, but for this marriage, she would have been your +heir?" + +"Yes." There was a profound silence. The two notaries were +holding a consultation as to the best means of proceeding +with the affair. Valentine was looking at her grandfather +with a smile of intense gratitude, and Villefort was biting +his lips with vexation, while Madame de Villefort could not +succeed in repressing an inward feeling of joy, which, in +spite of herself, appeared in her whole countenance. "But," +said Villefort, who was the first to break the silence, "I +consider that I am the best judge of the propriety of the +marriage in question. I am the only person possessing the +right to dispose of my daughter's hand. It is my wish that +she should marry M. Franz d'Epinay -- and she shall marry +him." Valentine sank weeping into a chair. + +"Sir," said the notary, "how do you intend disposing of your +fortune in case Mademoiselle de Villefort still determines +on marrying M. Franz?" The old man gave no answer. "You +will, of course, dispose of it in some way or other?" + +"Yes." + +"In favor of some member of your family?" + +"No." + +"Do you intend devoting it to charitable purposes, then?" +pursued the notary. + +"Yes." + +"But," said the notary, "you are aware that the law does not +allow a son to be entirely deprived of his patrimony?" + +"Yes." + +"You only intend, then, to dispose of that part of your +fortune which the law allows you to subtract from the +inheritance of your son?" Noirtier made no answer. "Do you +still wish to dispose of all?" + +"Yes." + +"But they will contest the will after your death?" + +"No." + +"My father knows me," replied Villefort; "he is quite sure +that his wishes will be held sacred by me; besides, he +understands that in my position I cannot plead against the +poor." The eye of Noirtier beamed with triumph. "What do you +decide on, sir?" asked the notary of Villefort. + +"Nothing, sir; it is a resolution which my father has taken +and I know he never alters his mind. I am quite resigned. +These 900,000 francs will go out of the family in order to +enrich some hospital; but it is ridiculous thus to yield to +the caprices of an old man, and I shall, therefore, act +according to my conscience." Having said this, Villefort +quitted the room with his wife, leaving his father at +liberty to do as he pleased. The same day the will was made, +the witnesses were brought, it was approved by the old man, +sealed in the presence of all and given in charge to M. +Deschamps, the family notary. + + + +Chapter 60 +The Telegraph. + +M. and Madame de Villefort found on their return that the +Count of Monte Cristo, who had come to visit them in their +absence, had been ushered into the drawing-room, and was +still awaiting them there. Madame de Villefort, who had not +yet sufficiently recovered from her late emotion to allow of +her entertaining visitors so immediately, retired to her +bedroom, while the procureur, who could better depend upon +himself, proceeded at once to the salon. Although M. de +Villefort flattered himself that, to all outward view, he +had completely masked the feelings which were passing in his +mind, he did not know that the cloud was still lowering on +his brow, so much so that the count, whose smile was +radiant, immediately noticed his sombre and thoughtful air. +"Ma foi," said Monte Cristo, after the first compliments +were over, "what is the matter with you, M. de Villefort? +Have I arrived at the moment when you were drawing up an +indictment for a capital crime?" Villefort tried to smile. +"No, count," he replied, "I am the only victim in this case. +It is I who lose my cause, and it is ill-luck, obstinacy, +and folly which have caused it to be decided against me." + +"To what do you refer?" said Monte Cristo with well-feigned +interest. "Have you really met with some great misfortune?" + +"Oh, no, monsieur," said Villefort with a bitter smile; "it +is only a loss of money which I have sustained -- nothing +worth mentioning, I assure you." + +"True," said Monte Cristo, "the loss of a sum of money +becomes almost immaterial with a fortune such as you +possess, and to one of your philosophic spirit." + +"It is not so much the loss of the money that vexes me," +said Villefort, "though, after all, 900,000 francs are worth +regretting; but I am the more annoyed with this fate, +chance, or whatever you please to call the power which has +destroyed my hopes and my fortune, and may blast the +prospects of my child also, as it is all occasioned by an +old man relapsed into second childhood." + +"What do you say?" said the count; "900,000 francs? It is +indeed a sum which might be regretted even by a philosopher. +And who is the cause of all this annoyance?" + +"My father, as I told you." + +"M. Noirtier? But I thought you told me he had become +entirely paralyzed, and that all his faculties were +completely destroyed?" + +"Yes, his bodily faculties, for he can neither move nor +speak, nevertheless he thinks, acts, and wills in the manner +I have described. I left him about five minutes ago, and he +is now occupied in dictating his will to two notaries." + +"But to do this he must have spoken?" + +"He has done better than that -- he has made himself +understood." + +"How was such a thing possible?" + +"By the help of his eyes, which are still full of life, and, +as you perceive, possess the power of inflicting mortal +injury." + +"My dear," said Madame de Villefort, who had just entered +the room, "perhaps you exaggerate the evil." + +"Good-morning, madame," said the count, bowing. Madame de +Villefort acknowledged the salutation with one of her most +gracious smiles. "What is this that M. de Villefort has been +telling me?" demanded Monte Cristo "and what +incomprehensible misfortune" -- + +"Incomprehensible is not the word," interrupted the +procureur, shrugging his shoulders. "It is an old man's +caprice." + +"And is there no means of making him revoke his decision?" + +"Yes," said Madame de Villefort; "and it is still entirely +in the power of my husband to cause the will, which is now +in prejudice of Valentine, to be altered in her favor." The +count, who perceived that M. and Madame de Villefort were +beginning to speak in parables, appeared to pay no attention +to the conversation, and feigned to be busily engaged in +watching Edward, who was mischievously pouring some ink into +the bird's water-glass. "My dear," said Villefort, in answer +to his wife, "you know I have never been accustomed to play +the patriarch in my family, nor have I ever considered that +the fate of a universe was to be decided by my nod. +Nevertheless, it is necessary that my will should be +respected in my family, and that the folly of an old man and +the caprice of a child should not be allowed to overturn a +project which I have entertained for so many years. The +Baron d'Epinay was my friend, as you know, and an alliance +with his son is the most suitable thing that could possibly +be arranged." + +"Do you think," said Madame de Villefort, "that Valentine is +in league with him? She has always been opposed to this +marriage, and I should not be at all surprised if what we +have just seen and heard is nothing but the execution of a +plan concerted between them." + +"Madame," said Villefort, "believe me, a fortune of 900,000 +francs is not so easily renounced." + +"She could, nevertheless, make up her mind to renounce the +world, sir, since it is only about a year ago that she +herself proposed entering a convent." + +"Never mind," replied Villefort; "I say that this marriage +shall be consummated." + +"Notwithstanding your father's wishes to the contrary?" said +Madame de Villefort, selecting a new point of attack. "That +is a serious thing." Monte Cristo, who pretended not to be +listening, heard however, every word that was said. +"Madame," replied Villefort "I can truly say that I have +always entertained a high respect for my father, because, to +the natural feeling of relationship was added the +consciousness of his moral superiority. The name of father +is sacred in two senses; he should be reverenced as the +author of our being and as a master whom we ought to obey. +But, under the present circumstances, I am justified in +doubting the wisdom of an old man who, because he hated the +father, vents his anger on the son. It would be ridiculous +in me to regulate my conduct by such caprices. I shall still +continue to preserve the same respect toward M. Noirtier; I +will suffer, without complaint, the pecuniary deprivation to +which he has subjected me; but I shall remain firm in my +determination, and the world shall see which party his +reason on his side. Consequently I shall marry my daughter +to the Baron Franz d'Epinay, because I consider it would be +a proper and eligible match for her to make, and, in short, +because I choose to bestow my daughter's hand on whomever I +please." + +"What?" said the count, the approbation of whose eye +Villefort had frequently solicited during this speech. +"What? Do you say that M. Noirtier disinherits Mademoiselle +de Villefort because she is going to marry M. le Baron Franz +d'Epinay?" + +"Yes, sir, that is the reason," said Villefort, shrugging +his shoulders. + +"The apparent reason, at least," said Madame de Villefort. + +"The real reason, madame, I can assure you; I know my +father." + +"But I want to know in what way M. d'Epinay can have +displeased your father more than any other person?" + +"I believe I know M. Franz d'Epinay," said the count; "is he +not the son of General de Quesnel, who was created Baron +d'Epinay by Charles X.?" + +"The same," said Villefort. + +"Well, but he is a charming young man, according to my +ideas." + +"He is, which makes me believe that it is only an excuse of +M. Noirtier to prevent his granddaughter marrying; old men +are always so selfish in their affection," said Madame de +Villefort. + +"But," said Monte Cristo "do you not know any cause for this +hatred?" + +"Ah, ma foi, who is to know?" + +"Perhaps it is some political difference?" + +"My father and the Baron d'Epinay lived in the stormy times +of which I only saw the ending," said Villefort. + +"Was not your father a Bonapartist?" asked Monte Cristo; "I +think I remember that you told me something of that kind." + +"My father has been a Jacobin more than anything else," said +Villefort, carried by his emotion beyond the bounds of +prudence; "and the senator's robe, which Napoleon cast on +his shoulders, only served to disguise the old man without +in any degree changing him. When my father conspired, it was +not for the emperor, it was against the Bourbons; for M. +Noirtier possessed this peculiarity, he never projected any +Utopian schemes which could never be realized, but strove +for possibilities, and he applied to the realization of +these possibilities the terrible theories of The Mountain, +-- theories that never shrank from any means that were +deemed necessary to bring about the desired result." + +"Well," said Monte Cristo, "it is just as I thought; it was +politics which brought Noirtier and M. d'Epinay into +personal contact. Although General d'Epinay served under +Napoleon, did he not still retain royalist sentiments? And +was he not the person who was assassinated one evening on +leaving a Bonapartist meeting to which he had been invited +on the supposition that he favored the cause of the +emperor?" Villefort looked at the count almost with terror. +"Am I mistaken, then?" said Monte Cristo. + +"No, sir, the facts were precisely what you have stated," +said Madame de Villefort; "and it was to prevent the renewal +of old feuds that M. de Villefort formed the idea of uniting +in the bonds of affection the two children of these +inveterate enemies." + +"It was a sublime and charitable thought," said Monte +Cristo, "and the whole world should applaud it. It would be +noble to see Mademoiselle Noirtier de Villefort assuming the +title of Madame Franz d'Epinay." Villefort shuddered and +looked at Monte Cristo as if he wished to read in his +countenance the real feelings which had dictated the words +he had just uttered. But the count completely baffled the +procureur, and prevented him from discovering anything +beneath the never-varying smile he was so constantly in the +habit of assuming. "Although," said Villefort, "it will be a +serious thing for Valentine to lose her grandfather's +fortune, I do not think that M. d'Epinay will be frightened +at this pecuniary loss. He will, perhaps, hold me in greater +esteem than the money itself, seeing that I sacrifice +everything in order to keep my word with him. Besides, he +knows that Valentine is rich in right of her mother, and +that she will, in all probability, inherit the fortune of M. +and Madame de Saint-Meran, her mother's parents, who both +love her tenderly." + +"And who are fully as well worth loving and tending as M. +Noirtier," said Madame de Villefort; "besides, they are to +come to Paris in about a month, and Valentine, after the +affront she has received, need not consider it necessary to +continue to bury herself alive by being shut up with M. +Noirtier." The count listened with satisfaction to this tale +of wounded self-love and defeated ambition. "But it seems to +me," said Monte Cristo, "and I must begin by asking your +pardon for what I am about to say, that if M. Noirtier +disinherits Mademoiselle de Villefort because she is going +to marry a man whose father he detested, he cannot have the +same cause of complaint against this dear Edward." + +"True," said Madame de Villefort, with an intonation of +voice which it is impossible to describe; "is it not unjust +-- shamefully unjust? Poor Edward is as much M. Noirtier's +grandchild as Valentine, and yet, if she had not been going +to marry M. Franz, M. Noirtier would have left her all his +money; and supposing Valentine to be disinherited by her +grandfather, she will still be three times richer than he." +The count listened and said no more. "Count," said +Villefort, "we will not entertain you any longer with our +family misfortunes. It is true that my patrimony will go to +endow charitable institutions, and my father will have +deprived me of my lawful inheritance without any reason for +doing so, but I shall have the satisfaction of knowing that +I have acted like a man of sense and feeling. M. d'Epinay, +to whom I had promised the interest of this sum, shall +receive it, even if I endure the most cruel privations." + +"However," said Madame de Villefort, returning to the one +idea which incessantly occupied her mind, "perhaps it would +be better to explain this unlucky affair to M. d'Epinay, in +order to give him the opportunity of himself renouncing his +claim to the hand of Mademoiselle de Villefort." + +"Ah, that would be a great pity," said Villefort. + +"A great pity," said Monte Cristo. + +"Undoubtedly," said Villefort, moderating the tones of his +voice, "a marriage once concerted and then broken off, +throws a sort of discredit on a young lady; then again, the +old reports, which I was so anxious to put an end to, will +instantly gain ground. No, it will all go well; M. d'Epinay, +if he is an honorable man, will consider himself more than +ever pledged to Mademoiselle de Villefort, unless he were +actuated by a decided feeling of avarice, but that is +impossible." + +"I agree with M. de Villefort," said Monte Cristo, fixing +his eyes on Madame de Villefort; "and if I were sufficiently +intimate with him to allow of giving my advice, I would +persuade him, since I have been told M. d'Epinay is coming +back, to settle this affair at once beyond all possibility +of revocation. I will answer for the success of a project +which will reflect so much honor on M. de Villefort." The +procureur arose, delighted with the proposition, but his +wife slightly changed color. "Well, that is all that I +wanted, and I will be guided by a counsellor such as you +are," said he, extending his hand to Monte Cristo. +"Therefore let every one here look upon what has passed +to-day as if it had not happened, and as though we had never +thought of such a thing as a change in our original plans." + +"Sir," said the count, "the world, unjust as it is, will be +pleased with your resolution; your friends will be proud of +you, and M. d'Epinay, even if he took Mademoiselle de +Villefort without any dowry, which he will not do, would be +delighted with the idea of entering a family which could +make such sacrifices in order to keep a promise and fulfil a +duty." At the conclusion of these words, the count rose to +depart. "Are you going to leave us, count?" said Madame de +Villefort. + +"I am sorry to say I must do so, madame, I only came to +remind you of your promise for Saturday." + +"Did you fear that we should forget it?" + +"You are very good, madame, but M. de Villefort has so many +important and urgent occupations." + +"My husband has given me his word, sir," said Madame de +Villefort; "you have just seen him resolve to keep it when +he has everything to lose, and surely there is more reason +for his doing so where he has everything to gain." + +"And," said Villefort, "is it at your house in the +Champs-Elysees that you receive your visitors?" + +"No," said Monte Cristo, "which is precisely the reason +which renders your kindness more meritorious, -- it is in +the country." + +"In the country?" + +"Yes." + +"Where is it, then? Near Paris, is it not?" + +"Very near, only half a league from the Barriers, -- it is +at Auteuil." + +"At Auteuil?" said Villefort; "true, Madame de Villefort +told me you lived at Auteuil, since it was to your house +that she was taken. And in what part of Auteuil do you +reside?" + +"Rue de la Fontaine." + +"Rue de la Fontaine!" exclaimed Villefort in an agitated +tone; "at what number?" + +"No. 28." + +"Then," cried Villefort, "was it you who bought M. de +Saint-Meran's house!" + +"Did it belong to M. de Saint-Meran?" demanded Monte Cristo. + +"Yes," replied Madame de Villefort; "and, would you believe +it, count" -- + +"Believe what?" + +"You think this house pretty, do you not?" + +"I think it charming." + +"Well, my husband would never live in it." + +"Indeed?" returned Monte Cristo, "that is a prejudice on +your part, M. de Villefort, for which I am quite at a loss +to account." + +"I do not like Auteuil, sir," said the procureur, making an +evident effort to appear calm. + +"But I hope you will not carry your antipathy so far as to +deprive me of the pleasure of your company, sir," said Monte +Cristo. + +"No, count, -- I hope -- I assure you I shall do my best," +stammered Villefort. + +"Oh," said Monte Cristo, "I allow of no excuse. On Saturday, +at six o'clock. I shall be expecting you, and if you fail to +come, I shall think -- for how do I know to the contrary? -- +that this house, which his remained uninhabited for twenty +years, must have some gloomy tradition or dreadful legend +connected with it." + +"I will come, count, -- I will be sure to come," said +Villefort eagerly. + +"Thank you," said Monte Cristo; "now you must permit me to +take my leave of you." + +"You said before that you were obliged to leave us, +monsieur," said Madame de Villefort, "and you were about to +tell us why when your attention was called to some other +subject." + +"Indeed madame," said Monte Cristo: "I scarcely know if I +dare tell you where I am going." + +"Nonsense; say on." + +"Well, then, it is to see a thing on which I have sometimes +mused for hours together." + +"What is it?" + +"A telegraph. So now I have told my secret." + +"A telegraph?" repeated Madame de Villefort. + +"Yes, a telegraph. I had often seen one placed at the end of +a road on a hillock, and in the light of the sun its black +arms, bending in every direction, always reminded me of the +claws of an immense beetle, and I assure you it was never +without emotion that I gazed on it, for I could not help +thinking how wonderful it was that these various signs +should be made to cleave the air with such precision as to +convey to the distance of three hundred leagues the ideas +and wishes of a man sitting at a table at one end of the +line to another man similarly placed at the opposite +extremity, and all this effected by a simple act of volition +on the part of the sender of the message. I began to think +of genii, sylphs, gnomes, in short, of all the ministers of +the occult sciences, until I laughed aloud at the freaks of +my own imagination. Now, it never occurred to me to wish for +a nearer inspection of these large insects, with their long +black claws, for I always feared to find under their stone +wings some little human genius fagged to death with cabals, +factions, and government intrigues. But one fine day I +learned that the mover of this telegraph was only a poor +wretch, hired for twelve hundred francs a year, and employed +all day, not in studying the heavens like an astronomer, or +in gazing on the water like an angler, or even in enjoying +the privilege of observing the country around him, but all +his monotonous life was passed in watching his +white-bellied, black-clawed fellow insect, four or five +leagues distant from him. At length I felt a desire to study +this living chrysalis more closely, and to endeavor to +understand the secret part played by these insect-actors +when they occupy themselves simply with pulling different +pieces of string." + +"And are you going there?" + +"I am." + +"What telegraph do you intend visiting? that of the home +department, or of the observatory?" + +"Oh, no; I should find there people who would force me to +understand things of which I would prefer to remain +ignorant, and who would try to explain to me, in spite of +myself, a mystery which even they do not understand. Ma foi, +I should wish to keep my illusions concerning insects +unimpaired; it is quite enough to have those dissipated +which I had formed of my fellow-creatures. I shall, +therefore, not visit either of these telegraphs, but one in +the open country where I shall find a good-natured +simpleton, who knows no more than the machine he is employed +to work." + +"You are a singular man," said Villefort. + +"What line would you advise me to study?" + +"The one that is most in use just at this time." + +"The Spanish one, you mean, I suppose?" + +"Yes; should you like a letter to the minister that they +might explain to you" -- + +"No," said Monte Cristo; "since, as I told you before, I do +not wish to comprehend it. The moment I understand it there +will no longer exist a telegraph for me; it will he nothing +more than a sign from M. Duchatel, or from M. Montalivet, +transmitted to the prefect of Bayonne, mystified by two +Greek words, tele, graphein. It is the insect with black +claws, and the awful word which I wish to retain in my +imagination in all its purity and all its importance." + +"Go then; for in the course of two hours it will be dark, +and you will not be able to see anything." + +"Ma foi, you frighten me. Which is the nearest way? +Bayonne?" + +"Yes; the road to Bayonne." + +"And afterwards the road to Chatillon?" + +"Yes." + +"By the tower of Montlhery, you mean?" + +"Yes." + +"Thank you. Good-by. On Saturday I will tell you my +impressions concerning the telegraph." At the door the count +was met by the two notaries, who had just completed the act +which was to disinherit Valentine, and who were leaving +under the conviction of having done a thing which could not +fail of redounding considerably to their credit. + + + +Chapter 61 +How a Gardener may get rid of the Dormice that eat His +Peaches. + +Not on the same night, as he had intended, but the next +morning, the Count of Monte Cristo went out by the Barrier +d'Enfer, taking the road to Orleans. Leaving the village of +Linas, without stopping at the telegraph, which flourished +its great bony arms as he passed, the count reached the +tower of Montlhery, situated, as every one knows, upon the +highest point of the plain of that name. At the foot of the +hill the count dismounted and began to ascend by a little +winding path, about eighteen inches wide; when he reached +the summit he found himself stopped by a hedge, upon which +green fruit had succeeded to red and white flowers. + +Monte Cristo looked for the entrance to the enclosure, and +was not long in finding a little wooden gate, working on +willow hinges, and fastened with a nail and string. The +count soon mastered the mechanism, the gate opened, and he +then found himself in a little garden, about twenty feet +long by twelve wide, bounded on one side by part of the +hedge, which contained the ingenious contrivance we have +called a gate, and on the other by the old tower, covered +with ivy and studded with wall-flowers. No one would have +thought in looking at this old, weather-beaten, +floral-decked tower (which might be likened to an elderly +dame dressed up to receive her grandchildren at a birthday +feast) that it would have been capable of telling strange +things, if, -- in addition to the menacing ears which the +proverb says all walls are provided with, -- it had also a +voice. The garden was crossed by a path of red gravel, edged +by a border of thick box, of many years' growth, and of a +tone and color that would have delighted the heart of +Delacroix, our modern Rubens. This path was formed in the +shape of the figure of 8, thus, in its windings, making a +walk of sixty feet in a garden of only twenty. + +Never had Flora, the fresh and smiling goddess of gardeners, +been honored with a purer or more scrupulous worship than +that which was paid to her in this little enclosure. In +fact, of the twenty rose-trees which formed the parterre, +not one bore the mark of the slug, nor were there evidences +anywhere of the clustering aphis which is so destructive to +plants growing in a damp soil. And yet it was not because +the damp had been excluded from the garden; the earth, black +as soot, the thick foliage of the trees betrayed its +presence; besides, had natural humidity been wanting, it +could have been immediately supplied by artificial means, +thanks to a tank of water, sunk in one of the corners of the +garden, and upon which were stationed a frog and a toad, +who, from antipathy, no doubt, always remained on the two +opposite sides of the basin. There was not a blade of grass +to be seen in the paths, or a weed in the flower-beds; no +fine lady ever trained and watered her geraniums, her cacti, +and her rhododendrons, with more pains than this hitherto +unseen gardener bestowed upon his little enclosure. Monte +Cristo stopped after having closed the gate and fastened the +string to the nail, and cast a look around. + +"The man at the telegraph," said he, "must either engage a +gardener or devote himself passionately to agriculture." +Suddenly he struck against something crouching behind a +wheelbarrow filled with leaves; the something rose, uttering +an exclamation of astonishment, and Monte Cristo found +himself facing a man about fifty years old, who was plucking +strawberries, which he was placing upon grape leaves. He had +twelve leaves and about as many strawberries, which, on +rising suddenly, he let fall from his hand. "You are +gathering your crop, sir?" said Monte Cristo, smiling. + +"Excuse me, sir," replied the man, raising his hand to his +cap; "I am not up there, I know, but I have only just come +down." + +"Do not let me interfere with you in anything, my friend," +said the count; "gather your strawberries, if, indeed, there +are any left." + +"I have ten left," said the man, "for here are eleven, and I +had twenty-one, five more than last year. But I am not +surprised; the spring has been warm this year, and +strawberries require heat, sir. This is the reason that, +instead of the sixteen I had last year, I have this year, +you see, eleven, already plucked -- twelve, thirteen, +fourteen, fifteen, sixteen, seventeen, eighteen. Ah, I miss +three, they were here last night, sir -- I am sure they were +here -- I counted them. It must be the Mere Simon's son who +has stolen them; I saw him strolling about here this +morning. Ah, the young rascal -- stealing in a garden -- he +does not know where that may lead him to." + +"Certainly, it is wrong," said Monte Cristo, "but you should +take into consideration the youth and greediness of the +delinquent." + +"Of course," said the gardener, "but that does not make it +the less unpleasant. But, sir, once more I beg pardon; +perhaps you are an officer that I am detaining here." And he +glanced timidly at the count's blue coat. + +"Calm yourself, my friend," said the count, with the smile +which he made at will either terrible or benevolent, and +which now expressed only the kindliest feeling; "I am not an +inspector, but a traveller, brought here by a curiosity he +half repents of, since he causes you to lose your time." + +"Ah, my time is not valuable," replied the man with a +melancholy smile. "Still it belongs to government, and I +ought not to waste it; but, having received the signal that +I might rest for an hour" (here he glanced at the sun-dial, +for there was everything in the enclosure of Montlhery, even +a sun-dial), "and having ten minutes before me, and my +strawberries being ripe, when a day longer -- by-the-by, +sir, do you think dormice eat them?" + +"Indeed, I should think not," replied Monte Cristo; "dormice +are bad neighbors for us who do not eat them preserved, as +the Romans did." + +"What? Did the Romans eat them?" said the gardener -- "ate +dormice?" + +"I have read so in Petronius," said the count. + +"Really? They can't be nice, though they do say `as fat as a +dormouse.' It is not a wonder they are fat, sleeping all +day, and only waking to eat all night. Listen. Last year I +had four apricots -- they stole one, I had one nectarine, +only one -- well, sir, they ate half of it on the wall; a +splendid nectarine -- I never ate a better." + +"You ate it?" + +"That is to say, the half that was left -- you understand; +it was exquisite, sir. Ah, those gentlemen never choose the +worst morsels; like Mere Simon's son, who has not chosen the +worst strawberries. But this year," continued the +horticulturist, "I'll take care it shall not happen, even if +I should be forced to sit by the whole night to watch when +the strawberries are ripe." Monte Cristo had seen enough. +Every man has a devouring passion in his heart, as every +fruit has its worm; that of the telegraph man was +horticulture. He began gathering the grape-leaves which +screened the sun from the grapes, and won the heart of the +gardener. "Did you come here, sir, to see the telegraph?" he +said. + +"Yes, if it isn't contrary to the rules." + +"Oh, no," said the gardener; "not in the least, since there +is no danger that anyone can possibly understand what we are +saying." + +"I have been told," said the count, "that you do not always +yourselves understand the signals you repeat." + +"That is true, sir, and that is what I like best," said the +man, smiling. + +"Why do you like that best?" + +"Because then I have no responsibility. I am a machine then, +and nothing else, and so long as I work, nothing more is +required of me." + +"Is it possible," said Monte Cristo to himself, "that I can +have met with a man that has no ambition? That would spoil +my plans." + +"Sir," said the gardener, glancing at the sun-dial, "the ten +minutes are almost up; I must return to my post. Will you go +up with me?" + +"I follow you." Monte Cristo entered the tower, which was +divided into three stories. The tower contained implements, +such as spades, rakes, watering-pots, hung against the wall; +this was all the furniture. The second was the man's +conventional abode, or rather sleeping-place; it contained a +few poor articles of household furniture -- a bed, a table, +two chairs, a stone pitcher -- and some dry herbs, hung up +to the ceiling, which the count recognized as sweet pease, +and of which the good man was preserving the seeds; he had +labelled them with as much care as if he had been master +botanist in the Jardin des Plantes. + +"Does it require much study to learn the art of +telegraphing?" asked Monte Cristo. + +"The study does not take long; it was acting as a +supernumerary that was so tedious." + +"And what is the pay?" + +"A thousand francs, sir." + +"It is nothing." + +"No; but then we are lodged, as you perceive." + +Monte Cristo looked at the room. They passed to the third +story; it was the telegraph room. Monte Cristo looked in +turn at the two iron handles by which the machine was +worked. "It is very interesting," he said, "but it must be +very tedious for a lifetime." + +"Yes. At first my neck was cramped with looking at it, but +at the end of a year I became used to it; and then we have +our hours of recreation, and our holidays." + +"Holidays?" + +"Yes." + +"When?" + +"When we have a fog." + +"Ah, to be sure." + +"Those are indeed holidays to me; I go into the garden, I +plant, I prune, I trim, I kill the insects all day long." + +"How long have you been here?" + +"Ten years, and five as a supernumerary make fifteen." + +"You are -- " + +"Fifty-five years old." + +"How long must you have served to claim the pension?" + +"Oh, sir, twenty-five years." + +"And how much is the pension?" + +"A hundred crowns." + +"Poor humanity!" murmured Monte Cristo. + +"What did you say, sir?" asked the man. + +"I was saying it was very interesting." + +"What was?" + +"All you were showing me. And you really understand none of +these signals?" + +"None at all." + +"And have you never tried to understand them?" + +"Never. Why should I?" + +"But still there are some signals only addressed to you." + +"Certainly." + +"And do you understand them?" + +"They are always the same." + +"And they mean -- " + +"Nothing new; You have an hour; or To-morrow." + +"This is simple enough," said the count; "but look, is not +your correspondent putting itself in motion?" + +"Ah, yes; thank you, sir." + +"And what is it saying -- anything you understand?" + +"Yes; it asks if I am ready." + +"And you reply?" + +"By the same sign, which, at the same time, tells my +right-hand correspondent that I am ready, while it gives +notice to my left-hand correspondent to prepare in his +turn." + +"It is very ingenious," said the count. + +"You will see," said the man proudly; "in five minutes he +will speak." + +"I have, then, five minutes," said Monte Cristo to himself; +"it is more time than I require. My dear sir, will you allow +me to ask you a question?" + +"What is it, sir?" + +"You are fond of gardening?" + +"Passionately." + +"And you would be pleased to have, instead of this terrace +of twenty feet, an enclosure of two acres?" + +"Sir, I should make a terrestrial paradise of it." + +"You live badly on your thousand francs?" + +"Badly enough; but yet I do live." + +"Yes; but you have a wretchedly small garden." + +"True, the garden is not large." + +"And, then, such as it is, it is filled with dormice, who +eat everything." + +"Ah, they are my scourges." + +"Tell me, should you have the misfortune to turn your head +while your right-hand correspondent was telegraphing" -- + +"I should not see him." + +"Then what would happen?" + +"I could not repeat the signals." + +"And then?" + +"Not having repeated them, through negligence, I should be +fined." + +"How much?" + +"A hundred francs." + +"The tenth of your income -- that would be fine work." + +"Ah," said the man. + +"Has it ever happened to you?" said Monte Cristo. + +"Once, sir, when I was grafting a rose-tree." + +"Well, suppose you were to alter a signal, and substitute +another?" + +"Ah, that is another case; I should be turned off, and lose +my pension." + +"Three hundred francs?" + +"A hundred crowns, yes, sir; so you see that I am not likely +to do any of these things." + +"Not even for fifteen years' wages? Come, it is worth +thinking about?" + +"For fifteen thousand francs?" + +"Yes." + +"Sir, you alarm me." + +"Nonsense." + +"Sir, you are tempting me?" + +"Just so; fifteen thousand francs, do you understand?" + +"Sir, let me see my right-hand correspondent." + +"On the contrary, do not look at him, but at this." + +"What is it?" + +"What? Do you not know these bits of paper?" + +"Bank-notes!" + +"Exactly; there are fifteen of them." + +"And whose are they?" + +"Yours, if you like." + +"Mine?" exclaimed the man, half-suffocated. + +"Yes; yours -- your own property." + +"Sir, my right-hand correspondent is signalling." + +"Let him signal." + +"Sir, you have distracted me; I shall be fined." + +"That will cost you a hundred francs; you see it is your +interest to take my bank-notes." + +"Sir, my right-hand correspondent redoubles his signals; he +is impatient." + +"Never mind -- take these;" and the count placed the packet +in the man's hands. "Now this is not all," he said; "you +cannot live upon your fifteen thousand francs." + +"I shall still have my place." + +"No, you will lose it, for you are going to alter your +correspondent's message." + +"Oh, sir, what are you proposing?" + +"A jest." + +"Sir, unless you force me" -- + +"I think I can effectually force you;" and Monte Cristo drew +another packet from his pocket. "Here are ten thousand more +francs," he said, "with the fifteen thousand already in your +pocket, they will make twenty-five thousand. With five +thousand you can buy a pretty little house with two acres of +land; the remaining twenty thousand will bring you in a +thousand francs a year." + +"A garden with two acres of land!" + +"And a thousand francs a year." + +"Oh, heavens!" + +"Come, take them," and Monte Cristo forced the bank-notes +into his hand. + +"What am I to do?" + +"Nothing very difficult." + +"But what is it?" + +"To repeat these signs." Monte Cristo took a paper from his +pocket, upon which were drawn three signs, with numbers to +indicate the order in which they were to be worked. + +"There, you see it will not take long." + +"Yes; but" -- + +"Do this, and you will have nectarines and all the rest." +The shot told; red with fever, while the large drops fell +from his brow, the man executed, one after the other, the +three signs given by the count, in spite of the frightful +contortions of the right-hand correspondent, who, not +understanding the change, began to think the gardener had +gone mad. As to the left-hand one, he conscientiously +repeated the same signals, which were finally transmitted to +the Minister of the Interior. "Now you are rich," said Monte +Cristo. + +"Yes," replied the man, "but at what a price!" + +"Listen, friend," said Monte Cristo. "I do not wish to cause +you any remorse; believe me, then, when I swear to you that +you have wronged no man, but on the contrary have benefited +mankind." The man looked at the bank-notes, felt them, +counted them, turned pale, then red, then rushed into his +room to drink a glass of water, but he had no time to reach +the water-jug, and fainted in the midst of his dried herbs. +Five minutes after the new telegram reached the minister, +Debray had the horses put to his carriage, and drove to +Danglars' house. + +"Has your husband any Spanish bonds?" he asked of the +baroness. + +"I think so, indeed! He has six millions' worth." + +"He must sell them at whatever price." + +"Why?" + +"Because Don Carlos has fled from Bourges, and has returned +to Spain." + +"How do you know?" Debray shrugged his shoulders. "The idea +of asking how I hear the news," he said. The baroness did +not wait for a repetition; she ran to her husband, who +immediately hastened to his agent, and ordered him to sell +at any price. When it was seen that Danglars sold, the +Spanish funds fell directly. Danglars lost five hundred +thousand francs; but he rid himself of all his Spanish +shares. The same evening the following was read in Le +Messager: + +"[By telegraph.] The king, Don Carlos, has escaped the +vigilance of his guardians at Bourges, and has returned to +Spain by the Catalonian frontier. Barcelona has risen in his +favor." + +All that evening nothing was spoken of but the foresight of +Danglars, who had sold his shares, and of the luck of the +stock-jobber, who only lost five hundred thousand francs by +such a blow. Those who had kept their shares, or bought +those of Danglars, looked upon themselves as ruined, and +passed a very bad night. Next morning Le Moniteur contained +the following: + +"It was without any foundation that Le Messager yesterday +announced the flight of Don Carlos and the revolt of +Barcelona. The king (Don Carlos) has not left Bourges, and +the peninsula is in the enjoyment of profound peace. A +telegraphic signal, improperly interpreted, owing to the +fog, was the cause of this error." + +The funds rose one per cent higher than before they had +fallen. This, reckoning his loss, and what he had missed +gaining, made the difference of a million to Danglars. +"Good," said Monte Cristo to Morrel, who was at his house +when the news arrived of the strange reverse of fortune of +which Danglars's had been the victim, "I have just made a +discovery for twenty-five thousand francs, for which I would +have paid a hundred thousand." + +"What have you discovered?" asked Morrel. + +"I have just discovered how a gardener may get rid of the +dormice that eat his peaches." + + + +Chapter 62 +Ghosts. + +At first sight the exterior of the house at Auteuil gave no +indications of splendor, nothing one would expect from the +destined residence of the magnificent Count of Monte Cristo; +but this simplicity was according to the will of its master, +who positively ordered nothing to be altered outside. The +splendor was within. Indeed, almost before the door opened, +the scene changed. M. Bertuccio had outdone himself in the +taste displayed in furnishing, and in the rapidity with +which it was executed. It is told that the Duc d'Antin +removed in a single night a whole avenue of trees that +annoyed Louis XIV.; in three days M. Bertuccio planted an +entirely bare court with poplars, large spreading sycamores +to shade the different parts of the house, and in the +foreground, instead of the usual paving-stones, half hidden +by the grass, there extended a lawn but that morning laid +down, and upon which the water was yet glistening. For the +rest, the orders had been issued by the count; he himself +had given a plan to Bertuccio, marking the spot where each +tree was to be planted, and the shape and extent of the lawn +which was to take the place of the paving-stones. Thus the +house had become unrecognizable, and Bertuccio himself +declared that he scarcely knew it, encircled as it was by a +framework of trees. The overseer would not have objected, +while he was about it, to have made some improvements in the +garden, but the count had positively forbidden it to be +touched. Bertuccio made amends, however, by loading the +ante-chambers, staircases, and mantle-pieces with flowers. + +What, above all, manifested the shrewdness of the steward, +and the profound science of the master, the one in carrying +out the ideas of the other, was that this house which +appeared only the night before so sad and gloomy, +impregnated with that sickly smell one can almost fancy to +be the smell of time, had in a single day acquired the +aspect of life, was scented with its master's favorite +perfumes, and had the very light regulated according to his +wish. When the count arrived, he had under his touch his +books and arms, his eyes rested upon his favorite pictures; +his dogs, whose caresses he loved, welcomed him in the +ante-chamber; the birds, whose songs delighted him, cheered +him with their music; and the house, awakened from it's long +sleep, like the sleeping beauty in the wood, lived, sang, +and bloomed like the houses we have long cherished, and in +which, when we are forced to leave them, we leave a part of +our souls. The servants passed gayly along the fine +court-yard; some, belonging to the kitchens, gliding down +the stairs, restored but the previous day, as if they had +always inhabited the house; others filling the coach-houses, +where the equipages, encased and numbered, appeared to have +been installed for the last fifty years; and in the stables +the horses replied with neighs to the grooms, who spoke to +them with much more respect than many servants pay their +masters. + +The library was divided into two parts on either side of the +wall, and contained upwards of two thousand volumes; one +division was entirely devoted to novels, and even the volume +which had been published but the day before was to be seen +in its place in all the dignity of its red and gold binding. +On the other side of the house, to match with the library, +was the conservatory, ornamented with rare flowers, that +bloomed in china jars; and in the midst of the greenhouse, +marvellous alike to sight and smell, was a billiard-table +which looked as if it had been abandoned during the past +hour by players who had left the balls on the cloth. One +chamber alone had been respected by the magnificent +Bertuccio. Before this room, to which you could ascend by +the grand, and go out by the back staircase, the servants +passed with curiosity, and Bertuccio with terror. At five +o'clock precisely, the count arrived before the house at +Auteuil, followed by Ali. Bertuccio was awaiting this +arrival with impatience, mingled with uneasiness; he hoped +for some compliments, while, at the same time, he feared to +have frowns. Monte Cristo descended into the courtyard, +walked all over the house, without giving any sign of +approbation or pleasure, until he entered his bedroom, +situated on the opposite side to the closed room; then he +approached a little piece of furniture, made of rosewood, +which he had noticed at a previous visit. "That can only be +to hold gloves," he said. + +"Will your excellency deign to open it?" said the delighted +Bertuccio, "and you will find gloves in it." Elsewhere the +count found everything he required -- smelling-bottles, +cigars, knick-knacks. + +"Good," he said; and M. Bertuccio left enraptured, so great, +so powerful, and real was the influence exercised by this +man over all who surrounded him. At precisely six o'clock +the clatter of horses' hoofs was heard at the entrance door; +it was our captain of Spahis, who had arrived on Medeah. "I +am sure I am the first," cried Morrel; "I did it on purpose +to have you a minute to myself, before every one came. Julie +and Emmanuel have a thousand things to tell you. Ah, really +this is magnificent! But tell me, count, will your people +take care of my horse?" + +"Do not alarm yourself, my dear Maximilian -- they +understand." + +"I mean, because he wants petting. If you had seen at what a +pace he came -- like the wind!" + +"I should think so, -- a horse that cost 5,000 francs!" said +Monte Cristo, in the tone which a father would use towards a +son. + +"Do you regret them?" asked Morrel, with his open laugh. + +"I? Certainly not," replied the count. "No; I should only +regret if the horse had not proved good." + +"It is so good, that I have distanced M. de Chateau-Renaud, +one of the best riders in France, and M. Debray, who both +mount the minister's Arabians; and close on their heels are +the horses of Madame Danglars, who always go at six leagues +an hour." + +"Then they follow you?" asked Monte Cristo. + +"See, they are here." And at the same minute a carriage with +smoking horses, accompanied by two mounted gentlemen, +arrived at the gate, which opened before them. The carriage +drove round, and stopped at the steps, followed by the +horsemen. The instant Debray had touched the ground, he was +at the carriage-door. He offered his hand to the baroness, +who, descending, took it with a peculiarity of manner +imperceptible to every one but Monte Cristo. But nothing +escaped the count's notice, and he observed a little note, +passed with the facility that indicates frequent practice, +from the hand of Madame Danglars to that of the minister's +secretary. After his wife the banker descended, as pale as +though he had issued from his tomb instead of his carriage. +Madame Danglars threw a rapid and inquiring glance which +could only be interpreted by Monte Cristo, around the +court-yard, over the peristyle, and across the front of the +house, then, repressing a slight emotion, which must have +been seen on her countenance if she had not kept her color, +she ascended the steps, saying to Morrel, "Sir, if you were +a friend of mine, I should ask you if you would sell your +horse." + +Morrel smiled with an expression very like a grimace, and +then turned round to Monte Cristo, as if to ask him to +extricate him from his embarrassment. The count understood +him. "Ah, madame," he said, "why did you not make that +request of me?" + +"With you, sir," replied the baroness, "one can wish for +nothing, one is so sure to obtain it. If it were so with M. +Morrel" -- + +"Unfortunately," replied the count, "I am witness that M. +Morrel cannot give up his horse, his honor being engaged in +keeping it." + +"How so?" + +"He laid a wager he would tame Medeah in the space of six +months. You understand now that if he were to get rid of the +animal before the time named, he would not only lose his +bet, but people would say he was afraid; and a brave captain +of Spahis cannot risk this, even to gratify a pretty woman, +which is, in my opinion, one of the most sacred obligations +in the world." + +"You see my position, madame," said Morrel, bestowing a +grateful smile on Monte Cristo. + +"It seems to me," said Danglars, in his coarse tone, +ill-concealed by a forced smile, "that you have already got +horses enough." Madame Danglars seldom allowed remarks of +this kind to pass unnoticed, but, to the surprise of the +young people, she pretended not to hear it, and said +nothing. Monte Cristo smiled at her unusual humility, and +showed her two immense porcelain jars, over which wound +marine plants, of a size and delicacy that nature alone +could produce. The baroness was astonished. "Why," said she, +"you could plant one of the chestnut-trees in the Tuileries +inside! How can such enormous jars have been manufactured?" + +"Ah, madame," replied Monte Cristo, "you must not ask of us, +the manufacturers of fine porcelain, such a question. It is +the work of another age, constructed by the genii of earth +and water." + +"How so? -- at what period can that have been?" + +"I do not know; I have only heard that an emperor of China +had an oven built expressly, and that in this oven twelve +jars like this were successively baked. Two broke, from the +heat of the fire; the other ten were sunk three hundred +fathoms deep into the sea. The sea, knowing what was +required of her, threw over them her weeds, encircled them +with coral, and encrusted them with shells; the whole was +cemented by two hundred years beneath these almost +impervious depths, for a revolution carried away the emperor +who wished to make the trial, and only left the documents +proving the manufacture of the jars and their descent into +the sea. At the end of two hundred years the documents were +found, and they thought of bringing up the jars. Divers +descended in machines, made expressly on the discovery, into +the bay where they were thrown; but of ten three only +remained, the rest having been broken by the waves. I am +fond of these jars, upon which, perhaps, misshapen, +frightful monsters have fixed their cold, dull eyes, and in +which myriads of small fish have slept, seeking a refuge +from the pursuit of their enemies." Meanwhile, Danglars, who +had cared little for curiosities, was mechanically tearing +off the blossoms of a splendid orange-tree, one after +another. When he had finished with the orange-tree, he began +at the cactus; but this, not being so easily plucked as the +orange-tree, pricked him dreadfully. He shuddered, and +rubbed his eyes as though awaking from a dream. + +"Sir," said Monte Cristo to him, "I do not recommend my +pictures to you, who possess such splendid paintings; but, +nevertheless, here are two by Hobbema, a Paul Potter, a +Mieris, two by Gerard Douw, a Raphael, a Vandyke, a +Zurbaran, and two or three by Murillo, worth looking at." + +"Stay," said Debray; "I recognize this Hobbema." + +"Ah, indeed!" + +"Yes; it was proposed for the Museum." + +"Which, I believe, does not contain one?" said Monte Cristo. + +"No; and yet they refused to buy it." + +"Why?" said Chateau-Renaud. + +"You pretend not to know, -- because government was not rich +enough." + +"Ah, pardon me," said Chateau-Renaud; "I have heard of these +things every day during the last eight years, and I cannot +understand them yet." + +"You will, by and by," said Debray. + +"I think not," replied Chateau-Renaud. + +"Major Bartolomeo Cavalcanti and Count Andrea Cavalcanti," +announced Baptistin. A black satin stock, fresh from the +maker's hands, gray moustaches, a bold eye, a major's +uniform, ornamented with three medals and five crosses -- in +fact, the thorough bearing of an old soldier -- such was the +appearance of Major Bartolomeo Cavalcanti, that tender +father with whom we are already acquainted. Close to him, +dressed in entirely new clothes, advanced smilingly Count +Andrea Cavalcanti, the dutiful son, whom we also know. The +three young people were talking together. On the entrance of +the new comers, their eyes glanced from father to son, and +then, naturally enough, rested on the latter, whom they +began criticising. "Cavalcanti!" said Debray. "A fine name," +said Morrel. + +"Yes," said Chateau-Renaud, "these Italians are well named +and badly dressed." + +"You are fastidious, Chateau-Renaud," replied Debray; "those +clothes are well cut and quite new." + +"That is just what I find fault with. That gentleman appears +to be well dressed for the first time in his life." + +"Who are those gentlemen?" asked Danglars of Monte Cristo. + +"You heard -- Cavalcanti." + +"That tells me their name, and nothing else." + +"Ah, true. You do not know the Italian nobility; the +Cavalcanti are all descended from princes." + +"Have they any fortune?" + +"An enormous one." + +"What do they do?" + +"Try to spend it all. They have some business with you, I +think, from what they told me the day before yesterday. I, +indeed, invited them here to-day on your account. I will +introduce you to them." + +"But they appear to speak French with a very pure accent," +said Danglars. + +"The son has been educated in a college in the south; I +believe near Marseilles. You will find him quite +enthusiastic." + +"Upon what subject?" asked Madame Danglars. + +"The French ladies, madame. He has made up his mind to take +a wife from Paris." + +"A fine idea that of his," said Danglars, shrugging his +shoulders. Madame Danglars looked at her husband with an +expression which, at any other time, would have indicated a +storm, but for the second time she controlled herself. "The +baron appears thoughtful to-day," said Monte Cristo to her; +"are they going to put him in the ministry?" + +"Not yet, I think. More likely he has been speculating on +the Bourse, and has lost money." + +"M. and Madame de Villefort," cried Baptistin. They entered. +M. de Villefort, notwithstanding his self-control, was +visibly affected, and when Monte Cristo touched his hand, he +felt it tremble. "Certainly, women alone know how to +dissimulate," said Monte Cristo to himself, glancing at +Madame Danglars, who was smiling on the procureur, and +embracing his wife. After a short time, the count saw +Bertuccio, who, until then, had been occupied on the other +side of the house, glide into an adjoining room. He went to +him. "What do you want, M. Bertuccio?" said he. + +"Your excellency his not stated the number of guests." + +"Ah, true." + +"How many covers?" + +"Count for yourself." + +"Is every one here, your excellency?" + +"Yes." + +Bertuccio glanced through the door, which was ajar. The +count watched him. "Good heavens!" he exclaimed. + +"What is the matter?" said the count. + +"That woman -- that woman!" + +"Which?" + +"The one with a white dress and so many diamonds -- the fair +one." + +"Madame Danglars?" + +"I do not know her name; but it is she, sir, it is she!" + +"Whom do you mean?" + +"The woman of the garden! -- she that was enciente -- she +who was walking while she waited for" -- Bertuccio stood at +the open door, with his eyes starting and his hair on end. + +"Waiting for whom?" Bertuccio, without answering, pointed to +Villefort with something of the gesture Macbeth uses to +point out Banquo. "Oh, oh," he at length muttered, "do you +see?" + +"What? Who?" + +"Him!" + +"Him! -- M. de Villefort, the king's attorney? Certainly I +see him." + +"Then I did not kill him?" + +"Really, I think you are going mad, good Bertuccio," said +the count. + +"Then he is not dead?" + +"No; you see plainly he is not dead. Instead of striking +between the sixth and seventh left ribs, as your countrymen +do, you must have struck higher or lower, and life is very +tenacious in these lawyers, or rather there is no truth in +anything you have told me -- it was a fright of the +imagination, a dream of your fancy. You went to sleep full +of thoughts of vengeance; they weighed heavily upon your +stomach; you had the nightmare -- that's all. Come, calm +yourself, and reckon them up -- M. and Madame de Villefort, +two; M. and Madame Danglars, four; M. de Chateau-Renaud, M. +Debray, M. Morrel, seven; Major Bartolomeo Cavalcanti, +eight." + +"Eight!" repeated Bertuccio. + +"Stop! You are in a shocking hurry to be off -- you forget +one of my guests. Lean a little to the left. Stay! look at +M. Andrea Cavalcanti, the young man in a black coat, looking +at Murillo's Madonna; now he is turning." This time +Bertuccio would have uttered an exclamation, had not a look +from Monte Cristo silenced him. "Benedetto?" he muttered; +"fatality!" + +"Half-past six o'clock has just struck, M. Bertuccio," said +the count severely; "I ordered dinner at that hour, and I do +not like to wait;" and he returned to his guests, while +Bertuccio, leaning against the wall, succeeded in reaching +the dining-room. Five minutes afterwards the doors of the. +drawing-room were thrown open, and Bertuccio appearing said, +with a violent effort, "The dinner waits." + +The Count of Monte Cristo offered his arm to Madame de +Villefort. "M. de Villefort," he said, "will you conduct the +Baroness Danglars?" + +Villefort complied, and they passed on to the dining-room. + + + +Chapter 63 +The Dinner. + +It was evident that one sentiment affected all the guests on +entering the dining-room. Each one asked what strange +influence had brought them to this house, and yet +astonished, even uneasy though they were, they still felt +that they would not like to be absent. The recent events, +the solitary and eccentric position of the count, his +enormous, nay, almost incredible fortune, should have made +men cautious, and have altogether prevented ladies visiting +a house where there was no one of their own sex to receive +them; and yet curiosity had been enough to lead them to +overleap the bounds of prudence and decorum. And all +present, even including Cavalcanti and his son, +notwithstanding the stiffness of the one and the +carelessness of the other, were thoughtful, on finding +themselves assembled at the house of this incomprehensible +man. Madame Danglars had started when Villefort, on the +count's invitation, offered his arm; and Villefort felt that +his glance was uneasy beneath his gold spectacles, when he +felt the arm of the baroness press upon his own. None of +this had escaped the count, and even by this mere contact of +individuals the scene had already acquired considerable +interest for an observer. M. de Villefort had on the right +hand Madame Danglars, on his left Morrel. The count was +seated between Madame de Villefort and Danglars; the other +seats were filled by Debray, who was placed between the two +Cavalcanti, and by Chateau-Renaud, seated between Madame de +Villefort and Morrel. + +The repast was magnificent; Monte Cristo had endeavored +completely to overturn the Parisian ideas, and to feed the +curiosity as much as the appetite of his guests. It was an +Oriental feast that he offered to them, but of such a kind +as the Arabian fairies might be supposed to prepare. Every +delicious fruit that the four quarters of the globe could +provide was heaped in vases from China and jars from Japan. +Rare birds, retaining their most brilliant plumage, enormous +fish, spread upon massive silver dishes, together with every +wine produced in the Archipelago, Asia Minor, or the Cape, +sparkling in bottles, whose grotesque shape seemed to give +an additional flavor to the draught, -- all these, like one +of the displays with which Apicius of old gratified his +guests, passed in review before the eyes of the astonished +Parisians, who understood that it was possible to expend a +thousand louis upon a dinner for ten persons, but only on +the condition of eating pearls, like Cleopatra, or drinking +refined gold, like Lorenzo de' Medici. + +Monte Cristo noticed the general astonishment, and began +laughing and joking about it. "Gentlemen," he said, "you +will admit that, when arrived at a certain degree of +fortune, the superfluities of life are all that can be +desired; and the ladies will allow that, after having risen +to a certain eminence of position, the ideal alone can be +more exalted. Now, to follow out this reasoning, what is the +marvellous? -- that which we do not understand. What is it +that we really desire? -- that which we cannot obtain. Now, +to see things which I cannot understand, to procure +impossibilities, these are the study of my life. I gratify +my wishes by two means -- my will and my money. I take as +much interest in the pursuit of some whim as you do, M. +Danglars, in promoting a new railway line; you, M. de +Villefort, in condemning a culprit to death; you, M. Debray, +in pacifying a kingdom; you, M. de Chateau-Renaud, in +pleasing a woman; and you, Morrel, in breaking a horse that +no one can ride. For example, you see these two fish; one +brought fifty leagues beyond St. Petersburg, the other five +leagues from Naples. Is it not amusing to see them both on +the same table?" + +"What are the two fish?" asked Danglars. + +"M. Chateau-Renaud, who has lived in Russia, will tell you +the name of one, and Major Cavalcanti, who is an Italian, +will tell you the name of the other." + +"This one is, I think, a sterlet," said Chateau-Renaud. + +"And that one, if I mistake not, a lamprey." + +"Just so. Now, M. Danglars, ask these gentlemen where they +are caught." + +"Starlets," said Chateau-Renaud, "are only found in the +Volga." + +"And," said Cavalcanti, "I know that Lake Fusaro alone +supplies lampreys of that size." + +"Exactly; one comes from the Volga, and the other from Lake +Fusaro." + +"Impossible!" cried all the guests simultaneously. + +"Well, this is just what amuses me," said Monte Cristo. "I +am like Nero -- cupitor impossibilium; and that is what is +amusing you at this moment. This fish, which seems so +exquisite to you, is very likely no better than perch or +salmon; but it seemed impossible to procure it, and here it +is." + +"But how could you have these fish brought to France?" + +"Oh, nothing more easy. Each fish was brought over in a cask +-- one filled with river herbs and weeds, the other with +rushes and lake plants; they were placed in a wagon built on +purpose, and thus the sterlet lived twelve days, the lamprey +eight, and both were alive when my cook seized them, killing +one with milk and the other with wine. You do not believe +me, M. Danglars!" + +"I cannot help doubting," answered Danglars with his stupid +smile. + +"Baptistin," said the count, "have the other fish brought in +-- the sterlet and the lamprey which came in the other +casks, and which are yet alive." Danglars opened his +bewildered eyes; the company clapped their hands. Four +servants carried in two casks covered with aquatic plants, +and in each of which was breathing a fish similar to those +on the table. + +"But why have two of each sort?" asked Danglars. + +"Merely because one might have died," carelessly answered +Monte Cristo. + +"You are certainly an extraordinary man," said Danglars; +"and philosophers may well say it is a fine thing to be +rich." + +"And to have ideas," added Madame Danglars. + +"Oh, do not give me credit for this, madame; it was done by +the Romans, who much esteemed them, and Pliny relates that +they sent slaves from Ostia to Rome, who carried on their +heads fish which he calls the mulus, and which, from the +description, must probably be the goldfish. It was also +considered a luxury to have them alive, it being an amusing +sight to see them die, for, when dying, they change color +three or four times, and like the rainbow when it +disappears, pass through all the prismatic shades, after +which they were sent to the kitchen. Their agony formed part +of their merit -- if they were not seen alive, they were +despised when dead." + +"Yes," said Debray, "but then Ostia is only a few leagues +from Rome." + +"True," said Monte Cristo; "but what would be the use of +living eighteen hundred years after Lucullus. if we can do +no better than he could?" The two Cavalcanti opened their +enormous eyes, but had the good sense not to say anything. +"All this is very extraordinary," said Chateau-Renaud; +"still, what I admire the most, I confess, is the marvellous +promptitude with which your orders are executed. Is it not +true that you only bought this house five or six days ago?" + +"Certainly not longer." + +"Well, I am sure it is quite transformed since last week. If +I remember rightly, it had another entrance, and the +court-yard was paved and empty; while to-day we have a +splendid lawn, bordered by trees which appear to be a +hundred years old." + +"Why not? I am fond of grass and shade," said Monte Cristo. + +"Yes," said Madame de Villefort, "the door was towards the +road before, and on the day of my miraculous escape you +brought me into the house from the road, I remember." + +"Yes, madame," said Monte Cristo; "but I preferred having an +entrance which would allow me to see the Bois de Boulogne +over my gate." + +"In four days," said Morrel; "it is extraordinary!" + +"Indeed," said Chateau-Renaud, "it seems quite miraculous to +make a new house out of an old one; for it was very old, and +dull too. I recollect coming for my mother to look at it +when M. de Saint-Meran advertised it for sale two or three +years ago." + +"M. de Saint-Meran?" said Madame de Villefort; "then this +house belonged to M. de Saint-Meran before you bought it?" + +"It appears so," replied Monte Cristo. + +"Is it possible that you do not know of whom you purchased +it?" + +"Quite so; my steward transacts all this business for me." + +"It is certainly ten years since the house had been +occupied," said Chateau-Renaud, "and it was quite melancholy +to look at it, with the blinds closed, the doors locked, and +the weeds in the court. Really, if the house had not +belonged to the father-in-law of the procureur, one might +have thought it some accursed place where a horrible crime +had been committed." Villefort, who had hitherto not tasted +the three or four glasses of rare wine which were placed +before him, here took one, and drank it off. Monte Cristo +allowed a short time to elapse, and then said, "It is +singular, baron, but the same idea came across me the first +time I came here; it looked so gloomy I should never have +bought it if my steward had not taken the matter into his +own hands. Perhaps the fellow had been bribed by the +notary." + +"It is probable," stammered out Villefort, trying to smile; +"but I can assure you that I had nothing to do with any such +proceeding. This house is part of Valentine's +marriage-portion, and M. de Saint-Meran wished to sell it; +for if it had remained another year or two uninhabited it +would have fallen to ruin." It was Morrel's turn to become +pale. + +"There was, above all, one room," continued Monte Cristo, +"very plain in appearance, hung with red damask, which, I +know not why, appeared to me quite dramatic." + +"Why so?" said Danglars; "why dramatic?" + +"Can we account for instinct?" said Monte Cristo. "Are there +not some places where we seem to breathe sadness? -- why, we +cannot tell. It is a chain of recollections -- an idea which +carries you back to other times, to other places -- which, +very likely, have no connection with the present time and +place. And there is something in this room which reminds me +forcibly of the chamber of the Marquise de Ganges* or +Desdemona. Stay, since we have finished dinner, I will show +it to you, and then we will take coffee in the garden. After +dinner, the play." Monte Cristo looked inquiringly at his +guests. Madame de Villefort rose, Monte Cristo did the same, +and the rest followed their example. Villefort and Madame +Danglars remained for a moment, as if rooted to their seats; +they questioned each other with vague and stupid glances. +"Did you hear?" said Madame Danglars. + +* Elisabeth de Rossan, Marquise de Ganges, was one of the +famous women of the court of Louis XIV. where she was known +as "La Belle Provencale." She was the widow of the Marquise +de Castellane when she married de Ganges, and having the +misfortune to excite the enmity of her new brothers-in-law, +was forced by them to take poison; and they finished her off +with pistol and dagger. -- Ed. + +"We must go," replied Villefort, offering his arm. The +others, attracted by curiosity, were already scattered in +different parts of the house; for they thought the visit +would not be limited to the one room, and that, at the same +time, they would obtain a view of the rest of the building, +of which Monte Cristo had created a palace. Each one went +out by the open doors. Monte Cristo waited for the two who +remained; then, when they had passed, he brought up the +rear, and on his face was a smile, which, if they could have +understood it, would have alarmed them much more than a +visit to the room they were about to enter. They began by +walking through the apartments, many of which were fitted up +in the Eastern style, with cushions and divans instead of +beds, and pipes instead of furniture. The drawing-rooms were +decorated with the rarest pictures by the old masters, the +boudoirs hung with draperies from China, of fanciful colors, +fantastic design, and wonderful texture. At length they +arrived at the famous room. There was nothing particular +about it, excepting that, although daylight had disappeared, +it was not lighted, and everything in it was old-fashioned, +while the rest of the rooms had been redecorated. These two +causes were enough to give it a gloomy aspect. "Oh." cried +Madame de Villefort, "it is really frightful." Madame +Danglars tried to utter a few words, but was not heard. Many +observations were made, the import of which was a unanimous +opinion that there was something sinister about the room. +"Is it not so?" asked Monte Cristo. "Look at that large +clumsy bed, hung with such gloomy, blood-colored drapery! +And those two crayon portraits, that have faded from the +dampness; do they not seem to say, with their pale lips and +staring eyes, `We have seen'?" Villefort became livid; +Madame Danglars fell into a long seat placed near the +chimney. "Oh," said Madame de Villefort, smiling, "are you +courageous enough to sit down upon the very seat perhaps +upon which the crime was committed?" Madame Danglars rose +suddenly. + +"And then," said Monte Cristo, "this is not all." + +"What is there more?" said Debray, who had not failed to +notice the agitation of Madame Danglars. + +"Ah, what else is there?" said Danglars; "for, at present, I +cannot say that I have seen anything extraordinary. What do +you say, M. Cavalcanti?" + +"Ah," said he, "we have at Pisa, Ugolino's tower; at +Ferrara, Tasso's prison; at Rimini, the room of Francesca +and Paolo." + +"Yes, but you have not this little staircase," said Monte +Cristo, opening a door concealed by the drapery. "Look at +it, and tell me what you think of it." + +"What a wicked-looking, crooked staircase," said +Chateau-Renaud with a smile. + +"I do not know whether the wine of Chios produces +melancholy, but certainly everything appears to me black in +this house," said Debray. + +Ever since Valentine's dowry had been mentioned, Morrel had +been silent and sad. "Can you imagine," said Monte Cristo, +"some Othello or Abbe de Ganges, one stormy, dark night, +descending these stairs step by step, carrying a load, which +he wishes to hide from the sight of man, if not from God?" +Madame Danglars half fainted on the arm of Villefort, who +was obliged to support himself against the wall. "Ah, +madame," cried Debray, "what is the matter with you? how +pale you look!" + +"It is very evident what is the matter with her," said +Madame de Villefort; "M. de Monte Cristo is relating +horrible stories to us, doubtless intending to frighten us +to death." + +"Yes," said Villefort, "really, count, you frighten the +ladies." + +"What is the matter?" asked Debray, in a whisper, of Madame +Danglars. + +"Nothing," she replied with a violent effort. "I want air, +that is all." + +"Will you come into the garden?" said Debray, advancing +towards the back staircase. + +"No, no," she answered, "I would rather remain here." + +"Are you really frightened, madame?" said Monte Cristo. + +"Oh, no, sir," said Madame Danglars; "but you suppose scenes +in a manner which gives them the appearance of reality " + +"Ah, yes," said Monte Cristo smiling; "it is all a matter of +imagination. Why should we not imagine this the apartment of +an honest mother? And this bed with red hangings, a bed +visited by the goddess Lucina? And that mysterious +staircase, the passage through which, not to disturb their +sleep, the doctor and nurse pass, or even the father +carrying the sleeping child?" Here Madame Danglars, instead +of being calmed by the soft picture, uttered a groan and +fainted. "Madame Danglars is ill," said Villefort; "it would +be better to take her to her carriage." + +"Oh, mon Dieu," said Monte Cristo, "and I have forgotten my +smelling-bottle!" + +"I have mine," said Madame de Villefort; and she passed over +to Monte Cristo a bottle full of the same kind of red liquid +whose good properties the count had tested on Edward. + +"Ah," said Monte Cristo, taking it from her hand. + +"Yes," she said, "at your advice I have made the trial." + +"And have you succeeded?" + +"I think so." + +Madame Danglars was carried into the adjoining room; Monte +Cristo dropped a very small portion of the red liquid upon +her lips; she returned to consciousness. "Ah," she cried, +"what a frightful dream!" + +Villefort pressed her hand to let her know it was not a +dream. They looked for M. Danglars, but, as he was not +especially interested in poetical ideas, he had gone into +the garden, and was talking with Major Cavalcanti on the +projected railway from Leghorn to Florence. Monte Cristo +seemed in despair. He took the arm of Madame Danglars, and +conducted her into the garden, where they found Danglars +taking coffee between the Cavalcanti. "Really, madame," he +said, "did I alarm you much?" + +"Oh, no, sir," she answered; "but you know, things impress +us differently, according to the mood of our minds." +Villefort forced a laugh. "And then, you know," he said, "an +idea, a supposition, is sufficient." + +"Well," said Monte Cristo, "you may believe me if you like, +but it is my opinion that a crime has been committed in this +house." + +"Take care," said Madame de Villefort, "the king's attorney +is here." + +"Ah," replied Monte Cristo, "since that is the case, I will +take advantage of his presence to make my declaration." + +"Your declaration?" said Villefort. + +"Yes, before witnesses." + +"Oh, this is very interesting," said Debray; "if there +really has been a crime, we will investigate it." + +"There has been a crime," said Monte Cristo. "Come this way, +gentlemen; come, M. Villefort, for a declaration to be +available, should be made before the competent authorities." +He then took Villefort's arm, and, at the same time, holding +that of Madame Danglars under his own, he dragged the +procureur to the plantain-tree, where the shade was +thickest. All the other guests followed. "Stay," said Monte +Cristo, "here, in this very spot" (and he stamped upon the +ground), "I had the earth dug up and fresh mould put in, to +refresh these old trees; well, my man, digging, found a box, +or rather, the iron-work of a box, in the midst of which was +the skeleton of a newly born infant." Monte Cristo felt the +arm of Madame Danglars stiffen, while that of Villefort +trembled. "A newly born infant," repeated Debray; "this +affair becomes serious!" + +"Well," said Chateau-Renaud, "I was not wrong just now then, +when I said that houses had souls and faces like men, and +that their exteriors carried the impress of their +characters. This house was gloomy because it was remorseful: +it was remorseful because it concealed a crime." + +"Who said it was a crime?" asked Villefort, with a last +effort. + +"How? is it not a crime to bury a living child in a garden?" +cried Monte Cristo. "And pray what do you call such an +action?" + +"But who said it was buried alive?" + +"Why bury it there if it were dead? This garden has never +been a cemetery." + +"What is done to infanticides in this country?" asked Major +Cavalcanti innocently. + +"Oh, their heads are soon cut off," said Danglars. + +"Ah, indeed?" said Cavalcanti. + +"I think so; am I not right, M. de Villefort?" asked Monte +Cristo. + +"Yes, count," replied Villefort, in a voice now scarcely +human. + +Monte Cristo, seeing that the two persons for whom he had +prepared this scene could scarcely endure it, and not +wishing to carry it too far, said, "Come, gentlemen, -- some +coffee, we seem to have forgotten it," and he conducted the +guests back to the table on the lawn. + +"Indeed, count," said Madame Danglars, "I am ashamed to own +it, but all your frightful stories have so upset me, that I +must beg you to let me sit down;" and she fell into a chair. +Monte Cristo bowed, and went to Madame de Villefort. "I +think Madame Danglars again requires your bottle," he said. +But before Madame de Villefort could reach her friend the +procureur had found time to whisper to Madame Danglars, "I +must speak to you." + +"When?" + +"To-morrow." + +"Where?" + +"In my office, or in the court, if you like, -- that is the +surest place." + +"I will be there." -- At this moment Madame de Villefort +approached. "Thanks, my dear friend," said Madame Danglars, +trying to smile; "it is over now, and I am much better." + + + +Chapter 64 +The Beggar. + +The evening passed on; Madame de Villefort expressed a +desire to return to Paris, which Madame Danglars had not +dared to do, notwithstanding the uneasiness she experienced. +On his wife's request, M. de Villefort was the first to give +the signal of departure. He offered a seat in his landau to +Madame Danglars, that she might be under the care of his +wife. As for M. Danglars, absorbed in an interesting +conversation with M. Cavalcanti, he paid no attention to +anything that was passing. While Monte Cristo had begged the +smelling-bottle of Madame de Villefort, he had noticed the +approach of Villefort to Madame Danglars, and he soon +guessed all that had passed between them, though the words +had been uttered in so low a voice as hardly to be heard by +Madame Danglars. Without opposing their arrangements, he +allowed Morrel, Chateau-Renaud, and Debray to leave on +horseback, and the ladies in M. de Villefort's carriage. +Danglars, more and more delighted with Major Cavalcanti, had +offered him a seat in his carriage. Andrea Cavalcanti found +his tilbury waiting at the door; the groom, in every respect +a caricature of the English fashion, was standing on tiptoe +to hold a large iron-gray horse. + +Andrea had spoken very little during dinner; he was an +intelligent lad, and he feared to utter some absurdity +before so many grand people, amongst whom, with dilating +eyes, he saw the king's attorney. Then he had been seized +upon by Danglars, who, with a rapid glance at the +stiff-necked old major and his modest son, and taking into +consideration the hospitality of the count, made up his mind +that he was in the society of some nabob come to Paris to +finish the worldly education of his heir. He contemplated +with unspeakable delight the large diamond which shone on +the major's little finger; for the major, like a prudent +man, in case of any accident happening to his bank-notes, +had immediately converted them into an available asset. +Then, after dinner, on the pretext of business, he +questioned the father and son upon their mode of living; and +the father and son, previously informed that it was through +Danglars the one was to receive his 48,000 francs and the +other 50,000 livres annually, were so full of affability +that they would have shaken hands even with the banker's +servants, so much did their gratitude need an object to +expend itself upon. One thing above all the rest heightened +the respect, nay almost the veneration, of Danglars for +Cavalcanti. The latter, faithful to the principle of Horace, +nil admirari, had contented himself with showing his +knowledge by declaring in what lake the best lampreys were +caught. Then he had eaten some without saying a word more; +Danglars, therefore, concluded that such luxuries were +common at the table of the illustrious descendant of the +Cavalcanti, who most likely in Lucca fed upon trout brought +from Switzerland, and lobsters sent from England, by the +same means used by the count to bring the lampreys from Lake +Fusaro, and the sterlet from the Volga. Thus it was with +much politeness of manner that he heard Cavalcanti pronounce +these words, "To-morrow, sir, I shall have the honor of +waiting upon you on business." + +"And I, sir," said Danglars, "shall be most happy to receive +you." Upon which he offered to take Cavalcanti in his +carriage to the Hotel des Princes, if it would not be +depriving him of the company of his son. To this Cavalcanti +replied by saying that for some time past his son had lived +independently of him, that he had his own horses and +carriages, and that not having come together, it would not +be difficult for them to leave separately. The major seated +himself, therefore, by the side of Danglars, who was more +and more charmed with the ideas of order and economy which +ruled this man, and yet who, being able to allow his son +60,000 francs a year, might be supposed to possess a fortune +of 500,000 or 600,000 livres. + +As for Andrea, he began, by way of showing off, to scold his +groom, who, instead of bringing the tilbury to the steps of +the house, had taken it to the outer door, thus giving him +the trouble of walking thirty steps to reach it. The groom +heard him with humility, took the bit of the impatient +animal with his left hand, and with the right held out the +reins to Andrea, who, taking them from him, rested his +polished boot lightly on the step. At that moment a hand +touched his shoulder. The young man turned round, thinking +that Danglars or Monte Cristo had forgotten something they +wished to tell him, and had returned just as they were +starting. But instead of either of these, he saw nothing but +a strange face, sunburnt, and encircled by a beard, with +eyes brilliant as carbuncles, and a smile upon the mouth +which displayed a perfect set of white teeth, pointed and +sharp as the wolf's or jackal's. A red handkerchief +encircled his gray head; torn and filthy garments covered +his large bony limbs, which seemed as though, like those of +a skeleton, they would rattle as he walked; and the hand +with which he leaned upon the young man's shoulder, and +which was the first thing Andrea saw, seemed of gigantic +size. Did the young man recognize that face by the light of +the lantern in his tilbury, or was he merely struck with the +horrible appearance of his interrogator? We cannot say; but +only relate the fact that he shuddered and stepped back +suddenly. "What do you want of me?" he asked. + +"Pardon me, my friend, if I disturb you," said the man with +the red handkerchief, "but I want to speak to you." + +"You have no right to beg at night," said the groom, +endeavoring to rid his master of the troublesome intruder. + +"I am not begging, my fine fellow," said the unknown to the +servant, with so ironical an expression of the eye, and so +frightful a smile, that he withdrew; "I only wish to say two +or three words to your master, who gave me a commission to +execute about a fortnight ago." + +"Come," said Andrea, with sufficient nerve for his servant +not to perceive his agitation, "what do you want? Speak +quickly, friend." + +The man said, in a low voice: "I wish -- I wish you to spare +me the walk back to Paris. I am very tired, and as I have +not eaten so good a dinner as you, I can scarcely stand." +The young man shuddered at this strange familiarity. "Tell +me," he said -- "tell me what you want?" + +"Well, then, I want you to take me up in your fine carriage, +and carry me back." Andrea turned pale, but said nothing. + +"Yes," said the man, thrusting his hands into his pockets, +and looking impudently at the youth; "I have taken the whim +into my head; do you understand, Master Benedetto?" + +At this name, no doubt, the young man reflected a little, +for he went towards his groom, saying, "This man is right; I +did indeed charge him with a commission, the result of which +he must tell me; walk to the barrier, there take a cab, that +you may not be too late." The surprised groom retired. "Let +me at least reach a shady spot," said Andrea. + +"Oh, as for that, I'll take you to a splendid place," said +the man with the handkerchief; and taking the horse's bit he +led the tilbury where it was certainly impossible for any +one to witness the honor that Andrea conferred upon him. + +"Don't think I want the glory of riding in your fine +carriage," said he; "oh, no, it's only because I am tired, +and also because I have a little business to talk over with +you." + +"Come, step in," said the young man. It was a pity this +scene had not occurred in daylight, for it was curious to +see this rascal throwing himself heavily down on the cushion +beside the young and elegant driver of the tilbury. Andrea +drove past the last house in the village without saying a +word to his companion, who smiled complacently, as though +well-pleased to find himself travelling in so comfortable a +vehicle. Once out of Auteuil, Andrea looked around, in order +to assure himself that he could neither be seen nor heard, +and then, stopping the horse and crossing his arms before +the man, he asked, -- "Now, tell me why you come to disturb +my tranquillity?" + +"Let me ask you why you deceived me?" + +"How have I deceived you?" + +"`How,' do you ask? When we parted at the Pont du Var, you +told me you were going to travel through Piedmont and +Tuscany; but instead of that, you come to Paris." + +"How does that annoy you?" + +"It does not; on the contrary, I think it will answer my +purpose." + +"So," said Andrea, "you are speculating upon me?" + +"What fine words he uses!" + +"I warn you, Master Caderousse, that you are mistaken." + +"Well, well, don't be angry, my boy; you know well enough +what it is to be unfortunate; and misfortunes make us +jealous. I thought you were earning a living in Tuscany or +Piedmont by acting as facchino or cicerone, and I pitied you +sincerely, as I would a child of my own. You know I always +did call you my child." + +"Come, come, what then?" + +"Patience -- patience!" + +"I am patient, but go on." + +"All at once I see you pass through the barrier with a +groom, a tilbury, and fine new clothes. You must have +discovered a mine, or else become a stockbroker." + +"So that, as you confess, you are jealous?" + +"No, I am pleased -- so pleased that I wished to +congratulate you; but as I am not quite properly dressed, I +chose my opportunity, that I might not compromise you." + +"Yes, and a fine opportunity you have chosen!" exclaimed +Andrea; "you speak to me before my servant." + +"How can I help that, my boy? I speak to you when I can +catch you. You have a quick horse, a light tilbury, you are +naturally as slippery as an eel; if I had missed you +to-night, I might not have had another chance." + +"You see, I do not conceal myself." + +"You are lucky; I wish I could say as much, for I do conceal +myself; and then I was afraid you would not recognize me, +but you did," added Caderousse with his unpleasant smile. +"It was very polite of you." + +"Come," said Andrea, "what do want?" + +"You do not speak affectionately to me, Benedetto, my old +friend, that is not right -- take care, or I may become +troublesome." This menace smothered the young man's passion. +He urged the horse again into a trot. "You should not speak +so to an old friend like me, Caderousse, as you said just +now; you are a native of Marseilles, I am" -- + +"Do you know then now what you are?" + +"No, but I was brought up in Corsica; you are old and +obstinate, I am young and wilful. Between people like us +threats are out of place, everything should be amicably +arranged. Is it my fault if fortune, which has frowned on +you, has been kind to me?" + +"Fortune has been kind to you, then? Your tilbury, your +groom, your clothes, are not then hired? Good, so much the +better," said Caderousse, his eyes sparkling with avarice. + +"Oh, you knew that well enough before speaking to me," said +Andrea, becoming more and more excited. "If I had been +wearing a handkerchief like yours on my head, rags on my +back, and worn-out shoes on my feet, you would not have +known me." + +"You wrong me, my boy; now I have found you, nothing +prevents my being as well-dressed as any one, knowing, as I +do, the goodness of your heart. If you have two coats you +will give me one of them. I used to divide my soup and beans +with you when you were hungry." + +"True," said Andrea. + +"What an appetite you used to have! Is it as good now?" + +"Oh, yes," replied Andrea, laughing. + +"How did you come to be dining with that prince whose house +you have just left?" + +"He is not a prince; simply a count." + +"A count, and a rich one too, eh?" + +"Yes; but you had better not have anything to say to him, +for he is not a very good-tempered gentleman." + +"Oh, be easy! I have no design upon your count, and you +shall have him all to yourself. But," said Caderousse, again +smiling with the disagreeable expression he had before +assumed, "you must pay for it -- you understand?" + +"Well, what do you want?" + +"I think that with a hundred francs a month" -- + +"Well?" + +"I could live" -- + +"Upon a hundred francs!" + +"Come -- you understand me; but that with" -- + +"With?" + +"With a hundred and fifty francs I should be quite happy." + +"Here are two hundred," said Andrea; and he placed ten gold +louis in the hand of Caderousse. + +"Good!" said Caderousse. + +"Apply to the steward on the first day of every mouth, and +you will receive the same sum." + +"There now, again you degrade me." + +"How so?" + +"By making me apply to the servants, when I want to transact +business with you alone." + +"Well, be it so, then. Take it from me then, and so long at +least as I receive my income, you shall be paid yours." + +"Come, come; I always said you were a line fellow, and it is +a blessing when good fortune happens to such as you. But +tell me all about it?" + +"Why do you wish to know?" asked Cavalcanti. + +"What? do you again defy me?" + +"No; the fact is, I have found my father." + +"What? a real father?" + +"Yes, so long as he pays me" -- + +"You'll honor and believe him -- that's right. What is his +name?" + +"Major Cavalcanti." + +"Is he pleased with you?" + +"So far I have appeared to answer his purpose." + +"And who found this father for you?" + +"The Count of Monte Cristo." + +"The man whose house you have just left?" + +"Yes." + +"I wish you would try and find me a situation with him as +grandfather, since he holds the money-chest!" + +"Well, I will mention you to him. Meanwhile, what are you +going to do?" + +"I?" + +"Yes, you." + +"It is very kind of you to trouble yourself about me." + +"Since you interest yourself in my affairs, I think it is +now my turn to ask you some questions." + +"Ah, true. Well; I shall rent a room in some respectable +house, wear a decent coat, shave every day, and go and read +the papers in a cafe. Then, in the evening, I shall go to +the theatre; I shall look like some retired baker. That is +what I want." + +"Come, if you will only put this scheme into execution, and +be steady, nothing could be better." + +"Do you think so, M. Bossuet? And you -- what will you +become? A peer of France?" + +"Ah," said Andrea, "who knows?" + +"Major Cavalcanti is already one, perhaps; but then, +hereditary rank is abolished." + +"No politics, Caderousse. And now that you have all you +want, and that we understand each other, jump down from the +tilbury and disappear." + +"Not at all, my good friend." + +"How? Not at all?" + +"Why, just think for a moment; with this red handkerchief on +my head, with scarcely any shoes, no papers, and ten gold +napoleons in my pocket, without reckoning what was there +before -- making in all about two hundred francs, -- why, I +should certainly be arrested at the barriers. Then, to +justify myself, I should say that you gave me the money; +this would cause inquiries, it would be found that I left +Toulon without giving due notice, and I should then be +escorted back to the shores of the Mediterranean. Then I +should become simply No. 106, and good-by to my dream of +resembling the retired baker! No, no, my boy; I prefer +remaining honorably in the capital." Andrea scowled. +Certainly, as he had himself owned, the reputed son of Major +Cavalcanti was a wilful fellow. He drew up for a minute, +threw a rapid glance around him, and then his hand fell +instantly into his pocket, where it began playing with a +pistol. But, meanwhile, Caderousse, who had never taken his +eyes off his companion, passed his hand behind his back, and +opened a long Spanish knife, which he always carried with +him, to be ready in case of need. The two friends, as we +see, were worthy of and understood one another. Andrea's +hand left his pocket inoffensively, and was carried up to +the red mustache, which it played with for some time. "Good +Caderousse," he said, "how happy you will be." + +"I will do my best," said the inn-keeper of the Pont du +Gard, shutting up his knife. + +"Well, then, we will go into Paris. But how will you pass +through the barrier without exciting suspicion? It seems to +me that you are in more danger riding than on foot." + +"Wait," said Caderousse, "we shall see." He then took the +great-coat with the large collar, which the groom had left +behind in the tilbury, and put it on his back; then he took +off Cavalcanti's hat, which he placed upon his own head, and +finally he assumed the careless attitude of a servant whose +master drives himself. + +"But, tell me," said Andrea, "am I to remain bareheaded?" + +"Pooh," said Caderousse; "it is so windy that your hat can +easily appear to have blown off." + +"Come, come; enough of this," said Cavalcanti. + +"What are you waiting for?" said Caderousse. "I hope I am +not the cause." + +"Hush," said Andrea. They passed the barrier without +accident. At the first cross street Andrea stopped his +horse, and Caderousse leaped out. + +"Well!" said Andrea, -- "my servant's coat and my hat?" + +"Ah," said Caderousse, "you would not like me to risk taking +cold?" + +"But what am I to do?" + +"You? Oh, you are young while I am beginning to get old. Au +revoir, Benedetto;" and running into a court, he +disappeared. "Alas," said Andrea, sighing, "one cannot be +completely happy in this world!" + + + +Chapter 65 +A Conjugal Scene. + +At the Place Louis XV. the three young people separated -- +that is to say, Morrel went to the Boulevards, +Chateau-Renaud to the Pont de la Revolution, and Debray to +the Quai. Most probably Morrel and Chateau-Renaud returned +to their "domestic hearths," as they say in the gallery of +the Chamber in well-turned speeches, and in the theatre of +the Rue Richelieu in well-written pieces; but it was not the +case with Debray. When he reached the wicket of the Louvre, +he turned to the left, galloped across the Carrousel, passed +through the Rue Saint-Roch, and, issuing from the Rue de la +Michodiere, he arrived at M. Danglars' door just at the same +time that Villefort's landau, after having deposited him and +his wife at the Faubourg St. Honore, stopped to leave the +baroness at her own house. Debray, with the air of a man +familiar with the house, entered first into the court, threw +his bridle into the hands of a footman, and returned to the +door to receive Madame Danglars, to whom he offered his arm, +to conduct her to her apartments. The gate once closed, and +Debray and the baroness alone in the court, he asked, -- +"What was the matter with you, Hermine? and why were you so +affected at that story, or rather fable, which the count +related?" + +"Because I have been in such shocking spirits all the +evening, my friend," said the baroness. + +"No, Hermine," replied Debray; "you cannot make me believe +that; on the contrary, you were in excellent spirits when +you arrived at the count's. M. Danglars was disagreeable, +certainly, but I know how much you care for his ill-humor. +Some one has vexed you; I will allow no one to annoy you." + +"You are deceived, Lucien, I assure you," replied Madame +Danglars; "and what I have told you is really the case, +added to the ill-humor you remarked, but which I did not +think it worth while to allude to." It was evident that +Madame Danglars was suffering from that nervous irritability +which women frequently cannot account for even to +themselves; or that, as Debray had guessed, she had +experienced some secret agitation that she would not +acknowledge to any one. Being a man who knew that the former +of these symptoms was one of the inherent penalties of +womanhood, he did not then press his inquiries, but waited +for a more appropriate opportunity when he should again +interrogate her, or receive an avowal proprio motu. At the +door of her apartment the baroness met Mademoiselle +Cornelie, her confidential maid. "What is my daughter +doing?" asked Madame Danglars. + +"She practiced all the evening, and then went to bed," +replied Mademoiselle Cornelie. + +"Yet I think I hear her piano." + +"It is Mademoiselle Louise d'Armilly, who is playing while +Mademoiselle Danglars is in bed." + +"Well," said Madame Danglars, "come and undress me." They +entered the bedroom. Debray stretched himself upon a large +couch, and Madame Danglars passed into her dressing-room +with Mademoiselle Cornelie. "My dear M. Lucien," said Madame +Danglars through the door, "you are always complaining that +Eugenie will not address a word to you." + +"Madame," said Lucien, playing with a little dog, who, +recognizing him as a friend of the house, expected to be +caressed, "I am not the only one who makes similar +complaints, I think I heard Morcerf say that he could not +extract a word from his betrothed." + +"True," said Madame Danglars; "yet I think this will all +pass off, and that you will one day see her enter your +study." + +"My study?" + +"At least that of the minister." + +"Why so!" + +"To ask for an engagement at the Opera. Really, I never saw +such an infatuation for music; it is quite ridiculous for a +young lady of fashion." Debray smiled. "Well," said he, "let +her come, with your consent and that of the baron, and we +will try and give her an engagement, though we are very poor +to pay such talent as hers." + +"Go, Cornelie," said Madame Danglars, "I do not require you +any longer." + +Cornelie obeyed, and the next minute Madame Danglars left +her room in a charming loose dress, and came and sat down +close to Debray. Then she began thoughtfully to caress the +little spaniel. Lucien looked at her for a moment in +silence. "Come, Hermine," he said, after a short time, +"answer candidly, -- something vexes you -- is it not so?" + +"Nothing," answered the baroness. + +And yet, as she could scarcely breathe, she rose and went +towards a looking-glass. "I am frightful to-night," she +said. Debray rose, smiling, and was about to contradict the +baroness upon this latter point, when the door opened +suddenly. M. Danglars appeared; Debray reseated himself. At +the noise of the door Madame Danglars turned round, and +looked upon her husband with an astonishment she took no +trouble to conceal. "Good-evening, madame," said the banker; +"good-evening, M. Debray." + +Probably the baroness thought this unexpected visit +signified a desire to make up for the sharp words he had +uttered during the day. Assuming a dignified air, she turned +round to Debray, without answering her husband. "Read me +something, M. Debray," she said. Debray, who was slightly +disturbed at this visit, recovered himself when he saw the +calmness of the baroness, and took up a book marked by a +mother-of-pearl knife inlaid with gold. "Excuse me," said +the banker, "but you will tire yourself, baroness, by such +late hours, and M. Debray lives some distance from here." + +Debray was petrified, not only to hear Danglars speak so +calmly and politely, but because it was apparent that +beneath outward politeness there really lurked a determined +spirit of opposition to anything his wife might wish to do. +The baroness was also surprised, and showed her astonishment +by a look which would doubtless have had some effect upon +her husband if he had not been intently occupied with the +paper, where he was looking to see the closing stock +quotations. The result was, that the proud look entirely +failed of its purpose. + +"M. Lucien," said the baroness, "I assure you I have no +desire to sleep, and that I have a thousand things to tell +you this evening, which you must listen to, even though you +slept while hearing me." + +"I am at your service, madame," replied Lucien coldly. + +"My dear M. Debray," said the banker, "do not kill yourself +to-night listening to the follies of Madame Danglars, for +you can hear them as well to-morrow; but I claim to-night +and will devote it, if you will allow me, to talk over some +serious matters with my wife." This time the blow was so +well aimed, and hit so directly, that Lucien and the +baroness were staggered, and they interrogated each other +with their eyes, as if to seek help against this aggression, +but the irresistible will of the master of the house +prevailed, and the husband was victorious. + +"Do not think I wish to turn you out, my dear Debray," +continued Danglars; "oh, no, not at all. An unexpected +occurrence forces me to ask my wife to have a little +conversation with me; it is so rarely I make such a request, +I am sure you cannot grudge it to me." Debray muttered +something, bowed and went out, knocking himself against the +edge of the door, like Nathan in "Athalie." + +"It is extraordinary," he said, when the door was closed +behind him, "how easily these husbands, whom we ridicule, +gain an advantage over us." + +Lucien having left, Danglars took his place on the sofa, +closed the open book, and placing himself in a dreadfully +dictatorial attitude, he began playing with the dog; but the +animal, not liking him as well as Debray, and attempting to +bite him, Danglars seized him by the skin of his neck and +threw him upon a couch on the other side of the room. The +animal uttered a cry during the transit, but, arrived at its +destination, it crouched behind the cushions, and stupefied +at such unusual treatment remained silent and motionless. +"Do you know, sir," asked the baroness, "that you are +improving? Generally you are only rude, but to-night you are +brutal." + +"It is because I am in a worse humor than usual," replied +Danglars. Hermine looked at the banker with supreme disdain. +These glances frequently exasperated the pride of Danglars, +but this evening he took no notice of them. + +"And what have I to do with your ill-humor?" said the +baroness, irritated at the impassibility of her husband; "do +these things concern me? Keep your ill-humor at home in your +money boxes, or, since you have clerks whom you pay, vent it +upon them." + +"Not so," replied Danglars; "your advice is wrong, so I +shall not follow it. My money boxes are my Pactolus, as, I +think, M. Demoustier says, and I will not retard its course, +or disturb its calm. My clerks are honest men, who earn my +fortune, whom I pay much below their deserts, if I may value +them according to what they bring in; therefore I shall not +get into a passion with them; those with whom I will be in a +passion are those who eat my dinners, mount my horses, and +exhaust my fortune." + +"And pray who are the persons who exhaust your fortune? +Explain yourself more clearly, I beg, sir." + +"Oh, make yourself easy! -- I am not speaking riddles, and +you will soon know what I mean. The people who exhaust my +fortune are those who draw out 700,000 francs in the course +of an hour." + +"I do not understand you, sir," said the baroness, trying to +disguise the agitation of her voice and the flush of her +face. "You understand me perfectly, on the contrary," said +Danglars: "but, if you will persist, I will tell you that I +have just lost 700,000 francs upon the Spanish loan." + +"And pray," asked the baroness, "am I responsible for this +loss?" + +"Why not?" + +"Is it my fault you have lost 700,000 francs?" + +"Certainly it is not mine." + +"Once for all, sir," replied the baroness sharply, "I tell +you I will not hear cash named; it is a style of language I +never heard in the house of my parents or in that of my +first husband." + +"Oh, I can well believe that, for neither of them was worth +a penny." + +"The better reason for my not being conversant with the +slang of the bank, which is here dinning in my ears from +morning to night; that noise of jingling crowns, which are +constantly being counted and re-counted, is odious to me. I +only know one thing I dislike more, which is the sound of +your voice." + +"Really?" said Danglars. "Well, this surprises me, for I +thought you took the liveliest interest in all my affairs!" + +"I? What could put such an idea into your head?" + +"Yourself." + +"Ah? -- what next?" + +"Most assuredly." + +"I should like to know upon what occasion?" + +"Oh, mon Dieu, that is very easily done. Last February you +were the first who told me of the Haitian funds. You had +dreamed that a ship had entered the harbor at Havre, that +this ship brought news that a payment we had looked upon as +lost was going to be made. I know how clear-sighted your +dreams are; I therefore purchased immediately as many shares +as I could of the Haitian debt, and I gained 400,000 francs +by it, of which 100,000 have been honestly paid to you. You +spent it as you pleased; that was your business. In March +there was a question about a grant to a railway. Three +companies presented themselves, each offering equal +securities. You told me that your instinct, -- and although +you pretend to know nothing about speculations, I think on +the contrary, that your comprehension is very clear upon +certain affairs, -- well, you told me that your instinct led +you to believe the grant would be given to the company +called the Southern. I bought two thirds of the shares of +that company; as you had foreseen, the shares trebled in +value, and I picked up a million, from which 250,000 francs +were paid to you for pin-money. How have you spent this +250,000 francs? -- it is no business of mine." + +"When are you coming to the point?" cried the baroness, +shivering with anger and impatience. + +"Patience, madame, I am coming to it." + +"That's fortunate." + +"In April you went to dine at the minister's. You heard a +private conversation respecting Spanish affairs -- on the +expulsion of Don Carlos. I bought some Spanish shares. The +expulsion took place and I pocketed 600,000 francs the day +Charles V. repassed the Bidassoa. Of these 600,000 francs +you took 50,000 crowns. They were yours, you disposed of +them according to your fancy, and I asked no questions; but +it is not the less true that you have this year received +500,000 livres." + +"Well, sir, and what then?" + +"Ah, yes, it was just after this that you spoiled +everything." + +"Really, your manner of speaking" -- + +"It expresses my meaning, and that is all I want. Well, +three days after that you talked politics with M. Debray, +and you fancied from his words that Don Carlos had returned +to Spain. Well, I sold my shares, the news got out, and I no +longer sold -- I gave them away, next day I find the news +was false, and by this false report I have lost 700,000 +francs." + +"Well?" + +"Well, since I gave you a fourth of my gains, I think you +owe me a fourth of my losses; the fourth of 700,000 francs +is 175,000 francs." + +"What you say is absurd, and I cannot see why M. Debray's +name is mixed up in this affair." + +"Because if you do not possess the 175,000 francs I reclaim, +you must have lent them to your friends, and M. Debray is +one of your friends." + +"For shame!" exclaimed the baroness. + +"Oh, let us have no gestures, no screams, no modern drama, +or you will oblige me to tell you that I see Debray leave +here, pocketing the whole of the 500,000 livres you have +handed over to him this year, while he smiles to himself, +saying that he has found what the most skilful players have +never discovered -- that is, a roulette where he wins +without playing, and is no loser when he loses." The +baroness became enraged. "Wretch!" she cried, "will you dare +to tell me you did not know what you now reproach me with?" + +"I do not say that I did know it, and I do not say that I +did not know it. I merely tell you to look into my conduct +during the last four years that we have ceased to be husband +and wife, and see whether it has not always been consistent. +Some time after our rupture, you wished to study music, +under the celebrated baritone who made such a successful +appearance at the Theatre Italien; at the same time I felt +inclined to learn dancing of the danseuse who acquired such +a reputation in London. This cost me, on your account and +mine, 100,000 francs. I said nothing, for we must have peace +in the house; and 100,000 francs for a lady and gentleman to +be properly instructed in music and dancing are not too +much. Well, you soon become tired of singing, and you take a +fancy to study diplomacy with the minister's secretary. You +understand, it signifies nothing to me so long as you pay +for your lessons out of your own cashbox. But to-day I find +you are drawing on mine, and that your apprenticeship may +cost me 700,000 francs per month. Stop there, madame, for +this cannot last. Either the diplomatist must give his +lessons gratis, and I will tolerate him, or he must never +set his foot again in my house; -- do you understand, +madame?" + +"Oh, this is too much," cried Hermine, choking, "you are +worse than despicable." + +"But," continued Danglars, "I find you did not even pause +there" -- + +"Insults!" + +"You are right; let us leave these facts alone, and reason +coolly. I have never interfered in your affairs excepting +for your good; treat me in the same way. You say you have +nothing to do with my cash-box. Be it so. Do as you like +with your own, but do not fill or empty mine. Besides, how +do I know that this was not a political trick, that the +minister enraged at seeing me in the opposition, and jealous +of the popular sympathy I excite, has not concerted with M. +Debray to ruin me?" + +"A probable thing!" + +"Why not? Who ever heard of such an occurrence as this? -- a +false telegraphic despatch -- it is almost impossible for +wrong signals to be made as they were in the last two +telegrams. It was done on purpose for me -- I am sure of +it." + +"Sir," said the baroness humbly, "are you not aware that the +man employed there was dismissed, that they talked of going +to law with him, that orders were issued to arrest him and +that this order would have been put into execution if he had +not escaped by flight, which proves that he was either mad +or guilty? It was a mistake." + +"Yes, which made fools laugh, which caused the minister to +have a sleepless night, which has caused the minister's +secretaries to blacken several sheets of paper, but which +has cost me 700,000 francs." + +"But, sir," said Hermine suddenly, "if all this is, as you +say, caused by M. Debray, why, instead of going direct to +him, do you come and tell me of it? Why, to accuse the man, +do you address the woman?" + +"Do I know M. Debray? -- do I wish to know him? -- do I wish +to know that he gives advice? -- do I wish to follow it? -- +do I speculate? No; you do all this, not I." + +"Still it seems to me, that as you profit by it -- " + +Danglars shrugged his shoulders. "Foolish creature," he +exclaimed. "Women fancy they have talent because they have +managed two or three intrigues without being the talk of +Paris! But know that if you had even hidden your +irregularities from your husband, who has but the +commencement of the art -- for generally husbands will not +see -- you would then have been but a faint imitation of +most of your friends among the women of the world. But it +has not been so with me, -- I see, and always have seen, +during the last sixteen years. You may, perhaps, have hidden +a thought; but not a step, not an action, not a fault, has +escaped me, while you flattered yourself upon your address, +and firmly believed you had deceived me. What has been the +result? -- that, thanks to my pretended ignorance, there is +none of your friends, from M. de Villefort to M. Debray, who +has not trembled before me. There is not one who has not +treated me as the master of the house, -- the only title I +desire with respect to you; there is not one, in fact, who +would have dared to speak of me as I have spoken of them +this day. I will allow you to make me hateful, but I will +prevent your rendering me ridiculous, and, above all, I +forbid you to ruin me." + +The baroness had been tolerably composed until the name of +Villefort had been pronounced; but then she became pale, +and, rising, as if touched by a spring, she stretched out +her hands as though conjuring an apparition; she then took +two or three steps towards her husband, as though to tear +the secret from him, of which he was ignorant, or which he +withheld from some odious calculation, -- odious, as all his +calculations were. "M. de Villefort! -- What do you mean?" + +"I mean that M. de Nargonne, your first husband, being +neither a philosopher nor a banker, or perhaps being both, +and seeing there was nothing to be got out of a king's +attorney, died of grief or anger at finding, after an +absence of nine months, that you had been enceinte six. I am +brutal, -- I not only allow it, but boast of it; it is one +of the reasons of my success in commercial business. Why did +he kill himself instead of you? Because he had no cash to +save. My life belongs to my cash. M. Debray has made me lose +700,000 francs; let him bear his share of the loss, and we +will go on as before; if not, let him become bankrupt for +the 250,000 livres, and do as all bankrupts do -- disappear. +He is a charming fellow, I allow, when his news is correct; +but when it is not, there are fifty others in the world who +would do better than he." + +Madame Danglars was rooted to the spot; she made a violent +effort to reply to this last attack, but she fell upon a +chair thinking of Villefort, of the dinner scene, of the +strange series of misfortunes which had taken place in her +house during the last few days, and changed the usual calm +of her establishment to a scene of scandalous debate. +Danglars did not even look at her, though she did her best +to faint. He shut the bedroom door after him, without adding +another word, and returned to his apartments; and when +Madame Danglars recovered from her half-fainting condition, +she could almost believe that she had had a disagreeable +dream. + + + +Chapter 66 +Matrimonial Projects. + +The day following this scene, at the hour the banker usually +chose to pay a visit to Madame Danglars on his way to his +office, his coupe did not appear. At this time, that is, +about half-past twelve, Madame Danglars ordered her +carriage, and went out. Danglars, hidden behind a curtain, +watched the departure he had been waiting for. He gave +orders that he should be informed as soon as Madame Danglars +appeared; but at two o'clock she had not returned. He then +called for his horses, drove to the Chamber, and inscribed +his name to speak against the budget. From twelve to two +o'clock Danglars had remained in his study, unsealing his +dispatches, and becoming more and more sad every minute, +heaping figure upon figure, and receiving, among other +visits, one from Major Cavalcanti, who, as stiff and exact +as ever, presented himself precisely at the hour named the +night before, to terminate his business with the banker. On +leaving the Chamber, Danglars, who had shown violent marks +of agitation during the sitting, and been more bitter than +ever against the ministry, re-entered his carriage, and told +the coachman to drive to the Avenue des Champs-Elysees, No. +30. + +Monte Cristo was at home; only he was engaged with some one +and begged Danglars to wait for a moment in the +drawing-room. While the banker was waiting in the anteroom, +the door opened, and a man dressed as an abbe and doubtless +more familiar with the house than he was, came in and +instead of waiting, merely bowed, passed on to the farther +apartments, and disappeared. A minute after the door by +which the priest had entered reopened, and Monte Cristo +appeared. "Pardon me," said he, "my dear baron, but one of +my friends, the Abbe Busoni, whom you perhaps saw pass by, +has just arrived in Paris; not having seen him for a long +time, I could not make up my mind to leave him sooner, so I +hope this will be sufficient reason for my having made you +wait." + +"Nay," said Danglars, "it is my fault; I have chosen my +visit at a wrong time, and will retire." + +"Not at all; on the contrary, be seated; but what is the +matter with you? You look careworn; really, you alarm me. +Melancholy in a capitalist, like the appearance of a comet, +presages some misfortune to the world." + +"I have been in ill-luck for several days," said Danglars, +"and I have heard nothing but bad news." + +"Ah, indeed?" said Monte Cristo. "Have you had another fall +at the Bourse?" + +"No; I am safe for a few days at least. I am only annoyed +about a bankrupt of Trieste." + +"Really? Does it happen to be Jacopo Manfredi?" + +"Exactly so. Imagine a man who has transacted business with +me for I don't know how long, to the amount of 800,000 or +900,000 francs during the year. Never a mistake or delay -- +a fellow who paid like a prince. Well, I was a million in +advance with him, and now my fine Jacopo Manfredi suspends +payment!" + +"Really?" + +"It is an unheard-of fatality. I draw upon him for 600,000 +francs, my bills are returned unpaid, and, more than that, I +hold bills of exchange signed by him to the value of 400,000 +francs, payable at his correspondent's in Paris at the end +of this month. To-day is the 30th. I present them; but my +correspondent has disappeared. This, with my Spanish +affairs, made a pretty end to the month." + +"Then you really lost by that affair in Spain?" + +"Yes; only 700,000 francs out of my cash-box -- nothing +more!" + +"Why, how could you make such a mistake -- such an old +stager?" + +"Oh, it is all my wife's fault. She dreamed Don Carlos had +returned to Spain; she believes in dreams. It is magnetism, +she says, and when she dreams a thing it is sure to happen, +she assures me. On this conviction I allow her to speculate, +she having her bank and her stockbroker; she speculated and +lost. It is true she speculates with her own money, not +mine; nevertheless, you can understand that when 700,000 +francs leave the wife's pocket, the husband always finds it +out. But do you mean to say you have not heard of this? Why, +the thing has made a tremendous noise." + +"Yes, I heard it spoken of, but I did not know the details, +and then no one can be more ignorant than I am of the +affairs in the Bourse." + +"Then you do not speculate?" + +"I? -- How could I speculate when I already have so much +trouble in regulating my income? I should be obliged, +besides my steward, to keep a clerk and a boy. But touching +these Spanish affairs, I think that the baroness did not +dream the whole of the Don Carlos matter. The papers said +something about it, did they not?" + +"Then you believe the papers?" + +"I? -- not the least in the world; only I fancied that the +honest Messager was an exception to the rule, and that it +only announced telegraphic despatches." + +"Well, that's what puzzles me," replied Danglars; "the news +of the return of Don Carlos was brought by telegraph." + +"So that," said Monte Cristo, "you have lost nearly +1,700,000 francs this month." + +"Not nearly, indeed; that is exactly my loss." + +"Diable," said Monte Cristo compassionately, "it is a hard +blow for a third-rate fortune." + +"Third-rate," said Danglars, rather humble, "what do you +mean by that?" + +"Certainly," continued Monte Cristo, "I make three +assortments in fortune -- first-rate, second-rate, and +third-rate fortunes. I call those first-rate which are +composed of treasures one possesses under one's hand, such +as mines, lands, and funded property, in such states as +France, Austria, and England, provided these treasures and +property form a total of about a hundred millions; I call +those second-rate fortunes, that are gained by manufacturing +enterprises, joint-stock companies, viceroyalties, and +principalities, not drawing more than 1,500,000 francs, the +whole forming a capital of about fifty millions; finally, I +call those third-rate fortunes, which are composed of a +fluctuating capital, dependent upon the will of others, or +upon chances which a bankruptcy involves or a false telegram +shakes, such as banks, speculations of the day -- in fact, +all operations under the influence of greater or less +mischances, the whole bringing in a real or fictitious +capital of about fifteen millions. I think this is about +your position, is it not?" + +"Confound it, yes!" replied Danglars. + +"The result, then, of six more such months as this would be +to reduce the third-rate house to despair." + +"Oh," said Danglars, becoming very pale, how you are running +on!" + +"Let us imagine seven such months," continued Monte Cristo, +in the same tone. "Tell me, have you ever thought that seven +times 1,700,000 francs make nearly twelve millions? No, you +have not; -- well, you are right, for if you indulged in +such reflections, you would never risk your principal, which +is to the speculator what the skin is to civilized man. We +have our clothes, some more splendid than others, -- this is +our credit; but when a man dies he has only his skin; in the +same way, on retiring from business, you have nothing but +your real principal of about five or six millions, at the +most; for third-rate fortunes are never more than a fourth +of what they appear to be, like the locomotive on a railway, +the size of which is magnified by the smoke and steam +surrounding it. Well, out of the five or six millions which +form your real capital, you have just lost nearly two +millions, which must, of course, in the same degree diminish +your credit and fictitious fortune; to follow out my simile, +your skin has been opened by bleeding, and this if repeated +three or four times will cause death -- so pay attention to +it, my dear Monsieur Danglars. Do you want money? Do you +wish me to lend you some?" + +"What a bad calculator you are!" exclaimed Danglars, calling +to his assistance all his philosophy and dissimulation. "I +have made money at the same time by speculations which have +succeeded. I have made up the loss of blood by nutrition. I +lost a battle in Spain, I have been defeated in Trieste, but +my naval army in India will have taken some galleons, and my +Mexican pioneers will have discovered some mine." + +"Very good, very good! But the wound remains and will reopen +at the first loss." + +"No, for I am only embarked in certainties," replied +Danglars, with the air of a mountebank sounding his own +praises; "to involve me, three governments must crumble to +dust." + +"Well, such things have been." + +"That there should be a famine!" + +"Recollect the seven fat and the seven lean kine." + +"Or, that the sea should become dry, as in the days of +Pharaoh, and even then my vessels would become caravans." + +"So much the better. I congratulate you, my dear M. +Danglars," said Monte Cristo; "I see I was deceived, and +that you belong to the class of second-rate fortunes." + +"I think I may aspire to that honor," said Danglars with a +smile, which reminded Monte Cristo of the sickly moons which +bad artists are so fond of daubing into their pictures of +ruins. "But, while we are speaking of business," Danglars +added, pleased to find an opportunity of changing the +subject, "tell me what I am to do for M. Cavalcanti." + +"Give him money, if he is recommended to you, and the +recommendation seems good." + +"Excellent; he presented himself this morning with a bond of +40,000 francs, payable at sight, on you, signed by Busoni, +and returned by you to me, with your indorsement -- of +course, I immediately counted him over the forty +bank-notes." + +Monte Cristo nodded his head in token of assent. "But that +is not all," continued Danglars; "he has opened an account +with my house for his son." + +"May I ask how much he allows the young man?" + +"Five thousand francs per month." + +"Sixty thousand francs per year. I thought I was right in +believing that Cavalcanti to be a stingy fellow. How can a +young man live upon 5,000 francs a month?" + +"But you understand that if the young man should want a few +thousands more" -- + +"Do not advance it; the father will never repay it. You do +not know these ultramontane millionaires; they are regular +misers. And by whom were they recommended to you?" + +"Oh, by the house of Fenzi, one of the best in Florence." + +"I do not mean to say you will lose, but, nevertheless, mind +you hold to the terms of the agreement." + +"Would you not trust the Cavalcanti?" + +"I? oh, I would advance six millions on his signature. I was +only speaking in reference to the second-rate fortunes we +were mentioning just now." + +"And with all this, how unassuming he is! I should never +have taken him for anything more than a mere major." + +"And you would have flattered him, for certainly, as you +say, he has no manner. The first time I saw him he appeared +to me like an old lieutenant who had grown mouldy under his +epaulets. But all the Italians are the same; they are like +old Jews when they are not glittering in Oriental splendor." + +"The young man is better," said Danglars. + +"Yes; a little nervous, perhaps, but, upon the whole, he +appeared tolerable. I was uneasy about him." + +"Why?" + +"Because you met him at my house, just after his +introduction into the world, as they told me. He has been +travelling with a very severe tutor, and had never been to +Paris before." + +"Ah, I believe noblemen marry amongst themselves, do they +not?" asked Danglars carelessly; they like to unite their +fortunes." + +"It is usual, certainly; but Cavalcanti is an original who +does nothing like other people. I cannot help thinking that +he has brought his son to France to choose a wife." + +"Do you think so?" + +"I am sure of it." + +"And you have heard his fortune mentioned?" + +"Nothing else was talked of; only some said he was worth +millions, and others that he did not possess a farthing." + +"And what is your opinion?" + +"I ought not to influence you, because it is only my own +personal impression." + +"Well, and it is that" -- + +"My opinion is, that all these old podestas, these ancient +condottieri, -- for the Cavalcanti have commanded armies and +governed provinces, -- my opinion, I say, is, that they have +buried their millions in corners, the secret of which they +have transmitted only to their eldest sons, who have done +the same from generation to generation; and the proof of +this is seen in their yellow and dry appearance, like the +florins of the republic, which, from being constantly gazed +upon, have become reflected in them." + +"Certainly," said Danglars, "and this is further supported +by the fact of their not possessing an inch of land." + +"Very little, at least; I know of none which Cavalcanti +possesses, excepting his palace in Lucca." + +"Ah, he has a palace?" said Danglars, laughing; "come, that +is something." + +"Yes; and more than that, he lets it to the Minister of +Finance while he lives in a simple house. Oh, as I told you +before, I think the old fellow is very close." + +"Come, you do not flatter him." + +"I scarcely know him; I think I have seen him three times in +my life; all I know relating to him is through Busoni and +himself. He was telling me this morning that, tired of +letting his property lie dormant in Italy, which is a dead +nation, he wished to find a method, either in France or +England, of multiplying his millions, but remember, that +though I place great confidence in Busoni, I am not +responsible for this." + +"Never mind; accept my thanks for the client you have sent +me. It is a fine name to inscribe on my ledgers, and my +cashier was quite proud of it when I explained to him who +the Cavalcanti were. By the way, this is merely a simple +question, when this sort of people marry their sons, do they +give them any fortune?" + +"Oh, that depends upon circumstances. I know an Italian +prince, rich as a gold mine, one of the noblest families in +Tuscany, who, when his sons married according to his wish, +gave them millions; and when they married against his +consent, merely allowed them thirty crowns a month. Should +Andrea marry according to his father's views, he will, +perhaps, give him one, two, or three millions. For example, +supposing it were the daughter of a banker, he might take an +interest in the house of the father-in-law of his son; then +again, if he disliked his choice, the major takes the key, +double-locks his coffer, and Master Andrea would be obliged +to live like the sons of a Parisian family, by shuffling +cards or rattling the dice." + +"Ah, that boy will find out some Bavarian or Peruvian +princess; he will want a crown and an immense fortune." + +"No; these grand lords on the other side of the Alps +frequently marry into plain families; like Jupiter, they +like to cross the race. But do you wish to marry Andrea, my +dear M. Danglars, that you are asking so many questions?" + +"Ma foi," said Danglars, "it would not be a bad speculation, +I fancy, and you know I am a speculator." + +"You are not thinking of Mademoiselle Danglars, I hope; you +would not like poor Andrea to have his throat cut by +Albert?" + +"Albert," repeated Danglars, shrugging his shoulders; "ah, +well; he would care very little about it, I think." + +"But he is betrothed to your daughter, I believe?" + +"Well, M. de Morcerf and I have talked about this marriage, +but Madame de Morcerf and Albert" -- + +"You do not mean to say that it would not be a good match?" + +"Indeed, I imagine that Mademoiselle Danglars is as good as +M. de Morcerf." + +"Mademoiselle Danglars' fortune will be great, no doubt, +especially it the telegraph should not make any more +mistakes." + +"Oh, I do not mean her fortune only; but tell me" -- + +"What?" + +"Why did you not invite M. and Madame de Morcerf to your +dinner?" + +"I did so, but he excused himself on account of Madame de +Morcerf being obliged to go to Dieppe for the benefit of sea +air." + +"Yes, yes," said Danglars, laughing, "it would do her a +great deal of good." + +"Why so?" + +"Because it is the air she always breathed in her youth." +Monte Cristo took no notice of this ill-natured remark. + +"But still, if Albert be not so rich as Mademoiselle +Danglars," said the count, "you must allow that he has a +fine name?" + +"So he has; but I like mine as well." + +"Certainly; your name is popular, and does honor to the +title they have adorned it with; but you are too intelligent +not to know that according to a prejudice, too firmly rooted +to be exterminated, a nobility which dates back five +centuries is worth more than one that can only reckon twenty +years." + +"And for this very reason," said Danglars with a smile, +which he tried to make sardonic, "I prefer M. Andrea +Cavalcanti to M. Albert de Morcerf." + +"Still, I should not think the Morcerfs would yield to the +Cavalcanti?" + +"The Morcerfs! -- Stay, my dear count," said Danglars; "you +are a man of the world, are you not?" + +"I think so." + +"And you understand heraldry?" + +"A little." + +"Well, look at my coat-of-arms, it is worth more than +Morcerf's." + +"Why so?" + +"Because, though I am not a baron by birth, my real name is, +at least, Danglars." + +"Well, what then?" + +"While his name is not Morcerf." + +"How? -- not Morcerf?" + +"Not the least in the world." + +"Go on." + +"I have been made a baron, so that I actually am one; he +made himself a count, so that he is not one at all." + +"Impossible!" + +"Listen my dear count; M. de Morcerf has been my friend, or +rather my acquaintance, during the last thirty years. You +know I have made the most of my arms, though I never forgot +my origin." + +"A proof of great humility or great pride," said Monte +Cristo. + +"Well, when I was a clerk, Morcerf was a mere fisherman." + +"And then he was called" -- + +"Fernand." + +"Only Fernand?" + +"Fernand Mondego." + +"You are sure?" + +"Pardieu, I have bought enough fish of him to know his +name." + +"Then, why did you think of giving your daughter to him?" + +"Because Fernand and Danglars, being both parvenus, both +having become noble, both rich, are about equal in worth, +excepting that there have been certain things mentioned of +him that were never said of me." + +"What?" + +"Oh, nothing!" + +"Ah, yes; what you tell me recalls to mind something about +the name of Fernand Mondego. I have heard that name in +Greece." + +"In conjunction with the affairs of Ali Pasha?" + +"Exactly so." + +"This is the mystery," said Danglars. "I acknowledge I would +have given anything to find it out." + +"It would be very easy if you much wished it?" + +"How so?" + +"Probably you have some correspondent in Greece?" + +"I should think so." + +"At Yanina?" + +"Everywhere." + +"Well, write to your correspondent in Yanina, and ask him +what part was played by a Frenchman named Fernand Mondego in +the catastrophe of Ali Tepelini." + +"You are right," exclaimed Danglars, rising quickly, "I will +write to-day." + +"Do so." + +"I will." + +"And if you should hear of anything very scandalous" -- + +"I will communicate it to you." + +"You will oblige me." Danglars rushed out of the room, and +made but one leap into his coupe. + + + +Chapter 67 +At the Office of the King's Attorney. + +Let us leave the banker driving his horses at their fullest +speed, and follow Madame Danglars in her morning excursion. +We have said that at half-past twelve o'clock Madame +Danglars had ordered her horses, and had left home in the +carriage. She directed her course towards the Faubourg Saint +Germain, went down the Rue Mazarine, and stopped at the +Passage du Pont-Neuf. She descended, and went through the +passage. She was very plainly dressed, as would be the case +with a woman of taste walking in the morning. At the Rue +Guenegaud she called a cab, and directed the driver to go to +the Rue de Harlay. As soon as she was seated in the vehicle, +she drew from her pocket a very thick black veil, which she +tied on to her straw bonnet. She then replaced the bonnet, +and saw with pleasure, in a little pocket-mirror, that her +white complexion and brilliant eyes were alone visible. The +cab crossed the Pont-Neuf and entered the Rue de Harlay by +the Place Dauphine; the driver was paid as the door opened, +and stepping lightly up the stairs Madame Danglars soon +reached the Salle des Pas-Perdus. + +There was a great deal going on that morning, and many +business-like persons at the Palais; business-like persons +pay very little attention to women, and Madame Danglars +crossed the hall without exciting any more attention than +any other woman calling upon her lawyer. There was a great +press of people in M. de Villefort's ante-chamber, but +Madame Danglars had no occasion even to pronounce her name. +The instant she appeared the door-keeper rose, came to her, +and asked her whether she was not the person with whom the +procureur had made an appointment; and on her affirmative +answer being given, he conducted her by a private passage to +M. de Villefort's office. The magistrate was seated in an +arm-chair, writing, with his back towards the door; he did +not move as he heard it open, and the door-keeper pronounce +the words, "Walk in, madame," and then reclose it; but no +sooner had the man's footsteps ceased, than he started up, +drew the bolts, closed the curtains, and examined every +corner of the room. Then, when he had assured himself that +he could neither be seen nor heard, and was consequently +relieved of doubts, he said, -- "Thanks, madame, -- thanks +for your punctuality; "and he offered a chair to Madame +Danglars, which she accepted, for her heart beat so +violently that she felt nearly suffocated. + +"It is a long time, madame," said the procureur, describing +a half-circle with his chair, so as to place himself exactly +opposite to Madame Danglars, -- "it is a long time since I +had the pleasure of speaking alone with you, and I regret +that we have only now met to enter upon a painful +conversation." + +"Nevertheless, sir, you see I have answered your first +appeal, although certainly the conversation must be much +more painful for me than for you." Villefort smiled +bitterly. + +"It is true, then," he said, rather uttering his thoughts +aloud than addressing his companion, -- "it is true, then, +that all our actions leave their traces -- some sad, others +bright -- on our paths; it is true that every step in our +lives is like the course of an insect on the sands; -- it +leaves its track! Alas, to many the path is traced by +tears." + +"Sir," said Madame Danglars, "you can feel for my emotion, +can you not? Spare me, then, I beseech you. When I look at +this room, -- whence so many guilty creatures have departed, +trembling and ashamed, when I look at that chair before +which I now sit trembling and ashamed, -- oh, it requires +all my reason to convince me that I am not a very guilty +woman and you a menacing judge." Villefort dropped his head +and sighed. "And I," he said, "I feel that my place is not +in the judge's seat, but on the prisoner's stool." + +"You?" said Madame Danglars. + +"Yes, I." + +"I think, sir, you exaggerate your situation," said Madame +Danglars, whose beautiful eyes sparkled for a moment. "The +paths of which you were just speaking have been traced by +all young men of ardent imaginations. Besides the pleasure, +there is always remorse from the indulgence of our passions, +and, after all, what have you men to fear from all this? the +world excuses, and notoriety ennobles you." + +"Madame," replied Villefort, "you know that I am no +hypocrite, or, at least, that I never deceive without a +reason. If my brow be severe, it is because many misfortunes +have clouded it; if my heart be petrified, it is that it +might sustain the blows it has received. I was not so in my +youth, I was not so on the night of the betrothal, when we +were all seated around a table in the Rue du Cours at +Marseilles. But since then everything has changed in and +about me; I am accustomed to brave difficulties, and, in the +conflict to crush those who, by their own free will, or by +chance, voluntarily or involuntarily, interfere with me in +my career. It is generally the case that what we most +ardently desire is as ardently withheld from us by those who +wish to obtain it, or from whom we attempt to snatch it. +Thus, the greater number of a man's errors come before him +disguised under the specious form of necessity; then, after +error has been committed in a moment of excitement, of +delirium, or of fear, we see that we might have avoided and +escaped it. The means we might have used, which we in our +blindness could not see, then seem simple and easy, and we +say, `Why did I not do this, instead of that?' Women, on the +contrary, are rarely tormented with remorse; for the +decision does not come from you, -- your misfortunes are +generally imposed upon you, and your faults the results of +others' crimes." + +"In any case, sir, you will allow," replied Madame Danglars, +"that, even if the fault were alone mine, I last night +received a severe punishment for it." + +"Poor thing," said Villefort, pressing her hand, "it was too +severe for your strength, for you were twice overwhelmed, +and yet" -- + +"Well?" + +"Well, I must tell you. Collect all your courage, for you +have not yet heard all." + +"Ah," exclaimed Madame Danglars, alarmed, "what is there +more to hear?" + +"You only look back to the past, and it is, indeed, bad +enough. Well, picture to yourself a future more gloomy still +-- certainly frightful, perhaps sanguinary." The baroness +knew how calm Villefort naturally was, and his present +excitement frightened her so much that she opened her mouth +to scream, but the sound died in her throat. "How has this +terrible past been recalled?" cried Villefort; "how is it +that it has escaped from the depths of the tomb and the +recesses of our hearts, where it was buried, to visit us +now, like a phantom, whitening our cheeks and flushing our +brows with shame?" + +"Alas," said Hermine, "doubtless it is chance." + +"Chance?" replied Villefort; "No, no, madame, there is no +such thing as chance." + +"Oh, yes; has not a fatal chance revealed all this? Was it +not by chance the Count of Monte Cristo bought that house? +Was it not by chance he caused the earth to be dug up? Is it +not by chance that the unfortunate child was disinterred +under the trees? -- that poor innocent offspring of mine, +which I never even kissed, but for whom I wept many, many +tears. Ah, my heart clung to the count when he mentioned the +dear spoil found beneath the flowers." + +"Well, no, madame, -- this is the terrible news I have to +tell you," said Villefort in a hollow voice -- "no, nothing +was found beneath the flowers; there was no child +disinterred -- no. You must not weep, no, you must not +groan, you must tremble!" + +"What can you mean?" asked Madame Danglars, shuddering. + +"I mean that M. de Monte Cristo, digging underneath these +trees, found neither skeleton nor chest, because neither of +them was there!" + +"Neither of them there?" repeated Madame Danglars, her +staring, wide-open eyes expressing her alarm. + +"Neither of them there!" she again said, as though striving +to impress herself with the meaning of the words which +escaped her. + +"No," said Villefort, burying his face in his hands, "no, a +hundred times no!" + +"Then you did not bury the poor child there, sir? Why did +you deceive me? Where did you place it? tell me -- where?" + +"There! But listen to me -- listen -- and you will pity me +who has for twenty years alone borne the heavy burden of +grief I am about to reveal, without casting the least +portion upon you." + +"Oh, you frighten me! But speak; I will listen." + +"You recollect that sad night, when you were half-expiring +on that bed in the red damask room, while I, scarcely less +agitated than you, awaited your delivery. The child was +born, was given to me -- motionless, breathless, voiceless; +we thought it dead." Madame Danglars moved rapidly, as +though she would spring from her chair, but Villefort +stopped, and clasped his hands as if to implore her +attention. "We thought it dead," he repeated; "I placed it +in the chest, which was to take the place of a coffin; I +descended to the garden, I dug a hole, and then flung it +down in haste. Scarcely had I covered it with earth, when +the arm of the Corsican was stretched towards me; I saw a +shadow rise, and, at the same time, a flash of light. I felt +pain; I wished to cry out, but an icy shiver ran through my +veins and stifled my voice; I fell lifeless, and fancied +myself killed. Never shall I forget your sublime courage, +when, having returned to consciousness, I dragged myself to +the foot of the stairs, and you, almost dying yourself, came +to meet me. We were obliged to keep silent upon the dreadful +catastrophe. You had the fortitude to regain the house, +assisted by your nurse. A duel was the pretext for my wound. +Though we scarcely expected it, our secret remained in our +own keeping alone. I was taken to Versailles; for three +months I struggled with death; at last, as I seemed to cling +to life, I was ordered to the South. Four men carried me +from Paris to Chalons, walking six leagues a day; Madame de +Villefort followed the litter in her carriage. At Chalons I +was put upon the Saone, thence I passed on to he Rhone, +whence I descended, merely with the current, to Arles; at +Arles I was again placed on my litter, and continued my +journey to Marseilles. My recovery lasted six months. I +never heard you mentioned, and I did not dare inquire for +you. When I returned to Paris, I learned that you, the widow +of M. de Nargonne, had married M. Danglars. + +"What was the subject of my thoughts from the time +consciousness returned to me? Always the same -- always the +child's corpse, coming every night in my dreams, rising from +the earth, and hovering over the grave with menacing look +and gesture. I inquired immediately on my return to Paris; +the house had not been inhabited since we left it, but it +had just been let for nine years. I found the tenant. I +pretended that I disliked the idea that a house belonging to +my wife's father and mother should pass into the hands of +strangers. I offered to pay them for cancelling the lease; +they demanded 6,000 francs. I would have given 10,000 -- I +would have given 20,000. I had the money with me; I made the +tenant sign the deed of resilition, and when I had obtained +what I so much wanted, I galloped to Auteuil. + +"No one had entered the house since I had left it. It was +five o'clock in the afternoon; I ascended into the red room, +and waited for night. There all the thoughts which had +disturbed me during my year of constant agony came back with +double force. The Corsican, who had declared the vendetta +against me, who had followed me from Nimes to Paris, who had +hid himself in the garden, who had struck me, had seen me +dig the grave, had seen me inter the child, -- he might +become acquainted with your person, -- nay, he might even +then have known it. Would he not one day make you pay for +keeping this terrible secret? Would it not be a sweet +revenge for him when he found that I had not died from the +blow of his dagger? It was therefore necessary, before +everything else, and at all risks, that I should cause all +traces of the past to disappear -- that I should destroy +every material vestige; too much reality would always remain +in my recollection. It was for this I had annulled the lease +-- it was for this I had come -- it was for this I was +waiting. Night arrived; I allowed it to become quite dark. I +was without a light in that room; when the wind shook all +the doors, behind which I continually expected to see some +spy concealed, I trembled. I seemed everywhere to hear your +moans behind me in the bed, and I dared not turn around. My +heart beat so violently that I feared my wound would open. +At length, one by one, all the noises in the neighborhood +ceased. I understood that I had nothing to fear, that I +should neither be seen nor heard, so I decided upon +descending to the garden. + +"Listen, Hermine; I consider myself as brave as most men, +but when I drew from my breast the little key of the +staircase, which I had found in my coat -- that little key +we both used to cherish so much, which you wished to have +fastened to a golden ring -- when I opened the door, and saw +the pale moon shedding a long stream of white light on the +spiral staircase like a spectre, I leaned against the wall, +and nearly shrieked. I seemed to be going mad. At last I +mastered my agitation. I descended the staircase step by +step; the only thing I could not conquer was a strange +trembling in my knees. I grasped the railings; if I had +relaxed my hold for a moment, I should have fallen. I +reached the lower door. Outside this door a spade was placed +against the wall; I took it, and advanced towards the +thicket. I had provided myself with a dark lantern. In the +middle of the lawn I stopped to light it, then I continued +my path. + +"It was the end of November, all the verdure of the garden +had disappeared, the trees were nothing more than skeletons +with their long bony arms, and the dead leaves sounded on +the gravel under my feet. My terror overcame me to such a +degree as I approached the thicket, that I took a pistol +from my pocket and armed myself. I fancied continually that +I saw the figure of the Corsican between the branches. I +examined the thicket with my dark lantern; it was empty. I +looked carefully around; I was indeed alone, -- no noise +disturbed the silence but the owl, whose piercing cry seemed +to be calling up the phantoms of the night. I tied my +lantern to a forked branch I had noticed a year before at +the precise spot where I stopped to dig the hole. + +"The grass had grown very thickly there during the summer, +and when autumn arrived no one had been there to mow it. +Still one place where the grass was thin attracted my +attention; it evidently was there I had turned up the +ground. I went to work. The hour, then, for which I had been +waiting during the last year had at length arrived. How I +worked, how I hoped, how I struck every piece of turf, +thinking to find some resistance to my spade! But no, I +found nothing, though I had made a hole twice as large as +the first. I thought I had been deceived -- had mistaken the +spot. I turned around, I looked at the trees, I tried to +recall the details which had struck me at the time. A cold, +sharp wind whistled through the leafless branches, and yet +the drops fell from my forehead. I recollected that I was +stabbed just as I was trampling the ground to fill up the +hole; while doing so I had leaned against a laburnum; behind +me was an artificial rockery, intended to serve as a +resting-place for persons walking in the garden; in falling, +my hand, relaxing its hold of the laburnum, felt the +coldness of the stone. On my right I saw the tree, behind me +the rock. I stood in the same attitude, and threw myself +down. I rose, and again began digging and enlarging the +hole; still I found nothing, nothing -- the chest was no +longer there!" + +"The chest no longer there?" murmured Madame Danglars, +choking with fear. + +Think not I contented myself with this one effort," +continued Villefort. "No; I searched the whole thicket. I +thought the assassin, having discovered the chest, and +supposing it to be a treasure, had intended carrying it off, +but, perceiving his error, had dug another hole, and +deposited it there; but I could find nothing. Then the idea +struck me that he had not taken these precautions, and had +simply thrown it in a corner. In the last case I must wait +for daylight to renew my search. I remained the room and +waited." + +"Oh, heavens!" + +When daylight dawned I went down again. My first visit was +to the thicket. I hoped to find some traces which had +escaped me in the darkness. I had turned up the earth over a +surface of more than twenty feet square, and a depth of two +feet. A laborer would not have done in a day what occupied +me an hour. But I could find nothing -- absolutely nothing. +Then I renewed the search. Supposing it had been thrown +aside, it would probably be on the path which led to the +little gate; but this examination was as useless as the +first, and with a bursting heart I returned to the thicket, +which now contained no hope for me." + +"Oh," cried Madame Danglars, "it was enough to drive you +mad!" + +"I hoped for a moment that it might," said Villefort; "but +that happiness was denied me. However, recovering my +strength and my ideas, `Why,' said I, `should that man have +carried away the corpse?'" + +"But you said," replied Madame Danglars, "he would require +it as a proof." + +"Ah, no, madame, that could not be. Dead bodies are not kept +a year; they are shown to a magistrate, and the evidence is +taken. Now, nothing of the kind has happened." + +"What then?" asked Hermine, trembling violently. + +"Something more terrible, more fatal, more alarming for us +-- the child was, perhaps, alive, and the assassin may have +saved it!" + +Madame Danglars uttered a piercing cry, and, seizing +Villefort's hands, exclaimed, "My child was alive?" said +she; "you buried my child alive? You were not certain my +child was dead, and you buried it? Ah" -- + +Madame Danglars had risen, and stood before the procureur, +whose hands she wrung in her feeble grasp. "I know not; I +merely suppose so, as I might suppose anything else," +replied Villefort with a look so fixed, it indicated that +his powerful mind was on the verge of despair and madness. +"Ah, my child, my poor child!" cried the baroness, falling +on her chair, and stifling her sobs in her handkerchief. +Villefort, becoming somewhat reassured, perceived that to +avert the maternal storm gathering over his head, he must +inspire Madame Danglars with the terror he felt. "You +understand, then, that if it were so," said he, rising in +his turn, and approaching the baroness, to speak to her in a +lower tone, "we are lost. This child lives, and some one +knows it lives -- some one is in possession of our secret; +and since Monte Cristo speaks before us of a child +disinterred, when that child could not be found, it is he +who is in possession of our secret." + +"Just God, avenging God!" murmured Madame Danglars. + +Villefort's only answer was a stifled groan. + +"But the child -- the child, sir?" repeated the agitated +mother. + +"How I have searched for him," replied Villefort, wringing +his hands; "how I have called him in my long sleepless +nights; how I have longed for royal wealth to purchase a +million of secrets from a million of men, and to find mine +among them! At last, one day, when for the hundredth time I +took up my spade, I asked myself again and again what the +Corsican could have done with the child. A child encumbers a +fugitive; perhaps, on perceiving it was still alive, he had +thrown it into the river." + +"Impossible!" cried Madame Danglars: "a man may murder +another out of revenge, but he would not deliberately drown +a child." + +"Perhaps," continued Villefort, "he had put it in the +foundling hospital." + +"Oh, yes, yes," cried the baroness; "my child is there!" + +"I ran to the hospital, and learned that the same night -- +the night of the 20th of September -- a child had been +brought there, wrapped in part of a fine linen napkin, +purposely torn in half. This portion of the napkin was +marked with half a baron's crown, and the letter H." + +"Truly, truly," said Madame Danglars, "all my linen is +marked thus; Monsieur de Nargonne was a baronet, and my name +is Hermine. Thank God, my child was not then dead!" + +"No, it was not dead." + +"And you can tell me so without fearing to make me die of +joy? Where is the child?" Villefort shrugged his shoulders. +"Do I know?" said he; "and do you believe that if I knew I +would relate to you all its trials and all its adventures as +would a dramatist or a novel writer? Alas, no, I know not. A +woman, about six months after, came to claim it with the +other half of the napkin. This woman gave all the requisite +particulars, and it was intrusted to her." + +"But you should have inquired for the woman; you should have +traced her." + +"And what do you think I did? I feigned a criminal process, +and employed all the most acute bloodhounds and skilful +agents in search of her. They traced her to Chalons, and +there they lost her." + +"They lost her?" + +"Yes, forever." Madame Danglars had listened to this recital +with a sigh, a tear, or a shriek for every detail. "And this +is all?" said she; "and you stopped there?" + +"Oh, no," said Villefort; "I never ceased to search and to +inquire. However, the last two or three years I had allowed +myself some respite. But now I will begin with more +perseverance and fury than ever, since fear urges me, not my +conscience." + +"But," replied Madame Danglars, "the Count of Monte Cristo +can know nothing, or he would not seek our society as he +does." + +"Oh, the wickedness of man is very great," said Villefort, +"since it surpasses the goodness of God. Did you observe +that man's eyes while he was speaking to us?" + +"No." + +"But have you ever watched him carefully?" + +"Doubtless he is capricious, but that is all; one thing +alone struck me, -- of all the exquisite things he placed +before us, he touched nothing. I might have suspected he was +poisoning us." + +"And you see you would have been deceived." + +"Yes, doubtless." + +"But believe me, that man has other projects. For that +reason I wished to see you, to speak to you, to warn you +against every one, but especially against him. Tell me," +cried Villefort, fixing his eyes more steadfastly on her +than he had ever done before, "did you ever reveal to any +one our connection?" + +"Never, to any one." + +"You understand me," replied Villefort, affectionately; +"when I say any one, -- pardon my urgency, -- to any one +living I mean?" + +"Yes, yes, I understand very well," ejaculated the baroness; +"never, I swear to you." + +"Were you ever in the habit of writing in the evening what +had transpired in the morning? Do you keep a journal?" + +"No, my life has been passed in frivolity; I wish to forget +it myself." + +"Do you talk in your sleep?" + +"I sleep soundly, like a child; do you not remember?" The +color mounted to the baroness's face, and Villefort turned +awfully pale. + +"It is true," said he, in so low a tone that he could hardly +be heard. + +"Well?" said the baroness. + +"Well, I understand what I now have to do," replied +Villefort. "In less than one week from this time I will +ascertain who this M. de Monte Cristo is, whence he comes, +where he goes, and why he speaks in our presence of children +that have been disinterred in a garden." Villefort +pronounced these words with an accent which would have made +the count shudder had he heard him. Then he pressed the hand +the baroness reluctantly gave him, and led her respectfully +back to the door. Madame Danglars returned in another cab to +the passage, on the other side of which she found her +carriage, and her coachman sleeping peacefully on his box +while waiting for her. + + + +Chapter 68 +A Summer Ball. + +The same day during the interview between Madame Danglars +and the procureur, a travelling-carriage entered the Rue du +Helder, passed through the gateway of No. 27, and stopped in +the yard. In a moment the door was opened, and Madame de +Morcerf alighted, leaning on her son's arm. Albert soon left +her, ordered his horses, and having arranged his toilet, +drove to the Champs Elysees, to the house of Monte Cristo. +The count received him with his habitual smile. It was a +strange thing that no one ever appeared to advance a step in +that man's favor. Those who would, as it were, force a +passage to his heart, found an impassable barrier. Morcerf, +who ran towards him with open arms, was chilled as he drew +near, in spite of the friendly smile, and simply held out +his hand. Monte Cristo shook it coldly, according to his +invariable practice. "Here I am, dear count." + +"Welcome home again." + +"I arrived an hour since." + +"From Dieppe?" + +"No, from Treport." + +"Indeed?" + +"And I have come at once to see you." + +"That is extremely kind of you," said Monte Cristo with a +tone of perfect indifference. + +"And what is the news?" + +"You should not ask a stranger, a foreigner, for news." + +"I know it, but in asking for news, I mean, have you done +anything for me?" + +"Had you commissioned me?" said Monte Cristo, feigning +uneasiness. + +"Come, come," said Albert, "do not assume so much +indifference. It is said, sympathy travels rapidly, and when +at Treport, I felt the electric shock; you have either been +working for me or thinking of me." + +"Possibly," said Monte Cristo, "I have indeed thought of +you, but the magnetic wire I was guiding acted, indeed, +without my knowledge." + +"Indeed? Pray tell me how it happened?" + +"Willingly. M. Danglars dined with me." + +"I know it; to avoid meeting him, my mother and I left +town." + +"But he met here M. Andrea Cavalcanti." + +"Your Italian prince?" + +"Not so fast; M. Andrea only calls himself count." + +"Calls himself, do you say?" + +"Yes, calls himself." + +"Is he not a count?" + +"What can I know of him? He calls himself so. I, of course, +give him the same title, and every one else does likewise." + +"What a strange man you are! What next? You say M. Danglars +dined here?" + +"Yes, with Count Cavalcanti, the marquis his father, Madame +Danglars, M. and Madame de Villefort, -- charming people, -- +M. Debray, Maximilian Morrel, and M. de Chateau-Renaud." + +"Did they speak of me?" + +"Not a word." + +"So much the worse." + +"Why so? I thought you wished them to forget you?" + +"If they did not speak of me, I am sure they thought about +me, and I am in despair." + +"How will that affect you, since Mademoiselle Danglars was +not among the number here who thought of you? Truly, she +might have thought of you at home." + +"I have no fear of that; or, if she did, it was only in the +same way in which I think of her." + +"Touching sympathy! So you hate each other?" said the count. + +"Listen," said Morcerf -- "if Mademoiselle Danglars were +disposed to take pity on my supposed martyrdom on her +account, and would dispense with all matrimonial formalities +between our two families, I am ready to agree to the +arrangement. In a word, Mademoiselle Danglars would make a +charming mistress -- but a wife -- diable!" + +"And this," said Monte Cristo, "is your opinion of your +intended spouse?" + +"Yes; it is rather unkind, I acknowledge, but it is true. +But as this dream cannot be realized, since Mademoiselle +Danglars must become my lawful wife, live perpetually with +me, sing to me, compose verses and music within ten paces of +me, and that for my whole life, it frightens me. One may +forsake a mistress, but a wife, -- good heavens! There she +must always be; and to marry Mademoiselle Danglars would be +awful." + +"You are difficult to please, viscount." + +"Yes, for I often wish for what is impossible." + +"What is that?" + +"To find such a wife as my father found." Monte Cristo +turned pale, and looked at Albert, while playing with some +magnificent pistols. + +"Your father was fortunate, then?" said he. + +"You know my opinion of my mother, count; look at her, -- +still beautiful, witty, more charming than ever. For any +other son to have stayed with his mother for four days at +Treport, it would have been a condescension or a martyrdom, +while I return, more contented, more peaceful -- shall I say +more poetic! -- than if I had taken Queen Mab or Titania as +my companion." + +"That is an overwhelming demonstration, and you would make +every one vow to live a single life." + +"Such are my reasons for not liking to marry Mademoiselle +Danglars. Have you ever noticed how much a thing is +heightened in value when we obtain possession of it? The +diamond which glittered in the window at Marle's or Fossin's +shines with more splendor when it is our own; but if we are +compelled to acknowledge the superiority of another, and +still must retain the one that is inferior, do you not know +what we have to endure?" + +"Worldling," murmured the count. + +"Thus I shall rejoice when Mademoiselle Eugenie perceives I +am but a pitiful atom, with scarcely as many hundred +thousand francs as she has millions." Monte Cristo smiled. +"One plan occurred to me," continued Albert; "Franz likes +all that is eccentric; I tried to make him fall in love with +Mademoiselle Danglars; but in spite of four letters, written +in the most alluring style, he invariably answered: `My +eccentricity may be great, but it will not make me break my +promise.'" + +"That is what I call devoted friendship, to recommend to +another one whom you would not marry yourself." Albert +smiled. -- "Apropos," continued he, "Franz is coming soon, +but it will not interest you; you dislike him, I think?" + +"I?" said Monte Cristo; "my dear Viscount, how have you +discovered that I did not like M. Franz! I like every one." + +"And you include me in the expression every one -- many +thanks!" + +"Let us not mistake," said Monte Cristo; "I love every one +as God commands us to love our neighbor, as Christians; but +I thoroughly hate but a few. Let us return to M. Franz +d'Epinay. Did you say he was coming?" + +"Yes; summoned by M. de Villefort, who is apparently as +anxious to get Mademoiselle Valentine married as M. Danglars +is to see Mademoiselle Eugenie settled. It must be a very +irksome office to be the father of a grown-up daughter; it +seems to make one feverish, and to raise one's pulse to +ninety beats a minute until the deed is done." + +"But M. d'Epinay, unlike you, bears his misfortune +patiently." + +"Still more, he talks seriously about the matter, puts on a +white tie, and speaks of his family. He entertains a very +high opinion of M. and Madame de Villefort." + +"Which they deserve, do they not?" + +"I believe they do. M. de Villefort has always passed for a +severe but a just man." + +"There is, then, one," said Monte Cristo, "whom you do not +condemn like poor Danglars?" + +"Because I am not compelled to marry his daughter perhaps," +replied Albert, laughing. + +"Indeed, my dear sir," said Monte Cristo, "you are +revoltingly foppish." + +"I foppish? how do you mean?" + +"Yes; pray take a cigar, and cease to defend yourself, and +to struggle to escape marrying Mademoiselle Danglars. Let +things take their course; perhaps you may not have to +retract." + +"Bah," said Albert, staring. + +"Doubtless, my dear viscount, you will not be taken by +force; and seriously, do you wish to break off your +engagement?" + +"I would give a hundred thousand francs to be able to do +so." + +"Then make yourself quite easy. M. Danglars would give +double that sum to attain the same end." + +"Am I, indeed, so happy?" said Albert, who still could not +prevent an almost imperceptible cloud passing across his +brow. "But, my dear count, has M. Danglars any reason?" + +"Ah, there is your proud and selfish nature. You would +expose the self-love of another with a hatchet, but you +shrink if your own is attacked with a needle." + +"But yet M. Danglars appeared" -- + +"Delighted with you, was he not? Well, he is a man of bad +taste, and is still more enchanted with another. I know not +whom; look and judge for yourself." + +"Thank you, I understand. But my mother -- no, not my +mother; I mistake -- my father intends giving a ball." + +"A ball at this season?" + +"Summer balls are fashionable." + +"If they were not, the countess has only to wish it, and +they would become so." + +"You are right; You know they are select affairs; those who +remain in Paris in July must be true Parisians. Will you +take charge of our invitation to Messieurs Cavalcanti?" + +"When will it take place?" + +"On Saturday." + +"M. Cavalcanti's father will be gone." + +"But the son will be here; will you invite young M. +Cavalcanti?" + +"I do not know him, viscount." + +"You do not know him?" + +"No, I never saw him until a few days since, and am not +responsible for him." + +"But you receive him at your house?" + +"That is another thing: he was recommended to me by a good +abbe, who may be deceived. Give him a direct invitation, but +do not ask me to present him. If he were afterwards to marry +Mademoiselle Danglars, you would accuse me of intrigue, and +would be challenging me, -- besides, I may not be there +myself." + +"Where?" + +"At your ball." + +"Why should you not be there?" + +"Because you have not yet invited me." + +"But I come expressly for that purpose." + +"You are very kind, but I may be prevented." + +"If I tell you one thing, you will be so amiable as to set +aside all impediments." + +"Tell me what it is." + +"My mother begs you to come." + +"The Comtesse de Morcerf?" said Monte Cristo, starting. + +"Ah, count," said Albert, "I assure you Madame de Morcerf +speaks freely to me, and if you have not felt those +sympathetic fibres of which I spoke just now thrill within +you, you must be entirely devoid of them, for during the +last four days we have spoken of no one else." + +"You have talked of me?" + +"Yes, that is the penalty of being a living puzzle!" + +"Then I am also a puzzle to your mother? I should have +thought her too reasonable to be led by imagination." + +"A problem, my dear count, for every one -- for my mother as +well as others; much studied, but not solved, you still +remain an enigma, do not fear. My mother is only astonished +that you remain so long unsolved. I believe, while the +Countess G---- takes you for Lord Ruthven, my mother +imagines you to be Cagliostro or the Count Saint-Germain. +The first opportunity you have, confirm her in her opinion; +it will be easy for you, as you have the philosophy of the +one and the wit of the other." + +"I thank you for the warning," said the count; "I shall +endeavor to be prepared for all suppositions." + +"You will, then, come on Saturday?" + +"Yes, since Madame de Morcerf invites me." + +"You are very kind." + +"Will M. Danglars be there?" + +"He has already been invited by my father. We shall try to +persuade the great d'Aguesseau,* M. de Villefort, to come, +but have not much hope of seeing him." + +"`Never despair of anything,' says the proverb." + +* Magistrate and orator of great eloquence -- chancellor of +France under Louis XV. + +"Do you dance, count?" + +"I dance?" + +"Yes, you; it would not be astonishing." + +"That is very well before one is over forty. No, I do not +dance, but I like to see others do so. Does Madame de +Morcerf dance?" + +"Never; you can talk to her, she so delights in your +conversation." + +"Indeed?" + +"Yes, truly; and I assure you. You are the only man of whom +I have heard her speak with interest." Albert rose and took +his hat; the count conducted him to the door. "I have one +thing to reproach myself with," said he, stopping Albert on +the steps. "What is it?" + +"I have spoken to you indiscreetly about Danglars." + +"On the contrary, speak to me always in the same strain +about him." + +"I am glad to be reassured on that point. Apropos, when do +you aspect M. d'Epinay?" + +"Five or six days hence at the latest." + +"And when is he to be married?" + +"Immediately on the arrival of M. and Madame de +Saint-Meran." + +"Bring him to see me. Although you say I do not like him, I +assure you I shall be happy to see him." + +"I will obey your orders, my lord." + +"Good-by." + +"Until Saturday, when I may expect you, may I not?" + +"Yes, I promised you." The Count watched Albert, waving his +hand to him. When he had mounted his phaeton, Monte Cristo +turned, and seeing Bertuccio, "What news?" said he. "She +went to the Palais," replied the steward. + +"Did she stay long there?" + +"An hour and a half." + +"Did she return home?" + +"Directly." + +"Well, my dear Bertuccio," said the count, "I now advise you +to go in quest of the little estate I spoke to you of in +Normandy." Bertuccio bowed, and as his wishes were in +perfect harmony with the order he had received, he started +the same evening. + + + +Chapter 69 +The Inquiry. + +M. de Villefort kept the promise he had made to Madame +Danglars, to endeavor to find out how the Count of Monte +Cristo had discovered the history of the house at Auteuil. +He wrote the same day for the required information to M. de +Boville, who, from having been an inspector of prisons, was +promoted to a high office in the police; and the latter +begged for two days time to ascertain exactly who would be +most likely to give him full particulars. At the end of the +second day M. de Villefort received the following note: -- + +"The person called the Count of Monte Cristo is an intimate +acquaintance of Lord Wilmore, a rich foreigner, who is +sometimes seen in Paris and who is there at this moment; he +is also known to the Abbe Busoni, a Sicilian priest, of high +repute in the East, where he has done much good." + +M. de Villefort replied by ordering the strictest inquiries +to be made respecting these two persons; his orders were +executed, and the following evening he received these +details: -- + +"The abbe, who was in Paris only for a month, inhabited a +small two-storied house behind Saint-Sulpice; there were two +rooms on each floor and he was the only tenant. The two +lower rooms consisted of a dining-room, with a table, +chairs, and side-board of walnut, -- and a wainscoted +parlor, without ornaments, carpet, or timepiece. It was +evident that the abbe limited himself to objects of strict +necessity. He preferred to use the sitting-room upstairs, +which was more library than parlor, and was furnished with +theological books and parchments, in which he delighted to +bury himself for months at a time, according to his valet de +chambre. His valet looked at the visitors through a sort of +wicket; and if their faces were unknown to him or displeased +him, he replied that the abbe was not in Paris, an answer +which satisfied most persons, because the abbe was known to +be a great traveller. Besides, whether at home or not, +whether in Paris or Cairo, the abbe always left something to +give away, which the valet distributed through this wicket +in his master's name. The other room near the library was a +bedroom. A bed without curtains, four arm-chairs, and a +couch, covered with yellow Utrecht velvet, composed, with a +prie-Dieu, all its furniture. Lord Wilmore resided in Rue +Fontaine-Saint-George. He was one of those English tourists +who consume a large fortune in travelling. He hired the +apartment in which he lived furnished, passed only a few +hours in the day there, and rarely slept there. One of his +peculiarities was never to speak a word of French, which he +however wrote with great facility." + +The day after this important information had been given to +the king's attorney, a man alighted from a carriage at the +corner of the Rue Ferou, and rapping at an olive-green door, +asked if the Abbe Busoni were within. "No, he went out early +this morning," replied the valet. + +"I might not always be content with that answer," replied +the visitor, "for I come from one to whom everyone must be +at home. But have the kindness to give the Abbe Busoni" -- + +"I told you he was not at home," repeated the valet. "Then +on his return give him that card and this sealed paper. Will +he be at home at eight o'clock this evening?" + +"Doubtless, unless he is at work, which is the same as if he +were out." + +"I will come again at that time," replied the visitor, who +then retired. + +At the appointed hour the same man returned in the same +carriage, which, instead of stopping this time at the end of +the Rue Ferou, drove up to the green door. He knocked, and +it opened immediately to admit him. From the signs of +respect the valet paid him, he saw that his note had +produced a good effect. "Is the abbe at home?" asked he. + +"Yes; he is at work in his library, but he expects you, +sir," replied the valet. The stranger ascended a rough +staircase, and before a table, illumined by a lamp whose +light was concentrated by a large shade while the rest of +the apartment was in partial darkness, he perceived the abbe +in a monk's dress, with a cowl on his head such as was used +by learned men of the Middle Ages. "Have I the honor of +addressing the Abbe Busoni?" asked the visitor. + +"Yes, sir," replied the abbe; "and you are the person whom +M. de Boville, formerly an inspector of prisons, sends to me +from the prefect of police?" + +"Exactly, sir." + +"One of the agents appointed to secure the safety of Paris?" + +"Yes, sir"" replied the stranger with a slight hesitation, +and blushing. + +The abbe replaced the large spectacles, which covered not +only his eyes but his temples, and sitting down motioned to +his visitor to do the same. "I am at your service, sir," +said the abbe, with a marked Italian accent. + +"The mission with which I am charged, sir," replied the +visitor, speaking with hesitation, "is a confidential one on +the part of him who fulfils it, and him by whom he is +employed." The abbe bowed. "Your probity," replied the +stranger, "is so well known to the prefect that he wishes as +a magistrate to ascertain from you some particulars +connected with the public safety, to ascertain which I am +deputed to see you. It is hoped that no ties of friendship +or humane consideration will induce you to conceal the +truth." + +"Provided, sir, the particulars you wish for do not +interfere with my scruples or my conscience. I am a priest, +sir, and the secrets of confession, for instance, must +remain between me and God, and not between me and human +justice." + +"Do not alarm yourself, monsieur, we will duly respect your +conscience." + +At this moment the abbe pressed down his side of the shade +and so raised it on the other, throwing a bright light on +the stranger's face, while his own remained obscured. +"Excuse me, abbe," said the envoy of the prefect of the +police, "but the light tries my eyes very much." The abbe +lowered the shade. "Now, sir, I am listening -- go on." + +"I will come at once to the point. Do you know the Count of +Monte Cristo?" + +"You mean Monsieur Zaccone, I presume?" + +"Zaccone? -- is not his name Monte Cristo?" + +"Monte Cristo is the name of an estate, or, rather, of a +rock, and not a family name." + +"Well, be it so -- let us not dispute about words; and since +M. de Monte Cristo and M. Zaccone are the same" -- + +"Absolutely the same." + +"Let us speak of M. Zaccone." + +"Agreed." + +"I asked you if you knew him?" + +"Extremely well." + +"Who is he?" + +"The son of a rich shipbuilder in Malta." + +"I know that is the report; but, as you are aware, the +police does not content itself with vague reports." + +"However," replied the abbe, with an affable smile, "when +that report is in accordance with the truth, everybody must +believe it, the police as well as all the rest." + +"Are you sure of what you assert?" + +"What do you mean by that question?" + +"Understand, sir, I do not in the least suspect your +veracity; I ask if you are certain of it?" + +"I knew his father, M. Zaccone." + +"Ah, indeed?" + +"And when a child I often played with the son in the +timber-yards." + +"But whence does he derive the title of count?" + +"You are aware that may be bought." + +"In Italy?" + +"Everywhere." + +"And his immense riches, whence does he procure them?" + +"They may not be so very great." + +"How much do you suppose he possesses?" + +"From one hundred and fifty to two hundred thousand livres +per annum." + +"That is reasonable," said the visitor; "I have heard he had +three or four millions." + +"Two hundred thousand per annum would make four millions of +capital." + +"But I was told he had four millions per annum?" + +"That is not probable." + +"Do you know this Island of Monte Cristo?" + +"Certainly, every one who has come from Palermo, Naples, or +Rome to France by sea must know it, since he has passed +close to it and must have seen it." + +"I am told it is a delightful place?" + +"It is a rock." + +"And why has the count bought a rock?" + +"For the sake of being a count. In Italy one must have +territorial possessions to be a count." + +"You have, doubtless, heard the adventures of M. Zaccone's +youth?" + +"The father's?" + +"No, the son's." + +"I know nothing certain; at that period of his life, I lost +sight of my young comrade." + +"Was he in the wars?" + +"I think he entered the service." + +"In what branch?" + +"In the navy." + +"Are you not his confessor?" + +"No, sir; I believe he is a Lutheran." + +"A Lutheran?" + +"I say, I believe such is the case, I do not affirm it; +besides, liberty of conscience is established in France." + +"Doubtless, and we are not now inquiring into his creed, but +his actions; in the name of the prefect of police, I ask you +what you know of him. + +"He passes for a very charitable man. Our holy father, the +pope, has made him a knight of Jesus Christ for the services +he rendered to the Christians in the East; he has five or +six rings as testimonials from Eastern monarchs of his +services." + +"Does he wear them?" + +"No, but he is proud of them; he is better pleased with +rewards given to the benefactors of man than to his +destroyers." + +"He is a Quaker then?" + +"Exactly, he is a Quaker, with the exception of the peculiar +dress." + +"Has he any friends?" + +"Yes, every one who knows him is his friend." + +"But has he any enemies?" + +"One only." + +"What is his name?" + +"Lord Wilmore." + +"Where is he?" + +"He is in Paris just now." + +"Can he give me any particulars?" + +"Important ones; he was in India with Zaccone." + +"Do you know his abode?" + +"It's somewhere in the Chaussee d'Antin; but I know neither +the street nor the number." + +"Are you at variance with the Englishman?" + +"I love Zaccone, and he hates him; we are consequently not +friends." + +"Do you think the Count of Monte Cristo had ever been in +France before he made this visit to Paris?" + +"To that question I can answer positively; no, sir, he had +not, because he applied to me six months ago for the +particulars he required, and as I did not know when I might +again come to Paris, I recommended M. Cavalcanti to him." + +"Andrea?" + +"No, Bartolomeo, his father." + +"Now, sir, I have but one question more to ask, and I charge +you, in the name of honor, of humanity, and of religion, to +answer me candidly." + +"What is it, sir?" + +"Do you know with what design M. de Monte Cristo purchased a +house at Auteuil?" + +"Certainly, for he told me." + +"What is it, sir?" + +"To make a lunatic asylum of it, similar to that founded by +the Count of Pisani at Palermo. Do you know about that +institution?" + +"I have heard of it." + +"It is a magnificent charity." Having said this, the abbe +bowed to imply he wished to pursue his studies. The visitor +either understood the abbe's meaning, or had no more +questions to ask; he arose, and the abbe accompanied him to +the door. "You are a great almsgiver," said the visitor, +"and although you are said to be rich, I will venture to +offer you something for your poor people; will you accept my +offering?" + +"I thank you, sir; I am only jealous in one thing, and that +is that the relief I give should be entirely from my own +resources." + +"However" -- + +"My resolution, sir, is unchangeable, but you have only to +search for yourself and you will find, alas, but too many +objects upon whom to exercise your benevolence." The abbe +once more bowed as he opened the door, the stranger bowed +and took his leave, and the carriage conveyed him straight +to the house of M. de Villefort. An hour afterwards the +carriage was again ordered, and this time it went to the Rue +Fontaine-Saint-George, and stopped at No. 5, where Lord +Wilmore lived. The stranger had written to Lord Wilmore, +requesting an interview, which the latter had fixed for ten +o'clock. As the envoy of the prefect of police arrived ten +minutes before ten, he was told that Lord Wilmore, who was +precision and punctuality personified, was not yet come in, +but that he would be sure to return as the clock struck. + +The visitor was introduced into the drawing-room, which was +like all other furnished drawing-rooms. A mantle-piece, with +two modern Sevres vases, a timepiece representing Cupid with +his bent bow, a mirror with an engraving on each side -- one +representing Homer carrying his guide, the other, Belisarius +begging -- a grayish paper; red and black tapestry -- such +was the appearance of Lord Wilmore's drawing-room. It was +illuminated by lamps with ground-glass shades which gave +only a feeble light, as if out of consideration for the +envoy's weak sight. After ten minutes' expectation the clock +struck ten; at the fifth stroke the door opened and Lord +Wilmore appeared. He was rather above the middle height, +with thin reddish whiskers, light complexion and light hair, +turning rather gray. He was dressed with all the English +peculiarity, namely, in a blue coat, with gilt buttons and +high collar, in the fashion of 1811, a white kerseymere +waistcoat, and nankeen pantaloons, three inches too short, +but which were prevented by straps from slipping up to the +knee. His first remark on entering was, -- "You know, sir, I +do not speak French?" + +"I know you do not like to converse in our language," +replied the envoy. "But you may use it," replied Lord +Wilmore; "I understand it." + +"And I," replied the visitor, changing his idiom, "know +enough of English to keep up the conversation. Do not put +yourself to the slightest inconvenience." + +"Aw?" said Lord Wilmore, with that tone which is only known +to natives of Great Britain. + +The envoy presented his letter of introduction, which the +latter read with English coolness, and having finished, -- +"I understand," said he, "perfectly." + +Then began the questions, which were similar to those which +had been addressed to the Abbe Busoni. But as Lord Wilmore, +in the character of the count's enemy, was less restrained +in his answers, they were more numerous; he described the +youth of Monte Cristo, who he said, at ten years of age, +entered the service of one of the petty sovereigns of India +who make war on the English. It was there Wilmore had first +met him and fought against him; and in that war Zaccone had +been taken prisoner, sent to England, and consigned to the +hulks, whence he had escaped by swimming. Then began his +travels, his duels, his caprices; then the insurrection in +Greece broke out, and he had served in the Grecian ranks. +While in that service he had discovered a silver mine in the +mountains of Thessaly, but he had been careful to conceal it +from every one. After the battle of Navarino, when the Greek +government was consolidated, he asked of King Otho a mining +grant for that district, which was given him. Hence that +immense fortune, which, in Lord Wilmore's opinion, possibly +amounted to one or two millions per annum, -- a precarious +fortune, which might be momentarily lost by the failure of +the mine. + +"But," asked the visitor, "do you know why he came to +France?" + +"He is speculating in railways," said Lord Wilmore, "and as +he is an expert chemist and physicist, he has invented a new +system of telegraphy, which he is seeking to bring to +perfection." + +"How much does he spend yearly?" asked the prefect. + +"Not more than five or six hundred thousand francs," said +Lord Wilmore; "he is a miser." Hatred evidently inspired the +Englishman, who, knowing no other reproach to bring on the +count, accused him of avarice. "Do you know his house at +Auteuil?" + +"Certainly." + +"What do you know respecting it?" + +"Do you wish to know why he bought it?" + +"Yes." + +"The count is a speculator, who will certainly ruin himself +in experiments. He supposes there is in the neighborhood of +the house he has bought a mineral spring equal to those at +Bagneres, Luchon, and Cauterets. He is going to turn his +house into a Badhaus, as the Germans term it. He has already +dug up all the garden two or three times to find the famous +spring, and, being unsuccessful, he will soon purchase all +the contiguous houses. Now, as I dislike him, and hope his +railway, his electric telegraph, or his search for baths, +will ruin him, I am watching for his discomfiture, which +must soon take place." + +"What was the cause of your quarrel?" + +"When he was in England he seduced the wife of one of my +friends." + +"Why do you not seek revenge?" + +"I have already fought three duels with him," said the +Englishman, "the first with the pistol, the second with the +sword, and the third with the sabre." + +"And what was the result of those duels?" + +"The first time, he broke my arm; the second, he wounded me +in the breast; and the third time, made this large wound." +The Englishman turned down his shirt-collar, and showed a +scar, whose redness proved it to be a recent one. "So that, +you see, there is a deadly feud between us." + +"But," said the envoy, "you do not go about it in the right +way to kill him, if I understand you correctly." + +"Aw?" said the Englishman, "I practice shooting every day, +and every other day Grisier comes to my house." + +This was all the visitor wished to ascertain, or, rather, +all the Englishman appeared to know. The agent arose, and +having bowed to Lord Wilmore, who returned his salutation +with the stiff politeness of the English, he retired. Lord +Wilmore, having heard the door close after him, returned to +his bedroom, where with one hand he pulled off his light +hair, his red whiskers, his false jaw, and his wound, to +resume the black hair, dark complexion, and pearly teeth of +the Count of Monte Cristo. It was M. de Villefort, and not +the prefect, who returned to the house of M. de Villefort. +The procureur felt more at ease, although he had learned +nothing really satisfactory, and, for the first time since +the dinner-party at Auteuil, he slept soundly. + + + +Chapter 70 +The Ball. + +It was in the warmest days of July, when in due course of +time the Saturday arrived upon which the ball was to take +place at M. de Morcerf's. It was ten o'clock at night; the +branches of the great trees in the garden of the count's +house stood out boldly against the azure canopy of heaven, +which was studded with golden stars, but where the last +fleeting clouds of a vanishing storm yet lingered. From the +apartments on the ground-floor might be heard the sound of +music, with the whirl of the waltz and galop, while +brilliant streams of light shone through the openings of the +Venetian blinds. At this moment the garden was only occupied +by about ten servants, who had just received orders from +their mistress to prepare the supper, the serenity of the +weather continuing to increase. Until now, it had been +undecided whether the supper should take place in the +dining-room, or under a long tent erected on the lawn, but +the beautiful blue sky, studded with stars, had settled the +question in favor of the lawn. The gardens were illuminated +with colored lanterns, according to the Italian custom, and, +as is usual in countries where the luxuries of the table -- +the rarest of all luxuries in their complete form -- are +well understood, the supper-table was loaded with wax-lights +and flowers. + +At the time the Countess of Morcerf returned to the rooms, +after giving her orders, many guests were arriving, more +attracted by the charming hospitality of the countess than +by the distinguished position of the count; for, owing to +the good taste of Mercedes, one was sure of finding some +devices at her entertainment worthy of describing, or even +copying in case of need. Madame Danglars, in whom the events +we have related had caused deep anxiety, had hesitated about +going to Madame de Morcerf's, when during the morning her +carriage happened to meet that of Villefort. The latter made +a sign, and when the carriages had drawn close together, +said, -- "You are going to Madame de Morcerf's, are you +not?" + +"No," replied Madame Danglars, "I am too ill." + +"You are wrong," replied Villefort, significantly; "it is +important that you should be seen there." + +"Do you think so?" asked the baroness. + +"I do." + +"In that case I will go." And the two carriages passed on +towards their different destinations. Madame Danglars +therefore came, not only beautiful in person, but radiant +with splendor; she entered by one door at the time when +Mercedes appeared at the door. The countess took Albert to +meet Madame Danglars. He approached, paid her some well +merited compliments on her toilet, and offered his arm to +conduct her to a seat. Albert looked around him. "You are +looking for my daughter?" said the baroness, smiling. + +"I confess it," replied Albert. "Could you have been so +cruel as not to bring her?" + +"Calm yourself. She has met Mademoiselle de Villefort, and +has taken her arm; see, they are following us, both in white +dresses, one with a bouquet of camellias, the other with one +of myosotis. But tell me" -- + +"Well, what do you wish to know?" + +"Will not the Count of Monte Cristo be here to-night?" + +"Seventeen!" replied Albert. + +"What do you mean?" + +"I only mean that the count seems the rage," replied the +viscount, smiling, "and that you are the seventeenth person +that has asked me the same question. The count is in +fashion; I congratulate him upon it." + +"And have you replied to every one as you have to me?" + +"Ah, to be sure, I have not answered you; be satisfied, we +shall have this `lion;' we are among the privileged ones." + +"Were you at the opera yesterday?" + +"No." + +"He was there." + +"Ah, indeed? And did the eccentric person commit any new +originality?" + +"Can he be seen without doing so? Elssler was dancing in the +`Diable Boiteux;' the Greek princess was in ecstasies. After +the cachucha he placed a magnificent ring on the stem of a +bouquet, and threw it to the charming danseuse, who, in the +third act, to do honor to the gift, reappeared with it on +her finger. And the Greek princess, -- will she be here?" + +"No, you will be deprived of that pleasure; her position in +the count's establishment is not sufficiently understood." + +"Wait; leave me here, and go and speak to Madame de +Villefort, who is trying to attract your attention." + +Albert bowed to Madame Danglars, and advanced towards Madame +de Villefort, whose lips opened as he approached. "I wager +anything," said Albert, interrupting her, "that I know what +you were about to say." + +"Well, what is it?" + +"If I guess rightly, will you confess it?" + +"Yes." + +"On your honor?" + +"On my honor." + +"You were going to ask me if the Count of Monte Cristo had +arrived, or was expected." + +"Not at all. It is not of him that I am now thinking. I was +going to ask you if you had received any news of Monsieur +Franz." + +"Yes, -- yesterday." + +"What did he tell you?" + +"That he was leaving at the same time as his letter." + +"Well, now then, the count?" + +"The count will come, of that you may be satisfied." + +"You know that he has another name besides Monte Cristo?" + +"No, I did not know it." + +"Monte Cristo in the name of an island, and he has a family +name." + +"I never heard it." + +"Well, then, I am better informed than you; his name is +Zaccone." + +"It is possible." + +"He is a Maltese." + +"That is also possible. + +"The son of a shipowner." + +"Really, you should relate all this aloud, you would have +the greatest success." + +"He served in India, discovered a mine in Thessaly, and +comes to Paris to establish a mineral water-cure at +Auteuil." + +"Well, I'm sure," said Morcerf, "this is indeed news! Am I +allowed to repeat it?" + +"Yes, but cautiously, tell one thing at a time, and do not +say I told you." + +"Why so?" + +"Because it is a secret just discovered." + +"By whom?" + +"The police." + +"Then the news originated" -- + +"At the prefect's last night. Paris, you can understand, is +astonished at the sight of such unusual splendor, and the +police have made inquiries." + +"Well, well! Nothing more is wanting than to arrest the +count as a vagabond, on the pretext of his being too rich." + +"Indeed, that doubtless would have happened if his +credentials had not been so favorable." + +"Poor count! And is he aware of the danger he has been in?" + +"I think not." + +"Then it will be but charitable to inform him. When he +arrives, I will not fail to do so." + +Just then, a handsome young man, with bright eyes, black +hair, and glossy mustache, respectfully bowed to Madame de +Villefort. Albert extended his hand. "Madame," said Albert, +"allow me to present to you M. Maximilian Morrel, captain of +Spahis, one of our best, and, above all, of our bravest +officers." + +"I have already had the pleasure of meeting this gentleman +at Auteuil, at the house of the Count of Monte Cristo," +replied Madame de Villefort, turning away with marked +coldness of manner. This answer, and especially the tone in +which it was uttered, chilled the heart of poor Morrel. But +a recompense was in store for him; turning around, he saw +near the door a beautiful fair face, whose large blue eyes +were, without any marked expression, fixed upon him, while +the bouquet of myosotis was gently raised to her lips. + +The salutation was so well understood that Morrel, with the +same expression in his eyes, placed his handkerchief to his +mouth; and these two living statues, whose hearts beat so +violently under their marble aspect, separated from each +other by the whole length of the room, forgot themselves for +a moment, or rather forgot the world in their mutual +contemplation. They might have remained much longer lost in +one another, without any one noticing their abstraction. The +Count of Monte Cristo had just entered. + +We have already said that there was something in the count +which attracted universal attention wherever he appeared. It +was not the coat, unexceptional in its cut, though simple +and unornamented; it was not the plain white waistcoat; it +was not the trousers, that displayed the foot so perfectly +formed -- it was none of these things that attracted the +attention, -- it was his pale complexion, his waving black +hair, his calm and serene expression, his dark and +melancholy eye, his mouth, chiselled with such marvellous +delicacy, which so easily expressed such high disdain, -- +these were what fixed the attention of all upon him. Many +men might have been handsomer, but certainly there could be +none whose appearance was more significant, if the +expression may be used. Everything about the count seemed to +have its meaning, for the constant habit of thought which he +had acquired had given an ease and vigor to the expression +of his face, and even to the most trifling gesture, scarcely +to be understood. Yet the Parisian world is so strange, that +even all this might not have won attention had there not +been connected with it a mysterious story gilded by an +immense fortune. + +Meanwhile he advanced through the assemblage of guests under +a battery of curious glances towards Madame de Morcerf, who, +standing before a mantle-piece ornamented with flowers, had +seen his entrance in a looking-glass placed opposite the +door, and was prepared to receive him. She turned towards +him with a serene smile just at the moment he was bowing to +her. No doubt she fancied the count would speak to her, +while on his side the count thought she was about to address +him; but both remained silent, and after a mere bow, Monte +Cristo directed his steps to Albert, who received him +cordially. "Have you seen my mother?" asked Albert. + +"I have just had the pleasure," replied the count; "but I +have not seen your father." + +"See, he is down there, talking politics with that little +group of great geniuses." + +"Indeed?" said Monte Cristo; "and so those gentlemen down +there are men of great talent. I should not have guessed it. +And for what kind of talent are they celebrated? You know +there are different sorts." + +"That tall, harsh-looking man is very learned, he +discovered, in the neighborhood of Rome, a kind of lizard +with a vertebra more than lizards usually have, and he +immediately laid his discovery before the Institute. The +thing was discussed for a long time, but finally decided in +his favor. I can assure you the vertebra made a great noise +in the learned world, and the gentleman, who was only a +knight of the Legion of Honor, was made an officer." + +"Come," said Monte Cristo, "this cross seems to me to be +wisely awarded. I suppose, had he found another additional +vertebra, they would have made him a commander." + +"Very likely," said Albert. + +"And who can that person be who has taken it into his head +to wrap himself up in a blue coat embroidered with green?" + +"Oh, that coat is not his own idea; it is the Republic's, +which deputed David* to devise a uniform for the +Academicians." + +* Louis David, a famous French painter. + +"Indeed?" said Monte Cristo; "so this gentleman is an +Academician?" + +"Within the last week he has been made one of the learned +assembly." + +"And what is his especial talent?" + +"His talent? I believe he thrusts pins through the heads of +rabbits, he makes fowls eat madder, and punches the spinal +marrow out of dogs with whalebone." + +"And he is made a member of the Academy of Sciences for +this?" + +"No; of the French Academy." + +"But what has the French Academy to do with all this?" + +"I was going to tell you. It seems" -- + +"That his experiments have very considerably advanced the +cause of science, doubtless?" + +"No; that his style of writing is very good." + +"This must be very flattering to the feelings of the rabbits +into whose heads he has thrust pins, to the fowls whose +bones he has dyed red, and to the dogs whose spinal marrow +he has punched out?" + +Albert laughed. + +"And the other one?" demanded the count. + +"That one?" + +"Yes, the third." + +"The one in the dark blue coat?" + +"Yes." + +"He is a colleague of the count, and one of the most active +opponents to the idea of providing the Chamber of Peers with +a uniform. He was very successful upon that question. He +stood badly with the Liberal papers, but his noble +opposition to the wishes of the court is now getting him +into favor with the journalists. They talk of making him an +ambassador." + +"And what are his claims to the peerage?" + +"He has composed two or three comic operas, written four or +five articles in the Siecle, and voted five or six years on +the ministerial side." + +"Bravo, Viscount," said Monte Cristo, smiling; "you are a +delightful cicerone. And now you will do me a favor, will +you not?" + +"What is it?" + +"Do not introduce me to any of these gentlemen; and should +they wish it, you will warn me." Just then the count felt +his arm pressed. He turned round; it was Danglars. + +"Ah, is it you, baron?" said he. + +"Why do you call me baron?" said Danglars; "you know that I +care nothing for my title. I am not like you, viscount; you +like your title, do you not?" + +"Certainly," replied Albert, "seeing that without my title I +should be nothing; while you, sacrificing the baron, would +still remain the millionaire." + +"Which seems to me the finest title under the royalty of +July," replied Danglars. + +"Unfortunately," said Monte Cristo, "one's title to a +millionaire does not last for life, like that of baron, peer +of France, or Academician; for example, the millionaires +Franck & Poulmann, of Frankfort, who have just become +bankrupts." + +"Indeed?" said Danglars, becoming pale. + +"Yes; I received the news this evening by a courier. I had +about a million in their hands, but, warned in time, I +withdrew it a month ago." + +"Ah, mon Dieu," exclaimed Danglars, "they have drawn on me +for 200,000 francs!" + +"Well, you can throw out the draft; their signature is worth +five per cent." + +"Yes, but it is too late," said Danglars, "I have honored +their bills." + +"Then," said Monte Cristo, "here are 200,000 francs gone +after" -- + +"Hush, do not mention these things," said Danglars; then, +approaching Monte Cristo, he added, "especially before young +M. Cavalcanti;" after which he smiled, and turned towards +the young man in question. Albert had left the count to +speak to his mother, Danglars to converse with young +Cavalcanti; Monte Cristo was for an instant alone. Meanwhile +the heat became excessive. The footmen were hastening +through the rooms with waiters loaded with ices. Monte +Cristo wiped the perspiration from his forehead, but drew +back when the waiter was presented to him; he took no +refreshment. Madame de Morcerf did not lose sight of Monte +Cristo; she saw that he took nothing, and even noticed his +gesture of refusal. + +"Albert," she asked, "did you notice that?" + +"What, mother?" + +"That the count has never been willing to partake of food +under the roof of M. de Morcerf." + +"Yes; but then he breakfasted with me -- indeed, he made his +first appearance in the world on that occasion." + +"But your house is not M. de Morcerf's," murmured Mercedes; +"and since he has been here I have watched him." + +"Well?" + +"Well, he has taken nothing yet." + +"The count is very temperate." Mercedes smiled sadly. +"Approach him," said she, "and when the next waiter passes, +insist upon his taking something." + +"But why, mother?" + +"Just to please me, Albert," said Mercedes. Albert kissed +his mother's hand, and drew near the count. Another salver +passed, loaded like the preceding ones; she saw Albert +attempt to persuade the count, but he obstinately refused. +Albert rejoined his mother; she was very pale. + +"Well," said she, "you see he refuses?" + +"Yes; but why need this annoy you?" + +"You know, Albert, women are singular creatures. I should +like to have seen the count take something in my house, if +only an ice. Perhaps he cannot reconcile himself to the +French style of living, and might prefer something else." + +"Oh, no; I have seen him eat of everything in Italy; no +doubt he does not feel inclined this evening." + +"And besides," said the countess, "accustomed as he is to +burning climates, possibly he does not feel the heat as we +do." + +"I do not think that, for he has complained of feeling +almost suffocated, and asked why the Venetian blinds were +not opened as well as the windows." + +"In a word," said Mercedes, "it was a way of assuring me +that his abstinence was intended." And she left the room. A +minute afterwards the blinds were thrown open, and through +the jessamine and clematis that overhung the window one +could see the garden ornamented with lanterns, and the +supper laid under the tent. Dancers, players, talkers, all +uttered an exclamation of joy -- every one inhaled with +delight the breeze that floated in. At the same time +Mercedes reappeared, paler than before, but with that +imperturbable expression of countenance which she sometimes +wore. She went straight to the group of which her husband +formed the centre. "Do not detain those gentlemen here, +count," she said; "they would prefer, I should think, to +breathe in the garden rather than suffocate here, since they +are not playing." + +"Ah," said a gallant old general, who, in 1809, had sung +"Partant pour la Syrie," -- "we will not go alone to the +garden." + +"Then," said Mercedes, "I will lead the way." Turning +towards Monte Cristo, she added, "count, will you oblige me +with your arm?" The count almost staggered at these simple +words; then he fixed his eyes on Mercedes. It was only a +momentary glance, but it seemed to the countess to have +lasted for a century, so much was expressed in that one +look. He offered his arm to the countess; she took it, or +rather just touched it with her little hand, and they +together descended the steps, lined with rhododendrons and +camellias. Behind them, by another outlet, a group of about +twenty persons rushed into the garden with loud exclamations +of delight. + + + +Chapter 71 +Bread and Salt. + +Madame de Morcerf entered an archway of trees with her +companion. It led through a grove of lindens to a +conservatory. + +"It was too warm in the room, was it not, count?" she asked. + +"Yes, madame; and it was an excellent idea of yours to open +the doors and the blinds." As he ceased speaking, the count +felt the hand of Mercedes tremble. "But you," he said, "with +that light dress, and without anything to cover you but that +gauze scarf, perhaps you feel cold?" + +"Do you know where I am leading you?" said the countess, +without replying to the question. + +"No, madame," replied Monte Cristo; "but you see I make no +resistance." + +"We are going to the greenhouse that you see at the other +end of the grove." + +The count looked at Mercedes as if to interrogate her, but +she continued to walk on in silence, and he refrained from +speaking. They reached the building, ornamented with +magnificent fruits, which ripen at the beginning of July in +the artificial temperature which takes the place of the sun, +so frequently absent in our climate. The countess left the +arm of Monte Cristo, and gathered a bunch of Muscatel +grapes. "See, count," she said, with a smile so sad in its +expression that one could almost detect the tears on her +eyelids -- "see, our French grapes are not to be compared, I +know, with yours of Sicily and Cyprus, but you will make +allowance for our northern sun." The count bowed, but +stepped back. "Do you refuse?" said Mercedes, in a tremulous +voice. "Pray excuse me, madame," replied Monte Cristo, "but +I never eat Muscatel grapes." + +Mercedes let them fall, and sighed. A magnificent peach was +hanging against an adjoining wall, ripened by the same +artificial heat. Mercedes drew near, and plucked the fruit. +"Take this peach, then," she said. The count again refused. +"What, again?" she exclaimed, in so plaintive an accent that +it seemed to stifle a sob; "really, you pain me." + +A long silence followed; the peach, like the grapes, fell to +the ground. "Count," added Mercedes with a supplicating +glance, "there is a beautiful Arabian custom, which makes +eternal friends of those who have together eaten bread and +salt under the same roof." + +"I know it, madame," replied the count; "but we are in +France, and not in Arabia, and in France eternal friendships +are as rare as the custom of dividing bread and salt with +one another." + +"But," said the countess, breathlessly, with her eyes fixed +on Monte Cristo, whose arm she convulsively pressed with +both hands, "we are friends, are we not?" + +The count became pale as death, the blood rushed to his +heart, and then again rising, dyed his cheeks with crimson; +his eyes swam like those of a man suddenly dazzled. +"Certainly, we are friends," he replied; "why should we not +be?" The answer was so little like the one Mercedes desired, +that she turned away to give vent to a sigh, which sounded +more like a groan. "Thank you," she said. And they walked on +again. They went the whole length of the garden without +uttering a word. "Sir," suddenly exclaimed the countess, +after their walk had continued ten minutes in silence, "is +it true that you have seen so much, travelled so far, and +suffered so deeply?" + +"I have suffered deeply, madame," answered Monte Cristo. + +"But now you are happy?" + +"Doubtless," replied the count, "since no one hears me +complain." + +"And your present happiness, has it softened your heart?" + +"My present happiness equals my past misery," said the +count. + +"Are you not married?" asked the countess. "I married?" +exclaimed Monte Cristo, shuddering; "who could have told you +so?" + +"No one told me you were, but you have frequently been seen +at the opera with a young and lovely woman." + +"She is a slave whom I bought at Constantinople, madame, the +daughter of a prince. I have adopted her as my daughter, +having no one else to love in the world." + +"You live alone, then?" + +"I do." + +"You have no sister -- no son -- no father?" + +"I have no one." + +"How can you exist thus without any one to attach you to +life?" + +"It is not my fault, madame. At Malta, I loved a young girl, +was on the point of marrying her, when war came and carried +me away. I thought she loved me well enough to wait for me, +and even to remain faithful to my memory. When I returned +she was married. This is the history of most men who have +passed twenty years of age. Perhaps my heart was weaker than +the hearts of most men, and I suffered more than they would +have done in my place; that is all." The countess stopped +for a moment, as if gasping for breath. "Yes," she said, +"and you have still preserved this love in your heart -- one +can only love once -- and did you ever see her again?" + +"Never." + +"Never?" + +"I never returned to the country where she lived." + +"To Malta?" + +"Yes; Malta." + +"She is, then, now at Malta?" + +"I think so." + +"And have you forgiven her for all she has made you suffer?" + +"Her, -- yes." + +"But only her; do you then still hate those who separated +you?" + +"I hate them? Not at all; why should I?" The countess placed +herself before Monte Cristo, still holding in her hand a +portion of the perfumed grapes. "Take some," she said. +"Madame, I never eat Muscatel grapes," replied Monte Cristo, +as if the subject had not been mentioned before. The +countess dashed the grapes into the nearest thicket, with a +gesture of despair. "Inflexible man!" she murmured. Monte +Cristo remained as unmoved as if the reproach had not been +addressed to him. Albert at this moment ran in. "Oh, +mother," he exclaimed, "such a misfortune his happened!" + +"What? What has happened?" asked the countess, as though +awakening from a sleep to the realities of life; "did you +say a misfortune? Indeed, I should expect misfortunes." + +"M. de Villefort is here." + +"Well?" + +"He comes to fetch his wife and daughter." + +"Why so?" + +"Because Madame de Saint-Meran is just arrived in Paris, +bringing the news of M. de Saint-Meran's death, which took +place on the first stage after he left Marseilles. Madame de +Villefort, who was in very good spirits, would neither +believe nor think of the misfortune, but Mademoiselle +Valentine, at the first words, guessed the whole truth, +notwithstanding all the precautions of her father; the blow +struck her like a thunderbolt, and she fell senseless." + +"And how was M. de Saint-Meran related to Mademoiselle de +Villefort?" said the count. + +"He was her grandfather on the mother's side. He was coming +here to hasten her marriage with Franz." + +"Ah, indeed?" + +"So Franz must wait. Why was not M. de Saint-Meran also +grandfather to Mademoiselle Danglars?" + +"Albert, Albert," said Madame de Morcerf, in a tone of mild +reproof, "what are you saying? Ah, count, he esteems you so +highly, tell him that he has spoken amiss." And she took two +or three steps forward. Monte Cristo watched her with an air +so thoughtful, and so full of affectionate admiration, that +she turned back and grasped his hand; at the same time she +seized that of her son, and joined them together. + +"We are friends; are we not?" she asked. + +"Oh, madame, I do not presume to call myself your friend, +but at all times I am your most respectful servant." The +countess left with an indescribable pang in her heart, and +before she had taken ten steps the count saw her raise her +handkerchief to her eyes. "Do not my mother and you agree?" +asked Albert, astonished. + +"On the contrary," replied the count, "did you not hear her +declare that we were friends?" They re-entered the +drawing-room, which Valentine and Madame de Villefort had +just quitted. It is perhaps needless to add that Morrel +departed almost at the same time. + + + +Chapter 72 +Madame de Saint-Meran. + +A gloomy scene had indeed just passed at the house of M. de +Villefort. After the ladies had departed for the ball, +whither all the entreaties of Madame de Villefort had failed +in persuading him to accompany them, the procureur had shut +himself up in his study, according to his custom. with a +heap of papers calculated to alarm any one else, but which +generally scarcely satisfied his inordinate desires. But +this time the papers were a mere matter of form. Villefort +had secluded himself, not to study, but to reflect; and with +the door locked and orders given that he should not be +disturbed excepting for important business, he sat down in +his arm-chair and began to ponder over the events, the +remembrance of which had during the last eight days filled +his mind with so many gloomy thoughts and bitter +recollections. Then, instead of plunging into the mass of +documents piled before him, he opened the drawer of his +desk. touched a spring, and drew out a parcel of cherished +memoranda, amongst which he had carefully arranged, in +characters only known to himself, the names of all those +who, either in his political career, in money matters, at +the bar, or in his mysterious love affairs, had become his +enemies. + +Their number was formidable, now that he had begun to fear, +and yet these names, powerful though they were, had often +caused him to smile with the same kind of satisfaction +experienced by a traveller who from the summit of a mountain +beholds at his feet the craggy eminences, the almost +impassable paths, and the fearful chasms, through which he +has so perilously climbed. When he had run over all these +names in his memory, again read and studied them, commenting +meanwhile upon his lists, he shook his head. + +"No," he murmured, "none of my enemies would have waited so +patiently and laboriously for so long a space of time, that +they might now come and crush me with this secret. +Sometimes, as Hamlet says -- + +`Foul deeds will rise, +Tho, all the earth o'erwhelm them to men's eyes;' + +but, like a phosphoric light, they rise but to mislead. The +story has been told by the Corsican to some priest, who in +his turn has repeated it. M. de Monte Cristo may have heard +it, and to enlighten himself -- but why should he wish to +enlighten himself upon the subject?" asked Villefort, after +a moment's reflection, "what interest can this M. de Monte +Cristo or M. Zaccone, -- son of a shipowner of Malta, +discoverer of a mine in Thessaly, now visiting Paris for the +first time, -- what interest, I say, can he take in +discovering a gloomy, mysterious, and useless fact like +this? However, among all the incoherent details given to me +by the Abbe Busoni and by Lord Wilmore, by that friend and +that enemy, one thing appears certain and clear in my +opinion -- that in no period, in no case, in no +circumstance, could there have been any contact between him +and me." + +But Villefort uttered words which even he himself did not +believe. He dreaded not so much the revelation, for he could +reply to or deny its truth; -- he cared little for that +mene, tekel, upharsin, which appeared suddenly in letters of +blood upon the wall; -- but what he was really anxious for +was to discover whose hand had traced them. While he was +endeavoring to calm his fears, -- and instead of dwelling +upon the political future that had so often been the subject +of his ambitious dreams, was imagining a future limited to +the enjoyments of home, in fear of awakening the enemy that +had so long slept, -- the noise of a carriage sounded in the +yard, then he heard the steps of an aged person ascending +the stairs, followed by tears and lamentations, such as +servants always give vent to when they wish to appear +interested in their master's grief. He drew back the bolt of +his door, and almost directly an old lady entered, +unannounced, carrying her shawl on her arm, and her bonnet +in her hand. The white hair was thrown back from her yellow +forehead, and her eyes, already sunken by the furrows of +age, now almost disappeared beneath the eyelids swollen with +grief. "Oh, sir," she said; "oh, sir, what a misfortune! I +shall die of it; oh, yes, I shall certainly die of it!" + +And then, falling upon the chair nearest the door, she burst +into a paroxysm of sobs. The servants, standing in the +doorway, not daring to approach nearer, were looking at +Noirtier's old servant, who had heard the noise from his +master's room, and run there also, remaining behind the +others. Villefort rose, and ran towards his mother-in-law, +for it was she. + +"Why, what can have happened?" he exclaimed, "what has thus +disturbed you? Is M. de Saint-Meran with you?" + +"M. de Saint-Meran is dead," answered the old marchioness, +without preface and without expression; she appeared to be +stupefied. Villefort drew back, and clasping his hands +together, exclaimed -- "Dead! -- so suddenly?" + +"A week ago," continued Madame de Saint-Meran, "we went out +together in the carriage after dinner. M. de Saint-Meran had +been unwell for some days; still, the idea of seeing our +dear Valentine again inspired him with courage, and +notwithstanding his illness he would leave. At six leagues +from Marseilles, after having eaten some of the lozenges he +is accustomed to take, he fell into such a deep sleep, that +it appeared to me unnatural; still I hesitated to wake him, +although I fancied that his face was flushed, and that the +veins of his temples throbbed more violently than usual. +However, as it became dark, and I could no longer see, I +fell asleep; I was soon aroused by a piercing shriek, as +from a person suffering in his dreams, and he suddenly threw +his head back violently. I called the valet, I stopped the +postilion, I spoke to M. de Saint-Meran, I applied my +smelling-salts; but all was over, and I arrived at Aix by +the side of a corpse." Villefort stood with his mouth half +open, quite stupefied. + +"Of course you sent for a doctor?" + +"Immediately; but, as I have told you, it was too late." + +"Yes; but then he could tell of what complaint the poor +marquis had died." + +"Oh, yes, sir, he told me; it appears to have been an +apoplectic stroke." + +"And what did you do then?" + +"M. de Saint-Meran had always expressed a desire, in case +his death happened during his absence from Paris, that his +body might be brought to the family vault. I had him put +into a leaden coffin, and I am preceding him by a few days." + +"Oh, my poor mother," said Villefort, "to have such duties +to perform at your age after such a blow!" + +"God has supported me through all; and then, my dear +marquis, he would certainly have done everything for me that +I performed for him. It is true that since I left him, I +seem to have lost my senses. I cannot cry; at my age they +say that we have no more tears, -- still I think that when +one is in trouble one should have the power of weeping. +Where is Valentine. sir? It is on her account I am here; I +wish to see Valentine." Villefort thought it would be +terrible to reply that Valentine was at a ball; so he only +said that she had gone out with her step-mother, and that +she should be fetched. "This instant, sir -- this instant, I +beseech you!" said the old lady. Villefort placed the arm of +Madame de Saint-Meran within his own, and conducted her to +his apartment. "Rest yourself, mother," he said. + +The marchioness raised her head at this word, and beholding +the man who so forcibly reminded her of her deeply-regretted +child, who still lived for her in Valentine, she felt +touched at the name of mother, and bursting into tears, she +fell on her knees before an arm-chair, where she buried her +venerable head. Villefort left her to the care of the women, +while old Barrois ran, half-scared, to his master; for +nothing frightens old people so much as when death relaxes +its vigilance over them for a moment in order to strike some +other old person. Then, while Madame de Saint-Meran remained +on her knees, praying fervently, Villefort sent for a cab, +and went himself to fetch his wife and daughter from Madame +de Morcerf's. He was so pale when he appeared at the door of +the ball-room, that Valentine ran to him, saying -- + +"Oh, father, some misfortune has happened!" + +"Your grandmamma has just arrived, Valentine," said M. de +Villefort. + +"And grandpapa?" inquired the young girl, trembling with +apprehension. M. de Villefort only replied by offering his +arm to his daughter. It was just in time, for Valentine's +head swam, and she staggered; Madame de Villefort instantly +hastened to her assistance, and aided her husband in +dragging her to the carriage, saying -- "What a singular +event! Who could have thought it? Ah, yes, it is indeed +strange!" And the wretched family departed, leaving a cloud +of sadness hanging over the rest of the evening. At the foot +of the stairs, Valentine found Barrois awaiting her. + +"M. Noirtier wishes to see you to-night, he said, in an +undertone. + +"Tell him I will come when I leave my dear grandmamma," she +replied, feeling, with true delicacy, that the person to +whom she could be of the most service just then was Madame +de Saint-Meran. Valentine found her grandmother in bed; +silent caresses, heartwrung sobs, broken sighs, burning +tears, were all that passed in this sad interview, while +Madame de Villefort, leaning on her husband's arm, +maintained all outward forms of respect, at least towards +the poor widow. She soon whispered to her husband, "I think +it would be better for me to retire, with your permission, +for the sight of me appears still to afflict your +mother-in-law." Madame de Saint-Meran heard her. "Yes, yes," +she said softly to Valentine, "let her leave; but do you +stay." Madame de Villefort left, and Valentine remained +alone beside the bed, for the procureur, overcome with +astonishment at the unexpected death, had followed his wife. +Meanwhile, Barrois had returned for the first time to old +Noirtier, who having heard the noise in the house, had, as +we have said, sent his old servant to inquire the cause; on +his return, his quick intelligent eye interrogated the +messenger. "Alas, sir," exclaimed Barrois, "a great +misfortune has happened. Madame de Saint-Meran has arrived, +and her husband is dead!" + +M. de Saint-Meran and Noirtier had never been on strict +terms of friendship; still, the death of one old man always +considerably affects another. Noirtier let his head fall +upon his chest, apparently overwhelmed and thoughtful; then +he closed one eye, in token of inquiry. "Mademoiselle +Valentine?" Noirtier nodded his head. "She is at the ball, +as you know, since she came to say good-by to you in full +dress." Noirtier again closed his left eye. "Do you wish to +see her?" Noirtier again made an affirmative sign. "Well, +they have gone to fetch her, no doubt, from Madame de +Morcerf's; I will await her return, and beg her to come up +here. Is that what you wish for?" + +"Yes," replied the invalid. + +Barrois, therefore, as we have seen, watched for Valentine, +and informed her of her grandfather's wish. Consequently, +Valentine came up to Noirtier, on leaving Madame de +Saint-Meran, who in the midst of her grief had at last +yielded to fatigue and fallen into a feverish sleep. Within +reach of her hand they placed a small table upon which stood +a bottle of orangeade, her usual beverage, and a glass. +Then, as we have said, the young girl left the bedside to +see M. Noirtier. Valentine kissed the old man, who looked at +her with such tenderness that her eyes again filled with +tears, whose sources he thought must be exhausted. The old +gentleman continued to dwell upon her with the same +expression. "Yes, yes," said Valentine, "you mean that I +have yet a kind grandfather left, do you not." The old man +intimated that such was his meaning. "Ah, yes, happily I +have," replied Valentine. "Without that, what would become +of me?" + +It was one o'clock in the morning. Barrois, who wished to go +to bed himself, observed that after such sad events every +one stood in need of rest. Noirtier would not say that the +only rest he needed was to see his child, but wished her +good-night, for grief and fatigue had made her appear quite +ill. The next morning she found her grandmother in bed; the +fever had not abated, on the contrary her eyes glistened and +she appeared to be suffering from violent nervous +irritability. "Oh, dear grandmamma, are you worse?" +exclaimed Valentine, perceiving all these signs of +agitation. + +"No, my child, no," said Madame de Saint-Meran; "but I was +impatiently waiting for your arrival, that I might send for +your father." + +"My father?" inquired Valentine, uneasily. + +"Yes, I wish to speak to him." Valentine durst not oppose +her grandmother's wish, the cause of which she did not know, +and an instant afterwards Villefort entered. "Sir," said +Madame de Saint-Meran, without using any circumlocution, and +as if fearing she had no time to lose, "you wrote to me +concerning the marriage of this child?" + +"Yes, madame," replied Villefort, "it is not only projected +but arranged." + +"Your intended son-in-law is named M. Franz d'Epinay?" + +"Yes, madame." + +"Is he not the son of General d'Epinay who was on our side, +and who was assassinated some days before the usurper +returned from the Island of Elba?" + +"The same." + +"Does he not dislike the idea of marrying the granddaughter +of a Jacobin?" + +"Our civil dissensions are now happily extinguished, +mother," said Villefort; "M. d'Epinay was quite a child when +his father died, he knows very little of M. Noirtier, and +will meet him, if not with pleasure, at least with +indifference." + +"Is it a suitable match?" + +"In every respect." + +"And the young man?" + +"Is regarded with universal esteem." + +"You approve of him?" + +"He is one of the most well-bred young men I know." During +the whole of this conversation Valentine had remained +silent. "Well, sir," said Madame de Saint-Meran, after a few +minutes' reflection, "I must hasten the marriage, for I have +but a short time to live." + +"You, madame?" "You, dear mamma?" exclaimed M. de Villefort +and Valentine at the same time. + +"I know what I am saying," continued the marchioness; "I +must hurry you, so that, as she has no mother, she may at +least have a grandmother to bless her marriage. I am all +that is left to her belonging to my poor Renee, whom you +have so soon forgotten, sir." + +"Ah, madame," said Villefort, "you forget that I was obliged +to give a mother to my child." + +"A stepmother is never a mother, sir. But this is not to the +purpose, -- our business concerns Valentine, let us leave +the dead in peace." + +All this was said with such exceeding rapidity, that there +was something in the conversation that seemed like the +beginning of delirium. + +"It shall be as you wish, madame," said Villefort; "more +especially since your wishes coincide with mine, and as soon +as M. d'Epinay arrives in Paris" -- + +"My dear grandmother," interrupted Valentine, "consider +decorum -- the recent death. You would not have me marry +under such sad auspices?" + +"My child," exclaimed the old lady sharply, "let us hear +none of the conventional objections that deter weak minds +from preparing for the future. I also was married at the +death-bed of my mother, and certainly I have not been less +happy on that account." + +"Still that idea of death, madame," said Villefort. + +"Still? -- Always! I tell you I am going to die -- do you +understand? Well, before dying, I wish to see my son-in-law. +I wish to tell him to make my child happy; I wish to read in +his eyes whether he intends to obey me; -- in fact, I will +know him -- I will!" continued the old lady, with a fearful +expression, "that I may rise from the depths of my grave to +find him, if he should not fulfil his duty!" + +"Madame," said Villefort, "you must lay aside these exalted +ideas, which almost assume the appearance of madness. The +dead, once buried in their graves, rise no more." + +"And I tell you, sir, that you are mistaken. This night I +have had a fearful sleep. It seemed as though my soul were +already hovering over my body, my eyes, which I tried to +open, closed against my will, and what will appear +impossible above all to you, sir, I saw, with my eyes shut, +in the spot where you are now standing, issuing from that +corner where there is a door leading into Madame Villefort's +dressing-room -- I saw, I tell you, silently enter, a white +figure." Valentine screamed. "It was the fever that +disturbed you, madame," said Villefort. + +"Doubt, if you please, but I am sure of what I say. I saw a +white figure, and as if to prevent my discrediting the +testimony of only one of my senses, I heard my glass removed +-- the same which is there now on the table." + +"Oh, dear mother, it was a dream." + +"So little was it a dream, that I stretched my hand towards +the bell; but when I did so, the shade disappeared; my maid +then entered with a light." + +"But she saw no one?" + +"Phantoms are visible to those only who ought to see them. +It was the soul of my husband! -- Well, if my husband's soul +can come to me, why should not my soul reappear to guard my +granddaughter? the tie is even more direct, it seems to me." + +"Oh, madame," said Villefort, deeply affected, in spite of +himself, "do not yield to those gloomy thoughts; you will +long live with us, happy, loved, and honored, and we will +make you forget" -- + +"Never, never, never," said the marchioness. "when does M. +d'Epinay return?" + +"We expect him every moment." + +"It is well. As soon as he arrives inform me. We must be +expeditious. And then I also wish to see a notary, that I +may be assured that all our property returns to Valentine." + +"Ah, grandmamma," murmured Valentine, pressing her lips on +the burning brow, "do you wish to kill me? Oh, how feverish +you are; we must not send for a notary, but for a doctor." + +"A doctor?" said she, shrugging her shoulders, "I am not +ill; I am thirsty -- that is all." + +"What are you drinking, dear grandmamma?" + +"The same as usual, my dear, my glass is there on the table +-- give it to me, Valentine." Valentine poured the orangeade +into a glass and gave it to her grandmother with a certain +degree of dread, for it was the same glass she fancied that +had been touched by the spectre. The marchioness drained the +glass at a single draught, and then turned on her pillow, +repeating, -- "The notary, the notary!" + +M. de Villefort left the room, and Valentine seated herself +at the bedside of her grandmother. The poor child appeared +herself to require the doctor she had recommended to her +aged relative. A bright spot burned in either cheek, her +respiration was short and difficult, and her pulse beat with +feverish excitement. She was thinking of the despair of +Maximilian, when he should be informed that Madame de +Saint-Meran, instead of being an ally, was unconsciously +acting as his enemy. More than once she thought of revealing +all to her grandmother, and she would not have hesitated a +moment, if Maximilian Morrel had been named Albert de +Morcerf or Raoul de Chateau-Renaud; but Morrel was of +plebeian extraction, and Valentine knew how the haughty +Marquise de Saint-Meran despised all who were not noble. Her +secret had each time been repressed when she was about to +reveal it, by the sad conviction that it would be useless to +do so; for, were it once discovered by her father and +mother, all would be lost. Two hours passed thus; Madame de +Saint-Meran was in a feverish sleep, and the notary had +arrived. Though his coming was announced in a very low tone, +Madame de Saint-Meran arose from her pillow. "The notary!" +she exclaimed, "let him come in." + +The notary, who was at the door, immediately entered. "Go, +Valentine," said Madame de Saint-Meran, "and leave me with +this gentleman." + +"But, grandmamma" -- + +"Leave me -- go!" The young girl kissed her grandmother, and +left with her handkerchief to her eyes; at the door she +found the valet de chambre, who told her that the doctor was +waiting in the dining-room. Valentine instantly ran down. +The doctor was a friend of the family, and at the same time +one of the cleverest men of the day, and very fond of +Valentine, whose birth he had witnessed. He had himself a +daughter about her age, but whose life was one continued +source of anxiety and fear to him from her mother having +been consumptive. + +"Oh," said Valentine, "we have been waiting for you with +such impatience, dear M. d'Avrigny. But, first of all, how +are Madeleine and Antoinette?" Madeleine was the daughter of +M. d'Avrigny, and Antoinette his niece. M. d'Avrigny smiled +sadly. "Antoinette is very well," he said, "and Madeleine +tolerably so. But you sent for me, my dear child. It is not +your father or Madame de Villefort who is ill. As for you, +although we doctors cannot divest our patients of nerves, I +fancy you have no further need of me than to recommend you +not to allow your imagination to take too wide a field." +Valentine colored. M. d'Avrigny carried the science of +divination almost to a miraculous extent, for he was one of +the physicians who always work upon the body through the +mind. "No," she replied, "it is for my poor grandmother. You +know the calamity that has happened to us, do you not?" + +"I know nothing." said M. d'Avrigny. + +"Alas," said Valentine, restraining her tears, "my +grandfather is dead." + +"M. de Saint-Meran?" + +"Yes." + +"Suddenly?" + +"From an apoplectic stroke." + +"An apoplectic stroke?" repeated the doctor. + +"Yes, and my poor grandmother fancies that her husband, whom +she never left, has called her, and that she must go and +join him. Oh, M. d'Avrigny, I beseech you, do something for +her!" + +"Where is she?" + +"In her room with the notary." + +"And M. Noirtier?" + +"Just as he was, his mind perfectly clear, but the same +incapability of moving or speaking." + +"And the same love for you -- eh, my dear child?" + +"Yes," said Valentine, "he was very fond of me." + +"Who does not love you?" Valentine smiled sadly. "What are +your grandmother's symptoms?" + +"An extreme nervous excitement and a strangely agitated +sleep; she fancied this morning in her sleep that her soul +was hovering above her body, which she at the same time +watched. It must have been delirium; she fancies, too, that +she saw a phantom enter her chamber and even heard the noise +it made on touching her glass." + +"It is singular," said the doctor; "I was not aware that +Madame de Saint-Meran was subject to such hallucinations." + +"It is the first time I ever saw her in this condition," +said Valentine; "and this morning she frightened me so that +I thought her mad; and my father, who you know is a +strong-minded man, himself appeared deeply impressed." + +"We will go and see," said the doctor; "what you tell me +seems very strange." The notary here descended, and +Valentine was informed that her grandmother was alone. "Go +upstairs," she said to the doctor. + +"And you?" + +"Oh, I dare not -- she forbade my sending for you; and, as +you say, I am myself agitated, feverish and out of sorts. I +will go and take a turn in the garden to recover myself." +The doctor pressed Valentine's hand, and while he visited +her grandmother, she descended the steps. We need not say +which portion of the garden was her favorite walk. After +remaining for a short time in the parterre surrounding the +house, and gathering a rose to place in her waist or hair, +she turned into the dark avenue which led to the bench; then +from the bench she went to the gate. As usual, Valentine +strolled for a short time among her flowers, but without +gathering them. The mourning in her heart forbade her +assuming this simple ornament, though she had not yet had +time to put on the outward semblance of woe. She then turned +towards the avenue. As she advanced she fancied she heard a +voice speaking her name. She stopped astonished, then the +voice reached her ear more distinctly, and she recognized it +to be that of Maximilian. + + + +Chapter 73 +The Promise. + +It was, indeed, Maximilian Morrel, who had passed a wretched +existence since the previous day. With the instinct peculiar +to lovers he had anticipated after the return of Madame de +Saint-Meran and the death of the marquis, that something +would occur at M. de Villefort's in connection with his +attachment for Valentine. His presentiments were realized, +as we shall see, and his uneasy forebodings had goaded him +pale and trembling to the gate under the chestnut-trees. +Valentine was ignorant of the cause of this sorrow and +anxiety, and as it was not his accustomed hour for visiting +her, she had gone to the spot simply by accident or perhaps +through sympathy. Morrel called her, and she ran to the +gate. "You here at this hour?" said she. "Yes, my poor +girl," replied Morrel; "I come to bring and to hear bad +tidings." + +"This is, indeed, a house of mourning," said Valentine; +"speak, Maximilian, although the cup of sorrow seems already +full." + +"Dear Valentine," said Morrel, endeavoring to conceal his +own emotion, "listen, I entreat you; what I am about to say +is very serious. When are you to be married?" + +"I will tell you all," said Valentine; "from you I have +nothing to conceal. This morning the subject was introduced, +and my dear grandmother, on whom I depended as my only +support, not only declared herself favorable to it, but is +so anxious for it, that they only await the arrival of M. +d'Epinay, and the following day the contract will be +signed." A deep sigh escaped the young man, who gazed long +and mournfully at her he loved. "Alas," replied he, "it is +dreadful thus to hear my condemnation from your own lips. +The sentence is passed, and, in a few hours, will be +executed; it must be so, and I will not endeavor to prevent +it. But, since you say nothing remains but for M. d'Epinay +to arrive that the contract may be signed, and the following +day you will be his, to-morrow you will be engaged to M. +d'Epinay, for he came this morning to Paris." Valentine +uttered a cry. + +"I was at the house of Monte Cristo an hour since," said +Morrel; "we were speaking, he of the sorrow your family had +experienced, and I of your grief, when a carriage rolled +into the court-yard. Never, till then, had I placed any +confidence in presentiments, but now I cannot help believing +them, Valentine. At the sound of that carriage I shuddered; +soon I heard steps on the staircase, which terrified me as +much as the footsteps of the commander did Don Juan. The +door at last opened; Albert de Morcerf entered first, and I +began to hope my fears were vain, when, after him, another +young man advanced, and the count exclaimed -- `Ah, here is +the Baron Franz d'Epinay!' I summoned all my strength and +courage to my support. Perhaps I turned pale and trembled, +but certainly I smiled; and five minutes after I left, +without having heard one word that had passed." + +"Poor Maximilian!" murmured Valentine. + +"Valentine, the time has arrived when you must answer me. +And remember my life depends on your answer. What do you +intend doing?" Valentine held down her head; she was +overwhelmed. + +"Listen," said Morrel; "it is not the first time you have +contemplated our present position, which is a serious and +urgent one; I do not think it is a moment to give way to +useless sorrow; leave that for those who like to suffer at +their leisure and indulge their grief in secret. There are +such in the world, and God will doubtless reward them in +heaven for their resignation on earth, but those who mean to +contend must not lose one precious moment, but must return +immediately the blow which fortune strikes. Do you intend to +struggle against our ill-fortune? Tell me, Valentine for it +is that I came to know." + +Valentine trembled, and looked at him with amazement. The +idea of resisting her father, her grandmother, and all the +family, had never occurred to her. "What do you say, +Maximilian?" asked Valentine. "What do you mean by a +struggle? Oh, it would be a sacrilege. What? I resist my +father's order, and my dying grandmother's wish? +Impossible!" Morrel started. "You are too noble not to +understand me, and you understand me so well that you +already yield, dear Maximilian. No, no; I shall need all my +strength to struggle with myself and support my grief in +secret, as you say. But to grieve my father -- to disturb my +grandmother's last moments -- never!" + +"You are right," said Morrel, calmly. + +"In what a tone you speak!" cried Valentine. + +"I speak as one who admires you, mademoiselle." + +"Mademoiselle," cried Valentine; "mademoiselle! Oh, selfish +man, -- he sees me in despair, and pretends he cannot +understand me!" + +"You mistake -- I understand you perfectly. You will not +oppose M. Villefort, you will not displease the marchioness, +and to-morrow you will sign the contract which will bind you +to your husband." + +"But, mon Dieu, tell me, how can I do otherwise?" + +"Do not appeal to me, mademoiselle; I shall be a bad judge +in such a case; my selfishness will blind me," replied +Morrel, whose low voice and clinched hands announced his +growing desperation. + +"What would you have proposed, Maximilian, had you found me +willing to accede?" + +"It is not for me to say." + +"You are wrong; you must advise me what to do." + +"Do you seriously ask my advice, Valentine?" + +"Certainly, dear Maximilian, for if it is good, I will +follow it; you know my devotion to you." + +"Valentine," said Morrel pushing aside a loose plank, "give +me your hand in token of forgiveness of my anger; my senses +are confused, and during the last hour the most extravagant +thoughts have passed through my brain. Oh, if you refuse my +advice" -- + +"What do you advise?" said Valentine, raising her eyes to +heaven and sighing. "I am free," replied Maximilian, "and +rich enough to support you. I swear to make you my lawful +wife before my lips even shall have approached your +forehead." + +"You make me tremble!" said the young girl. + +"Follow me," said Morrel; "I will take you to my sister, who +is worthy also to be yours. We will embark for Algiers, for +England, for America, or, if your prefer it, retire to the +country and only return to Paris when our friends have +reconciled your family." Valentine shook her head. "I feared +it, Maximilian," said she; "it is the counsel of a madman, +and I should be more mad than you, did I not stop you at +once with the word `Impossible, impossible!'" + +"You will then submit to what fate decrees for you without +even attempting to contend with it?" said Morrel +sorrowfully. "Yes, -- if I die!" + +"Well, Valentine," resumed Maximilian, "I can only say again +that you are right. Truly, it is I who am mad, and you prove +to me that passion blinds the most well-meaning. I +appreciate your calm reasoning. It is then understood that +to-morrow you will be irrevocably promised to M. Franz +d'Epinay, not only by that theatrical formality invented to +heighten the effect of a comedy called the signature of the +contract, but your own will?" + +"Again you drive me to despair, Maximilian," said Valentine, +"again you plunge the dagger into the wound! What would you +do, tell me, if your sister listened to such a proposition?" + +"Mademoiselle," replied Morrel with a bitter smile, "I am +selfish -- you have already said so -- and as a selfish man +I think not of what others would do in my situation, but of +what I intend doing myself. I think only that I have known +you not a whole year. From the day I first saw you, all my +hopes of happiness have been in securing your affection. One +day you acknowledged that you loved me, and since that day +my hope of future happiness has rested on obtaining you, for +to gain you would be life to me. Now, I think no more; I say +only that fortune has turned against me -- I had thought to +gain heaven, and now I have lost it. It is an every-day +occurrence for a gambler to lose not only what he possesses +but also what he has not." Morrel pronounced these words +with perfect calmness; Valentine looked at him a moment with +her large, scrutinizing eyes, endeavoring not to let Morrel +discover the grief which struggled in her heart. "But, in a +word, what are you going to do?" asked she. + +"I am going to have the honor of taking my leave of you, +mademoiselle, solemnly assuring you that I wish your life +may be so calm, so happy, and so fully occupied, that there +may be no place for me even in your memory." + +"Oh!" murmured Valentine. + +"Adieu, Valentine, adieu!" said Morrel, bowing. + +"Where are you going?" cried the young girl, extending her +hand through the opening, and seizing Maximilian by his +coat, for she understood from her own agitated feelings that +her lover's calmness could not be real; "where are you +going?" + +"I am going, that I may not bring fresh trouble into your +family: and to set an example which every honest and devoted +man, situated as I am, may follow." + +"Before you leave me, tell me what you are going to do, +Maximilian." The young man smiled sorrowfully. "Speak, +speak!" said Valentine; "I entreat you." + +"Has your resolution changed, Valentine?" + +"It cannot change, unhappy man; you know it must not!" cried +the young girl. "Then adieu, Valentine!" Valentine shook the +gate with a strength of which she could not have been +supposed to be possessed, as Morrel was going away, and +passing both her hands through the opening, she clasped and +wrung them. "I must know what you mean to do!" said she. +"Where are you going?" + +"Oh, fear not," said Maximilian, stopping at a short +distance, "I do not intend to render another man responsible +for the rigorous fate reserved for me. Another might +threaten to seek M. Franz, to provoke him, and to fight with +him; all that would be folly. What has M. Franz to do with +it? He saw me this morning for the first time, and has +already forgotten he has seen me. He did not even know I +existed when it was arranged by your two families that you +should be united. I have no enmity against M. Franz, and +promise you the punishment shall not fall on him." + +"On whom, then! -- on me?" + +"On you? Valentine! Oh, heaven forbid! Woman is sacred; the +woman one loves is holy." + +"On yourself, then, unhappy man; on yourself?" + +"I am the only guilty person, am I not?' said Maximilian. + +"Maximilian!" said Valentine, "Maximilian, come back, I +entreat you!" He drew near with his sweet smile, and but for +his paleness one might have thought him in his usual happy +mood. "Listen, my dear, my adored Valentine," said he in his +melodious and grave tone; "those who, like us, have never +had a thought for which we need blush before the world, such +may read each other's hearts. I never was romantic, and am +no melancholy hero. I imitate neither Manfred nor Anthony; +but without words, protestations, or vows, my life has +entwined itself with yours; you leave me, and you are right +in doing so, -- I repeat it, you are right; but in losing +you, I lose my life. + +"The moment you leave me, Valentine, I am alone in the +world. My sister is happily married; her husband is only my +brother-in-law, that is, a man whom the ties of social life +alone attach to me; no one then longer needs my useless +life. This is what I shall do; I will wait until the very +moment you are married, for I will not lose the shadow of +one of those unexpected chances which are sometimes reserved +for us, since M. Franz may, after all, die before that time, +a thunderbolt may fall even on the altar as you approach it, +-- nothing appears impossible to one condemned to die, and +miracles appear quite reasonable when his escape from death +is concerned. I will, then, wait until the last moment, and +when my misery is certain, irremediable, hopeless, I will +write a confidential letter to my brother-in-law, another to +the prefect of police, to acquaint them with my intention, +and at the corner of some wood, on the brink of some abyss, +on the bank of some river, I will put an end to my +existence, as certainly as I am the son of the most honest +man who ever lived in France." + +Valentine trembled convulsively; she loosened her hold of +the gate, her arms fell by her side, and two large tears +rolled down her cheeks. The young man stood before her, +sorrowful and resolute. "Oh, for pity's sake," said she, +"you will live, will you not?" + +"No, on my honor," said Maximilian; "but that will not +affect you. You have done your duty, and your conscience +will be at rest." Valentine fell on her knees, and pressed +her almost bursting heart. "Maximilian," said she, +"Maximilian, my friend, my brother on earth, my true husband +in heaven, I entreat you, do as I do, live in suffering; +perhaps we may one day be united." + +"Adieu, Valentine," repeated Morrel. + +"My God," said Valentine, raising both her hands to heaven +with a sublime expression, "I have done my utmost to remain +a submissive daughter; I have begged, entreated, implored; +he has regarded neither my prayers, my entreaties, nor my +tears. It is done," cried she, willing away her tears, and +resuming her firmness, "I am resolved not to die of remorse, +but rather of shame. Live, Maximilian, and I will be yours. +Say when shall it be? Speak, command, I will obey." Morrel, +who had already gone some few steps away, again returned, +and pale with joy extended both hands towards Valentine +through the opening. "Valentine," said he, "dear Valentine, +you must not speak thus -- rather let me die. Why should I +obtain you by violence, if our love is mutual? Is it from +mere humanity you bid me live? I would then rather die." + +"Truly," murmured Valentine, "who on this earth cares for +me, if he does not? Who has consoled me in my sorrow but he? +On whom do my hopes rest? On whom does my bleeding heart +repose? On him, on him, always on him! Yes, you are right, +Maximilian, I will follow you. I will leave the paternal +home, I will give up all. Oh, ungrateful girl that I am," +cried Valentine, sobbing, "I will give up all, even my dear +old grandfather, whom I had nearly forgotten." + +"No," said Maximilian, "you shall not leave him. M. Noirtier +has evinced, you say, a kind feeling towards me. Well, +before you leave, tell him all; his consent would be your +justification in God's sight. As soon as we are married, he +shall come and live with us, instead of one child, he shall +have two. You have told me how you talk to him and how he +answers you; I shall very soon learn that language by signs, +Valentine, and I promise you solemnly, that instead of +despair, it is happiness that awaits us." + +"Oh, see, Maximilian, see the power you have over me, you +almost make me believe you; and yet, what you tell me is +madness, for my father will curse me -- he is inflexible -- +he will never pardon me. Now listen to me, Maximilian; if by +artifice, by entreaty, by accident -- in short, if by any +means I can delay this marriage, will you wait?" + +"Yes, I promise you, as faithfully as you have promised me +that this horrible marriage shall not take place, and that +if you are dragged before a magistrate or a priest, you will +refuse." + +"I promise you by all that is most sacred to me in the +world, namely, by my mother." + +"We will wait, then," said Morrel. + +"Yes, we will wait," replied Valentine, who revived at these +words; "there are so many things which may save unhappy +beings such as we are." + +"I rely on you, Valentine," said Morrel; "all you do will be +well done; only if they disregard your prayers, if your +father and Madame de Saint-Meran insist that M. d'Epinay +should be called to-morrow to sign the contract" -- + +"Then you have my promise, Maximilian." + +"Instead of signing" -- + +"I will go to you, and we will fly; but from this moment +until then, let us not tempt providence, let us not see each +other. It is a miracle, it is a providence that we have not +been discovered. If we were surprised, if it were known that +we met thus, we should have no further resource." + +"You are right, Valentine; but how shall I ascertain?" + +"From the notary, M. Deschamps." + +"I know him." + +"And for myself -- I will write to you, depend on me. I +dread this marriage, Maximilian, as much as you." + +"Thank you, my adored Valentine, thank you; that is enough. +When once I know the hour, I will hasten to this spot, you +can easily get over this fence with my assistance, a +carriage will await us at the gate, in which you will +accompany me to my sister's; there living, retired or +mingling in society, as you wish, we shall be enabled to use +our power to resist oppression, and not suffer ourselves to +be put to death like sheep, which only defend themselves by +sighs." + +"Yes," said Valentine, "I will now acknowledge you are +right, Maximilian; and now are you satisfied with your +betrothal?" said the young girl sorrowfully. + +"My adored Valentine, words cannot express one half of my +satisfaction." Valentine had approached, or rather, had +placed her lips so near the fence, that they nearly touched +those of Morrel, which were pressed against the other side +of the cold and inexorable barrier. "Adieu, then, till we +meet again," said Valentine, tearing herself away. "I shall +hear from you?" + +"Yes." + +"Thanks, thanks, dear love, adieu!" The sound of a kiss was +heard, and Valentine fled through the avenue. Morrel +listened to catch the last sound of her dress brushing the +branches, and of her footstep on the gravel, then raised his +eyes with an ineffable smile of thankfulness to heaven for +being permitted to be thus loved, and then also disappeared. +The young man returned home and waited all the evening and +all the next day without getting any message. It was only on +the following day, at about ten o'clock in the morning, as +he was starting to call on M. Deschamps, the notary, that he +received from the postman a small billet, which he knew to +be from Valentine, although he had not before seen her +writing. It was to this effect: -- + +Tears, entreaties, prayers, have availed me nothing. +Yesterday, for two hours, I was at the church of +Saint-Phillippe du Roule, and for two hours I prayed most +fervently. Heaven is as inflexible as man, and the signature +of the contract is fixed for this evening at nine o'clock. I +have but one promise and but one heart to give; that promise +is pledged to you, that heart is also yours. This evening, +then, at a quarter to nine at the gate. + +Your betrothed, + +Valentine de Villefort. + +P.S. -- My poor grandmother gets worse and worse; yesterday +her fever amounted to delirium; to-day her delirium is +almost madness. You will be very kind to me, will you not, +Morrel, to make me forget my sorrow in leaving her thus? I +think it is kept a secret from grandpapa Noirtier, that the +contract is to be signed this evening. + +Morrel went also to the notary, who confirmed the news that +the contract was to be signed that evening. Then he went to +call on Monte Cristo and heard still more. Franz had been to +announce the ceremony, and Madame de Villefort had also +written to beg the count to excuse her not inviting him; the +death of M. de Saint-Meran and the dangerous illness of his +widow would cast a gloom over the meeting which she would +regret should be shared by the count whom she wished every +happiness. The day before Franz had been presented to Madame +de Saint-Meran, who had left her bed to receive him, but had +been obliged to return to it immediately after. It is easy +to suppose that Morrel's agitation would not escape the +count's penetrating eye. Monte Cristo was more affectionate +than ever, -- indeed, his manner was so kind that several +times Morrel was on the point of telling him all. But he +recalled the promise he had made to Valentine, and kept his +secret. + +The young man read Valentine's letter twenty times in the +course of the day. It was her first, and on what an +occasion! Each time he read it he renewed his vow to make +her happy. How great is the power of a woman who has made so +courageous a resolution! What devotion does she deserve from +him for whom she has sacrificed everything! How ought she +really to be supremely loved! She becomes at once a queen +and a wife, and it is impossible to thank and love her +sufficiently. Morrel longed intensely for the moment when he +should hear Valentine say, "Here I am, Maximilian; come and +help me." He had arranged everything for her escape; two +ladders were hidden in the clover-field; a cabriolet was +ordered for Maximilian alone, without a servant, without +lights; at the turning of the first street they would light +the lamps, as it would be foolish to attract the notice of +the police by too many precautions. Occasionally he +shuddered; he thought of the moment when, from the top of +that wall, he should protect the descent of his dear +Valentine, pressing in his arms for the first time her of +whom he had yet only kissed the delicate hand. + +When the afternoon arrived and he felt that the hour was +drawing near, he wished for solitude, his agitation was +extreme; a simple question from a friend would have +irritated him. He shut himself in his room, and tried to +read, but his eye glanced over the page without +understanding a word, and he threw away the book, and for +the second time sat down to sketch his plan, the ladders and +the fence. At length the hour drew near. Never did a man +deeply in love allow the clocks to go on peacefully. Morrel +tormented his so effectually that they struck eight at +half-past six. He then said, "It is time to start; the +signature was indeed fixed to take place at nine o'clock, +but perhaps Valentine will not wait for that. Consequently, +Morrel, having left the Rue Meslay at half-past eight by his +timepiece, entered the clover-field while the clock of +Saint-Phillippe du Roule was striking eight. The horse and +cabriolet were concealed behind a small ruin, where Morrel +had often waited. + +The night gradually drew on, and the foliage in the garden +assumed a deeper hue. Then Morrel came out from his +hiding-place with a beating heart, and looked through the +small opening in the gate; there was yet no one to be seen. +The clock struck half-past eight, and still another +half-hour was passed in waiting, while Morrel walked to and +fro, and gazed more and more frequently through the opening. +The garden became darker still, but in the darkness he +looked in vain for the white dress, and in the silence he +vainly listened for the sound of footsteps. The house, which +was discernible through the trees, remained in darkness, and +gave no indication that so important an event as the +signature of a marriage-contract was going on. Morrel looked +at his watch, which wanted a quarter to ten; but soon the +same clock he had already heard strike two or three times +rectified the error by striking half-past nine. + +This was already half an hour past the time Valentine had +fixed. It was a terrible moment for the young man. The +slightest rustling of the foliage, the least whistling of +the wind, attracted his attention, and drew the perspiration +to his brow; then he tremblingly fixed his ladder, and, not +to lose a moment, placed his foot on the first step. Amidst +all these alternations of hope and fear, the clock struck +ten. "It is impossible," said Maximilian, "that the signing +of a contract should occupy so long a time without +unexpected interruptions. I have weighed all the chances, +calculated the time required for all the forms; something +must have happened." And then he walked rapidly to and fro, +and pressed his burning forehead against the fence. Had +Valentine fainted? or had she been discovered and stopped in +her flight? These were the only obstacles which appeared +possible to the young man. + +The idea that her strength had failed her in attempting to +escape, and that she had fainted in one of the paths, was +the one that most impressed itself upon his mind. "In that +case," said he, "I should lose her, and by my own fault." He +dwelt on this idea for a moment, then it appeared reality. +He even thought he could perceive something on the ground at +a distance; he ventured to call, and it seemed to him that +the wind wafted back an almost inarticulate sigh. At last +the half-hour struck. It was impossible to wait longer, his +temples throbbed violently, his eyes were growing dim; he +passed one leg over the wall, and in a moment leaped down on +the other side. He was on Villefort's premises -- had +arrived there by scaling the wall. What might be the +consequences? However, he had not ventured thus far to draw +back. He followed a short distance close under the wall, +then crossed a path, hid entered a clump of trees. In a +moment he had passed through them, and could see the house +distinctly. Then Morrel saw that he had been right in +believing that the house was not illuminated. Instead of +lights at every window, as is customary on days of ceremony, +he saw only a gray mass, which was veiled also by a cloud, +which at that moment obscured the moon's feeble light. A +light moved rapidly from time to time past three windows of +the second floor. These three windows were in Madame de +Saint-Meran's room. Another remained motionless behind some +red curtains which were in Madame de Villefort's bedroom. +Morrel guessed all this. So many times, in order to follow +Valentine in thought at every hour in the day, had he made +her describe the whole house, that without having seen it he +knew it all. + +This darkness and silence alarmed Morrel still more than +Valentine's absence had done. Almost mad with grief, and +determined to venture everything in order to see Valentine +once more, and be certain of the misfortune he feared, +Morrel gained the edge of the clump of trees, and was going +to pass as quickly as possible through the flower-garden, +when the sound of a voice, still at some distance, but which +was borne upon the wind, reached him. + +At this sound, as he was already partially exposed to view, +he stepped back and concealed himself completely, remaining +perfectly motionless. He had formed his resolution. If it +was Valentine alone, he would speak as she passed; if she +was accompanied, and he could not speak, still he should see +her, and know that she was safe; if they were strangers, he +would listen to their conversation, and might understand +something of this hitherto incomprehensible mystery. The +moon had just then escaped from behind the cloud which had +concealed it, and Morrel saw Villefort come out upon the +steps, followed by a gentleman in black. They descended, and +advanced towards the clump of trees, and Morrel soon +recognized the other gentleman as Doctor d'Avrigny. + +The young man, seeing them approach, drew back mechanically, +until he found himself stopped by a sycamore-tree in the +centre of the clump; there he was compelled to remain. Soon +the two gentlemen stopped also. + +"Ah, my dear doctor," said the procureur, "heaven declares +itself against my house! What a dreadful death -- what a +blow! Seek not to console me; alas, nothing can alleviate so +great a sorrow -- the wound is too deep and too fresh! Dead, +dead!" The cold sweat sprang to the young man's brow, and +his teeth chattered. Who could be dead in that house, which +Villefort himself had called accursed? "My dear M. de +Villefort," replied the doctor, with a tone which redoubled +the terror of the young man, "I have not led you here to +console you; on the contrary" -- + +"What can you mean?" asked the procureur, alarmed. + +"I mean that behind the misfortune which has just happened +to you, there is another, perhaps, still greater." + +"Can it be possible?" murmured Villefort, clasping his +hands. "What are you going to tell me?" + +"Are we quite alone, my friend?" + +"Yes, quite; but why all these precautions?" + +"Because I have a terrible secret to communicate to you," +said the doctor. "Let us sit down." + +Villefort fell, rather than seated himself The doctor stood +before him, with one hand placed on his shoulder. Morrel, +horrified, supported his head with one hand, and with the +other pressed his heart, lest its beatings should be heard. +"Dead, dead!" repeated he within himself; and he felt as if +he were also dying. + +"Speak, doctor -- I am listening," said Villefort; "strike +-- I am prepared for everything!" + +"Madame de Saint-Meran was, doubtless, advancing in years, +but she enjoyed excellent health." Morrel began again to +breathe freely, which he had not done during the last ten +minutes. + +"Grief has consumed her," said Villefort -- "yes, grief, +doctor! After living forty years with the marquis" -- + +"It is not grief, my dear Villefort," said the doctor; +"grief may kill, although it rarely does, and never in a +day, never in an hour, never in ten minutes." Villefort +answered nothing, he simply raised his head, which had been +cast down before, and looked at the doctor with amazement. + +"Were you present during the last struggle?" asked M. +d'Avrigny. + +"I was," replied the procureur; "you begged me not to +leave." + +"Did you notice the symptoms of the disease to which Madame +de Saint-Meran has fallen a victim?" + +"I did. Madame de Saint-Meran had three successive attacks, +at intervals of some minutes, each one more serious than the +former. When you arrived, Madame de Saint-Meran had already +been panting for breath some minutes; she then had a fit, +which I took to be simply a nervous attack, and it was only +when I saw her raise herself in the bed, and her limbs and +neck appear stiffened, that I became really alarmed. Then I +understood from your countenance there was more to fear than +I had thought. This crisis past, I endeavored to catch your +eye, but could not. You held her hand -- you were feeling +her pulse -- and the second fit came on before you had +turned towards me. This was more terrible than the first; +the same nervous movements were repeated, and the mouth +contracted and turned purple." + +"And at the third she expired." + +"At the end of the first attack I discovered symptoms of +tetanus; you confirmed my opinion." + +"Yes, before others," replied the doctor; "but now we are +alone" -- + +"What are you going to say? Oh, spare me!" + +"That the symptoms of tetanus and poisoning by vegetable +substances are the same." M. de Villefort started from his +seat, then in a moment fell down again, silent and +motionless. Morrel knew not if he were dreaming or awake. +"Listen, said the doctor; "I know the full importance of the +statement I have just made, and the disposition of the man +to whom I have made it." + +"Do you speak to me as a magistrate or as a friend?" asked +Villefort. + +"As a friend, and only as a friend, at this moment. The +similarity in the symptoms of tetanus and poisoning by +vegetable substances is so great, that were I obliged to +affirm by oath what I have now stated, I should hesitate; I +therefore repeat to you, I speak not to a magistrate, but to +a friend. And to that friend I say. `During the +three-quarters of an hour that the struggle continued, I +watched the convulsions and the death of Madame de +Saint-Meran, and am thoroughly convinced that not only did +her death proceed from poison, but I could also specify the +poison.'" + +"Can it be possible?" + +"The symptoms are marked, do you see? -- sleep broken by +nervous spasms, excitation of the brain, torpor of the nerve +centres. Madame de Saint-Meran succumbed to a powerful dose +of brucine or of strychnine, which by some mistake, perhaps, +has been given to her." Villefort seized the doctor's hand. +"Oh, it is impossible," said he, "I must be dreaming! It is +frightful to hear such things from such a man as you! Tell +me, I entreat you, my dear doctor, that you may be +deceived." + +"Doubtless I may, but" -- + +"But?" + +"But I do not think so." + +"Have pity on me doctor! So many dreadful things have +happened to me lately that I am on the verge of madness." + +"Has any one besides me seen Madame de Saint-Meran?" + +"No." + +"Has anything been sent for from a chemist's that I have not +examined?" + +"Nothing." + +"Had Madame de Saint-Meran any enemies?" + +"Not to my knowledge." + +"Would her death affect any one's interest?" + +"It could not indeed, my daughter is her only heiress -- +Valentine alone. Oh, if such a thought could present itself, +I would stab myself to punish my heart for having for one +instant harbored it." + +"Indeed, my dear friend," said M. d'Avrigny, "I would not +accuse any one; I speak only of an accident, you understand, +-- of a mistake, -- but whether accident or mistake, the +fact is there; it is on my conscience and compels me to +speak aloud to you. Make inquiry." + +"Of whom? -- how? -- of what?" + +"May not Barrois, the old servant, have made a mistake, and +have given Madame de Saint-Meran a dose prepared for his +master?" + +"For my father?" + +"Yes." + +"But how could a dose prepared for M. Noirtier poison Madame +de Saint-Meran?" + +"Nothing is more simple. You know poisons become remedies in +certain diseases, of which paralysis is one. For instance, +having tried every other remedy to restore movement and +speech to M. Noirtier, I resolved to try one last means, and +for three months I have been giving him brucine; so that in +the last dose I ordered for him there were six grains. This +quantity, which is perfectly safe to administer to the +paralyzed frame of M. Noirtier, which has become gradually +accustomed to it, would be sufficient to kill another +person." + +"My dear doctor, there is no communication between M. +Noirtier's apartment and that of Madame de Saint-Meran, and +Barrois never entered my mother-in-law's room. In short, +doctor although I know you to be the most conscientious man +in the world, and although I place the utmost reliance in +you, I want, notwithstanding my conviction, to believe this +axiom, errare humanum est." + +"Is there one of my brethren in whom you have equal +confidence with myself?" + +"Why do you ask me that? -- what do you wish?" + +"Send for him; I will tell him what I have seen, and we will +consult together, and examine the body." + +"And you will find traces of poison?" + +"No, I did not say of poison, but we can prove what was the +state of the body; we shall discover the cause of her sudden +death, and we shall say, `Dear Villefort, if this thing has +been caused by negligence, watch over your servants; if from +hatred, watch your enemies.'" + +"What do you propose to me, d'Avrigny?" said Villefort in +despair; "so soon as another is admitted into our secret, an +inquest will become necessary; and an inquest in my house -- +impossible! Still," continued the procureur, looking at the +doctor with uneasiness, "if you wish it -- if you demand it, +why then it shall be done. But, doctor, you see me already +so grieved -- how can I introduce into my house so much +scandal, after so much sorrow? My wife and my daughter would +die of it! And I, doctor -- you know a man does not arrive +at the post I occupy -- one has not been king's attorney +twenty-five years without having amassed a tolerable number +of enemies; mine are numerous. Let this affair be talked of, +it will be a triumph for them, which will make them rejoice, +and cover me with shame. Pardon me, doctor, these worldly +ideas; were you a priest I should not dare tell you that, +but you are a man, and you know mankind. Doctor, pray recall +your words; you have said nothing, have you?" + +"My dear M. de Villefort," replied the doctor, "my first +duty is to humanity. I would have saved Madame de +Saint-Meran, if science could have done it; but she is dead +and my duty regards the living. Let us bury this terrible +secret in the deepest recesses of our hearts; I am willing, +if any one should suspect this, that my silence on the +subject should be imputed to my ignorance. Meanwhile, sir, +watch always -- watch carefully, for perhaps the evil may +not stop here. And when you have found the culprit, if you +find him, I will say to you, `You are a magistrate, do as +you will!'" + +"I thank you, doctor," said Villefort with indescribable +joy; "I never had a better friend than you." And, as if he +feared Doctor d'Avrigny would recall his promise, he hurried +him towards the house. + +When they were gone, Morrel ventured out from under the +trees, and the moon shone upon his face, which was so pale +it might have been taken for that of a ghost. "I am +manifestly protected in a most wonderful, but most terrible +manner," said he; "but Valentine, poor girl, how will she +bear so much sorrow?" + +As he thought thus, he looked alternately at the window with +red curtains and the three windows with white curtains. The +light had almost disappeared from the former; doubtless +Madame de Villefort had just put out her lamp, and the +nightlamp alone reflected its dull light on the window. At +the extremity of the building, on the contrary, he saw one +of the three windows open. A wax-light placed on the +mantle-piece threw some of its pale rays without, and a +shadow was seen for one moment on the balcony. Morrel +shuddered; he thought he heard a sob. + +It cannot be wondered at that his mind, generally so +courageous, but now disturbed by the two strongest human +passions, love and fear, was weakened even to the indulgence +of superstitious thoughts. Although it was impossible that +Valentine should see him, hidden as he was, he thought he +heard the shadow at the window call him; his disturbed mind +told him so. This double error became an irresistible +reality, and by one of the incomprehensible transports of +youth, he bounded from his hiding-place, and with two +strides, at the risk of being seen, at the risk of alarming +Valentine, at the risk of being discovered by some +exclamation which might escape the young girl, he crossed +the flower-garden, which by the light of the moon resembled +a large white lake, and having passed the rows of +orange-trees which extended in front of the house, he +reached the step, ran quickly up and pushed the door, which +opened without offering any resistance. Valentine had not +seen him. Her eyes, raised towards heaven, were watching a +silvery cloud gliding over the azure, its form that of a +shadow mounting towards heaven. Her poetic and excited mind +pictured it as the soul of her grandmother. + +Meanwhile, Morrel had traversed the anteroom and found the +staircase, which, being carpeted, prevented his approach +being heard, and he had regained that degree of confidence +that the presence of M. de Villefort even would not have +alarmed him. He was quite prepared for any such encounter. +He would at once approach Valentine's father and acknowledge +all, begging Villefort to pardon and sanction the love which +united two fond and loving hearts. Morrel was mad. Happily +he did not meet any one. Now, especially, did he find the +description Valentine had given of the interior of the house +useful to him; he arrived safely at the top of the +staircase, and while he was feeling his way, a sob indicated +the direction he was to take. He turned back, a door partly +open enabled him to see his road, and to hear the voice of +one in sorrow. He pushed the door open and entered. At the +other end of the room, under a white sheet which covered it, +lay the corpse, still more alarming to Morrel since the +account he had so unexpectedly overheard. By its side, on +her knees, and with her head buried in the cushion of an +easy-chair, was Valentine, trembling and sobbing, her hands +extended above her head, clasped and stiff. She had turned +from the window, which remained open, and was praying in +accents that would have affected the most unfeeling; her +words were rapid, incoherent, unintelligible, for the +burning weight of grief almost stopped her utterance. The +moon shining through the open blinds made the lamp appear to +burn paler, and cast a sepulchral hue over the whole scene. +Morrel could not resist this; he was not exemplary for +piety, he was not easily impressed, but Valentine suffering, +weeping, wringing her hands before him, was more than he +could bear in silence. He sighed, and whispered a name, and +the head bathed in tears and pressed on the velvet cushion +of the chair -- a head like that of a Magdalen by Correggio +-- was raised and turned towards him. Valentine perceived +him without betraying the least surprise. A heart +overwhelmed with one great grief is insensible to minor +emotions. Morrel held out his hand to her. Valentine, as her +only apology for not having met him, pointed to the corpse +under the sheet, and began to sob again. Neither dared for +some time to speak in that room. They hesitated to break the +silence which death seemed to impose; at length Valentine +ventured. + +"My friend," said she, "how came you here? Alas, I would say +you are welcome, had not death opened the way for you into +this house." + +"Valentine," said Morrel with a trembling voice, "I had +waited since half-past eight, and did not see you come; I +became uneasy, leaped the wall, found my way through the +garden, when voices conversing about the fatal event" -- + +"What voices ?" asked Valentine. Morrel shuddered as he +thought of the conversation of the doctor and M. de +Villefort, and he thought he could see through the sheet the +extended hands, the stiff neck, and the purple lips. + +"Your servants," said he, "who were repeating the whole of +the sorrowful story; from them I learned it all." + +"But it was risking the failure of our plan to come up here, +love." + +"Forgive me," replied Morrel; "I will go away." + +"No," said Valentine, "you might meet some one; stay." + +"But if any one should come here" -- + +The young girl shook her head. "No one will come," said she; +"do not fear, there is our safeguard," pointing to the bed. + +"But what has become of M. d'Epinay?" replied Morrel. + +"M. Franz arrived to sign the contract just as my dear +grandmother was dying." + +"Alas," said Morrel with a feeling of selfish joy; for he +thought this death would cause the wedding to be postponed +indefinitely. "But what redoubles my sorrow," continued the +young girl, as if this feeling was to receive its immediate +punishment, "is that the poor old lady, on her death-bed, +requested that the marriage might take place as soon as +possible; she also, thinking to protect me, was acting +against me." + +"Hark!" said Morrel. They both listened; steps were +distinctly heard in the corridor and on the stairs. + +"It is my father, who has just left his study." + +"To accompany the doctor to the door," added Morrel. + +"How do you know it is the doctor?" asked Valentine, +astonished. + +"I imagined it must be," said Morrel. Valentine looked at +the young man; they heard the street door close, then M. de +Villefort locked the garden door, and returned up-stairs. He +stopped a moment in the anteroom, as if hesitating whether +to turn to his own apartment or into Madame de +Saint-Meran's; Morrel concealed himself behind a door; +Valentine remained motionless, grief seeming to deprive her +of all fear. M. de Villefort passed on to his own room. +"Now," said Valentine, "you can neither go out by the front +door nor by the garden." Morrel looked at her with +astonishment. "There is but one way left you that is safe," +said she; "it is through my grandfather's room." She rose, +"Come," she added. -- "Where?" asked Maximilian. + +"To my grandfather's room." + +"I in M. Noirtier's apartment?" + +"Yes." + +"Can you mean it, Valentine?" + +"I have long wished it; he is my only remaining friend and +we both need his help, -- come." + +"Be careful, Valentine," said Morrel, hesitating to comply +with the young girl's wishes; "I now see my error -- I acted +like a madman in coming in here. Are you sure you are more +reasonable?" + +"Yes," said Valentine; "and I have but one scruple, -- that +of leaving my dear grandmother's remains, which I had +undertaken to watch." + +"Valentine," said Morrel, "death is in itself sacred." + +"Yes," said Valentine; "besides, it will not be for long." +She then crossed the corridor, and led the way down a narrow +staircase to M. Noirtier's room; Morrel followed her on +tiptoe; at the door they found the old servant. "Barrois," +said Valentine, "shut the door, and let no one come in." She +passed first. Noirtier, seated in his chair, and listening +to every sound, was watching the door; he saw Valentine, and +his eye brightened. There was something grave and solemn in +the approach of the young girl which struck the old man, and +immediately his bright eye began to interrogate. "Dear +grandfather." said she hurriedly, "you know poor grandmamma +died an hour since, and now I have no friend in the world +but you." His expressive eyes evinced the greatest +tenderness. "To you alone, then, may I confide my sorrows +and my hopes?" The paralytic motioned "Yes." Valentine took +Maximilian's hand. "Look attentively, then, at this +gentleman." The old man fixed his scrutinizing gaze with +slight astonishment on Morrel. "It is M. Maximilian Morrel," +said she; "the son of that good merchant of Marseilles, whom +you doubtless recollect." + +"Yes," said the old man. "He brings an irreproachable name, +which Maximilian is likely to render glorious, since at +thirty years of age he is a captain, an officer of the +Legion of Honor." The old man signified that he recollected +him. "Well, grandpapa," said Valentine, kneeling before him, +and pointing to Maximilian, "I love him, and will be only +his; were I compelled to marry another, I would destroy +myself." + +The eyes of the paralytic expressed a multitude of +tumultuous thoughts. "You like M. Maximilian Morrel, do you +not, grandpapa?" asked Valentine. + +"Yes." + +"And you will protect us, who are your children, against the +will of my father?" -- Noirtier cast an intelligent glance +at Morrel, as if to say, "perhaps I may." Maximilian +understood him. + +"Mademoiselle," said he, "you have a sacred duty to fulfil +in your deceased grandmother's room, will you allow me the +honor of a few minutes' conversation with M. Noirtier?" + +"That is it," said the old man's eye. Then he looked +anxiously at Valentine. + +"Do you fear he will not understand?" + +"Yes." + +"Oh, we have so often spoken of you, that he knows exactly +how I talk to you." Then turning to Maximilian, with an +adorable smile; although shaded by sorrow, -- "He knows +everything I know," said she. + +Valentine arose, placed a chair for Morrel, requested +Barrois not to admit any one, and having tenderly embraced +her grandfather, and sorrowfully taken leave of Morrel, she +went away. To prove to Noirtier that he was in Valentine's +confidence and knew all their secrets, Morrel took the +dictionary, a pen, and some paper, and placed them all on a +table where there was a light. + +"But first," said Morrel, "allow me, sir, to tell you who I +am, how much I love Mademoiselle Valentine, and what are my +designs respecting her." Noirtier made a sign that he would +listen. + +It was an imposing sight to witness this old man, apparently +a mere useless burden, becoming the sole protector, support, +and adviser of the lovers who were both young, beautiful, +and strong. His remarkably noble and austere expression +struck Morrel, who began his story with trembling. He +related the manner in which he had become acquainted with +Valentine, and how he had loved her, and that Valentine, in +her solitude and her misfortune, had accepted the offer of +his devotion. He told him his birth, his position, his +fortune, and more than once, when he consulted the look of +the paralytic, that look answered, "That is good, proceed." + +"And now," said Morrel, when he had finished the first part +of his recital, "now I have told you of my love and my +hopes, may I inform you of my intentions?" + +"Yes," signified the old man. + +"This was our resolution; a cabriolet was in waiting at the +gate, in which I intended to carry off Valentine to my +sister's house, to marry her, and to wait respectfully M. de +Villefort's pardon." + +"No," said Noirtier. + +"We must not do so?" + +"No." + +"You do not sanction our project?" + +"No." + +"There is another way," said Morrel. The old man's +interrogative eye said, "What?" + +"I will go," continued Maximilian, "I will seek M. Franz +d'Epinay -- I am happy to be able to mention this in +Mademoiselle de Villefort's absence -- and will conduct +myself toward him so as to compel him to challenge me." +Noirtier's look continued to interrogate. "You wish to know +what I will do?" + +"Yes." + +"I will find him, as I told you. I will tell him the ties +which bind me to Mademoiselle Valentine; if he be a sensible +man, he will prove it by renouncing of his own accord the +hand of his betrothed, and will secure my friendship, and +love until death; if he refuse, either through interest or +ridiculous pride, after I have proved to him that he would +be forcing my wife from me, that Valentine loves me, and +will have no other, I will fight with him, give him every +advantage, and I shall kill him, or he will kill me; if I am +victorious, he will not marry Valentine, and if I die, I am +very sure Valentine will not marry him." Noirtier watched, +with indescribable pleasure, this noble and sincere +countenance, on which every sentiment his tongue uttered was +depicted, adding by the expression of his fine features all +that coloring adds to a sound and faithful drawing. Still, +when Morrel had finished, he shut his eyes several times, +which was his manner of saying "No." + +"No?" said Morrel; "you disapprove of this second project, +as you did of the first?" + +"I do," signified the old man. + +"But what then must be done?" asked Morrel. "Madame de +Saint-Meran's last request was, that the marriage might not +be delayed; must I let things take their course?" Noirtier +did not move. "I understand," said Morrel; "I am to wait." + +"Yes." + +"But delay may ruin our plan, sir," replied the young man. +"Alone, Valentine has no power; she will be compelled to +submit. I am here almost miraculously, and can scarcely hope +for so good an opportunity to occur again. Believe me, there +are only the two plans I have proposed to you; forgive my +vanity, and tell me which you prefer. Do you authorize +Mademoiselle Valentine to intrust herself to my honor?" + +"No." + +"Do you prefer I should seek M. d'Epinay?" + +"No." + +"Whence then will come the help we need -- from chance?" +resumed Morrel. + +"No." + +"From you?" + +"Yes." + +"You thoroughly understand me, sir? Pardon my eagerness, for +my life depends on your answer. Will our help come from +you?" + +"Yes." + +"You are sure of it?" + +"Yes." There was so much firmness in the look which gave +this answer, no one could, at any rate, doubt his will, if +they did his power. "Oh, thank you a thousand times! But +how, unless a miracle should restore your speech, your +gesture, your movement, how can you, chained to that +arm-chair, dumb and motionless, oppose this marriage?" A +smile lit up the old man's face, a strange smile of the eyes +in a paralyzed face. "Then I must wait?" asked the young +man. + +"Yes." + +"But the contract?" The same smile returned. "Will you +assure me it shall not be signed?" + +"Yes," said Noirtier. + +"The contract shall not be signed!" cried Morrel. "Oh, +pardon me, sir; I can scarcely realize so great a happiness. +Will they not sign it?" + +"No," said the paralytic. Notwithstanding that assurance, +Morrel still hesitated. This promise of an impotent old man +was so strange that, instead of being the result of the +power of his will, it might emanate from enfeebled organs. +Is it not natural that the madman, ignorant of his folly, +should attempt things beyond his power? The weak man talks +of burdens he can raise, the timid of giants he can +confront, the poor of treasures he spends, the most humble +peasant, in the height of his pride, calls himself Jupiter. +Whether Noirtier understood the young man's indecision, or +whether he had not full confidence in his docility, he +looked uneasily at him. "What do you wish, sir?" asked +Morrel; "that I should renew my promise of remaining +tranquil?" Noirtier's eye remained fixed and firm, as if to +imply that a promise did not suffice; then it passed from +his face to his hands. + +"Shall I swear to you, sir?" asked Maximilian. + +"Yes?" said the paralytic with the same solemnity. Morrel +understood that the old man attached great importance to an +oath. He extended his hand. + +"I swear to you, on my honor," said he, "to await your +decision respecting the course I am to pursue with M. +d'Epinay." + +"That is right," said the old man. + +"Now," said Morrel, "do you wish me to retire?" + +"Yes." + +"Without seeing Mademoiselle Valentine?" + +"Yes." + +Morrel made a sign that he was ready to obey. "But," said +he, "first allow me to embrace you as your daughter did just +now." Noirtier's expression could not be understood. The +young man pressed his lips on the same spot, on the old +man's forehead, where Valentine's had been. Then he bowed a +second time and retired. He found outside the door the old +servant, to whom Valentine had given directions. Morrel was +conducted along a dark passage, which led to a little door +opening on the garden, soon found the spot where he had +entered, with the assistance of the shrubs gained the top of +the wall, and by his ladder was in an instant in the +clover-field where his cabriolet was still waiting for him. +He got in it, and thoroughly wearied by so many emotions, +arrived about midnight in the Rue Meslay, threw himself on +his bed and slept soundly. + + + +Chapter 74 +The Villefort Family Vault. + +Two days after, a considerable crowd was assembled, towards +ten o'clock in the morning, around the door of M. de +Villefort's house, and a long file of mourning-coaches and +private carriages extended along the Faubourg Saint-Honore +and the Rue de la Pepiniere. Among them was one of a very +singular form, which appeared to have come from a distance. +It was a kind of covered wagon, painted black, and was one +of the first to arrive. Inquiry was made, and it was +ascertained that, by a strange coincidence, this carriage +contained the corpse of the Marquis de Saint-Meran, and that +those who had come thinking to attend one funeral would +follow two. Their number was great. The Marquis de +Saint-Meran, one of the most zealous and faithful +dignitaries of Louis XVIII. and King Charles X., had +preserved a great number of friends, and these, added to the +personages whom the usages of society gave Villefort a claim +on, formed a considerable body. + +Due information was given to the authorities, and permission +obtained that the two funerals should take place at the same +time. A second hearse, decked with the same funereal pomp, +was brought to M. de Villefort's door, and the coffin +removed into it from the post-wagon. The two bodies were to +be interred in the cemetery of Pere-la-Chaise, where M. de +Villefort had long since had a tomb prepared for the +reception of his family. The remains of poor Renee were +already deposited there, and now, after ten years of +separation, her father and mother were to be reunited with +her. The Parisians, always curious, always affected by +funereal display, looked on with religious silence while the +splendid procession accompanied to their last abode two of +the number of the old aristocracy -- the greatest protectors +of commerce and sincere devotees to their principles. In one +of the mourning-coaches Beauchamp, Debray, and +Chateau-Renaud were talking of the very sudden death of the +marchioness. "I saw Madame de Saint-Meran only last year at +Marseilles, when I was coming back from Algiers," said +Chateau-Renaud; "she looked like a woman destined to live to +be a hundred years old, from her apparent sound health and +great activity of mind and body. How old was she?" + +"Franz assured me," replied Albert, "that she was sixty-six +years old. But she has not died of old age, but of grief; it +appears that since the death of the marquis, which affected +her very deeply, she has not completely recovered her +reason." + +"But of what disease, then, did she die?" asked Debray. + +"It is said to have been a congestion of the brain, or +apoplexy, which is the same thing, is it not?" + +"Nearly." + +"It is difficult to believe that it was apoplexy," said +Beauchamp. "Madame de Saint-Meran, whom I once saw, was +short, of slender form, and of a much more nervous than +sanguine temperament; grief could hardly produce apoplexy in +such a constitution as that of Madame de Saint-Meran." + +"At any rate," said Albert, "whatever disease or doctor may +have killed her, M. de Villefort, or rather, Mademoiselle +Valentine, -- or, still rather, our friend Franz, inherits a +magnificent fortune, amounting, I believe, to 80,000 livres +per annum." + +"And this fortune will be doubled at the death of the old +Jacobin, Noirtier." + +"That is a tenacious old grandfather," said Beauchamp. +"Tenacem propositi virum. I think he must have made an +agreement with death to outlive all his heirs, and he +appears likely to succeed. He resembles the old +Conventionalist of '93, who said to Napoleon, in 1814, `You +bend because your empire is a young stem, weakened by rapid +growth. Take the Republic for a tutor; let us return with +renewed strength to the battle-field, and I promise you +500,000 soldiers, another Marengo, and a second Austerlitz. +Ideas do not become extinct, sire; they slumber sometimes, +but only revive the stronger before they sleep entirely.' +Ideas and men appeared the same to him. One thing only +puzzles me, namely, how Franz d'Epinay will like a +grandfather who cannot be separated from his wife. But where +is Franz?" + +"In the first carriage, with M. de Villefort, who considers +him already as one of the family." + +Such was the conversation in almost all the carriages; these +two sudden deaths, so quickly following each other, +astonished every one, but no one suspected the terrible +secret which M. d'Avrigny had communicated, in his nocturnal +walk to M. de Villefort. They arrived in about an hour at +the cemetery; the weather was mild, but dull, and in harmony +with the funeral ceremony. Among the groups which flocked +towards the family vault, Chateau-Renaud recognized Morrel, +who had come alone in a cabriolet, and walked silently along +the path bordered with yew-trees. "You here?" said +Chateau-Renaud, passing his arms through the young +captain's; "are you a friend of Villefort's? How is it that +I have never met you at his house?" + +"I am no acquaintance of M. de Villefort's." answered +Morrel, "but I was of Madame de Saint-Meran." Albert came up +to them at this moment with Franz. + +"The time and place are but ill-suited for an introduction." +said Albert; "but we are not superstitious. M. Morrel, allow +me to present to you M. Franz d'Epinay, a delightful +travelling companion, with whom I made the tour of Italy. My +dear Franz, M. Maximilian Morrel, an excellent friend I have +acquired in your absence, and whose name you will hear me +mention every time I make any allusion to affection, wit, or +amiability." Morrel hesitated for a moment; he feared it +would be hypocritical to accost in a friendly manner the man +whom he was tacitly opposing, but his oath and the gravity +of the circumstances recurred to his memory; he struggled to +conceal his emotion and bowed to Franz. "Mademoiselle de +Villefort is in deep sorrow, is she not?" said Debray to +Franz. + +"Extremely," replied he; "she looked so pale this morning, I +scarcely knew her." These apparently simple words pierced +Morrel to the heart. This man had seen Valentine, and spoken +to her! The young and high-spirited officer required all his +strength of mind to resist breaking his oath. He took the +arm of Chateau-Renaud, and turned towards the vault, where +the attendants had already placed the two coffins. "This is +a magnificent habitation," said Beauchamp, looking towards +the mausoleum; "a summer and winter palace. You will, in +turn, enter it, my dear d'Epinay, for you will soon be +numbered as one of the family. I, as a philosopher, should +like a little country-house, a cottage down there under the +trees, without so many free-stones over my poor body. In +dying, I will say to those around me what Voltaire wrote to +Piron: `Eo rus, and all will be over.' But come, Franz, take +courage, your wife is an heiress." + +"Indeed, Beauchamp, you are unbearable. Politics has made +you laugh at everything, and political men have made you +disbelieve everything. But when you have the honor of +associating with ordinary men, and the pleasure of leaving +politics for a moment, try to find your affectionate heart, +which you leave with your stick when you go to the Chamber." + +"But tell me," said Beauchamp, "what is life? Is it not a +hall in Death's anteroom?" + +"I am prejudiced against Beauchamp," said Albert, drawing +Franz away, and leaving the former to finish his +philosophical dissertation with Debray. The Villefort vault +formed a square of white stones, about twenty feet high; an +interior partition separated the two families, and each +apartment had its entrance door. Here were not, as in other +tombs, ignoble drawers, one above another, where thrift +bestows its dead and labels them like specimens in a museum; +all that was visible within the bronze gates was a +gloomy-looking room, separated by a wall from the vault +itself. The two doors before mentioned were in the middle of +this wall, and enclosed the Villefort and Saint-Meran +coffins. There grief might freely expend itself without +being disturbed by the trifling loungers who came from a +picnic party to visit Pere-la-Chaise, or by lovers who make +it their rendezvous. + +The two coffins were placed on trestles previously prepared +for their reception in the right-hand crypt belonging to the +Saint-Meran family. Villefort, Franz, and a few near +relatives alone entered the sanctuary. + +As the religious ceremonies had all been performed at the +door, and there was no address given, the party all +separated; Chateau-Renaud, Albert, and Morrel, went one way, +and Debray and Beauchamp the other. Franz remained with M. +de Villefort; at the gate of the cemetery Morrel made an +excuse to wait; he saw Franz and M. de Villefort get into +the same mourning coach, and thought this meeting forboded +evil. He then returned to Paris, and although in the same +carriage with Chateau-Renaud and Albert, he did not hear one +word of their conversation. As Franz was about to take leave +of M. de Villefort, "When shall I see you again?" said the +latter. + +"At what time you please, sir," replied Franz. + +"As soon as possible." + +"I am at your command, sir; shall we return together?" + +"If not unpleasant to you." + +"On the contrary, I shall feel much pleasure." Thus, the +future father and son-in-law stepped into the same carriage, +and Morrel, seeing them pass, became uneasy. Villefort and +Franz returned to the Faubourg Saint-Honore. The procureur, +without going to see either his wife or his daughter, went +at once to his study, and, offering the young man a chair, +-- "M. d'Epinay," said he, "allow me to remind you at this +moment, -- which is perhaps not so ill-chosen as at first +sight may appear, for obedience to the wishes of the +departed is the first offering which should be made at their +tomb, -- allow me then to remind you of the wish expressed +by Madame de Saint-Meran on her death-bed, that Valentine's +wedding might not be deferred. You know the affairs of the +deceased are in perfect order, and her will bequeaths to +Valentine the entire property of the Saint-Meran family; the +notary showed me the documents yesterday, which will enable +us to draw up the contract immediately. You may call on the +notary, M. Deschamps, Place Beauveau, Faubourg Saint-Honore, +and you have my authority to inspect those deeds." + +"Sir," replied M. d'Epinay, "it is not, perhaps, the moment +for Mademoiselle Valentine, who is in deep distress, to +think of a husband; indeed, I fear" -- + +"Valentine will have no greater pleasure than that of +fulfilling her grandmother's last injunctions; there will be +no obstacle from that quarter, I assure you." + +"In that case," replied Franz, "as I shall raise none, you +may make arrangements when you please; I have pledged my +word, and shall feel pleasure and happiness in adhering to +it." + +"Then," said Villefort, "nothing further is required. The +contract was to have been signed three days since; we shall +find it all ready, and can sign it to-day." + +"But the mourning?" said Franz, hesitating. + +"Don't be uneasy on that score," replied Villefort; "no +ceremony will be neglected in my house. Mademoiselle de +Villefort may retire during the prescribed three months to +her estate of Saint-Meran; I say hers, for she inherits it +to-day. There, after a few days, if you like, the civil +marriage shall be celebrated without pomp or ceremony. +Madame de Saint-Meran wished her daughter should be married +there. When that in over, you, sir, can return to Paris, +while your wife passes the time of her mourning with her +mother-in-law." + +"As you please, sir," said Franz. + +"Then," replied M. de Villefort, "have the kindness to wait +half an hour; Valentine shall come down into the +drawing-room. I will send for M. Deschamps; we will read and +sign the contract before we separate, and this evening +Madame de Villefort; shall accompany Valentine to her +estate, where we will rejoin them in a week." + +"Sir," said Franz, "I have one request to make." + +"What is it?" + +"I wish Albert de Morcerf and Raoul de Chateau-Renaud to be +present at this signature; you know they are my witnesses." + +"Half an hour will suffice to apprise them; will you go for +them yourself, or shall you send?" + +"I prefer going, sir." + +"I shall expect you, then, in half an hour, baron, and +Valentine will be ready." Franz bowed and left the room. +Scarcely had the door closed, when M. de Villefort sent to +tell Valentine to be ready in the drawing-room in half an +hour, as he expected the notary and M. d'Epinay and his +witnesses. The news caused a great sensation throughout the +house; Madame de Villefort would not believe it, and +Valentine was thunderstruck. She looked around for help, and +would have gone down to her grandfather's room, but on the +stairs she met M. de Villefort, who took her arm and led her +into the drawing-room. In the anteroom, Valentine met +Barrois, and looked despairingly at the old servant. A +moment later, Madame de Villefort entered the drawing-room +with her little Edward. It was evident that she had shared +the grief of the family, for she was pale and looked +fatigued. She sat down, took Edward on her knees, and from +time to time pressed this child, on whom her affections +appeared centred, almost convulsively to her bosom. Two +carriages were soon heard to enter the court yard. One was +the notary's; the other, that of Franz and his friends. In a +moment the whole party was assembled. Valentine was so pale +one might trace the blue veins from her temples, round her +eyes and down her cheeks. Franz was deeply affected. +Chateau-Renaud and Albert looked at each other with +amazement; the ceremony which was just concluded had not +appeared more sorrowful than did that which was about to +begin. Madame de Villefort had placed herself in the shadow +behind a velvet curtain, and as she constantly bent over her +child, it was difficult to read the expression of her face. +M. de Villefort was, as usual, unmoved. + +The notary, after having according to the customary method +arranged the papers on the table, taken his place in an +armchair, and raised his spectacles, turned towards Franz: + +"Are you M. Franz de Quesnel, baron d'Epinay?" asked he, +although he knew it perfectly. + +"Yes, sir," replied Franz. The notary bowed. "I have, then, +to inform you, sir, at the request of M. de Villefort, that +your projected marriage with Mademoiselle de Villefort has +changed the feeling of M. Noirtier towards his grandchild, +and that he disinherits her entirely of the fortune he would +have left her. Let me hasten to add," continued he, "that +the testator, having only the right to alienate a part of +his fortune, and having alienated it all, the will will not +bear scrutiny, and is declared null and void." + +"Yes." said Villefort; "but I warn M. d'Epinay, that during +my life-time my father's will shall never be questioned, my +position forbidding any doubt to be entertained." + +"Sir," said Franz, "I regret much that such a question has +been raised in the presence of Mademoiselle Valentine; I +have never inquired the amount of her fortune, which, +however limited it may be, exceeds mine. My family has +sought consideration in this alliance with M. de Villefort; +all I seek is happiness." Valentine imperceptibly thanked +him, while two silent tears rolled down her cheeks. +"Besides, sir," said Villefort, addressing himself to his +future son-in-law, "excepting the loss of a portion of your +hopes, this unexpected will need not personally wound you; +M. Noirtier's weakness of mind sufficiently explains it. It +is not because Mademoiselle Valentine is going to marry you +that he is angry, but because she will marry, a union with +any other would have caused him the same sorrow. Old age is +selfish, sir, and Mademoiselle de Villefort has been a +faithful companion to M. Noirtier, which she cannot be when +she becomes the Baroness d'Epinay. My father's melancholy +state prevents our speaking to him on any subjects, which +the weakness of his mind would incapacitate him from +understanding, and I am perfectly convinced that at the +present time, although, he knows that his granddaughter is +going to be married, M. Noirtier has even forgotten the name +of his intended grandson." M. de Villefort had scarcely said +this, when the door opened, and Barrois appeared. + +"Gentlemen," said he, in a tone strangely firm for a servant +speaking to his masters under such solemn circumstances, -- +"gentlemen, M. Noirtier de Villefort wishes to speak +immediately to M. Franz de Quesnel, baron d'Epinay;" he, as +well as the notary, that there might be no mistake in the +person, gave all his titles to the bride-groom elect. + +Villefort started, Madame de Villefort let her son slip from +her knees, Valentine rose, pale and dumb as a statue. Albert +and Chateau-Renaud exchanged a second look, more full of +amazement than the first. The notary looked at Villefort. +"It is impossible," said the procureur. "M. d'Epinay cannot +leave the drawing-room at present." + +"It is at this moment," replied Barrois with the same +firmness, "that M. Noirtier, my master, wishes to speak on +important subjects to M. Franz d'Epinay." + +"Grandpapa Noirtier can speak now, then," said Edward, with +his habitual quickness. However, his remark did not make +Madame de Villefort even smile, so much was every mind +engaged, and so solemn was the situation. Astonishment was +at its height. Something like a smile was perceptible on +Madame de Villefort's countenance. Valentine instinctively +raised her eyes, as if to thank heaven. + +"Pray go, Valentine," said; M. de Villefort, "and see what +this new fancy of your grandfather's is." Valentine rose +quickly, and was hastening joyfully towards the door, when +M. de Villefort altered his intention. + +"Stop," said he; "I will go with you." + +"Excuse me, sir," said Franz, "since M. Noirtier sent for +me, I am ready to attend to his wish; besides, I shall be +happy to pay my respects to him, not having yet had the +honor of doing so." + +"Pray, sir," said Villefort with marked uneasiness, "do not +disturb yourself." + +"Forgive me, sir," said Franz in a resolute tone. "I would +not lose this opportunity of proving to M. Noirtier how +wrong it would be of him to encourage feelings of dislike to +me, which I am determined to conquer, whatever they may be, +by my devotion." And without listening to Villefort he +arose, and followed Valentine, who was running down-stairs +with the joy of a shipwrecked mariner who finds a rock to +cling to. M. de Villefort followed them. Chateau-Renaud and +Morcerf exchanged a third look of still increasing wonder. + + + +Chapter 75 +A Signed Statement. + +Noirtier was prepared to receive them, dressed in black, and +installed in his arm-chair. When the three persons he +expected had entered, he looked at the door, which his valet +immediately closed. + +"Listen," whispered Villefort to Valentine, who could not +conceal her joy; "if M. Noirtier wishes to communicate +anything which would delay your marriage, I forbid you to +understand him." Valentine blushed, but did not answer. +Villefort, approaching Noirtier -- "Here is M. Franz +d'Epinay," said he; "you requested to see him. We have all +wished for this interview, and I trust it will convince you +how ill-formed are your objections to Valentine's marriage." + +Noirtier answered only by a look which made Villefort's +blood run cold. He motioned to Valentine to approach. In a +moment, thanks to her habit of conversing with her +grandfather, she understood that he asked for a key. Then +his eye was fixed on the drawer of a small chest between the +windows. She opened the drawer, and found a key; and, +understanding that was what he wanted, again watched his +eyes, which turned toward an old secretary which had been +neglected for many years and was supposed to contain nothing +but useless documents. "Shall I open the secretary?" asked +Valentine. + +"Yes," said the old man. + +"And the drawers?" + +"Yes." + +"Those at the side?" + +"No." + +"The middle one?" + +"Yes." Valentine opened it and drew out a bundle of papers. +"Is that what you wish for?" asked she. + +"No." + +She took successively all the other papers out till the +drawer was empty. "But there are no more," said she. +Noirtier's eye was fixed on the dictionary. "Yes, I +understand, grandfather," said the young girl. + +"He pointed to each letter of the alphabet. At the letter S +the old man stopped her. She opened, and found the word +"secret." + +"Ah, is there a secret spring?" said Valentine. + +"Yes," said Noirtier. + +"And who knows it?" Noirtier looked at the door where the +servant had gone out. "Barrois?" said she. + +"Yes." + +"Shall I call him?" + +"Yes." + +Valentine went to the door, and called Barrois. Villefort's +impatience during this scene made the perspiration roll from +his forehead, and Franz was stupefied. The old servant came. +"Barrois," said Valentine, "my grandfather has told me to +open that drawer in the secretary, but there is a secret +spring in it, which you know -- will you open it?" + +Barrois looked at the old man. "Obey," said Noirtier's +intelligent eye. Barrois touched a spring, the false bottom +came out, and they saw a bundle of papers tied with a black +string. + +"Is that what you wish for?" said Barrois. + +"Yes." + +"Shall I give these papers to M. de Villefort?" + +"No." + +"To Mademoiselle Valentine?" + +"No." + +"To M. Franz d'Epinay?" + +"Yes." + +Franz, astonished, advanced a step. "To me, sir?" said he. + +"Yes." Franz took them from Barrois and casting a glance at +the cover, read: -- + +"`To be given, after my death, to General Durand, who shall +bequeath the packet to his son, with an injunction to +preserve it as containing an important document.' + +"Well, sir," asked Franz, "what do you wish me to do with +this paper?" + +"To preserve it, sealed up as it is, doubtless," said the +procureur. + +"No," replied Noirtier eagerly. + +"Do you wish him to read it?" said Valentine. + +"Yes," replied the old man. "You understand, baron, my +grandfather wishes you to read this paper," said Valentine. + +"Then let us sit down," said Villefort impatiently, "for it +will take some time." + +"Sit down," said the old man. Villefort took a chair, but +Valentine remained standing by her father's side, and Franz +before him, holding the mysterious paper in his hand. +"Read," said the old man. Franz untied it, and in the midst +of the most profound silence read: + +"`Extract from the Report of a meeting of the Bonapartist +Club in the Rue Saint-Jacques, held February 5th, 1815.'" + +Franz stopped. "February 5th, 1815!" said he; "it is the day +my father was murdered." Valentine and Villefort were dumb; +the eye of the old man alone seemed to say clearly, "Go on." + +"But it was on leaving this club," said he, "my father +disappeared." Noirtier's eye continued to say, "Read." He +resumed: -- + +"`The undersigned Louis Jacques Beaurepaire, +lieutenant-colonel of artillery, Etienne Duchampy, general +of brigade, and Claude Lecharpal, keeper of woods and +forests, Declare, that on the 4th of February, a letter +arrived from the Island of Elba, recommending to the +kindness and the confidence of the Bonapartist Club, General +Flavien de Quesnel, who having served the emperor from 1804 +to 1814 was supposed to be devoted to the interests of the +Napoleon dynasty, notwithstanding the title of baron which +Louis XVIII. had just granted to him with his estate of +Epinay. + +"`A note was in consequence addressed to General de Quesnel, +begging him to be present at the meeting next day, the 5th. +The note indicated neither the street nor the number of the +house where the meeting was to be held; it bore no +signature, but it announced to the general that some one +would call for him if he would be ready at nine o'clock. The +meetings were always held from that time till midnight. At +nine o'clock the president of the club presented himself; +the general was ready, the president informed him that one +of the conditions of his introduction was that he should be +eternally ignorant of the place of meeting, and that he +would allow his eyes to be bandaged, swearing that he would +not endeavor to take off the bandage. General de Quesnel +accepted the condition, and promised on his honor not to +seek to discover the road they took. The general's carriage +was ready, but the president told him it was impossible for +him to use it, since it was useless to blindfold the master +if the coachman knew through what streets he went. "What +must be done then?" asked the general. -- "I have my +carriage here," said the president. + +"`"Have you, then, so much confidence in your servant that +you can intrust him with a secret you will not allow me to +know?" + +"`"Our coachman is a member of the club," said the +president; "we shall be driven by a State-Councillor." + +"`"Then we run another risk," said the general, laughing, +"that of being upset." We insert this joke to prove that the +general was not in the least compelled to attend the +meeting, but that he came willingly. When they were seated +in the carriage the president reminded the general of his +promise to allow his eyes to be bandaged, to which he made +no opposition. On the road the president thought he saw the +general make an attempt to remove the handkerchief, and +reminded him of his oath. "Sure enough," said the general. +The carriage stopped at an alley leading out of the Rue +Saint-Jacques. The general alighted, leaning on the arm of +the president, of whose dignity he was not aware, +considering him simply as a member of the club; they went +through the alley, mounted a flight of stairs, and entered +the assembly-room. + +"`"The deliberations had already begun. The members, +apprised of the sort of presentation which was to be made +that evening, were all in attendance. When in the middle of +the room the general was invited to remove his bandage, he +did so immediately, and was surprised to see so many +well-known faces in a society of whose existence he had till +then been ignorant. They questioned him as to his +sentiments, but he contented himself with answering, that +the letters from the Island of Elba ought to have informed +them'" -- + +Franz interrupted himself by saying, "My father was a +royalist; they need not have asked his sentiments, which +were well known." + +"And hence," said Villefort, "arose my affection for your +father, my dear M. Franz. Opinions held in common are a +ready bond of union." + +"Read again," said the old man. Franz continued: -- + +"`The president then sought to make him speak more +explicitly, but M. de Quesnel replied that he wished first +to know what they wanted with him. He was then informed of +the contents of the letter from the Island of Elba, in which +he was recommended to the club as a man who would be likely +to advance the interests of their party. One paragraph spoke +of the return of Bonaparte and promised another letter and +further details, on the arrival of the Pharaon belonging to +the shipbuilder Morrel, of Marseilles, whose captain was +entirely devoted to the emperor. During all this time, the +general, on whom they thought to have relied as on a +brother, manifested evidently signs of discontent and +repugnance. When the reading was finished, he remained +silent, with knitted brows. + +"`"Well," asked the president, "what do you say to this +letter, general?" + +"`"I say that it is too soon after declaring myself for +Louis XVIII. to break my vow in behalf of the ex-emperor." +This answer was too clear to permit of any mistake as to his +sentiments. "General," said the president, "we acknowledge +no King Louis XVIII., or an ex-emperor, but his majesty the +emperor and king, driven from France, which is his kingdom, +by violence and treason." + +"`"Excuse me, gentlemen," said the general; "you may not +acknowledge Louis XVIII., but I do, as he has made me a +baron and a field-marshal, and I shall never forget that for +these two titles I am indebted to his happy return to +France." + +"`"Sir," said the president, rising with gravity, "be +careful what you say; your words clearly show us that they +are deceived concerning you in the Island of Elba, and have +deceived us! The communication has been made to you in +consequence of the confidence placed in you, and which does +you honor. Now we discover our error; a title and promotion +attach you to the government we wish to overturn. We will +not constrain you to help us; we enroll no one against his +conscience, but we will compel you to act generously, even +if you are not disposed to do so." + +"`"You would call acting generously, knowing your conspiracy +and not informing against you, that is what I should call +becoming your accomplice. You see I am more candid than +you."'" + +"Ah, my father!" said Franz, interrupting himself. "I +understand now why they murdered him." Valentine could not +help casting one glance towards the young man, whose filial +enthusiasm it was delightful to behold. Villefort walked to +and fro behind them. Noirtier watched the expression of each +one, and preserved his dignified and commanding attitude. +Franz returned to the manuscript, and continued: -- + +"`"Sir," said the president, "you have been invited to join +this assembly -- you were not forced here; it was proposed +to you to come blindfolded -- you accepted. When you +complied with this twofold request you well knew we did not +wish to secure the throne of Louis XVIII., or we should not +take so much care to avoid the vigilance of the police. It +would be conceding too much to allow you to put on a mask to +aid you in the discovery of our secret, and then to remove +it that you may ruin those who have confided in you. No, no, +you must first say if you declare yourself for the king of a +day who now reigns, or for his majesty the emperor." + +"`"I am a royalist," replied the general; "I have taken the +oath of allegiance to Louis XVIII., and I will adhere to +it." These words were followed by a general murmur, and it +was evident that several of the members were discussing the +propriety of making the general repent of his rashness. + +"`The president again arose, and having imposed silence, +said, -- "Sir, you are too serious and too sensible a man +not to understand the consequences of our present situation, +and your candor has already dictated to us the conditions +which remain for us to offer you." The general, putting his +hand on his sword, exclaimed, -- "If you talk of honor, do +not begin by disavowing its laws, and impose nothing by +violence." + +"`"And you, sir," continued the president, with a calmness +still more terrible than the general's anger, "I advise you +not to touch your sword." The general looked around him with +slight uneasiness; however he did not yield, but calling up +all his fortitude, said, -- "I will not swear." + +"`"Then you must die," replied the president calmly. M. +d'Epinay became very pale; he looked round him a second +time, several members of the club were whispering, and +getting their arms from under their cloaks. "General," said +the president, "do not alarm yourself; you are among men of +honor who will use every means to convince you before +resorting to the last extremity, but as you have said, you +are among conspirators, you are in possession of our secret, +and you must restore it to us." A significant silence +followed these words, and as the general did not reply, -- +"Close the doors," said the president to the door-keeper. + +"`The same deadly silence succeeded these words. Then the +general advanced, and making a violent effort to control his +feelings, -- "I have a son," said he, "and I ought to think +of him, finding myself among assassins." + +"`"General," said the chief of the assembly, "one man may +insult fifty -- it is the privilege of weakness. But he does +wrong to use his privilege. Follow my advice, swear, and do +not insult." The general, again daunted by the superiority +of the chief, hesitated a moment; then advancing to the +president's desk, -- "What is the form, said he. + +"`"It is this: -- `I swear by my honor not to reveal to any +one what I have seen and heard on the 5th of February, 1815, +between nine and ten o'clock in the evening; and I plead +guilty of death should I ever violate this oath.'" The +general appeared to be affected by a nervous tremor, which +prevented his answering for some moments; then, overcoming +his manifest repugnance, he pronounced the required oath, +but in so low a tone as to be scarcely audible to the +majority of the members, who insisted on his repeating it +clearly and distinctly, which he did. + +"`"Now am I at liberty to retire?" said the general. The +president rose, appointed three members to accompany him, +and got into the carriage with the general after bandaging +his eyes. One of those three members was the coachman who +had driven them there. The other members silently dispersed. +"Where do you wish to be taken?" asked the president. -- +"Anywhere out of your presence," replied M. d'Epinay. +"Beware, sir," replied the president, "you are no longer in +the assembly, and have only to do with individuals; do not +insult them unless you wish to be held responsible." But +instead of listening, M. d'Epinay went on, -- "You are still +as brave in your carriage as in your assembly because you +are still four against one." The president stopped the +coach. They were at that part of the Quai des Ormes where +the steps lead down to the river. "Why do you stop here?" +asked d'Epinay. + +"`"Because, sir," said the president, "you have insulted a +man, and that man will not go one step farther without +demanding honorable reparation." + +"`"Another method of assassination?" said the general, +shrugging his shoulders. + +"`"Make no noise, sir, unless you wish me to consider you as +one of the men of whom you spoke just now as cowards, who +take their weakness for a shield. You are alone, one alone +shall answer you; you have a sword by your side, I have one +in my cane; you have no witness, one of these gentlemen will +serve you. Now, if you please, remove your bandage." The +general tore the handkerchief from his eyes. "At last," said +he, "I shall know with whom I have to do." They opened the +door and the four men alighted.'" + +Franz again interrupted himself, and wiped the cold drops +from his brow; there was something awful in hearing the son +read aloud in trembling pallor these details of his father's +death, which had hitherto been a mystery. Valentine clasped +her hands as if in prayer. Noirtier looked at Villefort with +an almost sublime expression of contempt and pride. Franz +continued: -- + +"`It was, as we said, the fifth of February. For three days +the mercury had been five or six degrees below freezing and +the steps were covered with ice. The general was stout and +tall, the president offered him the side of the railing to +assist him in getting down. The two witnesses followed. It +was a dark night. The ground from the steps to the river was +covered with snow and hoarfrost, the water of the river +looked black and deep. One of the seconds went for a lantern +in a coal-barge near, and by its light they examined the +weapons. The president's sword, which was simply, as he had +said, one he carried in his cane, was five inches shorter +than the general's, and had no guard. The general proposed +to cast lots for the swords, but the president said it was +he who had given the provocation, and when he had given it +he had supposed each would use his own arms. The witnesses +endeavored to insist, but the president bade them be silent. +The lantern was placed on the ground, the two adversaries +took their stations, and the duel began. The light made the +two swords appear like flashes of lightning; as for the men, +they were scarcely perceptible, the darkness was so great. + +"`General d'Epinay passed for one of the best swordsmen in +the army, but he was pressed so closely in the onset that he +missed his aim and fell. The witnesses thought he was dead, +but his adversary, who knew he had not struck him, offered +him the assistance of his hand to rise. The circumstance +irritated instead of calming the general, and he rushed on +his adversary. But his opponent did not allow his guard to +be broken. He received him on his sword and three times the +general drew back on finding himself too closely engaged, +and then returned to the charge. At the third he fell again. +They thought he slipped, as at first, and the witnesses, +seeing he did not move, approached and endeavored to raise +him, but the one who passed his arm around the body found it +was moistened with blood. The general, who had almost +fainted, revived. "Ah," said he, "they have sent some +fencing-master to fight with me." The president, without +answering, approached the witness who held the lantern, and +raising his sleeve, showed him two wounds he had received in +his arm; then opening his coat, and unbuttoning his +waistcoat, displayed his side, pierced with a third wound. +Still he had not even uttered a sigh. General d'Epinay died +five minutes after.'" + +Franz read these last words in a voice so choked that they +were hardly audible, and then stopped, passing his hand over +his eyes as if to dispel a cloud; but after a moment's +silence, he continued: -- + +"`The president went up the steps, after pushing his sword +into his cane; a track of blood on the snow marked his +course. He had scarcely arrived at the top when he heard a +heavy splash in the water -- it was the general's body, +which the witnesses had just thrown into the river after +ascertaining that he was dead. The general fell, then, in a +loyal duel, and not in ambush as it might have been +reported. In proof of this we have signed this paper to +establish the truth of the facts, lest the moment should +arrive when either of the actors in this terrible scene +should be accused of premeditated murder or of infringement +of the laws of honor. + +"`Signed, Beaurepaire, Deschamps, and Lecharpal.'" + +When Franz had finished reading this account, so dreadful +for a son; when Valentine, pale with emotion, had wiped away +a tear; when Villefort, trembling, and crouched in a corner, +had endeavored to lessen the storm by supplicating glances +at the implacable old man, -- "Sir," said d'Epinay to +Noirtier, "since you are well acquainted with all these +details, which are attested by honorable signatures, -- +since you appear to take some interest in me, although you +have only manifested it hitherto by causing me sorrow, +refuse me not one final satisfaction -- tell me the name of +the president of the club, that I may at least know who +killed my father." Villefort mechanically felt for the +handle of the door; Valentine, who understood sooner than +anyone her grandfather's answer, and who had often seen two +scars upon his right arm, drew back a few steps. +"Mademoiselle," said Franz, turning towards Valentine, +"unite your efforts with mine to find out the name of the +man who made me an orphan at two years of age." Valentine +remained dumb and motionless. + +"Hold, sir," said Villefort, "do not prolong this dreadful +scene. The names have been purposely concealed; my father +himself does not know who this president was, and if he +knows, he cannot tell you; proper names are not in the +dictionary." + +"Oh, misery," cried Franz: "the only hope which sustained me +and enabled me to read to the end was that of knowing, at +least, the name of him who killed my father! Sir, sir," +cried he, turning to Noirtier, "do what you can -- make me +understand in some way!" + +"Yes," replied Noirtier. + +"Oh, mademoiselle, -- mademoiselle!" cried Franz, "your +grandfather says he can indicate the person. Help me, -- +lend me your assistance!" Noirtier looked at the dictionary. +Franz took it with a nervous trembling, and repeated the +letters of the alphabet successively, until he came to M. At +that letter the old man signified "Yes." + +"M," repeated Franz. The young man's finger, glided over the +words, but at each one Noirtier answered by a negative sign. +Valentine hid her head between her hands. At length, Franz +arrived at the word MYSELF. + +"Yes!" + +"You?" cried Franz, whose hair stood on end; "you, M. +Noirtier -- you killed my father?" + +"Yes!" replied Noirtier, fixing a majestic look on the young +man. Franz fell powerless on a chair; Villefort opened the +door and escaped, for the idea had entered his mind to +stifle the little remaining life in the heart of this +terrible old man. + + + +Chapter 76 +Progress of Cavalcanti the Younger. + +Meanwhile M. Cavalcanti the elder had returned to his +service, not in the army of his majesty the Emperor of +Austria, but at the gaming-table of the baths of Lucca, of +which he was one of the most assiduous courtiers. He had +spent every farthing that had been allowed for his journey +as a reward for the majestic and solemn manner in which he +had maintained his assumed character of father. M. Andrea at +his departure inherited all the papers which proved that he +had indeed the honor of being the son of the Marquis +Bartolomeo and the Marchioness Oliva Corsinari. He was now +fairly launched in that Parisian society which gives such +ready access to foreigners, and treats them, not as they +really are, but as they wish to be considered. Besides, what +is required of a young man in Paris? To speak its language +tolerably, to make a good appearance, to be a good gamester, +and to pay in cash. They are certainly less particular with +a foreigner than with a Frenchman. Andrea had, then, in a +fortnight, attained a very fair position. He was called +count, he was said to possess 50,000 livres per annum; and +his father's immense riches, buried in the quarries of +Saravezza, were a constant theme. A learned man, before whom +the last circumstance was mentioned as a fact, declared he +had seen the quarries in question, which gave great weight +to assertions hitherto somewhat doubtful, but which now +assumed the garb of reality. + +Such was the state of society in Paris at the period we +bring before our readers, when Monte Cristo went one evening +to pay M. Danglars a visit. M. Danglars was out, but the +count was asked to go and see the baroness, and he accepted +the invitation. It was never without a nervous shudder, +since the dinner at Auteuil, and the events which followed +it, that Madame Danglars heard Monte Cristo's name +announced. If he did not come, the painful sensation became +most intense; if, on the contrary, he appeared, his noble +countenance, his brilliant eyes, his amiability, his polite +attention even towards Madame Danglars, soon dispelled every +impression of fear. It appeared impossible to the baroness +that a man of such delightfully pleasing manners should +entertain evil designs against her; besides, the most +corrupt minds only suspect evil when it would answer some +interested end -- useless injury is repugnant to every mind. +When Monte Cristo entered the boudoir, -- to which we have +already once introduced our readers, and where the baroness +was examining some drawings, which her daughter passed to +her after having looked at them with M. Cavalcanti, -- his +presence soon produced its usual effect, and it was with +smiles that the baroness received the count, although she +had been a little disconcerted at the announcement of his +name. The latter took in the whole scene at a glance. + +The baroness was partially reclining on a sofa, Eugenie sat +near her, and Cavalcanti was standing. Cavalcanti, dressed +in black, like one of Goethe's heroes, with varnished shoes +and white silk open-worked stockings, passed a white and +tolerably nice-looking hand through his light hair, and so +displayed a sparkling diamond, that in spite of Monte +Cristo's advice the vain young man had been unable to resist +putting on his little finger. This movement was accompanied +by killing glances at Mademoiselle Danglars, and by sighs +launched in the same direction. Mademoiselle Danglars was +still the same -- cold, beautiful, and satirical. Not one of +these glances, nor one sigh, was lost on her; they might +have been said to fall on the shield of Minerva, which some +philosophers assert protected sometimes the breast of +Sappho. Eugenie bowed coldly to the count, and availed +herself of the first moment when the conversation became +earnest to escape to her study, whence very soon two +cheerful and noisy voices being heard in connection with +occasional notes of the piano assured Monte Cristo that +Mademoiselle Danglars preferred to his society and to that +of M. Cavalcanti the company of Mademoiselle Louise +d'Armilly, her singing teacher. + +It was then, especially while conversing with Madame +Danglars, and apparently absorbed by the charm of the +conversation, that the count noticed M. Andrea Cavalcanti's +solicitude, his manner of listening to the music at the door +he dared not pass, and of manifesting his admiration. The +banker soon returned. His first look was certainly directed +towards Monte Cristo, but the second was for Andrea. As for +his wife, he bowed to her, as some husbands do to their +wives, but in a way that bachelors will never comprehend, +until a very extensive code is published on conjugal life. + +"Have not the ladies invited you to join them at the piano?" +said Danglars to Andrea. "Alas, no, sir," replied Andrea +with a sigh, still more remarkable than the former ones. +Danglars immediately advanced towards the door and opened +it. + +The two young ladies were seen seated on the same chair, at +the piano, accompanying themselves, each with one hand, a +fancy to which they had accustomed themselves, and performed +admirably. Mademoiselle d'Armilly, whom they then perceived +through the open doorway, formed with Eugenie one of the +tableaux vivants of which the Germans are so fond. She was +somewhat beautiful, and exquisitely formed -- a little +fairy-like figure, with large curls falling on her neck, +which was rather too long, as Perugino sometimes makes his +Virgins, and her eyes dull from fatigue. She was said to +have a weak chest, and like Antonia in the "Cremona Violin," +she would die one day while singing. Monte Cristo cast one +rapid and curious glance round this sanctum; it was the +first time he had ever seen Mademoiselle d'Armilly, of whom +he had heard much. "Well," said the banker to his daughter, +"are we then all to be excluded?" He then led the young man +into the study, and either by chance or manoeuvre the door +was partially closed after Andrea, so that from the place +where they sat neither the Count nor the baroness could see +anything; but as the banker had accompanied Andrea, Madame +Danglars appeared to take no notice of it. + +The count soon heard Andrea's voice, singing a Corsican +song, accompanied by the piano. While the count smiled at +hearing this song, which made him lose sight of Andrea in +the recollection of Benedetto, Madame Danglars was boasting +to Monte Cristo of her husband's strength of mind, who that +very morning had lost three or four hundred thousand francs +by a failure at Milan. The praise was well deserved, for had +not the count heard it from the baroness, or by one of those +means by which he knew everything, the baron's countenance +would not have led him to suspect it. "Hem," thought Monte +Cristo, "he begins to conceal his losses; a month since he +boasted of them." Then aloud, -- "Oh, madame, M. Danglars is +so skilful, he will soon regain at the Bourse what he loses +elsewhere." + +"I see that you participate in a prevalent error," said +Madame Danglars. "What is it?" said Monte Cristo. + +"That M. Danglars speculates, whereas he never does." + +"Truly, madame, I recollect M. Debray told me -- apropos, +what is become of him? I have seen nothing of him the last +three or four days." + +"Nor I," said Madame Danglars; "but you began a sentence, +sir, and did not finish." + +"Which?" + +"M. Debray had told you" -- + +"Ah, yes; he told me it was you who sacrificed to the demon +of speculation." + +"I was once very fond of it, but I do not indulge now." + +"Then you are wrong, madame. Fortune is precarious; and if I +were a woman and fate had made me a banker's wife, whatever +might be my confidence in my husband's good fortune, still +in speculation you know there is great risk. Well, I would +secure for myself a fortune independent of him, even if I +acquired it by placing my interests in hands unknown to +him." Madame Danglars blushed, in spite of all her efforts. +"Stay," said Monte Cristo, as though he had not observed her +confusion, "I have heard of a lucky hit that was made +yesterday on the Neapolitan bonds." + +"I have none -- nor have I ever possessed any; but really we +have talked long enough of money, count, we are like two +stockbrokers; have you heard how fate is persecuting the +poor Villeforts?" + +"What has happened?" said the count, simulating total +ignorance. + +"You know the Marquis of Saint-Meran died a few days after +he had set out on his journey to Paris, and the marchioness +a few days after her arrival?" + +"Yes," said Monte Cristo, "I have heard that; but, as +Claudius said to Hamlet, `it is a law of nature; their +fathers died before them, and they mourned their loss; they +will die before their children, who will, in their turn, +grieve for them.'" + +"But that is not all." + +"Not all!" + +"No; they were going to marry their daughter" -- + +"To M. Franz d'Epinay. Is it broken off?" + +"Yesterday morning, it appears, Franz declined the honor." + +"Indeed? And is the reason known?" + +"No." + +"How extraordinary! And how does M. de Villefort bear it?" + +"As usual. Like a philosopher." Danglars returned at this +moment alone. "Well," said the baroness, "do you leave M. +Cavalcanti with your daughter?" + +"And Mademoiselle d'Armilly," said the banker; "do you +consider her no one?" Then, turning to Monte Cristo, he +said, "Prince Cavalcanti is a charming young man, is he not? +But is he really a prince?" + +"I will not answer for it," said Monte Cristo. "His father +was introduced to me as a marquis, so he ought to be a +count; but I do not think he has much claim to that title." + +"Why?" said the banker. "If he is a prince, he is wrong not +to maintain his rank; I do not like any one to deny his +origin." + +"Oh, you are a thorough democrat," said Monte Cristo, +smiling. + +"But do you see to what you are exposing yourself?" said the +baroness. "If, perchance, M. de Morcerf came, he would find +M. Cavalcanti in that room, where he, the betrothed of +Eugenie, has never been admitted." + +"You may well say, perchance," replied the banker; "for he +comes so seldom, it would seem only chance that brings him." + +"But should he come and find that young man with your +daughter, he might be displeased." + +"He? You are mistaken. M. Albert would not do us the honor +to be jealous; he does not like Eugenie sufficiently. +Besides, I care not for his displeasure." + +"Still, situated as we are" -- + +"Yes, do you know how we are situated? At his mother's ball +he danced once with Eugenie, and M. Cavalcanti three times, +and he took no notice of it." The valet announced the +Vicomte Albert de Morcerf. The baroness rose hastily, and +was going into the study, when Danglars stopped her. "Let +her alone," said he. She looked at him in amazement. Monte +Cristo appeared to be unconscious of what passed. Albert +entered, looking very handsome and in high spirits. He bowed +politely to the baroness, familiarly to Danglars, and +affectionately to Monte Cristo. Then turning to the +baroness: "May I ask how Mademoiselle Danglars is?" said he. + +"She is quite well," replied Danglars quickly; "she is at +the piano with M. Cavalcanti." Albert retained his calm and +indifferent manner; he might feel perhaps annoyed, but he +knew Monte Cristo's eye was on him. "M. Cavalcanti has a +fine tenor voice," said he, "and Mademoiselle Eugenie a +splendid soprano, and then she plays the piano like +Thalberg. The concert must be a delightful one." + +"They suit each other remarkably well," said Danglars. +Albert appeared not to notice this remark, which was, +however, so rude that Madame Danglars blushed. + +"I, too," said the young man, "am a musician -- at least, my +masters used to tell me so; but it is strange that my voice +never would suit any other, and a soprano less than any." +Danglars smiled, and seemed to say, "It is of no +consequence." Then, hoping doubtless to effect his purpose, +he said, -- "The prince and my daughter were universally +admired yesterday. You were not of the party, M. de +Morcerf?" + +"What prince?" asked Albert. "Prince Cavalcanti," said +Danglars, who persisted in giving the young man that title. + +"Pardon me," said Albert, "I was not aware that he was a +prince. And Prince Cavalcanti sang with Mademoiselle Eugenie +yesterday? It must have been charming, indeed. I regret not +having heard them. But I was unable to accept your +invitation, having promised to accompany my mother to a +German concert given by the Baroness of Chateau-Renaud." +This was followed by rather an awkward silence. "May I also +be allowed," said Morcerf, "to pay my respects to +Mademoiselle Danglars?" "Wait a moment," said the banker, +stopping the young man; "do you hear that delightful +cavatina? Ta, ta, ta, ti, ta, ti, ta, ta; it is charming, +let them finish -- one moment. Bravo, bravi, brava!" The +banker was enthusiastic in his applause. + +"Indeed," said Albert, "it is exquisite; it is impossible to +understand the music of his country better than Prince +Cavalcanti does. You said prince, did you not? But he can +easily become one, if he is not already; it is no uncommon +thing in Italy. But to return to the charming musicians -- +you should give us a treat, Danglars, without telling them +there is a stranger. Ask them to sing one more song; it is +so delightful to hear music in the distance, when the +musicians are unrestrained by observation." + +Danglars was quite annoyed by the young man's indifference. +He took Monte Cristo aside. "What do you think of our +lover?" said he. + +"He appears cool. But, then your word is given." + +"Yes, doubtless I have promised to give my daughter to a man +who loves her, but not to one who does not. See him there, +cold as marble and proud like his father. If he were rich, +if he had Cavalcanti's fortune, that might be pardoned. Ma +foi, I haven't consulted my daughter; but if she has good +taste" -- + +"Oh," said Monte Cristo, "my fondness may blind me, but I +assure you I consider Morcerf a charming young man who will +render your daughter happy and will sooner or later attain a +certain amount of distinction, and his father's position is +good." + +"Hem," said Danglars. + +"Why do you doubt?" + +"The past -- that obscurity on the past." + +"But that does not affect the son." + +"Very true." + +"Now, I beg of you, don't go off your head. It's a month now +that you have been thinking of this marriage, and you must +see that it throws some responsibility on me, for it was at +my house you met this young Cavalcanti, whom I do not really +know at all." + +"But I do." + +"Have you made inquiry?" + +"Is there any need of that! Does not his appearance speak +for him? And he is very rich." + +"I am not so sure of that." + +"And yet you said he had money." + +"Fifty thousand livres -- a mere trifle." + +"He is well educated." + +"Hem," said Monte Cristo in his turn. + +"He is a musician." + +"So are all Italians." + +"Come, count, you do not do that young man justice." + +"Well, I acknowledge it annoys me, knowing your connection +with the Morcerf family, to see him throw himself in the +way." Danglars burst out laughing. "What a Puritan you are!" +said he; "that happens every day." + +"But you cannot break it off in this way; the Morcerfs are +depending on this union." + +"Indeed." + +"Positively." + +"Then let them explain themselves; you should give the +father a hint, you are so intimate with the family." + +"I? -- where the devil did you find out that?" + +"At their ball; it was apparent enough. Why, did not the +countess, the proud Mercedes, the disdainful Catalane, who +will scarcely open her lips to her oldest acquaintances, +take your arm, lead you into the garden, into the private +walks, and remain there for half an hour?" + +"Ah, baron, baron," said Albert, "you are not listening -- +what barbarism in a melomaniac like you!" + +"Oh, don't worry about me, Sir Mocker," said Danglars; then +turning to the count he said, "but will you undertake to +speak to the father?" + +"Willingly, if you wish it." + +"But let it be done explicitly and positively. If he demands +my daughter let him fix the day -- declare his conditions; +in short, let us either understand each other, or quarrel. +You understand -- no more delay." + +"Yes. sir, I will give my attention to the subject." + +"I do not say that I await with pleasure his decision, but I +do await it. A banker must, you know, be a slave to his +promise." And Danglars sighed as M. Cavalcanti had done half +an hour before. "Bravi, bravo, brava!" cried Morcerf, +parodying the banker, as the selection came to an end. +Danglars began to look suspiciously at Morcerf, when some +one came and whispered a few words to him. "I shall soon +return," said the banker to Monte Cristo; "wait for me. I +shall, perhaps, have something to say to you." And he went +out. + +The baroness took advantage of her husband's absence to push +open the door of her daughter's study, and M. Andrea, who +was sitting before the piano with Mademoiselle Eugenie, +started up like a jack-in-the-box. Albert bowed with a smile +to Mademoiselle Danglars, who did not appear in the least +disturbed, and returned his bow with her usual coolness. +Cavalcanti was evidently embarrassed; he bowed to Morcerf, +who replied with the most impertinent look possible. Then +Albert launched out in praise of Mademoiselle Danglars' +voice, and on his regret, after what he had just heard, that +he had been unable to be present the previous evening. +Cavalcanti, being left alone, turned to Monte Cristo. + +"Come," said Madame Danglars, "leave music and compliments, +and let us go and take tea." + +"Come, Louise," said Mademoiselle Danglars to her friend. +They passed into the next drawing-room, where tea was +prepared. Just as they were beginning, in the English +fashion, to leave the spoons in their cups, the door again +opened and Danglars entered, visibly agitated. Monte Cristo +observed it particularly, and by a look asked the banker for +an explanation. "I have just received my courier from +Greece," said Danglars. + +"Ah, yes," said the count; "that was the reason of your +running away from us." + +"Yes." + +"How is King Otho getting on?" asked Albert in the most +sprightly tone. Danglars cast another suspicious look +towards him without answering, and Monte Cristo turned away +to conceal the expression of pity which passed over his +features, but which was gone in a moment. "We shall go +together, shall we not?" said Albert to the count. + +"If you like," replied the latter. Albert could not +understand the banker's look, and turning to Monte Cristo, +who understood it perfectly, -- "Did you see," said he, "how +he looked at me?" + +"Yes," said the count; "but did you think there was anything +particular in his look?" + +"Indeed, I did; and what does he mean by his news from +Greece?" + +"How can I tell you?" + +"Because I imagine you have correspondents in that country." +Monte Cristo smiled significantly. + +"Stop," said Albert, "here he comes. I shall compliment +Mademoiselle Danglars on her cameo, while the father talks +to you." + +"If you compliment her at all, let it be on her voice, at +least," said Monte Cristo. + +"No, every one would do that." + +"My dear viscount, you are dreadfully impertinent." Albert +advanced towards Eugenie, smiling. Meanwhile, Danglars, +stooping to Monte Cristo's ear, "Your advice was excellent," +said he; "there is a whole history connected with the names +Fernand and Yanina." + +"Indeed?" said Monte Cristo. + +"Yes, I will tell you all; but take away the young man; I +cannot endure his presence." + +"He is going with me. Shall I send the father to you?" + +"Immediately." + +"Very well." The count made a sign to Albert and they bowed +to the ladies, and took their leave, Albert perfectly +indifferent to Mademoiselle Danglars' contempt, Monte Cristo +reiterating his advice to Madame Danglars on the prudence a +banker's wife should exercise in providing for the future. +M. Cavalcanti remained master of the field. + + + +Chapter 77 +Haidee. + +Scarcely had the count's horses cleared the angle of the +boulevard, than Albert, turning towards the count, burst +into a loud fit of laughter -- much too loud in fact not to +give the idea of its being rather forced and unnatural. +"Well," said he, "I will ask you the same question which +Charles IX. put to Catherine de Medicis, after the massacre +of Saint Bartholomew, `How have I played my little part?'" + +"To what do you allude?" asked Monte Cristo. + +"To the installation of my rival at M. Danglars'." + +"What rival?" + +"Ma foi, what rival? Why, your protege, M. Andrea +Cavalcanti!" + +"Ah, no joking, viscount, if you please; I do not patronize +M. Andrea -- at least, not as concerns M. Danglars." + +"And you would be to blame for not assisting him, if the +young man really needed your help in that quarter, but, +happily for me, he can dispense with it." + +"What, do you think he is paying his addresses?" + +"I am certain of it; his languishing looks and modulated +tones when addressing Mademoiselle Danglars fully proclaim +his intentions. He aspires to the hand of the proud +Eugenie." + +"What does that signify, so long as they favor your suit?" + +"But it is not the case, my dear count: on the contrary. I +am repulsed on all sides." + +"What!" + +"It is so indeed; Mademoiselle Eugenie scarcely answers me, +and Mademoiselle d'Armilly, her confidant, does not speak to +me at all." + +"But the father has the greatest regard possible for you," +said Monte Cristo. + +"He? Oh, no, he has plunged a thousand daggers into my +heart, tragedy-weapons, I own, which instead of wounding +sheathe their points in their own handles, but daggers which +he nevertheless believed to be real and deadly." + +"Jealousy indicates affection." + +"True; but I am not jealous." + +"He is." + +"Of whom? -- of Debray?" + +"No, of you." + +"Of me? I will engage to say that before a week is past the +door will be closed against me." + +"You are mistaken, my dear viscount." + +"Prove it to me." + +"Do you wish me to do so?" + +"Yes." + +"Well, I am charged with the commission of endeavoring to +induce the Comte de Morcerf to make some definite +arrangement with the baron." + +"By whom are you charged?" + +"By the baron himself." + +"Oh," said Albert with all the cajolery of which he was +capable. "You surely will not do that, my dear count?" + +"Certainly I shall, Albert, as I have promised to do it." + +"Well," said Albert, with a sigh, "it seems you are +determined to marry me." + +"I am determined to try and be on good terms with everybody, +at all events," said Monte Cristo. "But apropos of Debray, +how is it that I have not seen him lately at the baron's +house?" + +"There has been a misunderstanding." + +"What, with the baroness?" + +"No, with the baron." + +"Has he perceived anything?" + +"Ah, that is a good joke!" + +"Do you think he suspects?" said Monte Cristo with charming +artlessness. + +"Where have you come from, my dear count?" said Albert. + +"From Congo, if you will." + +"It must be farther off than even that." + +"But what do I know of your Parisian husbands?" + +"Oh, my dear count, husbands are pretty much the same +everywhere; an individual husband of any country is a pretty +fair specimen of the whole race." + +"But then, what can have led to the quarrel between Danglars +and Debray? They seemed to understand each other so well," +said Monte Cristo with renewed energy. + +"Ah, now you are trying to penetrate into the mysteries of +Isis, in which I am not initiated. When M. Andrea Cavalcanti +has become one of the family, you can ask him that +question." The carriage stopped. "Here we are," said Monte +Cristo; "it is only half-past ten o'clock, come in." + +"Certainly I will." + +"My carriage shall take you back." + +"No, thank you; I gave orders for my coupe to follow me." + +"There it is, then," said Monte Cristo, as he stepped out of +the carriage. They both went into the house; the +drawing-room was lighted up -- they went in there. "You will +make tea for us, Baptistin," said the count. Baptistin left +the room without waiting to answer, and in two seconds +reappeared, bringing on a waiter all that his master had +ordered, ready prepared, and appearing to have sprung from +the ground, like the repasts which we read of in fairy +tales. "Really, my dear count," said Morcerf. "what I admire +in you is, not so much your riches, for perhaps there are +people even wealthier than yourself, nor is it only your +wit, for Beaumarchais might have possessed as much, -- but +it is your manner of being served, without any questions, in +a moment, in a second; it is as it they guessed what you +wanted by your manner of ringing, and made a point of +keeping everything you can possibly desire in constant +readiness." + +"What you say is perhaps true; they know my habits. For +instance, you shall see; how do you wish to occupy yourself +during tea-time?" + +"Ma foi, I should like to smoke." + +Monte Cristo took the gong and struck it once. In about the +space of a second a private door opened, and Ali appeared, +bringing two chibouques filled with excellent latakia. "It +is quite wonderful," said Albert. + +"Oh no, it is as simple as possible," replied Monte Cristo. +"Ali knows I generally smoke while I am taking my tea or +coffee; he has heard that I ordered tea, and he also knows +that I brought you home with me; when I summoned him he +naturally guessed the reason of my doing so, and as he comes +from a country where hospitality is especially manifested +through the medium of smoking, he naturally concludes that +we shall smoke in company, and therefore brings two +chibouques instead of one -- and now the mystery is solved." + +"Certainly you give a most commonplace air to your +explanation, but it is not the less true that you -- Ah, but +what do I hear?" and Morcerf inclined his head towards the +door, through which sounds seemed to issue resembling those +of a guitar. + +"Ma foi, my dear viscount, you are fated to hear music this +evening; you have only escaped from Mademoiselle Danglars' +piano, to be attacked by Haidee's guzla." + +"Haidee -- what an adorable name! Are there, then, really +women who bear the name of Haidee anywhere but in Byron's +poems?" + +"Certainly there are. Haidee is a very uncommon name in +France, but is common enough in Albania and Epirus; it is as +it you said, for example, Chastity, Modesty, Innocence, -- +it is a kind of baptismal name, as you Parisians call it." + +"Oh, that is charming," said Albert, "how I should like to +hear my countrywomen called Mademoiselle Goodness, +Mademoiselle Silence, Mademoiselle Christian Charity! Only +think, then, if Mademoiselle Danglars, instead of being +called Claire-Marie-Eugenie, had been named Mademoiselle +Chastity-Modesty-Innocence Danglars; what a fine effect that +would have produced on the announcement of her marriage!" + +"Hush," said the count, "do not joke in so loud a tone; +Haidee may hear you, perhaps." + +"And you think she would be angry?" + +"No, certainly not," said the count with a haughty +expression. + +"She is very amiable, then, is she not?" said Albert. + +"It is not to be called amiability, it is her duty; a slave +does not dictate to a master." + +"Come; you are joking yourself now. Are there any more +slaves to be had who bear this beautiful name?" + +"Undoubtedly." + +"Really, count, you do nothing, and have nothing like other +people. The slave of the Count of Monte Cristo! Why, it is a +rank of itself in France, and from the way in which you +lavish money, it is a place that must be worth a hundred +thousand francs a year." + +"A hundred thousand francs! The poor girl originally +possessed much more than that; she was born to treasures in +comparison with which those recorded in the `Thousand and +One Nights' would seem but poverty." + +"She must be a princess then." + +"You are right; and she is one of the greatest in her +country too." + +"I thought so. But how did it happen that such a great +princess became a slave?" + +"How was it that Dionysius the Tyrant became a schoolmaster? +The fortune of war, my dear viscount, -- the caprice of +fortune; that is the way in which these things are to be +accounted for." + +"And is her name a secret?" + +"As regards the generality of mankind it is; but not for +you, my dear viscount, who are one of my most intimate +friends, and on whose silence I feel I may rely, if I +consider it necessary to enjoin it -- may I not do so?" + +"Certainly; on my word of honor." + +"You know the history of the pasha of Yanina, do you not?" + +"Of Ali Tepelini?* Oh, yes; it was in his service that my +father made his fortune." + +"True, I had forgotten that." + +* Ali Pasha, "The Lion," was born at Tepelini, an Albanian +village at the foot of the Klissoura Mountains, in 1741. By +diplomacy and success in arms he became almost supreme ruler +of Albania, Epirus, and adjacent territory. Having aroused +the enmity of the Sultan, he was proscribed and put to death +by treachery in 1822, at the age of eighty. -- Ed. + +"Well, what is Haidee to Ali Tepelini?" + +"Merely his daughter." + +"What? the daughter of Ali Pasha?" + +"Of Ali Pasha and the beautiful Vasiliki." + +"And your slave?" + +"Ma foi, yes." + +"But how did she become so?" + +"Why, simply from the circumstance of my having bought her +one day, as I was passing through the market at +Constantinople." + +"Wonderful! Really, my dear count, you seem to throw a sort +of magic influence over all in which you are concerned; when +I listen to you, existence no longer seems reality, but a +waking dream. Now, I am perhaps going to make an imprudent +and thoughtless request, but" -- + +"Say on." + +"But, since you go out with Haidee, and sometimes even take +her to the opera" -- + +"Well?" + +"I think I may venture to ask you this favor." + +"You may venture to ask me anything." + +"Well then, my dear count, present me to your princess." + +"I will do so; but on two conditions." + +"I accept them at once." + +"The first is, that you will never tell any one that I have +granted the interview." + +"Very well," said Albert, extending his hand; "I swear I +will not." + +"The second is, that you will not tell her that your father +ever served hers." + +"I give you my oath that I will not." + +"Enough, viscount; you will remember those two vows, will +you not? But I know you to be a man of honor." The count +again struck the gong. Ali reappeared. "Tell Haidee," said +he, "that I will take coffee with her, and give her to +understand that I desire permission to present one of my +friends to her." Ali bowed and left the room. "Now, +understand me," said the count, "no direct questions, my +dear Morcerf; if you wish to know anything, tell me, and I +will ask her." + +"Agreed." Ali reappeared for the third time, and drew back +the tapestried hanging which concealed the door, to signify +to his master and Albert that they were at liberty to pass +on. "Let us go in," said Monte Cristo. + +Albert passed his hand through his hair, and curled his +mustache, then, having satisfied himself as to his personal +appearance, followed the count into the room, the latter +having previously resumed his hat and gloves. Ali was +stationed as a kind of advanced guard, and the door was kept +by the three French attendants, commanded by Myrtho. Haidee +was awaiting her visitors in the first room of her +apartments, which was the drawing-room. Her large eyes were +dilated with surprise and expectation, for it was the first +time that any man, except Monte Cristo, had been accorded an +entrance into her presence. She was sitting on a sofa placed +in an angle of the room, with her legs crossed under her in +the Eastern fashion, and seemed to have made for herself, as +it were, a kind of nest in the rich Indian silks which +enveloped her. Near her was the instrument on which she had +just been playing; it was elegantly fashioned, and worthy of +its mistress. On perceiving Monte Cristo, she arose and +welcomed him with a smile peculiar to herself, expressive at +once of the most implicit obedience and also of the deepest +love. Monte Cristo advanced towards her and extended his +hand, which she as usual raised to her lips. + +Albert had proceeded no farther than the door, where he +remained rooted to the spot, being completely fascinated by +the sight of such surpassing beauty, beheld as it was for +the first time, and of which an inhabitant of more northern +climes could form no adequate idea. + +"Whom do you bring?" asked the young girl in Romaic, of +Monte Cristo; "is it a friend, a brother, a simple +acquaintance, or an enemy." + +"A friend," said Monte Cristo in the same language. + +"What is his name?" + +"Count Albert; it is the same man whom I rescued from the +hands of the banditti at Rome." + +"In what language would you like me to converse with him?" + +Monte Cristo turned to Albert. "Do you know modern Greek," +asked he. + +"Alas, no," said Albert; "nor even ancient Greek, my dear +count; never had Homer or Plato a more unworthy scholar than +myself." + +"Then," said Haidee, proving by her remark that she had +quite understood Monte Cristo's question and Albert's +answer, "then I will speak either in French or Italian, if +my lord so wills it." + +Monte Cristo reflected one instant. "You will speak in +Italian," said he. Then, turning towards Albert, -- "It is a +pity you do not understand either ancient or modern Greek, +both of which Haidee speaks so fluently; the poor child will +be obliged to talk to you in Italian, which will give you +but a very false idea of her powers of conversation." The +count made a sign to Haidee to address his visitor. "Sir," +she said to Morcerf, "you are most welcome as the friend of +my lord and master." This was said in excellent Tuscan, and +with that soft Roman accent which makes the language of +Dante as sonorous as that of Homer. Then, turning to Ali, +she directed him to bring coffee and pipes, and when he had +left the room to execute the orders of his young mistress +she beckoned Albert to approach nearer to her. Monte Cristo +and Morcerf drew their seats towards a small table, on which +were arranged music, drawings, and vases of flowers. Ali +then entered bringing coffee and chibouques; as to M. +Baptistin, this portion of the building was interdicted to +him. Albert refused the pipe which the Nubian offered him. +"Oh, take it -- take it," said the count; "Haidee is almost +as civilized as a Parisian; the smell of an Havana is +disagreeable to her, but the tobacco of the East is a most +delicious perfume, you know." + +Ali left the room. The cups of coffee were all prepared, +with the addition of sugar, which had been brought for +Albert. Monte Cristo and Haidee took the beverage in the +original Arabian manner, that is to say, without sugar. +Haidee took the porcelain cup in her little slender fingers +and conveyed it to her mouth with all the innocent +artlessness of a child when eating or drinking something +which it likes. At this moment two women entered, bringing +salvers filled with ices and sherbet, which they placed on +two small tables appropriated to that purpose. "My dear +host, and you, signora," said Albert, in Italian, "excuse my +apparent stupidity. I am quite bewildered, and it is natural +that it should be so. Here I am in the heart of Paris; but a +moment ago I heard the rumbling of the omnibuses and the +tinkling of the bells of the lemonade-sellers, and now I +feel as if I were suddenly transported to the East; not such +as I have seen it, but such as my dreams have painted it. +Oh, signora, if I could but speak Greek, your conversation, +added to the fairy-scene which surrounds me, would furnish +an evening of such delight as it would be impossible for me +ever to forget." + +"I speak sufficient Italian to enable me to converse with +you, sir," said Haidee quietly; "and if you like what is +Eastern, I will do my best to secure the gratification of +your tastes while you are here." + +"On what subject shall I converse with her?" said Albert, in +a low tone to Monte Cristo. + +"Just what you please; you may speak of her country and of +her youthful reminiscences, or if you like it better you can +talk of Rome, Naples, or Florence." + +"Oh," said Albert, "it is of no use to be in the company of +a Greek if one converses just in the same style as with a +Parisian; let me speak to her of the East." + +"Do so then, for of all themes which you could choose that +will be the most agreeable to her taste." Albert turned +towards Haidee. "At what age did you leave Greece, signora?" +asked he. + +"I left it when I was but five years old," replied Haidee. + +"And have you any recollection of your country?" + +"When I shut my eyes and think, I seem to see it all again. +The mind can see as well as the body. The body forgets +sometimes -- but the mind never forgets." + +"And how far back into the past do your recollections +extend?" + +"I could scarcely walk when my mother, who was called +Vasiliki, which means royal," said the young girl, tossing +her head proudly, "took me by the hand, and after putting in +our purse all the money we possessed, we went out, both +covered with veils, to solicit alms for the prisoners, +saying, `He who giveth to the poor lendeth to the Lord.' +Then when our purse was full we returned to the palace, and +without saying a word to my father, we sent it to the +convent, where it was divided amongst the prisoners." + +"And how old were you at that time?" + +"I was three years old," said Haidee. + +"Then you remember everything that went on about you from +the time when you were three years old?" said Albert. + +"Everything." + +"Count," said Albert, in a low tone to Monte Cristo, "do +allow the signora to tell me something of her history. You +prohibited my mentioning my father's name to her, but +perhaps she will allude to him of her own accord in the +course of the recital, and you have no idea how delighted I +should be to hear our name pronounced by such beautiful +lips." Monte Cristo turned to Haidee, and with an expression +of countenance which commanded her to pay the most implicit +attention to his words, he said in Greek, -- "Tell us the +fate of your father; but neither the name of the traitor nor +the treason." Haidee sighed deeply, and a shade of sadness +clouded her beautiful brow. + +"What are you saying to her?" said Morcerf in an undertone. + +"I again reminded her that you were a friend, and that she +need not conceal anything from you." + +"Then," said Albert, "this pious pilgrimage in behalf of the +prisoners was your first remembrance; what is the next?" + +"Oh, then I remember as if it were but yesterday sitting +under the shade of some sycamore-trees, on the borders of a +lake, in the waters of which the trembling foliage was +reflected as in a mirror. Under the oldest and thickest of +these trees, reclining on cushions, sat my father; my mother +was at his feet, and I, childlike, amused myself by playing +with his long white beard which descended to his girdle, or +with the diamond-hilt of the scimitar attached to his +girdle. Then from time to time there came to him an Albanian +who said something to which I paid no attention, but which +he always answered in the same tone of voice, either `Kill,' +or `Pardon.'" + +"It is very strange," said Albert, "to hear such words +proceed from the mouth of any one but an actress on the +stage, and one needs constantly to be saying to one's self, +`This is no fiction, it is all reality,' in order to believe +it. And how does France appear in your eyes, accustomed as +they have been to gaze on such enchanted scenes?" + +"I think it is a fine country," said Haidee, "but I see +France as it really is, because I look on it with the eyes +of a woman; whereas my own country, which I can only judge +of from the impression produced on my childish mind, always +seems enveloped in a vague atmosphere, which is luminous or +otherwise, according as my remembrances of it are sad or +joyous." + +"So young," said Albert, forgetting at the moment the +Count's command that he should ask no questions of the slave +herself, "is it possible that you can have known what +suffering is except by name?" + +Haidee turned her eyes towards Monte Cristo, who, making at +the same time some imperceptible sign, murmured, -- "Go on." + +"Nothing is ever so firmly impressed on the mind as the +memory of our early childhood, and with the exception of the +two scenes I have just described to you, all my earliest +reminiscences are fraught with deepest sadness." + +"Speak, speak, signora," said Albert, "I am listening with +the most intense delight and interest to all you say." + +Haidee answered his remark with a melancholy smile. "You +wish me, then, to relate the history of my past sorrows?" +said she. + +"I beg you to do so," replied Albert. + +"Well, I was but four years old when one night I was +suddenly awakened by my mother. We were in the palace of +Yanina; she snatched me from the cushions on which I was +sleeping, and on opening my eyes I saw hers filled with +tears. She took me away without speaking. When I saw her +weeping I began to cry too. `Hush, child!' said she. At +other times in spite of maternal endearments or threats, I +had with a child's caprice been accustomed to indulge my +feelings of sorrow or anger by crying as much as I felt +inclined; but on this occasion there was an intonation of +such extreme terror in my mother's voice when she enjoined +me to silence, that I ceased crying as soon as her command +was given. She bore me rapidly away. + +"I saw then that we were descending a large staircase; +around us were all my mother's servants carrying trunks, +bags, ornaments, jewels, purses of gold, with which they +were hurrying away in the greatest distraction. + +"Behind the women came a guard of twenty men armed with long +guns and pistols, and dressed in the costume which the +Greeks have assumed since they have again become a nation. +You may imagine there was something startling and ominous," +said Haidee, shaking her head and turning pale at the mere +remembrance of the scene, "in this long file of slaves and +women only half-aroused from sleep, or at least so they +appeared to me, who was myself scarcely awake. Here and +there on the walls of the staircase, were reflected gigantic +shadows, which trembled in the flickering light of the +pine-torches till they seemed to reach to the vaulted roof +above. + +"`Quick!' said a voice at the end of the gallery. This voice +made every one bow before it, resembling in its effect the +wind passing over a field of wheat, by its superior strength +forcing every ear to yield obeisance. As for me, it made me +tremble. This voice was that of my father. He came last, +clothed in his splendid robes and holding in his hand the +carbine which your emperor presented him. He was leaning on +the shoulder of his favorite Selim, and he drove us all +before him, as a shepherd would his straggling flock. My +father," said Haidee, raising her head, "was that +illustrious man known in Europe under the name of Ali +Tepelini, pasha of Yanina, and before whom Turkey trembled." + +Albert, without knowing why, started on hearing these words +pronounced with such a haughty and dignified accent; it +appeared to him as if there was something supernaturally +gloomy and terrible in the expression which gleamed from the +brilliant eyes of Haidee at this moment; she appeared like a +Pythoness evoking a spectre, as she recalled to his mind the +remembrance of the fearful death of this man, to the news of +which all Europe had listened with horror. "Soon," said +Haidee, "we halted on our march, and found ourselves on the +borders of a lake. My mother pressed me to her throbbing +heart, and at the distance of a few paces I saw my father, +who was glancing anxiously around. Four marble steps led +down to the water's edge, and below them was a boat floating +on the tide. + +"From where we stood I could see in the middle of the lake a +large blank mass; it was the kiosk to which we were going. +This kiosk appeared to me to be at a considerable distance, +perhaps on account of the darkness of the night, which +prevented any object from being more than partially +discerned. We stepped into the boat. I remember well that +the oars made no noise whatever in striking the water, and +when I leaned over to ascertain the cause I saw that they +were muffled with the sashes of our Palikares.* Besides the +rowers, the boat contained only the women, my father, +mother, Selim, and myself. The Palikares had remained on the +shore of the lake, ready to cover our retreat; they were +kneeling on the lowest of the marble steps, and in that +manner intended making a rampart of the three others, in +case of pursuit. Our bark flew before the wind. `Why does +the boat go so fast?' asked I of my mother. + +* Greek militiamen in the war for independence. -- Ed. + +"`Silence, child! Hush, we are flying!' I did not +understand. Why should my father fly? -- he, the +all-powerful -- he, before whom others were accustomed to +fly -- he, who had taken for his device, `They hate me; then +they fear me!' It was, indeed, a flight which my father was +trying to effect. I have been told since that the garrison +of the castle of Yanina, fatigued with long service" -- + +Here Haidee cast a significant glance at Monte Cristo, whose +eyes had been riveted on her countenance during the whole +course of her narrative. The young girl then continued, +speaking slowly, like a person who is either inventing or +suppressing some feature of the history which he is +relating. "You were saying, signora," said Albert, who was +paying the most implicit attention to the recital, "that the +garrison of Yanina, fatigued with long service" -- + +"Had treated with the Serasker* Koorshid, who had been sent +by the sultan to gain possession of the person of my father; +it was then that Ali Tepelini -- after having sent to the +sultan a French officer in whom he reposed great confidence +-- resolved to retire to the asylum which he had long before +prepared for himself, and which he called kataphygion, or +the refuge." + +"And this officer," asked Albert, "do you remember his name, +signora?" Monte Cristo exchanged a rapid glance with the +young girl, which was quite unperceived by Albert. "No," +said she, "I do not remember it just at this moment; but if +it should occur to me presently, I will tell you." Albert +was on the point of pronouncing his father's name, when +Monte Cristo gently held up his finger in token of reproach; +the young man recollected his promise, and was silent. + +* A Turkish pasha in command of the troops of a province. -- +Ed. + +"It was towards this kiosk that we were rowing. A +ground-floor, ornamented with arabesques, bathing its +terraces in the water, and another floor, looking on the +lake, was all which was visible to the eye. But beneath the +ground-floor, stretching out into the island, was a large +subterranean cavern, to which my mother, myself, and the +women were conducted. In this place were together 60,000 +pouches and 200 barrels; the pouches contained 25,000,000 of +money in gold, and the barrels were filled with 30,000 +pounds of gunpowder. + +"Near the barrels stood Selim, my father's favorite, whom I +mentioned to you just now. He stood watch day and night with +a lance provided with a lighted slowmatch in his hand, and +he had orders to blow up everything -- kiosk, guards, women, +gold, and Ali Tepelini himself -- at the first signal given +by my father. I remember well that the slaves, convinced of +the precarious tenure on which they held their lives, passed +whole days and nights in praying, crying, and groaning. As +for me, I can never forget the pale complexion and black +eyes of the young soldier, and whenever the angel of death +summons me to another world, I am quite sure I shall +recognize Selim. I cannot tell you how long we remained in +this state; at that period I did not even know what time +meant. Sometimes, but very rarely, my father summoned me and +my mother to the terrace of the palace; these were hours of +recreation for me, as I never saw anything in the dismal +cavern but the gloomy countenances of the slaves and Selim's +fiery lance. My father was endeavoring to pierce with his +eager looks the remotest verge of the horizon, examining +attentively every black speck which appeared on the lake, +while my mother, reclining by his side, rested her head on +his shoulder, and I played at his feet, admiring everything +I saw with that unsophisticated innocence of childhood which +throws a charm round objects insignificant in themselves, +but which in its eyes are invested with the greatest +importance. The heights of Pindus towered above us; the +castle of Yanina rose white and angular from the blue waters +of the lake, and the immense masses of black vegetation +which, viewed in the distance, gave the idea of lichens +clinging to the rocks, were in reality gigantic fir-trees +and myrtles. + +"One morning my father sent for us; my mother had been +crying all the night, and was very wretched; we found the +pasha calm, but paler than usual. `Take courage, Vasiliki,' +said he; `to-day arrives the firman of the master, and my +fate will be decided. If my pardon be complete, we shall +return triumphant to Yanina; if the news be inauspicious, we +must fly this night.' -- `But supposing our enemy should not +allow us to do so?' said my mother. `Oh, make yourself easy +on that head,' said Ali, smiling; `Selim and his flaming +lance will settle that matter. They would be glad to see me +dead, but they would not like themselves to die with me.' + +"My mother only answered by sighs to consolations which she +knew did not come from my father's heart. She prepared the +iced water which he was in the habit of constantly drinking, +-- for since his sojourn at the kiosk he had been parched by +the most violent fever, -- after which she anointed his +white beard with perfumed oil, and lighted his chibouque, +which he sometimes smoked for hours together, quietly +watching the wreaths of vapor that ascended in spiral clouds +and gradually melted away in the surrounding atmosphere. +Presently he made such a sudden movement that I was +paralyzed with fear. Then, without taking his eyes from the +object which had first attracted his attention, he asked for +his telescope. My mother gave it him. and as she did so, +looked whiter than the marble against which she leaned. I +saw my father's hand tremble. `A boat! -- two! -- three!' +murmured my, father; -- `four!' He then arose, seizing his +arms and priming his pistols. `Vasiliki,' said he to my +mother, trembling perceptibly, `the instant approaches which +will decide everything. In the space of half an hour we +shall know the emperor's answer. Go into the cavern with +Haidee.' -- `I will not quit you,' said Vasiliki; `if you +die, my lord, I will die with you.' -- `Go to Selim!' cried +my father. `Adieu, my lord,' murmured my mother, determining +quietly to await the approach of death. `Take away +Vasiliki!' said my father to his Palikares. + +"As for me, I had been forgotten in the general confusion; I +ran toward Ali Tepelini; he saw me hold out my arms to him, +and he stooped down and pressed my forehead with his lips. +Oh, how distinctly I remember that kiss! -- it was the last +he ever gave me, and I feel as if it were still warm on my +forehead. On descending, we saw through the lattice-work +several boats which were gradually becoming more distinct to +our view. At first they appeared like black specks, and now +they looked like birds skimming the surface of the waves. +During this time, in the kiosk at my father's feet, were +seated twenty Palikares, concealed from view by an angle of +the wall and watching with eager eyes the arrival of the +boats. They were armed with their long guns inlaid with +mother-of-pearl and silver, and cartridges in great numbers +were lying scattered on the floor. My father looked at his +watch, and paced up and down with a countenance expressive +of the greatest anguish. This was the scene which presented +itself to my view as I quitted my father after that last +kiss. My mother and I traversed the gloomy passage leading +to the cavern. Selim was still at his post, and smiled sadly +on us as we entered. We fetched our cushions from the other +end of the cavern, and sat down by Selim. In great dangers +the devoted ones cling to each other; and, young as I was, I +quite understood that some imminent danger was hanging over +our heads." + +Albert had often heard -- not from his father, for he never +spoke on the subject, but from strangers -- the description +of the last moments of the vizier of Yanina; he had read +different accounts of his death, but the story seemed to +acquire fresh meaning from the voice and expression of the +young girl, and her sympathetic accent and the melancholy +expression of her countenance at once charmed and horrified +him. As to Haidee, these terrible reminiscences seemed to +have overpowered her for a moment, for she ceased speaking, +her head leaning on her hand like a beautiful flower bowing +beneath the violence of the storm; and her eyes gazing on +vacancy indicated that she was mentally contemplating the +green summit of the Pindus and the blue waters of the lake +of Yanina, which, like a magic mirror, seemed to reflect the +sombre picture which she sketched. Monte Cristo looked at +her with an indescribable expression of interest and pity. + +"Go on," said the count in the Romaic language. + +Haidee looked up abruptly, as if the sonorous tones of Monte +Cristo's voice had awakened her from a dream; and she +resumed her narrative. "It was about four o'clock in the +afternoon, and although the day was brilliant out-of-doors, +we were enveloped in the gloomy darkness of the cavern. One +single, solitary light was burning there, and it appeared +like a star set in a heaven of blackness; it was Selim's +flaming lance. My mother was a Christian, and she prayed. +Selim repeated from time to time the sacred words: `God is +great!' However, my mother had still some hope. As she was +coming down, she thought she recognized the French officer +who had been sent to Constantinople, and in whom my father +placed so much confidence; for he knew that all the soldiers +of the French emperor were naturally noble and generous. She +advanced some steps towards the staircase, and listened. +`They are approaching,' said she; `perhaps they bring us +peace and liberty!' -- `What do you fear, Vasiliki?' said +Selim, in a voice at once so gentle and yet so proud. `If +they do not bring us peace, we will give them war; if they +do not bring life, we will give them death.' And he renewed +the flame of his lance with a gesture which made one think +of Dionysus of Crete.* But I, being only a little child, was +terrified by this undaunted courage, which appeared to me +both ferocious and senseless, and I recoiled with horror +from the idea of the frightful death amidst fire and flames +which probably awaited us. + +* The god of fruitfulness in Grecian mythology. In Crete he +was supposed to be slain in winter with the decay of +vegetation and to revive in the spring. Haidee's learned +reference is to the behavior of an actor in the Dionysian +festivals. -- Ed. + +"My mother experienced the same sensations, for I felt her +tremble. `Mamma, mamma,' said I, `are we really to be +killed?' And at the sound of my voice the slaves redoubled +their cries and prayers and lamentations. `My child,' said +Vasiliki, `may God preserve you from ever wishing for that +death which to-day you so much dread!' Then, whispering to +Selim, she asked what were her master's orders. `If he send +me his poniard, it will signify that the emperor's +intentions are not favorable, and I am to set fire to the +powder; if, on the contrary, he send me his ring, it will be +a sign that the emperor pardons him, and I am to extinguish +the match and leave the magazine untouched.' -- `My friend,' +said my mother, `when your master's orders arrive, if it is +the poniard which he sends, instead of despatching us by +that horrible death which we both so much dread, you will +mercifully kill us with this same poniard, will you not?' -- +`Yes, Vasiliki,' replied Selim tranquilly. + +"Suddenly we heard loud cries; and, listening, discerned +that they were cries of joy. The name of the French officer +who had been sent to Constantinople resounded on all sides +amongst our Palikares; it was evident that he brought the +answer of the emperor, and that it was favorable." + +"And do you not remember the Frenchman's name?" said +Morcerf, quite ready to aid the memory of the narrator. +Monte Cristo made a sign to him to be silent. + +"I do not recollect it," said Haidee. + +"The noise increased; steps were heard approaching nearer +and nearer: they were descending the steps leading to the +cavern. Selim made ready his lance. Soon a figure appeared +in the gray twilight at the entrance of the cave, formed by +the reflection of the few rays of daylight which had found +their way into this gloomy retreat. `Who are you?' cried +Selim. `But whoever you may be, I charge you not to advance +another step.' -- `Long live the emperor!' said the figure. +`He grants a full pardon to the Vizier Ali, and not only +gives him his life, but restores to him his fortune and his +possessions.' My mother uttered a cry of joy, and clasped me +to her bosom. `Stop,' said Selim, seeing that she was about +to go out; you see I have not yet received the ring,' -- +`True,' said my mother. And she fell on her knees, at the +same time holding me up towards heaven, as if she desired, +while praying to God in my behalf, to raise me actually to +his presence." + +And for the second time Haidee stopped, overcome by such +violent emotion that the perspiration stood upon her pale +brow, and her stifled voice seemed hardly able to find +utterance, so parched and dry were her throat and lips. +Monte Cristo poured a little iced water into a glass, and +presented it to her, saying with a mildness in which was +also a shade of command, -- "Courage." + +Haidee dried her eyes, and continued: "By this time our +eyes, habituated to the darkness, had recognized the +messenger of the pasha, -- it was a friend. Selim had also +recognized him, but the brave young man only acknowledged +one duty, which was to obey. `In whose name do you come?' +said he to him. `I come in the name of our master, Ali +Tepelini.' -- `If you come from Ali himself,' said Selim, +`you know what you were charged to remit to me?' -- `Yes,' +said the messenger, `and I bring you his ring.' At these +words he raised his hand above his head, to show the token; +but it was too far off, and there was not light enough to +enable Selim, where he was standing, to distinguish and +recognize the object presented to his view. `I do not see +what you have in your hand,' said Selim. `Approach then,' +said the messenger, `or I will come nearer to you, if you +prefer it.' -- `I will agree to neither one nor the other,' +replied the young soldier; `place the object which I desire +to see in the ray of light which shines there, and retire +while I examine it.' -- `Be it so,' said the envoy; and he +retired, after having first deposited the token agreed on in +the place pointed out to him by Selim. + +"Oh, how our hearts palpitated; for it did, indeed, seem to +be a ring which was placed there. But was it my father's +ring? that was the question. Selim, still holding in his +hand the lighted match, walked towards the opening in the +cavern, and, aided by the faint light which streamed in +through the mouth of the cave, picked up the token. + +"`It is well,' said he, kissing it; `it is my master's +ring!' And throwing the match on the ground, he trampled on +it and extinguished it. The messenger uttered a cry of joy +and clapped his hands. At this signal four soldiers of the +Serasker Koorshid suddenly appeared, and Selim fell, pierced +by five blows. Each man had stabbed him separately, and, +intoxicated by their crime, though still pale with fear, +they sought all over the cavern to discover if there was any +fear of fire, after which they amused themselves by rolling +on the bags of gold. At this moment my mother seized me in +her arms, and hurrying noiselessly along numerous turnings +and windings known only to ourselves, she arrived at a +private staircase of the kiosk, where was a scene of +frightful tumult and confusion. The lower rooms were +entirely filled with Koorshid's troops; that is to say, with +our enemies. Just as my mother was on the point of pushing +open a small door, we heard the voice of the pasha sounding +in a loud and threatening tone. My mother applied her eye to +the crack between the boards; I luckily found a small +opening which afforded me a view of the apartment and what +was passing within. `What do you want?' said my father to +some people who were holding a paper inscribed with +characters of gold. `What we want,' replied one, `is to +communicate to you the will of his highness. Do you see this +firman?' -- `I do,' said my father. `Well, read it; he +demands your head.' + +"My father answered with a loud laugh, which was more +frightful than even threats would have been, and he had not +ceased when two reports of a pistol were heard; he had fired +them himself, and had killed two men. The Palikares, who +were prostrated at my father's feet, now sprang up and +fired, and the room was filled with fire and smoke. At the +same instant the firing began on the other side, and the +balls penetrated the boards all round us. Oh, how noble did +the grand vizier my father look at that moment, in the midst +of the flying bullets, his scimitar in his hand, and his +face blackened with the powder of his enemies! and how he +terrified them, even then, and made them fly before him! +`Selim, Selim!' cried he, `guardian of the fire, do your +duty!' -- `Selim is dead,' replied a voice which seemed to +come from the depths of the earth, `and you are lost, Ali!' +At the same moment an explosion was heard, and the flooring +of the room in which my father was sitting was suddenly torn +up and shivered to atoms -- the troops were firing from +underneath. Three or four Palikares fell with their bodies +literally ploughed with wounds. + +"My father howled aloud, plunged his fingers into the holes +which the balls had made, and tore up one of the planks +entire. But immediately through this opening twenty more +shots were fired, and the flame, rushing up like fire from +the crater of a volcano, soon reached the tapestry, which it +quickly devoured. In the midst of all this frightful tumult +and these terrific cries, two reports, fearfully distinct, +followed by two shrieks more heartrending than all, froze me +with terror. These two shots had mortally wounded my father, +and it was he who had given utterance to these frightful +cries. However, he remained standing, clinging to a window. +My mother tried to force the door, that she might go and die +with him, but it was fastened on the inside. All around him +were lying the Palikares, writhing in convulsive agonies, +while two or three who were only slightly wounded were +trying to escape by springing from the windows. At this +crisis the whole flooring suddenly gave way. my father fell +on one knee, and at the same moment twenty hands were thrust +forth, armed with sabres, pistols, and poniards -- twenty +blows were instantaneously directed against one man, and my +father disappeared in a whirlwind of fire and smoke kindled +by these demons, and which seemed like hell itself opening +beneath his feet. I felt myself fall to the ground, my +mother had fainted." + +Haidee's arms fell by her side, and she uttered a deep +groan, at the same time looking towards the count as if to +ask if he were satisfied with her obedience to his commands. +Monte Cristo arose and approached her, took her hand, and +said to her in Romaic, "Calm yourself, my dear child, and +take courage in remembering that there is a God who will +punish traitors." + +"It is a frightful story, count," said Albert, terrified at +the paleness of Haidee's countenance, "and I reproach myself +now for having been so cruel and thoughtless in my request." + +"Oh, it is nothing," said Monte Cristo. Then, patting the +young girl on the head, he continued, "Haidee is very +courageous, and she sometimes even finds consolation in the +recital of her misfortunes." + +"Because, my lord." said Haidee eagerly, "my miseries recall +to me the remembrance of your goodness." + +Albert looked at her with curiosity, for she had not yet +related what he most desired to know, -- how she had become +the slave of the count. Haidee saw at a glance the same +expression pervading the countenances of her two auditors; +she exclaimed, `When my mother recovered her senses we were +before the serasker. `Kill,' said she, `but spare the honor +of the widow of Ali.' -- `It is not to me to whom you must +address yourself,' said Koorshid. + +"`To whom, then?' -- `To your new master.' + +"`Who and where is he?' -- `He is here.' + +"And Koorshid pointed out one who had more than any +contributed to the death of my father," said Haidee, in a +tone of chastened anger. "Then," said Albert, "you became +the property of this man?" + +"No," replied Haidee, "he did not dare to keep us, so we +were sold to some slave-merchants who were going to +Constantinople. We traversed Greece, and arrived half dead +at the imperial gates. They were surrounded by a crowd of +people, who opened a way for us to pass, when suddenly my +mother, having looked closely at an object which was +attracting their attention, uttered a piercing cry and fell +to the ground, pointing as she did so to a head which was +placed over the gates, and beneath which were inscribed +these words: + +"`This is the head of Ali Tepelini Pasha of Yanina.' I cried +bitterly, and tried to raise my mother from the earth, but +she was dead! I was taken to the slave-market, and was +purchased by a rich Armenian. He caused me to be instructed, +gave me masters, and when I was thirteen years of age he +sold me to the Sultan Mahmood." + +"Of whom I bought her," said Monte Cristo, "as I told you, +Albert, with the emerald which formed a match to the one I +had made into a box for the purpose of holding my hashish +pills." + +"Oh, you are good, you are great, my lord!" said Haidee, +kissing the count's hand, "and I am very fortunate in +belonging to such a master!" Albert remained quite +bewildered with all that he had seen and heard. "Come, +finish your cup of coffee," said Monte Cristo; "the history +is ended." + + + +Chapter 78 +We hear From Yanina. + +If Valentine could have seen the trembling step and agitated +countenance of Franz when he quitted the chamber of M. +Noirtier, even she would have been constrained to pity him. +Villefort had only just given utterance to a few incoherent +sentences, and then retired to his study, where he received +about two hours afterwards the following letter: -- + +"After all the disclosures which were made this morning, M. +Noirtier de Villefort must see the utter impossibility of +any alliance being formed between his family and that of M. +Franz d'Epinay. M. d'Epinay must say that he is shocked and +astonished that M. de Villefort, who appeared to be aware of +all the circumstances detailed this morning, should not have +anticipated him in this announcement." + +No one who had seen the magistrate at this moment, so +thoroughly unnerved by the recent inauspicious combination +of circumstances, would have supposed for an instant that he +had anticipated the annoyance; although it certainly never +had occurred to him that his father would carry candor, or +rather rudeness, so far as to relate such a history. And in +justice to Villefort, it must be understood that M. +Noirtier, who never cared for the opinion of his son on any +subject, had always omitted to explain the affair to +Villefort, so that he had all his life entertained the +belief that General de Quesnel, or the Baron d'Epinay, as he +was alternately styled, according as the speaker wished to +identify him by his own family name, or by the title which +had been conferred on him, fell the victim of assassination, +and not that he was killed fairly in a duel. This harsh +letter, coming as it did from a man generally so polite and +respectful, struck a mortal blow at the pride of Villefort. +Hardly had he read the letter, when his wife entered. The +sudden departure of Franz, after being summoned by M. +Noirtier, had so much astonished every one, that the +position of Madame de Villefort, left alone with the notary +and the witnesses, became every moment more embarrassing. +Determined to bear it no longer, she arose and left the +room; saying she would go and make some inquiries into the +cause of his sudden disappearance. + +M. de Villefort's communications on the subject were very +limited and concise; he told her, in fact, that an +explanation had taken place between M. Noirtier, M. +d'Epinay, and himself, and that the marriage of Valentine +and Franz would consequently be broken off. This was an +awkward and unpleasant thing to have to report to those who +were awaiting her return in the chamber of her +father-in-law. She therefore contented herself with saying +that M. Noirtier having at the commencement of the +discussion been attacked by a sort of apoplectic fit, the +affair would necessarily be deferred for some days longer. +This news, false as it was following so singularly in the +train of the two similar misfortunes which had so recently +occurred, evidently astonished the auditors, and they +retired without a word. During this time Valentine, at once +terrified and happy, after having embraced and thanked the +feeble old man for thus breaking with a single blow the +chain which she had been accustomed to consider as +irrefragable, asked leave to retire to her own room, in +order to recover her composure. Noirtier looked the +permission which she solicited. But instead of going to her +own room, Valentine, having once gained her liberty, entered +the gallery, and, opening a small door at the end of it. +found herself at once in the garden. + +In the midst of all the strange events which had crowded one +on the other, an indefinable sentiment of dread had taken +possession of Valentine's mind. She expected every moment +that she should see Morrel appear, pale and trembling, to +forbid the signing of the contract, like the Laird of +Ravenswood in "The Bride of Lammermoor." It was high time +for her to make her appearance at the gate, for Maximilian +had long awaited her coming. He had half guessed what was +going on when he saw Franz quit the cemetery with M. de +Villefort. He followed M. d'Epinay, saw him enter, +afterwards go out, and then re-enter with Albert and +Chateau-Renaud. He had no longer any doubts as to the nature +of the conference; he therefore quickly went to the gate in +the clover-patch, prepared to hear the result of the +proceedings, and very certain that Valentine would hasten to +him the first moment she should he set at liberty. He was +not mistaken; peering through the crevices of the wooden +partition, he soon discovered the young girl, who cast aside +all her usual precautions and walked at once to the barrier. +The first glance which Maximilian directed towards her +entirely reassured him, and the first words she spoke made +his heart bound with delight. + +"We are saved!" said Valentine. "Saved?" repeated Morrel, +not being able to conceive such intense happiness; "by +whom?" + +"By my grandfather. Oh, Morrel, pray love him for all his +goodness to us!" Morrel swore to love him with all his soul; +and at that moment he could safely promise to do so, for he +felt as though it were not enough to love him merely as a +friend or even as a father. "But tell me, Valentine, how has +it all been effected? What strange means has he used to +compass this blessed end?" + +Valentine was on the point of relating all that had passed, +but she suddenly remembered that in doing so she must reveal +a terrible secret which concerned others as well as her +grandfather, and she said, "At some future time I will tell +you all about it." + +"But when will that be?" + +"When I am your wife." + +The conversation had now turned upon a topic so pleasing to +Morrel, that he was ready to accede to anything that +Valentine thought fit to propose, and he likewise felt that +a piece of intelligence such as he just heard ought to be +more than sufficient to content him for one day. However, he +would not leave without the promise of seeing Valentine +again the next night. Valentine promised all that Morrel +required of her, and certainly it was less difficult now for +her to believe that she should marry Maximilian than it was +an hour ago to assure herself that she should not marry +Franz. During the time occupied by the interview we have +just detailed, Madame de Villefort had gone to visit M. +Noirtier. The old man looked at her with that stern and +forbidding expression with which he was accustomed to +receive her. + +"Sir," said she, "it is superfluous for me to tell you that +Valentine's marriage is broken off, since it was here that +the affair was concluded." Noirtier's countenance remained +immovable. "But one thing I can tell you, of which I do not +think you are aware; that is, that I have always been +opposed to this marriage, and that the contract was entered +into entirely without my consent or approbation." Noirtier +regarded his daughter-in-law with the look of a man desiring +an explanation. "Now that this marriage, which I know you so +much disliked, is done away with, I come to you on an errand +which neither M. de Villefort nor Valentine could +consistently undertake." Noirtier's eyes demanded the nature +of her mission. "I come to entreat you, sir," continued +Madame de Villefort, "as the only one who has the right of +doing so, inasmuch as I am the only one who will receive no +personal benefit from the transaction, -- I come to entreat +you to restore, not your love, for that she has always +possessed, but to restore your fortune to your +granddaughter." + +There was a doubtful expression in Noirtier's eyes; he was +evidently trying to discover the motive of this proceeding, +and he could not succeed in doing so. "May I hope, sir," +said Madame de Villefort, "that your intentions accord with +my request?" Noirtier made a sign that they did. "In that +case, sir," rejoined Madame de Villefort, "I will leave you +overwhelmed with gratitude and happiness at your prompt +acquiescence to my wishes." She then bowed to M. Noirtier +and retired. + +The next day M. Noirtier sent for the notary; the first will +was torn up and a second made, in which he left the whole of +his fortune to Valentine, on condition that she should never +be separated from him. It was then generally reported that +Mademoiselle de Villefort, the heiress of the marquis and +marchioness of Saint-Meran, had regained the good graces of +her grandfather, and that she would ultimately be in +possession of an income of 300,000 livres. + +While all the proceedings relative to the dissolution of the +marriage-contract were being carried on at the house of M. +de Villefort, Monte Cristo had paid his visit to the Count +of Morcerf, who, in order to lose no time in responding to +M. Danglars' wishes, and at the same time to pay all due +deference to his position in society, donned his uniform of +lieutenant-general, which he ornamented with all his +crosses, and thus attired, ordered his finest horses and +drove to the Rue de la Chausse d'Antin. + +Danglars was balancing his monthly accounts, and it was +perhaps not the most favorable moment for finding him in his +best humor. At the first sight of his old friend, Danglars +assumed his majestic air, and settled himself in his +easy-chair. Morcerf, usually so stiff and formal, accosted +the banker in an affable and smiling manner, and, feeling +sure that the overture he was about make would be well +received, he did not consider it necessary to adopt any +manoeuvres in order to gain his end, but went at once +straight to the point. + +"Well, baron," said he, "here I am at last; some time has +elapsed since our plans were formed, and they are not yet +executed." Morcerf paused at these words, quietly waiting +till the cloud should have dispersed which had gathered on +the brow of Danglars, and which he attributed to his +silence; but, on the contrary, to his great surprise, it +grew darker and darker. "To what do you allude, monsieur?" +said Danglars; as if he were trying in vain to guess at the +possible meaning of the general's words. + +"Ah," said Morcerf, "I see you are a stickler for forms, my +dear sir, and you would remind me that the ceremonial rites +should not be omitted. Ma foi, I beg your pardon, but as I +have but one son, and it is the first time I have ever +thought of marrying him, I am still serving my +apprenticeship, you know; come, I will reform." And Morcerf +with a forced smile arose, and, making a low bow to M. +Danglars, said: "Baron, I have the honor of asking of you +the hand of Mademoiselle Eugenie Danglars for my son, the +Vicomte Albert de Morcerf." + +But Danglars, instead of receiving this address in the +favorable manner which Morcerf had expected, knit his brow, +and without inviting the count, who was still standing, to +take a seat. he said: "Monsieur, it will be necessary to +reflect before I give you an answer." + +"To reflect?" said Morcerf, more and more astonished; "have +you not had enough time for reflection during the eight +years which have elapsed since this marriage was first +discussed between us?" + +"Count," said the banker, "things are constantly occurring +in the world to induce us to lay aside our most established +opinions, or at all events to cause us to remodel them +according to the change of circumstances, which may have +placed affairs in a totally different light to that in which +we at first viewed them." + +"I do not understand you, baron," said Morcerf. + +"What I mean to say is this, sir, -- that during the last +fortnight unforeseen circumstances have occurred" -- + +"Excuse me," said Morcerf, "but is it a play we are acting?" + +"A play?" + +"Yes, for it is like one; pray let us come more to the +point, and endeavor thoroughly to understand each other." + +"That is quite my desire." + +"You have seen M. de Monte Cristo have you not?" + +"I see him very often," said Danglars, drawing himself up; +"he is a particular friend of mine." + +"Well, in one of your late conversations with him, you said +that I appeared to be forgetful and irresolute concerning +this marriage, did you not?" + +"I did say so." + +"Well, here I am, proving at once that I am really neither +the one nor the other, by entreating you to keep your +promise on that score." + +Danglars did not answer. "Have you so soon changed your +mind," added Morcerf, "or have you only provoked my request +that you may have the pleasure of seeing me humbled?" +Danglars, seeing that if he continued the conversation in +the same tone in which he had begun it, the whole thing +might turn out to his own disadvantage, turned to Morcerf, +and said: "Count, you must doubtless be surprised at my +reserve, and I assure you it costs me much to act in such a +manner towards you; but, believe me when I say that +imperative necessity has imposed the painful task upon me." + +"These are all so many empty words, my dear sir," said +Morcerf: "they might satisfy a new acquaintance, but the +Comte de Morcerf does not rank in that list; and when a man +like him comes to another, recalls to him his plighted word, +and this man fails to redeem the pledge, he has at least a +right to exact from him a good reason for so doing." +Danglars was a coward, but did not wish to appear so; he was +piqued at the tone which Morcerf had just assumed. "I am not +without a good reason for my conduct," replied the banker. + +"What do you mean to say?" + +"I mean to say that I have a good reason, but that it is +difficult to explain." + +"You must be aware, at all events, that it is impossible for +me to understand motives before they are explained to me; +but one thing at least is clear, which is, that you decline +allying yourself with my family." + +"No, sir," said Danglars; "I merely suspend my decision, +that is all." + +"And do you really flatter yourself that I shall yield to +all your caprices, and quietly and humbly await the time of +again being received into your good graces?" + +"Then, count, if you will not wait, we must look upon these +projects as if they had never been entertained." The count +bit his lips till the blood almost started, to prevent the +ebullition of anger which his proud and irritable temper +scarcely allowed him to restrain; understanding, however, +that in the present state of things the laugh would +decidedly be against him, he turned from the door, towards +which he had been directing his steps, and again confronted +the banker. A cloud settled on his brow, evincing decided +anxiety and uneasiness, instead of the expression of +offended pride which had lately reigned there. "My dear +Danglars," said Morcerf, "we have been acquainted for many +years, and consequently we ought to make some allowance for +each other's failings. You owe me an explanation, and really +it is but fair that I should know what circumstance has +occurred to deprive my son of your favor." + +"It is from no personal ill-feeling towards the viscount, +that is all I can say, sir," replied Danglars, who resumed +his insolent manner as soon as he perceived that Morcerf was +a little softened and calmed down. "And towards whom do you +bear this personal ill-feeling, then?" said Morcerf, turning +pale with anger. The expression of the count's face had not +remained unperceived by the banker; he fixed on him a look +of greater assurance than before, and said: "You may, +perhaps, be better satisfied that I should not go farther +into particulars." + +A tremor of suppressed rage shook the whole frame of the +count, and making a violent effort over himself, he said: "I +have a right to insist on your giving me an explanation. Is +it Madame de Morcerf who has displeased you? Is it my +fortune which you find insufficient? Is it because my +opinions differ from yours?" + +"Nothing of the kind, sir," replied Danglars: "if such had +been the case, I only should have been to blame, inasmuch as +I was aware of all these things when I made the engagement. +No, do not seek any longer to discover the reason. I really +am quite ashamed to have been the cause of your undergoing +such severe self-examination; let us drop the subject, and +adopt the middle course of delay, which implies neither a +rupture nor an engagement. Ma foi, there is no hurry. My +daughter is only seventeen years old, and your son +twenty-one. While we wait, time will be progressing, events +will succeed each other; things which in the evening look +dark and obscure, appear but too clearly in the light of +morning, and sometimes the utterance of one word, or the +lapse of a single day, will reveal the most cruel +calumnies." + +"Calumnies, did you say, sir?" cried Morcerf, turning livid +with rage. "Does any one dare to slander me?" + +"Monsieur, I told you that I considered it best to avoid all +explanation." + +"Then, sir, I am patiently to submit to your refusal?" + +"Yes, sir, although I assure you the refusal is as painful +for me to give as it is for you to receive, for I had +reckoned on the honor of your alliance, and the breaking off +of a marriage contract always injures the lady more than the +gentleman." + +"Enough, sir," said Morcerf, "we will speak no more on the +subject." And clutching his gloves in anger, he left the +apartment. Danglars observed that during the whole +conversation Morcerf had never once dared to ask if it was +on his own account that Danglars recalled his word. That +evening he had a long conference with several friends; and +M. Cavalcanti, who had remained in the drawing-room with the +ladies, was the last to leave the banker's house. + +The next morning, as soon as he awoke, Danglars asked for +the newspapers; they were brought to him; he laid aside +three or four, and at last fixed on the Impartial, the paper +of which Beauchamp was the chief editor. He hastily tore off +the cover, opened the journal with nervous precipitation, +passed contemptuously over the Paris jottings, and arriving +at the miscellaneous intelligence, stopped with a malicious +smile, at a paragraph headed "We hear from Yanina." "Very +good," observed Danglars, after having read the paragraph; +"here is a little article on Colonel Fernand, which, if I am +not mistaken, would render the explanation which the Comte +de Morcerf required of me perfectly unnecessary." + +At the same moment, that is, at nine o'clock in the morning, +Albert de Morcerf, dressed in a black coat buttoned up to +his chin, might have been seen walking with a quick and +agitated step in the direction of Monte Cristo's house in +the Champs Elysees. When he presented himself at the gate +the porter informed him that the Count had gone out about +half an hour previously. "Did he take Baptistin with him?" + +"No, my lord." + +"Call him, then; I wish to speak to him." The concierge went +to seek the valet de chambre, and returned with him in an +instant. + +"My good friend," said Albert, "I beg pardon for my +intrusion, but I was anxious to know from your own mouth if +your master was really out or not." + +"He is really out, sir," replied Baptistin. + +"Out, even to me?" + +"I know how happy my master always is to receive the +vicomte," said Baptistin; "and I should therefore never +think of including him in any general order." + +"You are right; and now I wish to see him on an affair of +great importance. Do you think it will be long before he +comes in?" + +"No, I think not, for he ordered his breakfast at ten +o'clock." + +"Well, I will go and take a turn in the Champs Elysees, and +at ten o'clock I will return here; meanwhile, if the count +should come in, will you beg him not to go out again without +seeing me?" + +"You may depend on my doing so, sir," said Baptistin. + +Albert left the cab in which he had come at the count's +door, intending to take a turn on foot. As he was passing +the Allee des Veuves, he thought he saw the count's horses +standing at Gosset's shooting-gallery; he approached, and +soon recognized the coachman. "Is the count shooting in the +gallery?" said Morcerf. + +"Yes, sir," replied the coachman. While he was speaking, +Albert had heard the report of two or three pistol-shots. He +entered, and on his way met the waiter. "Excuse me, my +lord," said the lad; "but will you have the kindness to wait +a moment?" + +"What for, Philip?" asked Albert, who, being a constant +visitor there, did not understand this opposition to his +entrance. + +"Because the person who is now in the gallery prefers being +alone, and never practices in the presence of any one." + +"Not even before you, Philip? Then who loads his pistol?" + +"His servant." + +"A Nubian?" + +"A negro." + +"It is he, then." + +"Do you know this gentleman?" + +"Yes, and I am come to look for him; he is a friend of +mine." + +"Oh, that is quite another thing, then. I will go +immediately and inform him of your arrival." And Philip, +urged by his own curiosity, entered the gallery; a second +afterwards, Monte Cristo appeared on the threshold. "I ask +your pardon, my dear count," said Albert, "for following you +here, and I must first tell you that it was not the fault of +your servants that I did so; I alone am to blame for the +indiscretion. I went to your house, and they told me you +were out, but that they expected you home at ten o'clock to +breakfast. I was walking about in order to pass away the +time till ten o'clock, when I caught sight of your carriage +and horses." + +"What you have just said induces me to hope that you intend +breakfasting with me." + +"No, thank you, I am thinking of other things besides +breakfast just now; perhaps we may take that meal at a later +hour and in worse company." + +"What on earth are you talking of?" + +"I am to fight to-day." + +"For what?" + +"I am going to fight" -- + +"Yes, I understand that, but what is the quarrel? People +fight for all sorts of reasons, you know."- + +"I fight in the cause of honor." + +"Ah, that is something serious." + +"So serious, that I come to beg you to render me a service." + +"What is it?" + +"To be my second." + +"That is a serious matter, and we will not discuss it here; +let us speak of nothing till we get home. Ali, bring me some +water." The count turned up his sleeves, and passed into the +little vestibule where the gentlemen were accustomed to wash +their hands after shooting. "Come in, my lord," said Philip +in a low tone, "and I will show you something droll." +Morcerf entered, and in place of the usual target, he saw +some playing-cards fixed against the wall. At a distance +Albert thought it was a complete suit, for he counted from +the ace to the ten. "Ah, ha," said Albert, "I see you were +preparing for a game of cards." + +"No," said the count, "I was making a suit." + +"How?" said Albert. + +"Those are really aces and twos which you see, but my shots +have turned them into threes, fives, sevens, eights, nines, +and tens." Albert approached. In fact, the bullets had +actually pierced the cards in the exact places which the +painted signs would otherwise have occupied, the lines and +distances being as regularly kept as if they had been ruled +with pencil. "Diable," said Morcerf. + +"What would you have, my dear viscount?" said Monte Cristo, +wiping his hands on the towel which Ali had brought him; "I +must occupy my leisure moments in some way or other. But +come, I am waiting for you." Both men entered Monte Cristo's +carriage, which in the course of a few minutes deposited +them safely at No. 30. Monte Cristo took Albert into his +study, and pointing to a seat, placed another for himself. +"Now let us talk the matter over quietly," said the count. + +"You see I am perfectly composed," said Albert. + +"With whom are you going to fight?" + +"With Beauchamp." + +"One of your friends!" + +"Of course; it is always with friends that one fights." + +"I suppose you have some cause of quarrel?" + +"I have." + +"What has he done to you?" + +"There appeared in his journal last night -- but wait, and +read for yourself." And Albert handed over the paper to the +count, who read as follows: -- + +"A correspondent at Yanina informs us of a fact of which +until now we had remained in ignorance. The castle which +formed the protection of the town was given up to the Turks +by a French officer named Fernand, in whom the grand vizier, +Ali Tepelini, had reposed the greatest confidence." + +"Well," said Monte Cristo, "what do you see in that to annoy +you?" + +"What do I see in it?" + +"Yes; what does it signify to you if the castle of Yanina +was given up by a French officer?" + +"It signifies to my father, the Count of Morcerf, whose +Christian name is Fernand!" + +"Did your father serve under Ali Pasha?" + +"Yes; that is to say, he fought for the independence of the +Greeks, and hence arises the calumny." + +"Oh, my dear viscount, do talk reason!" + +"I do not desire to do otherwise." + +"Now, just tell me who the devil should know in France that +the officer Fernand and the Count of Morcerf are one and the +same person? and who cares now about Yanina, which was taken +as long ago as the year 1822 or 1823?" + +"That just shows the meanness of this slander. They have +allowed all this time to elapse, and then all of a sudden +rake up events which have been forgotten to furnish +materials for scandal, in order to tarnish the lustre of our +high position. I inherit my father's name, and I do not +choose that the shadow of disgrace should darken it. I am +going to Beauchamp, in whose journal this paragraph appears, +and I shall insist on his retracting the assertion before +two witnesses." + +"Beauchamp will never retract." + +"Then he must fight." + +"No he will not, for he will tell you, what is very true, +that perhaps there were fifty officers in the Greek army +bearing the same name." + +"We will fight, nevertheless. I will efface that blot on my +father's character. My father, who was such a brave soldier, +whose career was so brilliant" -- + +"Oh, well, he will add, `We are warranted in believing that +this Fernand is not the illustrious Count of Morcerf, who +also bears the same Christian name.'" + +"I am determined not to be content with anything short of an +entire retractation." + +"And you intend to make him do it in the presence of two +witnesses, do you?" + +"Yes." + +"You do wrong." + +"Which means, I suppose, that you refuse the service which I +asked of you?" + +"You know my theory regarding duels; I told you my opinion +on that subject, if you remember, when we were at Rome." + +"Nevertheless, my dear count, I found you this morning +engaged in an occupation but little consistent with the +notions you profess to entertain." + +"Because, my dear fellow, you understand one must never be +eccentric. If one's lot is cast among fools, it is necessary +to study folly. I shall perhaps find myself one day called +out by some harebrained scamp, who has no more real cause of +quarrel with me than you have with Beauchamp; he may take me +to task for some foolish trifle or other, he will bring his +witnesses, or will insult me in some public place, and I am +expected to kill him for all that." + +"You admit that you would fight, then? Well, if so, why do +you object to my doing so?" + +"I do not say that you ought not to fight, I only say that a +duel is a serious thing, and ought not to be undertaken +without due reflection." + +"Did he reflect before he insulted my father?" + +"If he spoke hastily, and owns that he did so, you ought to +be satisfied." + +"Ah, my dear count, you are far too indulgent." + +"And you are far too exacting. Supposing, for instance, and +do not be angry at what I am going to say" -- + +"Well." + +"Supposing the assertion to be really true?" + +"A son ought not to submit to such a stain on his father's +honor." + +"Ma foi, we live in times when there is much to which we +must submit." + +"That is precisely the fault of the age." + +"And do you undertake to reform it?" + +"Yes, as far as I am personally concerned." + +"Well, you the indeed exacting, my dear fellow!" + +"Yes, I own it." + +"Are you quite impervious to good advice?" + +"Not when it comes from a friend." + +"And do you account me that title?" + +"Certainly I do." + +"Well, then, before going to Beauchamp with your witnesses, +seek further information on the subject." + +"From whom?" + +"From Haidee." + +"Why, what can be the use of mixing a woman up in the +affair? -- what can she do in it?" + +"She can declare to you, for example, that your father had +no hand whatever in the defeat and death of the vizier; or +if by chance he had, indeed, the misfortune to" -- + +"I have told you, my dear count, that I would not for one +moment admit of such a proposition." + +"You reject this means of information, then?" + +"I do -- most decidedly." + +"Then let me offer one more word of advice." + +"Do so, then, but let it be the last." + +"You do not wish to hear it, perhaps?" + +"On the contrary, I request it." + +"Do not take any witnesses with you when you go to Beauchamp +-- visit him alone." + +"That would be contrary to all custom." + +"Your case is not an ordinary one." + +"And what is your reason for advising me to go alone?" + +"Because then the affair will rest between you and +Beauchamp." + +"Explain yourself." + +"I will do so. If Beauchamp be disposed to retract, you +ought at least to give him the opportunity of doing it of +his own free will, -- the satisfaction to you will be the +same. If, on the contrary, he refuses to do so, it will then +be quite time enough to admit two strangers into your +secret." + +"They will not be strangers, they will be friends." + +"Ah, but the friends of to-day are the enemies of to-morrow; +Beauchamp, for instance." + +"So you recommend" -- + +"I recommend you to be prudent." + +"Then you advise me to go alone to Beauchamp?" + +"I do, and I will tell you why. When you wish to obtain some +concession from a man's self-love, you must avoid even the +appearance of wishing to wound it." + +"I believe you are right." + +"I am glad of it." + +"Then I will go alone." + +"Go; but you would do better still by not going at all." + +"That is impossible." + +"Do so, then; it will be a wiser plan than the first which +you proposed." + +"But if, in spite of all my precautions, I am at last +obliged to fight, will you not be my second?" + +"My dear viscount," said Monte Cristo gravely, "you must +have seen before to-day that at all times and in all places +I have been at your disposal, but the service which you have +just demanded of me is one which it is out of my power to +render you." + +"Why?" + +"Perhaps you may know at some future period, and in the mean +time I request you to excuse my declining to put you in +possession of my reasons." + +"Well, I will have Franz and Chateau-Renaud; they will be +the very men for it." + +"Do so, then." + +"But if I do fight, you will surely not object to giving me +a lesson or two in shooting and fencing?" + +"That, too, is impossible." + +"What a singular being you are! -- you will not interfere in +anything." + +"You are right -- that is the principle on which I wish to +act." + +"We will say no more about it, then. Good-by, count." +Morcerf took his hat, and left the room. He found his +carriage at the door, and doing his utmost to restrain his +anger he went at once to find Beauchamp, who was in his +office. It was a gloomy, dusty-looking apartment, such as +journalists' offices have always been from time immemorial. +The servant announced M. Albert de Morcerf. Beauchamp +repeated the name to himself, as though he could scarcely +believe that he had heard aright, and then gave orders for +him to be admitted. Albert entered. Beauchamp uttered an +exclamation of surprise on seeing his friend leap over and +trample under foot all the newspapers which were strewed +about the room. "This way, this way, my dear Albert!" said +he, holding out his hand to the young man. "Are you out of +your senses, or do you come peaceably to take breakfast with +me? Try and find a seat -- there is one by that geranium, +which is the only thing in the room to remind me that there +are other leaves in the world besides leaves of paper." + +"Beauchamp," said Albert, "it is of your journal that I come +to speak." + +"Indeed? What do you wish to say about it?" + +"I desire that a statement contained in it should be +rectified." + +"To what do you refer? But pray sit down." + +"Thank you," said Albert, with a cold and formal bow. + +"Will you now have the kindness to explain the nature of the +statement which has displeased you?" + +"An announcement has been made which implicates the honor of +a member of my family." + +"What is it?" said Beauchamp, much surprised; "surely you +must be mistaken." + +"The story sent you from Yanina." + +"Yanina?" + +"Yes; really you appear to be totally ignorant of the cause +which brings me here." + +"Such is really the case, I assure you, upon my honor! +Baptiste, give me yesterday's paper," cried Beauchamp. + +"Here, I have brought mine with me," replied Albert. + +Beauchamp took the paper, and read the article to which +Albert pointed in an undertone. "You see it is a serious +annoyance," said Morcerf, when Beauchamp had finished the +perusal of the paragraph. "Is the officer referred to a +relation of yours, then?" demanded the journalist. + +"Yes," said Albert, blushing. + +"Well, what do you wish me to do for you?" said Beauchamp +mildly. + +"My dear Beauchamp, I wish you to contradict this +statement." Beauchamp looked at Albert with a benevolent +expression. + +"Come," said he, "this matter will want a good deal of +talking over; a retractation is always a serious thing, you +know. Sit down, and I will read it again." Albert resumed +his seat, and Beauchamp read, with more attention than at +first, the lines denounced by his friend. "Well," said +Albert in a determined tone, "you see that your paper his +insulted a member of my family, and I insist on a +retractation being made." + +"You insist?" + +"Yes, I insist." + +"Permit me to remind you that you are not in the Chamber, my +dear Viscount." + +"Nor do I wish to be there," replied the young man, rising. +"I repeat that I am determined to have the announcement of +yesterday contradicted. You have known me long enough," +continued Albert, biting his lips convulsively, for he saw +that Beauchamp's anger was beginning to rise, -- "you have +been my friend, and therefore sufficiently intimate with me +to be aware that I am likely to maintain my resolution on +this point." + +"If I have been your friend, Morcerf, your present manner of +speaking would almost lead me to forget that I ever bore +that title. But wait a moment, do not let us get angry, or +at least not yet. You are irritated and vexed -- tell me how +this Fernand is related to you?" + +"He is merely my father," said Albert -- "M. Fernand +Mondego, Count of Morcerf, an old soldier who has fought in +twenty battles and whose honorable scars they would denounce +as badges of disgrace." + +"Is it your father?" said Beauchamp; "that is quite another +thing. Then can well understand your indignation, my dear +Albert. I will look at it again;" and he read the paragraph +for the third time, laying a stress on each word as he +proceeded. "But the paper nowhere identifies this Fernand +with your father." + +"No; but the connection will be seen by others, and +therefore I will have the article contradicted." At the +words "I will," Beauchamp steadily raised his eyes to +Albert's countenance, and then as gradually lowering them, +he remained thoughtful for a few moments. "You will retract +this assertion, will you not, Beauchamp?" said Albert with +increased though stifled anger. + +"Yes," replied Beauchamp. + +"Immediately?" said Albert. + +"When I am convinced that the statement is false." + +"What?" + +"The thing is worth looking into, and I will take pains to +investigate the matter thoroughly." + +"But what is there to investigate, sir?" said Albert, +enraged beyond measure at Beauchamp's last remark. "If you +do not believe that it is my father, say so immediately; and +if, on the contrary, you believe it to be him, state your +reasons for doing so." Beauchamp looked at Albert with the +smile which was so peculiar to him, and which in its +numerous modifications served to express every varied +emotion of his mind. "Sir," replied he, "if you came to me +with the idea of demanding satisfaction, you should have +gone at once to the point, and not have entertained me with +the idle conversation to which I have been patiently +listening for the last half hour. Am I to put this +construction on your visit?" + +"Yes, if you will not consent to retract that infamous +calumny." + +"Wait a moment -- no threats, if you please, M. Fernand +Mondego, Vicomte de Morcerf; I never allow them from my +enemies, and therefore shall not put up with them from my +friends. You insist on my contradicting the article relating +to General Fernand, an article with which, I assure you on +my word of honor, I had nothing whatever to do?" + +"Yes, I insist on it," said Albert, whose mind was beginning +to get bewildered with the excitement of his feelings. + +"And if I refuse to retract, you wish to fight, do you?" +said Beauchamp in a calm tone. + +"Yes," replied Albert, raising his voice. + +"Well," said Beauchamp, "here is my answer, my dear sir. The +article was not inserted by me -- I was not even aware of +it; but you have, by the step you have taken, called my +attention to the paragraph in question, and it will remain +until it shall be either contradicted or confirmed by some +one who has a right to do so." + +"Sir," said Albert, rising, "I will do myself the honor of +sending my seconds to you, and you will be kind enough to +arrange with them the place of meeting and the weapons." + +"Certainly, my dear sir." + +"And this evening, if you please, or to-morrow at the +latest, we will meet." + +"No, no, I will be on the ground at the proper time; but in +my opinion (and I have a right to dictate the preliminaries, +as it is I who have received the provocation) -- in my +opinion the time ought not to be yet. I know you to be well +skilled in the management of the sword, while I am only +moderately so; I know, too, that you are a good marksman -- +there we are about equal. I know that a duel between us two +would be a serious affair, because you are brave, and I am +brave also. I do not therefore wish either to kill you, or +to be killed myself without a cause. Now, I am going to put +a question to you, and one very much to the purpose too. Do +you insist on this retractation so far as to kill me if I do +not make it, although I have repeated more than once, and +affirmed on my honor, that I was ignorant of the thing with +which you charge me, and although I still declare that it is +impossible for any one but you to recognize the Count of +Morcerf under the name of Fernand?" + +"I maintain my original resolution." + +"Very well, my dear sir; then I consent to cut throats with +you. But I require three weeks' preparation; at the end of +that time I shall come and say to you, `The assertion is +false, and I retract it,' or `The assertion is true,' when I +shall immediately draw the sword from its sheath, or the +pistols from the case, whichever you please." + +"Three weeks!" cried Albert; "they will pass as slowly as +three centuries when I am all the time suffering dishonor." + +"Had you continued to remain on amicable terms with me, I +should have said, `Patience, my friend;' but you have +constituted yourself my enemy, therefore I say, `What does +that signify to me, sir?'" + +"Well, let it be three weeks then," said Morcerf; "but +remember, at the expiration of that time no delay or +subterfuge will justify you in" -- + +"M. Albert de Morcerf," said Beauchamp, rising in his turn, +"I cannot throw you out of window for three weeks -- that is +to say, for twenty-four days to come -- nor have you any +right to split my skull open till that time has elapsed. +To-day is the 29th of August; the 21st of September will, +therefore, be the conclusion of the term agreed on, and till +that time arrives -- and it is the advice of a gentleman +which I am about to give you -- till then we will refrain +from growling and barking like two dogs chained within sight +of each other." When he had concluded his speech, Beauchamp +bowed coldly to Albert, turned his back upon him, and went +to the press-room. + +Albert vented his anger on a pile of newspapers, which he +sent flying all over the office by switching them violently +with his stick; after which ebullition he departed -- not, +however, without walking several times to the door of the +press-room, as if he had half a mind to enter. While Albert +was lashing the front of his carriage in the same manner +that he had the newspapers which were the innocent agents of +his discomfiture, as he was crossing the barrier he +perceived Morrel, who was walking with a quick step and a +bright eye. He was passing the Chinese Baths, and appeared +to have come from the direction of the Porte Saint-Martin, +and to be going towards the Madeleine. "Ah," said Morcerf, +"there goes a happy man!" And it so happened Albert was not +mistaken in his opinion. + + + +Chapter 79 +The Lemonade. + +Morrel was, in fact, very happy. M. Noirtier had just sent +for him, and he was in such haste to know the reason of his +doing so that he had not stopped to take a cab, placing +infinitely more dependence on his own two legs than on the +four legs of a cab-horse. He had therefore set off at a +furious rate from the Rue Meslay, and was hastening with +rapid strides in the direction of the Faubourg Saint-Honore. +Morrel advanced with a firm, manly tread, and poor Barrois +followed him as he best might. Morrel was only thirty-one, +Barrois was sixty years of age; Morrel was deeply in love, +and Barrois was dying with heat and exertion. These two men, +thus opposed in age and interests, resembled two parts of a +triangle, presenting the extremes of separation, yet +nevertheless possessing their point of union. This point of +union was Noirtier, and it was he who had just sent for +Morrel, with the request that the latter would lose no time +in coming to him -- a command which Morrel obeyed to the +letter, to the great discomfiture of Barrois. On arriving at +the house, Morrel was not even out of breath, for love lends +wings to our desires; but Barrois, who had long forgotten +what it was to love, was sorely fatigued by the expedition +he had been constrained to use. + +The old servant introduced Morrel by a private entrance, +closed the door of the study, and soon the rustling of a +dress announced the arrival of Valentine. She looked +marvellously beautiful in her deep mourning dress, and +Morrel experienced such intense delight in gazing upon her +that he felt as if he could almost have dispensed with the +conversation of her grandfather. But the easy-chair of the +old man was heard rolling along the floor, and he soon made +his appearance in the room. Noirtier acknowledged by a look +of extreme kindness and benevolence the thanks which Morrel +lavished on him for his timely intervention on behalf of +Valentine and himself -- an intervention which had saved +them from despair. Morrel then cast on the invalid an +interrogative look as to the new favor which he designed to +bestow on him. Valentine was sitting at a little distance +from them, timidly awaiting the moment when she should be +obliged to speak. Noirtier fixed his eyes on her. "Am I to +say what you told me?" asked Valentine. Noirtier made a sign +that she was to do so. + +"Monsieur Morrel," said Valentine to the young man, who was +regarding her with the most intense interest, "my +grandfather, M. Noirtier, had a thousand things to say, +which he told me three days ago; and now, he has sent for +you, that I may repeat them to you. I will repeat them, +then; and since he has chosen me as his interpreter, I will +be faithful to the trust, and will not alter a word of his +intentions." + +"Oh, I am listening with the greatest impatience," replied +the young man; "speak, I beg of you." Valentine cast down +her eyes; this was a good omen for Morrel, for he knew that +nothing but happiness could have the power of thus +overcoming Valentine. "My grandfather intends leaving this +house," said she, "and Barrois is looking out suitable +apartments for him in another." + +"But you, Mademoiselle de Villefort, -- you, who are +necessary to M. Noirtier's happiness" -- + +"I?" interrupted Valentine; "I shall not leave my +grandfather, -- that is an understood thing between us. My +apartment will be close to his. Now, M. de Villefort must +either give his consent to this plan or his refusal; in the +first case, I shall leave directly, and in the second, I +shall wait till I am of age, which will be in about ten +months. Then I shall be free, I shall have an independent +fortune, and" -- + +"And what?" demanded Morrel. + +"And with my grandfather's consent I shall fulfil the +promise which I have made you." Valentine pronounced these +last few words in such a low tone, that nothing but Morrel's +intense interest in what she was saying could have enabled +him to hear them. "Have I not explained your wishes, +grandpapa?" said Valentine, addressing Noirtier. "Yes," +looked the old man. -- "Once under my grandfather's roof, M. +Morrel can visit me in the presence of my good and worthy +protector, if we still feel that the union we contemplated +will be likely to insure our future comfort and happiness; +in that case I shall expect M. Morrel to come and claim me +at my own hands. But, alas, I have heard it said that hearts +inflamed by obstacles to their desire grew cold in time of +security; I trust we shall never find it so in our +experience!" + +"Oh," cried Morrel, almost tempted to throw himself on his +knees before Noirtier and Valentine, and to adore them as +two superior beings, "what have I ever done in my life to +merit such unbounded happiness?" + +"Until that time," continued the young girl in a calm and +self-possessed tone of voice, "we will conform to +circumstances, and be guided by the wishes of our friends, +so long as those wishes do not tend finally to separate us; +in a word, and I repeat it, because it expresses all I wish +to convey, -- we will wait." + +"And I swear to make all the sacrifices which this word +imposes, sir," said Morrel, "not only with resignation, but +with cheerfulness." + +"Therefore," continued Valentine, looking playfully at +Maximilian, "no more inconsiderate actions -- no more rash +projects; for you surely would not wish to compromise one +who from this day regards herself as destined, honorably and +happily, to bear your name?" + +Morrel looked obedience to her commands. Noirtier regarded +the lovers with a look of ineffable tenderness, while +Barrois, who had remained in the room in the character of a +man privileged to know everything that passed, smiled on the +youthful couple as he wiped the perspiration from his bald +forehead. "How hot you look, my good Barrois," said +Valentine. + +"Ah, I have been running very fast, mademoiselle, but I must +do M. Morrel the justice to say that he ran still faster." +Noirtier directed their attention to a waiter, on which was +placed a decanter containing lemonade and a glass. The +decanter was nearly full, with the exception of a little, +which had been already drunk by M. Noirtier. + +"Come, Barrois," said the young girl, "take some of this +lemonade; I see you are coveting a good draught of it." + +"The fact is, mademoiselle," said Barrois, "I am dying with +thirst, and since you are so kind as to offer it me, I +cannot say I should at all object to drinking your health in +a glass of it." + +"Take some, then, and come back immediately." Barrois took +away the waiter, and hardly was he outside the door, which +in his haste he forgot to shut, than they saw him throw back +his head and empty to the very dregs the glass which +Valentine had filled. Valentine and Morrel were exchanging +their adieux in the presence of Noirtier when a ring was +heard at the door-bell. It was the signal of a visit. +Valentine looked at her watch. + +"It is past noon," said she, "and to-day is Saturday; I dare +say it is the doctor, grandpapa." Noirtier looked his +conviction that she was right in her supposition. "He will +come in here, and M. Morrel had better go, -- do you not +think so, grandpapa?" + +"Yes," signed the old man. + +"Barrois," cried Valentine, "Barrois!" + +"I am coming, mademoiselle," replied he. "Barrois will open +the door for you," said Valentine, addressing Morrel. "And +now remember one thing, Monsieur Officer, that my +grandfather commands you not to take any rash or ill-advised +step which would be likely to compromise our happiness." + +"I promised him to wait," replied Morrel; "and I will wait." + +At this moment Barrois entered. "Who rang?" asked Valentine. + +"Doctor d'Avrigny," said Barrois, staggering as if he would +fall. + +"What is the matter, Barrois?" said Valentine. The old man +did not answer, but looked at his master with wild staring +eyes, while with his cramped hand he grasped a piece of +furniture to enable him to stand upright. "He is going to +fall!" cried Morrel. The rigors which had attacked Barrois +gradually increased, the features of the face became quite +altered, and the convulsive movement of the muscles appeared +to indicate the approach of a most serious nervous disorder. +Noirtier, seeing Barrois in this pitiable condition, showed +by his looks all the various emotions of sorrow and sympathy +which can animate the heart of man. Barrois made some steps +towards his master. + +"Ah, sir," said he, "tell me what is the matter with me. I +am suffering -- I cannot see. A thousand fiery darts are +piercing my brain. Ah, don't touch me, pray don't." By this +time his haggard eyes had the appearance of being ready to +start from their sockets; his head fell back, and the lower +extremities of the body began to stiffen. Valentine uttered +a cry of horror; Morrel took her in his arms, as if to +defend her from some unknown danger. "M. d'Avrigny, M. +d'Avrigny," cried she, in a stifled voice. "Help, help!" +Barrois turned round and with a great effort stumbled a few +steps, then fell at the feet of Noirtier, and resting his +hand on the knee of the invalid, exclaimed, "My master, my +good master!" At this moment M. de Villefort, attracted by +the noise, appeared on the threshold. Morrel relaxed his +hold of Valentine, and retreating to a distant corner of the +room remained half hidden behind a curtain. Pale as if he +had been gazing on a serpent, he fixed his terrified eye on +the agonized sufferer. + +Noirtier, burning with impatience and terror, was in despair +at his utter inability to help his old domestic, whom he +regarded more in the light of a friend than a servant. One +might by the fearful swelling of the veins of his forehead +and the contraction of the muscles round the eye, trace the +terrible conflict which was going on between the living +energetic mind and the inanimate and helpless body. Barrois, +his features convulsed, his eyes suffused with blood, and +his head thrown back, was lying at full length, beating the +floor with his hands, while his legs had become so stiff, +that they looked as if they would break rather than bend. A +slight appearance of foam was visible around the mouth, and +he breathed painfully, and with extreme difficulty. + +Villefort seemed stupefied with astonishment, and remained +gazing intently on the scene before him without uttering a +word. He had not seen Morrel. After a moment of dumb +contemplation, during which his face became pale and his +hair seemed to stand on end, he sprang towards the door, +crying out, "Doctor, doctor! come instantly, pray come!" + +"Madame, madame!" cried Valentine, calling her step-mother, +and running up-stairs to meet her; "come quick, quick! -- +and bring your bottle of smelling-salts with you." + +"What is the matter?" said Madame de Villefort in a harsh +and constrained tone. + +"Oh, come, come!" + +"But where is the doctor?" exclaimed Villefort; "where is +he?" Madame de Villefort now deliberately descended the +staircase. In one hand she held her handkerchief, with which +she appeared to be wiping her face, and in the other a +bottle of English smelling-salts. Her first look on entering +the room was at Noirtier, whose face, independent of the +emotion which such a scene could not fail of producing, +proclaimed him to be in possession of his usual health; her +second glance was at the dying man. She turned pale, and her +eye passed quickly from the servant and rested on the +master. + +"In the name of heaven, madame," said Villefort, "where is +the doctor? He was with you just now. You see this is a fit +of apoplexy, and he might be saved if he could but be bled!" + +"Has he eaten anything lately?" asked Madame de Villefort, +eluding her husband's question. "Madame," replied Valentine, +"he has not even breakfasted. He has been running very fast +on an errand with which my grandfather charged him, and when +he returned, took nothing but a glass of lemonade." + +"Ah," said Madame de Villefort, "why did he not take wine? +Lemonade was a very bad thing for him." + +"Grandpapa's bottle of lemonade was standing just by his +side; poor Barrois was very thirsty, and was thankful to +drink anything he could find." Madame de Villefort started. +Noirtier looked at her with a glance of the most profound +scrutiny. "He has such a short neck," said she. "Madame," +said Villefort, "I ask where is M. d'Avrigny? In God's name +answer me!" + +"He is with Edward, who is not quite well," replied Madame +de Villefort, no longer being able to avoid answering. + +Villefort rushed up-stairs to fetch him. "Take this," said +Madame de Villefort, giving her smelling-bottle to +Valentine. "They will, no doubt, bleed him; therefore I will +retire, for I cannot endure the sight of blood;" and she +followed her husband up-stairs. Morrel now emerged from his +hiding-place, where he had remained quite unperceived, so +great had been the general confusion. "Go away as quick as +you can, Maximilian," said Valentine, "and stay till I send +for you. Go." + +Morrel looked towards Noirtier for permission to retire. The +old man, who had preserved all his usual coolness, made a +sign to him to do so. The young man pressed Valentine's hand +to his lips, and then left the house by a back staircase. At +the same moment that he quitted the room, Villefort and the +doctor entered by an opposite door. Barrois was now showing +signs of returning consciousness. The crisis seemed past, a +low moaning was heard, and he raised himself on one knee. +D'Avrigny and Villefort laid him on a couch. "What do you +prescribe, doctor?" demanded Villefort. "Give me some water +and ether. You have some in the house, have you not?" + +"Yes." + +"Send for some oil of turpentine and tartar emetic." + +Villefort immediately despatched a messenger. "And now let +every one retire." + +"Must I go too?" asked Valentine timidly. + +"Yes, mademoiselle, you especially," replied the doctor +abruptly. + +Valentine looked at M. d'Avrigny with astonishment, kissed +her grandfather on the forehead, and left the room. The +doctor closed the door after her with a gloomy air. "Look, +look, doctor," said Villefort, "he is quite coming round +again; I really do not think, after all, it is anything of +consequence." M. d'Avrigny answered by a melancholy smile. +"How do you feel, Barrois?" asked he. "A little better, +sir." + +"Will you drink some of this ether and water?" + +"I will try; but don't touch me." + +"Why not?" + +"Because I feel that if you were only to touch me with the +tip of your finger the fit would return." + +"Drink." + +Barrois took the glass, and, raising it to his purple lips, +took about half of the liquid offered him. "Where do you +suffer?" asked the doctor. + +"Everywhere. I feel cramps over my whole body." + +"Do you find any dazzling sensation before the eyes?" + +"Yes." + +"Any noise in the ears?" + +"Frightful." + +"When did you first feel that?" + +"Just now." + +"Suddenly?" + +"Yes, like a clap of thunder." + +"Did you feel nothing of it yesterday or the day before?" + +"Nothing." + +"No drowsiness?" + +"None." + +"What have you eaten to-day?" + +"I have eaten nothing; I only drank a glass of my master's +lemonade -- that's all;" and Barrois turned towards +Noirtier, who, immovably fixed in his arm-chair, was +contemplating this terrible scene without allowing a word or +a movement to escape him. + +"Where is this lemonade?" asked the doctor eagerly. + +"Down-stairs in the decanter." + +"Whereabouts downstairs?" + +"In the kitchen." + +"Shall I go and fetch it, doctor?" inquired Villefort. + +"No, stay here and try to make Barrois drink the rest of +this glass of ether and water. I will go myself and fetch +the lemonade." D'Avrigny bounded towards the door, flew down +the back staircase, and almost knocked down Madame de +Villefort, in his haste, who was herself going down to the +kitchen. She cried out, but d'Avrigny paid no attention to +her; possessed with but one idea, he cleared the last four +steps with a bound, and rushed into the kitchen, where he +saw the decanter about three parts empty still standing on +the waiter, where it had been left. He darted upon it as an +eagle would seize upon its prey. Panting with loss of +breath, he returned to the room he had just left. Madame de +Villefort was slowly ascending the steps which led to her +room. "Is this the decanter you spoke of?" asked d'Avrigny. + +"Yes, doctor." + +"Is this the same lemonade of which you partook?" + +"I believe so." + +"What did it taste like?" + +"It had a bitter taste." + +The doctor poured some drops of the lemonade into the palm +of his hand, put his lips to it, and after having rinsed his +mouth as a man does when he is tasting wine, he spat the +liquor into the fireplace. + +"It is no doubt the same," said he. "Did you drink some too, +M. Noirtier?" + +"Yes." + +"And did you also discover a bitter taste?" + +"Yes." + +"Oh, doctor," cried Barrois, "the fit is coming on again. +Oh, do something for me." The doctor flew to his patient. +"That emetic, Villefort -- see if it is coming." Villefort +sprang into the passage, exclaiming, "The emetic! the +emetic! -- is it come yet?" No one answered. The most +profound terror reigned throughout the house. "If I had +anything by means of which I could inflate the lungs," said +d'Avrigny, looking around him, "perhaps I might prevent +suffocation. But there is nothing which would do -- +nothing!" "Oh, sir," cried Barrois, "are you going to let me +die without help? Oh, I am dying! Oh, save me!" + +"A pen, a pen!" said the doctor. There was one lying on the +table; he endeavored to introduce it into the mouth of the +patient, who, in the midst of his convulsions, was making +vain attempts to vomit; but the jaws were so clinched that +the pen could not pass them. This second attack was much +more violent than the first, and he had slipped from the +couch to the ground, where he was writhing in agony. The +doctor left him in this paroxysm, knowing that he could do +nothing to alleviate it, and, going up to Noirtier, said +abruptly, "How do you find yourself? -- well?" + +"Yes." + +"Have you any weight on the chest; or does your stomach feel +light and comfortable -- eh?" + +"Yes." + +"Then you feel pretty much as you generally do after you +have had the dose which I am accustomed to give you every +Sunday?" + +"Yes." + +"Did Barrois make your lemonade?" + +"Yes." + +"Was it you who asked him to drink some of it?" + +"No." + +"Was it M. de Villefort?" + +"No." + +"Madame?" + +"No." + +"It was your granddaughter, then, was it not?" + +"Yes." A groan from Barrois, accompanied by a yawn which +seemed to crack the very jawbones, attracted the attention +of M. d'Avrigny; he left M. Noirtier, and returned to the +sick man. "Barrois," said the doctor, "can you speak?" +Barrois muttered a few unintelligible words. "Try and make +an effort to do so, my good man." said d'Avrigny. Barrois +reopened his bloodshot eyes. "Who made the lemonade?" + +"I did." + +"Did you bring it to your master directly it was made?" + +"No." + +"You left it somewhere, then, in the meantime?" + +"Yes; I left it in the pantry, because I was called away." + +"Who brought it into this room, then?" + +"Mademoiselle Valentine." D'Avrigny struck his forehead with +his hand. "Gracious heaven," exclaimed he. "Doctor, doctor!" +cried Barrois, who felt another fit coming. + +"Will they never bring that emetic?" asked the doctor. + +"Here is a glass with one already prepared," said Villefort, +entering the room. + +"Who prepared it?" + +"The chemist who came here with me." + +"Drink it," said the doctor to Barrois. "Impossible, doctor; +it is too late; my throat is closing up. I am choking! Oh, +my heart! Ah, my head! -- Oh, what agony! -- Shall I suffer +like this long?" + +"No, no, friend," replied the doctor, "you will soon cease +to suffer." + +"Ah, I understand you," said the unhappy man. "My God, have +mercy upon me!" and, uttering a fearful cry, Barrois fell +back as if he had been struck by lightning. D'Avrigny put +his hand to his heart, and placed a glass before his lips. + +"Well?" said Villefort. "Go to the kitchen and get me some +syrup of violets." Villefort went immediately. "Do not be +alarmed, M. Noirtier," said d'Avrigny; "I am going to take +my patient into the next room to bleed him; this sort of +attack is very frightful to witness." + +And taking Barrois under the arms, he dragged him into an +adjoining room; but almost immediately he returned to fetch +the lemonade. Noirtier closed lids right eye. "You want +Valentine, do you not? I will tell them to send her to you." +Villefort returned, and d'Avrigny met him in the passage. +"Well, how is he now?" asked he. "Come in here," said +d'Avrigny, and he took him into the chamber where the sick +man lay. "Is he still in a fit?" said the procureur. + +"He is dead." + +Villefort drew back a few steps, and, clasping his hands, +exclaimed, with real amazement and sympathy, "Dead? -- and +so soon too!" + +"Yes, it is very soon," said the doctor, looking at the +corpse before him; "but that ought not to astonish you; +Monsieur and Madame de Saint-Meran died as soon. People die +very suddenly in your house, M. de Villefort." + +"What?" cried the magistrate, with an accent of horror and +consternation, "are you still harping on that terrible +idea?" + +"Still, sir; and I shall always do so," replied d'Avrigny, +"for it has never for one instant ceased to retain +possession of my mind; and that you may be quite sure I am +not mistaken this time, listen well to what I am going to +say, M. de Villefort." The magistrate trembled convulsively. +"There is a poison which destroys life almost without +leaving any perceptible traces. I know it well; I have +studied it in all its forms and in the effects which it +produces. I recognized the presence of this poison in the +case of poor Barrois as well as in that of Madame de +Saint-Meran. There is a way of detecting its presence. It +restores the blue color of litmus-paper reddened by an acid, +and it turns syrup of violets green. We have no +litmus-paper, but, see, here they come with the syrup of +violets." + +The doctor was right; steps were heard in the passage. M. +d'Avrigny opened the door, and took from the hands of the +chambermaid a cup which contained two or three spoonfuls of +the syrup, he then carefully closed the door. "Look," said +he to the procureur, whose heart beat so loudly that it +might almost be heard, "here is in this cup some syrup of +violets, and this decanter contains the remainder of the +lemonade of which M. Noirtier and Barrois partook. If the +lemonade be pure and inoffensive, the syrup will retain its +color; if, on the contrary, the lemonade be drugged with +poison, the syrup will become green. Look closely!" + +The doctor then slowly poured some drops of the lemonade +from the decanter into the cup, and in an instant a light +cloudy sediment began to form at the bottom of the cup; this +sediment first took a blue shade, then from the color of +sapphire it passed to that of opal, and from opal to +emerald. Arrived at this last hue, it changed no more. The +result of the experiment left no doubt whatever on the mind. + +"The unfortunate Barrois has been poisoned," said d'Avrigny, +"and I will maintain this assertion before God and man." +Villefort said nothing, but he clasped his hands, opened his +haggard eyes, and, overcome with his emotion, sank into a +chair. + + + +Chapter 80 +The Accusation. + +M. D'Avrigny soon restored the magistrate to consciousness, +who had looked like a second corpse in that chamber of +death. "Oh, death is in my house!" cried Villefort. + +"Say, rather, crime!" replied the doctor. + +"M. d'Avrigny," cried Villefort, "I cannot tell you all I +feel at this moment, -- terror, grief, madness." + +"Yes," said M. d'Avrigny, with an imposing calmness, "but I +think it is now time to act. I think it is time to stop this +torrent of mortality. I can no longer bear to be in +possession of these secrets without the hope of seeing the +victims and society generally revenged." Villefort cast a +gloomy look around him. "In my house," murmured he, "in my +house!" + +"Come, magistrate," said M. d'Avrigny, "show yourself a man; +as an interpreter of the law, do honor to your profession by +sacrificing your selfish interests to it." + +"You make me shudder, doctor. Do you talk of a sacrifice?" + +"I do." + +"Do you then suspect any one?" + +"I suspect no one; death raps at your door -- it enters -- +it goes, not blindfolded, but circumspectly, from room to +room. Well, I follow its course, I track its passage; I +adopt the wisdom of the ancients, and feel my way, for my +friendship for your family and my respect for you are as a +twofold bandage over my eyes; well" -- + +"Oh, speak, speak, doctor; I shall have courage." + +"Well, sir, you have in your establishment, or in your +family, perhaps, one of the frightful monstrosities of which +each century produces only one. Locusta and Agrippina, +living at the same time, were an exception, and proved the +determination of providence to effect the entire ruin of the +Roman empire, sullied by so many crimes. Brunehilde and +Fredegonde were the results of the painful struggle of +civilization in its infancy, when man was learning to +control mind, were it even by an emissary from the realms of +darkness. All these women had been, or were, beautiful. The +same flower of innocence had flourished, or was still +flourishing, on their brow, that is seen on the brow of the +culprit in your house." Villefort shrieked, clasped his +hands, and looked at the doctor with a supplicating air. But +the latter went on without pity: -- + +"`Seek whom the crime will profit,' says an axiom of +jurisprudence." + +"Doctor," cried Villefort, "alas, doctor, how often has +man's justice been deceived by those fatal words. I know not +why, but I feel that this crime" -- + +"You acknowledge, then, the existence of the crime?" + +"Yes, I see too plainly that it does exist. But it seems +that it is intended to affect me personally. I fear an +attack myself, after all these disasters." + +"Oh, man," murmured d'Avrigny, "the most selfish of all +animals, the most personal of all creatures, who believes +the earth turns, the sun shines, and death strikes for him +alone, -- an ant cursing God from the top of a blade of +grass! And have those who have lost their lives lost +nothing? -- M. de Saint-Meran, Madame de Saint-Meran, M. +Noirtier" -- + +"How? M. Noirtier?" + +"Yes; think you it was the poor servant's life was coveted? +No, no; like Shakespeare's `Polonius,' he died for another. +It was Noirtier the lemonade was intended for -- it is +Noirtier, logically speaking, who drank it. The other drank +it only by accident, and, although Barrois is dead, it was +Noirtier whose death was wished for." + +"But why did it not kill my father?" + +"I told you one evening in the garden after Madame de +Saint-Meran's death -- because his system is accustomed to +that very poison, and the dose was trifling to him, which +would be fatal to another; because no one knows, not even +the assassin, that, for the last twelve months, I have given +M. Noirtier brucine for his paralytic affection, while the +assassin is not ignorant, for he has proved that brucine is +a violent poison." + +"Oh, have pity -- have pity!" murmured Villefort, wringing +his hands. + +"Follow the culprit's steps; he first kills M. de +Saint-Meran" -- + +"O doctor!" + +"I would swear to it; what I heard of his symptoms agrees +too well with what I have seen in the other cases." +Villefort ceased to contend; he only groaned. "He first +kills M. de Saint-Meran," repeated the doctor, "then Madame +de Saint-Meran, -- a double fortune to inherit." Villefort +wiped the perspiration from his forehead. "Listen +attentively." + +"Alas," stammered Villefort, "I do not lose a single word." + +"M. Noirtier," resumed M. d'Avrigny in the same pitiless +tone, -- "M. Noirtier had once made a will against you -- +against your family -- in favor of the poor, in fact; M. +Noirtier is spared, because nothing is expected from him. +But he has no sooner destroyed his first will and made a +second, than, for fear he should make a third, he is struck +down. The will was made the day before yesterday, I believe; +you see there has been no time lost." + +"Oh, mercy, M. d'Avrigny!" + +"No mercy, sir! The physician has a sacred mission on earth; +and to fulfil it he begins at the source of life, and goes +down to the mysterious darkness of the tomb. When crime has +been committed, and God, doubtless in anger, turns away his +face, it is for the physician to bring the culprit to +justice." + +"Have mercy on my child, sir," murmured Villefort. + +"You see it is yourself who have first named her -- you, her +father." + +"Have pity on Valentine! Listen -- it is impossible! I would +as willingly accuse myself! Valentine, whose heart is pure +as a diamond or a lily." + +"No pity, procureur; the crime is fragrant. Mademoiselle +herself packed all the medicines which were sent to M. de +Saint-Meran; and M. de Saint-Meran is dead. Mademoiselle de +Villefort prepared all the cooling draughts which Madame de +Saint-Meran took, and Madame de Saint-Meran is dead. +Mademoiselle de Villefort took from the hands of Barrois, +who was sent out, the lemonade which M. Noirtier had every +morning, and he has escaped by a miracle. Mademoiselle de +Villefort is the culprit -- she is the poisoner! To you, as +the king's attorney, I denounce Mademoiselle de Villefort, +do your duty." + +"Doctor, I resist no longer -- I can no longer defend myself +-- I believe you; but, for pity's sake, spare my life, my +honor!" + +"M. de Villefort," replied the doctor, with increased +vehemence, "there are occasions when I dispense with all +foolish human circumspection. If your daughter had committed +only one crime, and I saw her meditating another, I would +say `Warn her, punish her, let her pass the remainder of her +life in a convent, weeping and praying.' If she had +committed two crimes, I would say, `Here, M. de Villefort, +is a poison that the prisoner is not acquainted with, -- one +that has no known antidote, quick as thought, rapid as +lightning, mortal as the thunderbolt; give her that poison, +recommending her soul to God, and save your honor and your +life, for it is yours she aims at; and I can picture her +approaching your pillow with her hypocritical smiles and her +sweet exhortations. Woe to you, M. de Villefort, if you do +not strike first!' This is what I would say had she only +killed two persons but she has seen three deaths, -- has +contemplated three murdered persons, -- has knelt by three +corpses! To the scaffold with the poisoner -- to the +scaffold! Do you talk of your honor? Do what I tell you, and +immortality awaits you!" + +Villefort fell on his knees. "Listen," said he; "I have not +the strength of mind you have, or rather that which you +would not have, if instead of my daughter Valentine your +daughter Madeleine were concerned." The doctor turned pale. +"Doctor, every son of woman is born to suffer and to die; I +am content to suffer and to await death." + +"Beware," said M. d'Avrigny, "it may come slowly; you will +see it approach after having struck your father, your wife, +perhaps your son." + +Villefort, suffocating, pressed the doctor's arm. "Listen," +cried he; "pity me -- help me! No, my daughter is not +guilty. If you drag us both before a tribunal I will still +say, `No, my daughter is not guilty; -- there is no crime in +my house. I will not acknowledge a crime in my house; for +when crime enters a dwelling, it is like death -- it does +not come alone.' Listen. What does it signify to you if I am +murdered? Are you my friend? Are you a man? Have you a +heart? No, you are a physician! Well, I tell you I will not +drag my daughter before a tribunal, and give her up to the +executioner! The bare idea would kill me -- would drive me +like a madman to dig my heart out with my finger-nails! And +if you were mistaken, doctor -- if it were not my daughter +-- if I should come one day, pale as a spectre, and say to +you, `Assassin, you have killed my child!' -- hold -- if +that should happen, although I am a Christian, M. d'Avrigny, +I should kill myself." + +"Well," said the doctor, after a moment's silence, "I will +wait." Villefort looked at him as if he had doubted his +words. "Only," continued M. d'Avrigny, with a slow and +solemn tone, "if any one falls ill in your house, if you +feel yourself attacked, do not send for me, for I will come +no more. I will consent to share this dreadful secret with +you, but I will not allow shame and remorse to grow and +increase in my conscience, as crime and misery will in your +house." + +"Then you abandon me, doctor?" + +"Yes, for I can follow you no farther, and I only stop at +the foot of the scaffold. Some further discovery will be +made, which will bring this dreadful tragedy to a close. +Adieu." + +"I entreat you, doctor!" + +"All the horrors that disturb my thoughts make your house +odious and fatal. Adieu, sir." + +"One word -- one single word more, doctor! You go, leaving +me in all the horror of my situation, after increasing it by +what you have revealed to me. But what will be reported of +the sudden death of the poor old servant?" + +"True," said M. d'Avrigny; "we will return." The doctor went +out first, followed by M. de Villefort. The terrified +servants were on the stairs and in the passage where the +doctor would pass. "Sir," said d'Avrigny to Villefort, so +loud that all might hear, "poor Barrois has led too +sedentary a life of late; accustomed formerly to ride on +horseback, or in the carriage, to the four corners of +Europe, the monotonous walk around that arm-chair has killed +him -- his blood has thickened. He was stout, had a short, +thick neck; he was attacked with apoplexy, and I was called +in too late. By the way," added he in a low tone, "take care +to throw away that cup of syrup of violets in the ashes." + +The doctor, without shaking hands with Villefort, without +adding a word to what he had said, went out, amid the tears +and lamentations of the whole household. The same evening +all Villefort's servants, who had assembled in the kitchen, +and had a long consultation, came to tell Madame de +Villefort that they wished to leave. No entreaty, no +proposition of increased wages, could induce them to remain; +to every argument they replied, "We must go, for death is in +this house." They all left, in spite of prayers and +entreaties, testifying their regret at leaving so good a +master and mistress, and especially Mademoiselle Valentine, +so good, so kind, and so gentle. Villefort looked at +Valentine as they said this. She was in tears, and, strange +as it was, in spite of the emotions he felt at the sight of +these tears, he looked also at Madame de Villefort, and it +appeared to him as if a slight gloomy smile had passed over +her thin lips, like a meteor seen passing inauspiciously +between two clouds in a stormy sky. + + + +Chapter 81 +The Room of the Retired Baker. + +The evening of the day on which the Count of Morcerf had +left Danglars' house with feelings of shame and anger at the +rejection of the projected alliance, M. Andrea Cavalcanti, +with curled hair, mustaches in perfect order, and white +gloves which fitted admirably, had entered the courtyard of +the banker's house in La Chaussee d'Antin. He had not been +more than ten minutes in the drawing-room before he drew +Danglars aside into the recess of a bow-window, and, after +an ingenious preamble, related to him all his anxieties and +cares since his noble father's departure. He acknowledged +the extreme kindness which had been shown him by the +banker's family, in which he had been received as a son, and +where, besides, his warmest affections had found an object +on which to centre in Mademoiselle Danglars. Danglars +listened with the most profound attention; he had expected +this declaration for the last two or three days, and when at +last it came his eyes glistened as much as they had lowered +on listening to Morcerf. He would not, however, yield +immediately to the young man's request, but made a few +conscientious objections. "Are you not rather young, M. +Andrea, to think of marrying?" + +"I think not, sir," replied M. Cavalcanti; "in Italy the +nobility generally marry young. Life is so uncertain, that +we ought to secure happiness while it is within our reach." + +"Well, sir," said Danglars, "in case your proposals, which +do me honor, are accepted by my wife and daughter, by whom +shall the preliminary arrangements be settled? So important +a negotiation should, I think, be conducted by the +respective fathers of the young people." + +"Sir, my father is a man of great foresight and prudence. +Thinking that I might wish to settle in France, he left me +at his departure, together with the papers establishing my +identity, a letter promising, if he approved of my choice, +150,000 livres per annum from the day I was married. So far +as I can judge, I suppose this to be a quarter of my +father's revenue." + +"I," said Danglars, "have always intended giving my daughter +500,000 francs as her dowry; she is, besides, my sole +heiress." + +"All would then be easily arranged if the baroness and her +daughter are willing. We should command an annuity of +175,000 livres. Supposing, also, I should persuade the +marquis to give me my capital, which is not likely, but +still is possible, we would place these two or three +millions in your hands, whose talent might make it realize +ten per cent." + +"I never give more than four per cent, and generally only +three and a half; but to my son-in-law I would give five, +and we would share the profit." + +"Very good, father-in-law," said Cavalcanti, yielding to his +low-born nature, which would escape sometimes through the +aristocratic gloss with which he sought to conceal it. +Correcting himself immediately, he said, "Excuse me, sir; +hope alone makes me almost mad, -- what will not reality +do?" + +"But," said Danglars, -- who, on his part, did not perceive +how soon the conversation, which was at first disinterested, +was turning to a business transaction, -- "there is, +doubtless, a part of your fortune your father could not +refuse you?" + +"Which?" asked the young man. + +"That you inherit from your mother." + +"Truly, from my mother, Leonora Corsinari." + +"How much may it amount to?" + +"Indeed, sir," said Andrea, "I assure you I have never given +the subject a thought, but I suppose it must have been at +least two millions." Danglars felt as much overcome with joy +as the miser who finds a lost treasure, or as the +shipwrecked mariner who feels himself on solid ground +instead of in the abyss which he expected would swallow him +up. + +"Well, sir," said Andrea, bowing to the banker respectfully, +"may I hope?" + +"You may not only hope," said Danglars, "but consider it a +settled thing, if no obstacle arises on your part." + +"I am, indeed, rejoiced," said Andrea. + +"But," said Danglars thoughtfully, "how is it that your +patron, M. de Monte Cristo, did not make his proposal for +you?" Andrea blushed imperceptibly. "I have just left the +count, sir," said he; "he is, doubtless, a delightful man +but inconceivably peculiar in his ideas. He esteems me +highly. He even told me he had not the slightest doubt that +my father would give me the capital instead of the interest +of my property. He has promised to use his influence to +obtain it for me; but he also declared that he never had +taken on himself the responsibility of making proposals for +another, and he never would. I must, however, do him the +justice to add that he assured me if ever he had regretted +the repugnance he felt to such a step it was on this +occasion, because he thought the projected union would be a +happy and suitable one. Besides, if he will do nothing +officially, he will answer any questions you propose to him. +And now," continued he, with one of his most charming +smiles, "having finished talking to the father-in-law, I +must address myself to the banker." + +"And what may you have to say to him?" said Danglars, +laughing in his turn. + +"That the day after to-morrow I shall have to draw upon you +for about four thousand francs; but the count, expecting my +bachelor's revenue could not suffice for the coming month's +outlay, has offered me a draft for twenty thousand francs. +It bears his signature, as you see, which is +all-sufficient." + +"Bring me a million such as that," said Danglars, "I shall +be well pleased," putting the draft in his pocket. "Fix your +own hour for to-morrow, and my cashier shall call on you +with a check for eighty thousand francs." + +"At ten o'clock then, if you please; I should like it early, +as I am going into the country to-morrow." + +"Very well, at ten o'clock;, you are still at the Hotel des +Princes?" + +"Yes." + +The following morning, with the banker's usual punctuality, +the eighty thousand francs were placed in the young man's +hands as he was on the point of starting, after having left +two hundred francs for Caderousse. He went out chiefly to +avoid this dangerous enemy, and returned as late as possible +in the evening. But scarcely had be stepped out of his +carriage when the porter met him with a parcel in his hand. +"Sir," said he, "that man has been here." + +"What man?" said Andrea carelessly, apparently forgetting +him whom he but too well recollected. + +"Him to whom your excellency pays that little annuity." + +"Oh," said Andrea, "my father's old servant. Well, you gave +him the two hundred francs I had left for him?" + +"Yes, your excellency." Andrea had expressed a wish to be +thus addressed. "But," continued the porter, "he would not +take them." Andrea turned pale, but as it was dark his +pallor was not perceptible. "What? he would not take them?" +said he with slight emotion. + +"No, he wished to speak to your excellency; I told him you +were gone out, and after some dispute he believed me and +gave me this letter, which he had brought with him already +sealed." + +"Give it me," said Andrea, and he read by the light of his +carriage-lamp, -- "You know where I live; I expect you +tomorrow morning at nine o'clock." + +Andrea examined it carefully, to ascertain if the letter had +been opened, or if any indiscreet eyes had seen its +contents; but it was so carefully folded, that no one could +have read it, and the seal was perfect. "Very well," said +he. "Poor man, he is a worthy creature." He left the porter +to ponder on these words, not knowing which most to admire, +the master or the servant. "Take out the horses quickly, and +come up to me," said Andrea to his groom. In two seconds the +young man had reached his room and burnt Caderousse's +letter. The servant entered just as he had finished. "You +are about my height, Pierre," said he. + +"I have that honor, your excellency." + +"You had a new livery yesterday?" + +"Yes, sir." + +"I have an engagement with a pretty little girl for this +evening, and do not wish to be known; lend me your livery +till to-morrow. I may sleep, perhaps, at an inn." Pierre +obeyed. Five minutes after, Andrea left the hotel, +completely disguised, took a cabriolet, and ordered the +driver to take him to the Cheval Rouge, at Picpus. The next +morning he left that inn as he had left the Hotel des +Princes, without being noticed, walked down the Faubourg St. +Antoine, along the boulevard to Rue Menilmontant, and +stopping at the door of the third house on the left looked +for some one of whom to make inquiry in the porter's +absence. "For whom are you looking, my fine fellow?" asked +the fruiteress on the opposite side. + +"Monsieur Pailletin, if you please, my good woman," replied +Andrea. + +"A retired baker?" asked the fruiteress. + +"Exactly." + +"He lives at the end of the yard, on the left, on the third +story." Andrea went as she directed him, and on the third +floor he found a hare's paw, which, by the hasty ringing of +the bell, it was evident he pulled with considerable +ill-temper. A moment after Caderousse's face appeared at the +grating in the door. "Ah, you are punctual," said he, as he +drew back the door. + +"Confound you and your punctuality!" said Andrea, throwing +himself into a chair in a manner which implied that he would +rather have flung it at the head of his host. + +"Come, come, my little fellow, don't be angry. See, I have +thought about you -- look at the good breakfast we are going +to have; nothing but what you are fond of." Andrea, indeed, +inhaled the scent of something cooking which was not +unwelcome to him, hungry as he was; it was that mixture of +fat and garlic peculiar to provincial kitchens of an +inferior order, added to that of dried fish, and above all, +the pungent smell of musk and cloves. These odors escaped +from two deep dishes which were covered and placed on a +stove, and from a copper pan placed in an old iron pot. In +an adjoining room Andrea saw also a tolerably clean table +prepared for two, two bottles of wine sealed, the one with +green, the other with yellow, a supply of brandy in a +decanter, and a measure of fruit in a cabbage-leaf, cleverly +arranged on an earthenware plate. + +"What do you think of it, my little fellow?" said +Caderousse. "Ay, that smells good! You know I used to be a +famous cook; do you recollect how you used to lick your +fingers? You were among the first who tasted any of my +dishes, and I think you relished them tolerably." While +speaking, Caderousse went on peeling a fresh supply of +onions. + +"But," said Andrea, ill-temperedly, "by my faith, if it was +only to breakfast with you, that you disturbed me, I wish +the devil had taken you!" + +"My boy," said Caderousse sententiously, "one can talk while +eating. And then, you ungrateful being, you are not pleased +to see an old friend? I am weeping with joy." He was truly +crying, but it would have been difficult to say whether joy +or the onions produced the greatest effect on the lachrymal +glands of the old inn-keeper of the Pont-du-Gard. "Hold your +tongue, hypocrite," said Andrea; "you love me!" + +"Yes, I do, or may the devil take me. I know it is a +weakness," said Caderousse, "but it overpowers me." + +"And yet it has not prevented your sending for me to play me +some trick." + +"Come," said Caderousse, wiping his large knife on his +apron, "if I did not like you, do you think I should endure +the wretched life you lead me? Think for a moment. You have +your servant's clothes on -- you therefore keep a servant; I +have none, and am obliged to prepare my own meals. You abuse +my cookery because you dine at the table d'hote of the Hotel +des Princes, or the Cafe de Paris. Well, I too could keep a +servant; I too could have a tilbury; I too could dine where +I like; but why do I not? Because I would not annoy my +little Benedetto. Come, just acknowledge that I could, eh?" +This address was accompanied by a look which was by no means +difficult to understand. "Well," said Andrea, "admitting +your love, why do you want me to breakfast with you?" + +"That I may have the pleasure of seeing you, my little +fellow." + +"What is the use of seeing me after we have made all our +arrangements?" + +"Eh, dear friend," said Caderousse, "are wills ever made +without codicils? But you first came to breakfast, did you +not? Well, sit down, and let us begin with these pilchards, +and this fresh butter; which I have put on some vine-leaves +to please you, wicked one. Ah, yes; you look at my room, my +four straw chairs, my images, three francs each. But what do +you expect? This is not the Hotel des Princes." + +"Come, you are growing discontented, you are no longer +happy; you, who only wish to live like a retired baker." +Caderousse sighed. "Well, what have you to say? you have +seen your dream realized." + +"I can still say it is a dream; a retired baker, my poor +Benedetto, is rich -- he has an annuity." + +"Well, you have an annuity." + +"I have?" + +"Yes, since I bring you your two hundred francs." Caderousse +shrugged his shoulders. "It is humiliating," said he, "thus +to receive money given grudgingly, ---an uncertain supply +which may soon fail. You see I am obliged to economize, in +case your prosperity should cease. Well, my friend, fortune +is inconstant, as the chaplain of the regiment said. I know +your prosperity is great, you rascal; you are to marry the +daughter of Danglars." + +"What? of Danglars?" + +"Yes, to be sure; must I say Baron Danglars? I might as well +say Count Benedetto. He was an old friend of mine and if he +had not so bad a memory he ought to invite me to your +wedding, seeing he came to mine. Yes, yes, to mine; gad, he +was not so proud then, -- he was an under-clerk to the good +M. Morrel. I have dined many times with him and the Count of +Morcerf, so you see I have some high connections and were I +to cultivate them a little, we might meet in the same +drawing-rooms." + +"Come, your jealousy represents everything to you in the +wrong light." + +"That is all very fine, Benedetto mio, but I know what I am +saying. Perhaps I may one day put on my best coat, and +presenting myself at the great gate, introduce myself. +Meanwhile let us sit down and eat." Caderousse set the +example and attacked the breakfast with good appetite, +praising each dish he set before his visitor. The latter +seemed to have resigned himself; he drew the corks, and +partook largely of the fish with the garlic and fat. "Ah, +mate," said Caderousse, "you are getting on better terms +with your old landlord!" + +"Faith, yes," replied Andrea, whose hunger prevailed over +every other feeling. + +"So you like it, you rogue?" + +"So much that I wonder how a man who can cook thus can +complain of hard living." + +"Do you see," said Caderousse, "all my happiness is marred +by one thought?" + +"What is that?" + +"That I am dependent on another, I who have always gained my +own livelihood honestly." + +"Do not let that disturb you, I have enough for two." + +"No, truly; you may believe me if you will; at the end of +every month I am tormented by remorse." + +"Good Caderousse!" + +"So much so, that yesterday I would not take the two hundred +francs." + +"Yes, you wished to speak to me; but was it indeed remorse, +tell me?" + +"True remorse; and, besides, an idea had struck me." Andrea +shuddered; he always did so at Caderousse's ideas. "It is +miserable -- do you see? -- always to wait till the end of +the month. -- "Oh," said Andrea philosophically, determined +to watch his companion narrowly, "does not life pass in +waiting? Do I, for instance, fare better? Well, I wait +patiently, do I not?" + +"Yes; because instead of expecting two hundred wretched +francs, you expect five or six thousand, perhaps ten, +perhaps even twelve, for you take care not to let any one +know the utmost. Down there, you always had little presents +and Christmas-boxes which you tried to hide from your poor +friend Caderousse. Fortunately he is a cunning fellow, that +friend Caderousse." + +"There you are beginning again to ramble, to talk again and +again of the past! But what is the use of teasing me with +going all over that again?" + +"Ah, you are only one and twenty, and can forget the past; I +am fifty, and am obliged to recollect it. But let us return +to business." + +"Yes." + +"I was going to say, if I were in your place" -- + +"Well." + +"I would realize" -- + +"How would you realize?" + +"I would ask for six months' in advance, under pretence of +being able to purchase a farm, then with my six months I +would decamp." + +"Well, well," said Andrea, "that isn't a bad idea." + +"My dear friend," said Caderousse, "eat of my bread, and +take my advice; you will be none the worse off, physically +or morally." + +"But," said Andrea, "why do you not act on the advice you +gave me? Why do you not realize a six months', a year's +advance even, and retire to Brussels? Instead of living the +retired baker, you might live as a bankrupt, using his +privileges; that would be very good." + +"But how the devil would you have me retire on twelve +hundred francs?" + +"Ah, Caderousse," said Andrea, "how covetous you are! Two +months ago you were dying with hunger." + +"The appetite grows by what it feeds on," said Caderousse, +grinning and showing his teeth, like a monkey laughing or a +tiger growling. "And," added he, biting off with his large +white teeth an enormous mouthful of bread, "I have formed a +plan." Caderousse's plans alarmed Andrea still more than his +ideas; ideas were but the germ, the plan was reality. "Let +me see your plan; I dare say it is a pretty one." + +"Why not? Who formed the plan by which we left the +establishment of M ---- ! eh? was it not I? and it was no +bad one I believe, since here we are!" + +"I do not say," replied Andrea, "that you never make a good +one; but let us see your plan." + +"Well," pursued Caderousse, "can you without expending one +sou, put me in the way of getting fifteen thousand francs? +No, fifteen thousand are not enough, -- I cannot again +become an honest man with less than thirty thousand francs." + +"No," replied Andrea, dryly, "no, I cannot." + +"I do not think you understand me," replied Caderousse, +calmly; "I said without your laying out a sou." + +"Do you want me to commit a robbery, to spoil all my good +fortune -- and yours with mine -- and both of us to be +dragged down there again?" + +"It would make very little difference to me," said +Caderousse, "if I were retaken, I am a poor creature to live +alone, and sometimes pine for my old comrades; not like you, +heartless creature, who would be glad never to see them +again." Andrea did more than tremble this time, he turned +pale. + +"Come, Caderousse, no nonsense!" said he. + +"Don't alarm yourself, my little Benedetto, but just point +out to me some means of gaining those thirty thousand francs +without your assistance, and I will contrive it." + +"Well, I'll see -- I'll try to contrive some way," said +Andrea. + +"Meanwhile you will raise my monthly allowance to five +hundred francs, my little fellow? I have a fancy, and mean +to get a housekeeper." + +"Well, you shall have your five hundred francs," said +Andrea; "but it is very hard for me, my poor Caderousse -- +you take advantage" -- + +"Bah," said Caderousse, "when you have access to countless +stores." One would have said Andrea anticipated his +companion's words, so did his eye flash like lightning, but +it was but for a moment. "True," he replied, "and my +protector is very kind." + +"That dear protector," said Caderousse; "and how much does +he give you monthly?" + +"Five thousand francs." + +"As many thousands as you give me hundreds! Truly, it is +only bastards who are thus fortunate. Five thousand francs +per month! What the devil can you do with all that?" + +"Oh, it is no trouble to spend that; and I am like you, I +want capital." + +"Capital? -- yes -- I understand -- every one would like +capital." + +"Well, and I shall get it." + +"Who will give it to you -- your prince?" + +"Yes, my prince. But unfortunately I must wait." + +"You must wait for what?" asked Caderousse. + +"For his death " + +"The death of your prince?" + +"Yes." + +"How so?" + +"Because he has made his will in my favor." + +"Indeed?" + +"On my honor." + +"For how much?" + +"For five hundred thousand." + +"Only that? It's little enough " + +"But so it is." + +"No it cannot be!" + +"Are you my friend, Caderousse?" + +"Yes, in life or death." + +"Well, I will tell you a secret." + +"What is it?" + +"But remember" -- + +"Ah, pardieu, mute as a carp." + +"Well, I think" -- Andrea stopped and looked around. + +"You think? Do not fear; pardieu, we are alone." + +"I think I have discovered my father." + +"Your true father?" + +"Yes." + +"Not old Cavalcanti?" + +"No, for he has gone again; the true one, as you say." + +"And that father is" -- + +"Well, Caderousse, it is Monte Cristo." + +"Bah!" + +"Yes, you understand, that explains all. He cannot +acknowledge me openly, it appears, but he does it through M. +Cavalcanti, and gives him fifty thousand francs for it." + +"Fifty thousand francs for being your father? I would have +done it for half that, for twenty thousand, for fifteen +thousand; why did you not think of me, ungrateful man?" + +"Did I know anything about it, when it was all done when I +was down there?" + +"Ah, truly? And you say that by his will" -- + +"He leaves me five hundred thousand livres." + +"Are you sure of it?" + +"He showed it me; but that is not all -- there is a codicil, +as I said just now." + +"Probably." + +"And in that codicil he acknowledges me." + +"Oh, the good father, the brave father, the very honest +father!" said Caderousse, twirling a plate in the air +between his two hands. + +"Now say if I conceal anything from you?" + +"No, and your confidence makes you honorable in my opinion; +and your princely father, is he rich, very rich?" + +"Yes, he is that; he does not himself know the amount of his +fortune." + +"Is it possible?" + +"It is evident enough to me, who am always at his house. The +other day a banker's clerk brought him fifty thousand francs +in a portfolio about the size of your plate; yesterday his +banker brought him a hundred thousand francs in gold." +Caderousse was filled with wonder; the young man's words +sounded to him like metal, and he thought he could hear the +rushing of cascades of louis. "And you go into that house?" +cried he briskly. + +"When I like." + +Caderousse was thoughtful for a moment. It was easy to +perceive he was revolving some unfortunate idea in his mind. +Then suddenly, -- "How I should like to see all that," cried +he; "how beautiful it must be!" + +"It is, in fact, magnificent," said Andrea. + +"And does he not live in the Champs-Elysees?" + +"Yes, No. 30." + +"Ah," said Caderousse, "No. 30." + +"Yes, a fine house standing alone, between a court-yard and +a garden, -- you must know it." + +"Possibly; but it is not the exterior I care for, it is the +interior. What beautiful furniture there must be in it!" + +"Have you ever seen the Tuileries?" + +"No." + +"Well, it surpasses that." + +"It must be worth one's while to stoop, Andrea, when that +good M. Monte Cristo lets fall his purse." + +"It is not worth while to wait for that," said Andrea; +"money is as plentiful in that house as fruit in an +orchard." + +"But you should take me there one day with you." + +"How can I? On what plea?" + +"You are right; but you have made my mouth water. I must +absolutely see it; I shall find a way." + +"No nonsense, Caderousse!" + +"I will offer myself as floor-polisher." + +"The rooms are all carpeted." + +"Well, then, I must be contented to imagine it." + +"That is the best plan, believe me." + +"Try, at least, to give me an idea of what it is." + +"How can I?" + +"Nothing is easier. Is it large?" + +"Middling." + +"How is it arranged?" + +"Faith, I should require pen, ink, and paper to make a +plan." + +"They are all here," said Caderousse, briskly. He fetched +from an old secretary a sheet of white paper and pen and +ink. "Here," said Caderousse, "draw me all that on the +paper, my boy." Andrea took the pen with an imperceptible +smile and began. "The house, as I said, is between the court +and the garden; in this way, do you see?" Andrea drew the +garden, the court and the house. + +"High walls?" + +"Not more than eight or ten feet." + +"That is not prudent," said Caderousse. + +"In the court are orange-trees in pots, turf, and clumps of +flowers." + +"And no steel-traps?" + +"No." + +"The stables?" + +"Are on either side of the gate, which you see there." And +Andrea continued his plan. + +"Let us see the ground floor," said Caderousse. + +"On the ground-floor, dining-room, two drawing-rooms, +billiard-room, staircase in the hall, and a little back +staircase." + +"Windows?" + +"Magnificent windows, so beautiful, so large, that I believe +a man of your size should pass through each frame." + +"Why the devil have they any stairs with such windows?" + +"Luxury has everything." + +"But shutters?" + +"Yes, but they are never used. That Count of Monte Cristo is +an original, who loves to look at the sky even at night." + +"And where do the servants sleep?" + +"Oh, they have a house to themselves. Picture to yourself a +pretty coach-house at the right-hand side where the ladders +are kept. Well, over that coach-house are the servants' +rooms, with bells corresponding with the different +apartments." + +"Ah, diable -- bells did you say?" + +"What do you mean?" + +"Oh. nothing! I only say they cost a load of money to hang, +and what is the use of them, I should like to know?" + +"There used to be a dog let loose in the yard at night, but +it has been taken to the house at Auteuil, to that you went +to, you know." + +"Yes." + +"I was saying to him only yesterday, `You are imprudent, +Monsieur Count; for when you go to Auteuil and take your +servants the house is left unprotected.' Well,' said he, +`what next?' `Well, next, some day you will be robbed.'" + +"What did he answer?" + +"He quietly said, `What do I care if I am?'" + +"Andrea, he has some secretary with a spring." + +"How do you know?" + +"Yes, which catches the thief in a trap and plays a tune. I +was told there were such at the last exhibition." + +"He has simply a mahogany secretary, in which the key is +always kept." + +"And he is not robbed?" + +"No; his servants are all devoted to him." + +"There ought to be some money in that secretary?" + +"There may be. No one knows what there is." + +"And where is it?" + +"On the first floor." + +"Sketch me the plan of that floor, as you have done of the +ground floor, my boy." + +"That is very simple." Andrea took the pen. "On the first +story, do you see, there is the anteroom and the +drawing-room; to the right of the drawing-room, a library +and a study; to the left, a bedroom and a dressing-room. The +famous secretary is in the dressing-room." + +"Is there a window in the dressing-room?" + +"Two, -- one here and one there." Andrea sketched two +windows in the room, which formed an angle on the plan, and +appeared as a small square added to the rectangle of the +bedroom. Caderousse became thoughtful. "Does he often go to +Auteuil?" added he. + +"Two or three times a week. To-morrow, for instance, he is +going to spend the day and night there." + +"Are you sure of it?" + +"He has invited me to dine there." + +"There's a life for you," said Caderousse; "a town house and +a country house." + +"That is what it is to be rich." + +"And shall you dine there?" + +"Probably." + +"When you dine there, do you sleep there?" + +"If I like; I am at home there." Caderousse looked at the +young man, as if to get at the truth from the bottom of his +heart. But Andrea drew a cigar-case from his pocket, took a +havana, quietly lit it, and began smoking. "When do you want +your twelve hundred francs?" said he to Caderousse. + +"Now, if you have them." Andrea took five and twenty louis +from his pocket. + +"Yellow boys?" said Caderousse; "no, I thank you." + +"Oh, you despise them." + +"On the contrary, I esteem them, but will not have them." + +"You can change them, idiot; gold is worth five sous." + +"Exactly; and he who changes them will follow friend +Caderousse, lay hands on him, and demand what farmers pay +him their rent in gold. No nonsense, my good fellow; silver +simply, round coins with the head of some monarch or other +on them. Anybody may possess a five-franc piece." + +"But do you suppose I carry five hundred francs about with +me? I should want a porter." + +"Well, leave them with your porter; he is to be trusted. I +will call for them." + +"To-day?" + +"No, to-morrow; I shall not have time to day." + +"Well, to-morrow I will leave them when I go to Auteuil." + +"May I depend on it?" + +"Certainly." + +"Because I shall secure my housekeeper on the strength of +it." + +"Now see here, will that be all? Eh? And will you not +torment me any more?" + +"Never." Caderousse had become so gloomy that Andrea feared +he should be obliged to notice the change. He redoubled his +gayety and carelessness. "How sprightly you are," said +Caderousse; "One would say you were already in possession of +your property." + +"No, unfortunately; but when I do obtain it" -- + +"Well?" + +"I shall remember old friends, I can tell you that." + +"Yes, since you have such a good memory." + +"What do you want? It looks as if you were trying to fleece +me?" + +"I? What an idea! I, who am going to give you another piece +of good advice." + +"What is it?" + +"To leave behind you the diamond you have on your finger. We +shall both get into trouble. You will ruin both yourself and +me by your folly." + +"How so?" said Andrea. + +"How? You put on a livery, you disguise yourself as a +servant, and yet keep a diamond on your finger worth four or +five thousand francs." + +"You guess well." + +"I know something of diamonds; I have had some." + +"You do well to boast of it," said Andrea, who, without +becoming angry, as Caderousse feared, at this new extortion, +quietly resigned the ring. Caderousse looked so closely at +it that Andrea well knew that he was examining to see if all +the edges were perfect. + +"It is a false diamond," said Caderousse. + +"You are joking now," replied Andrea. + +"Do not be angry, we can try it." Caderousse went to the +window, touched the glass with it, and found it would cut. + +"Confiteor," said Caderousse, putting the diamond on his +little finger; "I was mistaken; but those thieves of +jewellers imitate so well that it is no longer worth while +to rob a jeweller's shop -- it is another branch of industry +paralyzed." + +"Have you finished?" said Andrea, -- "do you want anything +more? -- will you have my waistcoat or my hat? Make free, +now you have begun." + +"No; you are, after all, a good companion; I will not detain +you, and will try to cure myself of my ambition." + +"But take care the same thing does not happen to you in +selling the diamond you feared with the gold." + +"I shall not sell it -- do not fear." + +"Not at least till the day after to-morrow," thought the +young man. + +"Happy rogue," said Caderousse; "you are going to find your +servants, your horses, your carriage, and your betrothed!" + +"Yes," said Andrea. + +"Well, I hope you will make a handsome wedding-present the +day you marry Mademoiselle Danglars." + +"I have already told you it is a fancy you have taken in +your head." + +"What fortune has she?" + +"But I tell you" -- + +"A million?" Andrea shrugged his shoulders. + +"Let it be a million," said Caderousse; "you can never have +so much as I wish you." + +"Thank you," said the young man. + +"Oh, I wish it you with all my heart!" added Caderousse with +his hoarse laugh. "Stop, let me show you the way." + +"It is not worth while." + +"Yes, it is." + +"Why?" + +"Because there is a little secret, a precaution I thought it +desirable to take, one of Huret & Fitchet's locks, revised +and improved by Gaspard Caderousse; I will manufacture you a +similar one when you are a capitalist." + +"Thank you," said Andrea; "I will let you know a week +beforehand." They parted. Caderousse remained on the landing +until he had not only seen Andrea go down the three stories, +but also cross the court. Then he returned hastily, shut his +door carefully, and began to study, like a clever architect, +the plan Andrea had left him. + +"Dear Benedetto," said he, "I think he will not be sorry to +inherit his fortune, and he who hastens the day when he can +touch his five hundred thousand will not be his worst +friend." + + + +Chapter 82 +The Burglary. + +The day following that on which the conversation we have +related took place, the Count of Monte Cristo set out for +Auteuil, accompanied by Ali and several attendants, and also +taking with him some horses whose qualities he was desirous +of ascertaining. He was induced to undertake this journey, +of which the day before he had not even thought and which +had not occurred to Andrea either, by the arrival of +Bertuccio from Normandy with intelligence respecting the +house and sloop. The house was ready, and the sloop which +had arrived a week before lay at anchor in a small creek +with her crew of six men, who had observed all the requisite +formalities and were ready again to put to sea. + +The count praised Bertuccio's zeal, and ordered him to +prepare for a speedy departure, as his stay in France would +not be prolonged more than a mouth. "Now," said he, "I may +require to go in one night from Paris to Treport; let eight +fresh horses be in readiness on the road, which will enable +me to go fifty leagues in ten hours." + +"Your highness had already expressed that wish," said +Bertuccio, "and the horses are ready. I have bought them, +and stationed them myself at the most desirable posts, that +is, in villages, where no one generally stops." + +"That's well," said Monte Cristo; "I remain here a day or +two -- arrange accordingly." As Bertuccio was leaving the +room to give the requisite orders, Baptistin opened the +door: he held a letter on a silver waiter. + +"What are you doing here?" asked the count, seeing him +covered with dust; "I did not send for you, I think?" + +Baptistin, without answering, approached the count, and +presented the letter. "Important and urgent," said he. The +count opened the letter, and read: -- + +"M. de Monte Cristo is apprised that this night a man will +enter his house in the Champs-Elysees with the intention of +carrying off some papers supposed to be in the secretary in +the dressing-room. The count's well-known courage will +render unnecessary the aid of the police, whose interference +might seriously affect him who sends this advice. The count, +by any opening from the bedroom, or by concealing himself in +the dressing-room, would be able to defend his property +himself. Many attendents or apparent precautions would +prevent the villain from the attempt, and M. de Monte Cristo +would lose the opportunity of discovering an enemy whom +chance has revealed to him who now sends this warning to the +count, -- a warning he might not be able to send another +time, if this first attempt should fail and another be +made." + +The count's first idea was that this was an artifice -- a +gross deception, to draw his attention from a minor danger +in order to expose him to a greater. He was on the point of +sending the letter to the commissary of police, +notwithstanding the advice of his anonymous friend, or +perhaps because of that advice, when suddenly the idea +occurred to him that it might be some personal enemy, whom +he alone should recognize and over whom, if such were the +case, he alone would gain any advantage, as Fiesco* had done +over the Moor who would have killed him. We know the Count's +vigorous and daring mind, denying anything to be impossible, +with that energy which marks the great man. From his past +life, from his resolution to shrink from nothing, the count +had acquired an inconceivable relish for the contests in +which he had engaged, sometimes against nature, that is to +say, against God, and sometimes against the world, that is, +against the devil. + +* The Genoese conspirator. + +"They do not want my papers," said Monte Cristo, "they want +to kill me; they are no robbers, but assassins. I will not +allow the prefect of police to interfere with my private +affairs. I am rich enough, forsooth, to distribute his +authority on this occasion." The count recalled Baptistin, +who had left the room after delivering the letter. "Return +to Paris," said he; "assemble the servants who remain there. +I want all my household at Auteuil." + +"But will no one remain in the house, my lord?" asked +Baptistin. + +"Yes, the porter." + +"My lord will remember that the lodge is at a distance from +the house." + +"Well?" + +"The house might be stripped without his hearing the least +noise." + +"By whom?" + +"By thieves." + +"You are a fool, M. Baptistin. Thieves might strip the house +-- it would annoy me less than to be disobeyed." Baptistin +bowed. + +"You understand me?" said the count. "Bring your comrades +here, one and all; but let everything remain as usual, only +close the shutters of the ground floor." + +"And those of the second floor?" + +"You know they are never closed. Go!" + +The count signified his intention of dining alone, and that +no one but Ali should attend him. Having dined with his +usual tranquillity and moderation, the count, making a +signal to Ali to follow him, went out by the side-gate and +on reaching the Bois de Boulogne turned, apparently without +design towards Paris and at twilight; found himself opposite +his house in the Champs-Elysees. All was dark; one solitary, +feeble light was burning in the porter's lodge, about forty +paces distant from the house, as Baptistin had said. Monte +Cristo leaned against a tree, and with that scrutinizing +glance which was so rarely deceived, looked up and down the +avenue, examined the passers-by, and carefully looked down +the neighboring streets, to see that no one was concealed. +Ten minutes passed thus, and he was convinced that no one +was watching him. He hastened to the side-door with Ali, +entered hurriedly, and by the servants' staircase, of which +he had the key, gained his bedroom without opening or +disarranging a single curtain, without even the porter +having the slightest suspicion that the house, which he +supposed empty, contained its chief occupant. + +Arrived in his bedroom, the count motioned to Ali to stop; +then he passed into the dressing-room, which he examined. +Everything appeared as usual -- the precious secretary in +its place, and the key in the secretary. He double locked +it, took the key, returned to the bedroom door, removed the +double staple of the bolt, and went in. Meanwhile Ali had +procured the arms the count required -- namely, a short +carbine and a pair of double-barrelled pistols, with which +as sure an aim might be taken as with a single-barrelled +one. Thus armed, the count held the lives of five men in his +hands. It was about half-past nine. The count and Ali ate in +haste a crust of bread and drank a glass of Spanish wine; +then Monte Cristo slipped aside one of the movable panels, +which enabled him to see into the adjoining room. He had +within his reach his pistols and carbine, and Ali, standing +near him, held one of the small Arabian hatchets, whose form +has not varied since the Crusades. Through one of the +windows of the bedroom, on a line with that in the +dressing-room, the count could see into the street. + +Two hours passed thus. It was intensely dark; still Ali, +thanks to his wild nature, and the count, thanks doubtless +to his long confinement, could distinguish in the darkness +the slightest movement of the trees. The little light in the +lodge had long been extinct. It might be expected that the +attack, if indeed an attack was projected, would be made +from the staircase of the ground floor, and not from a +window; in Monte Cristo's opinion, the villains sought his +life, not his money. It would be his bedroom they would +attack, and they must reach it by the back staircase, or by +the window in the dressing-room. The clock of the Invalides +struck a quarter to twelve; the west wind bore on its +moistened gusts the doleful vibration of the three strokes. + +As the last stroke died away, the count thought he heard a +slight noise in the dressing-room; this first sound, or +rather this first grinding, was followed by a second, then a +third; at the fourth, the count knew what to expect. A firm +and well-practised hand was engaged in cutting the four +sides of a pane of glass with a diamond. The count felt his +heart beat more rapidly. Inured as men may be to danger, +forewarned as they may be of peril, they understand, by the +fluttering of the heart and the shuddering of the frame, the +enormous difference between a dream and a reality, between +the project and the execution. However, Monte Cristo only +made a sign to apprise Ali, who, understanding that danger +was approaching from the other side, drew nearer to his +master. Monte Cristo was eager to ascertain the strength and +number of his enemies. + +The window whence the noise proceeded was opposite the +opening by which the count could see into the dressing-room. +He fixed his eyes on that window -- he distinguished a +shadow in the darkness; then one of the panes became quite +opaque, as if a sheet of paper were stuck on the outside, +then the square cracked without falling. Through the opening +an arm was passed to find the fastening, then a second; the +window turned on its hinges, and a man entered. He was +alone. + +"That's a daring rascal," whispered the count. + +At that moment Ali touched him slightly on the shoulder. He +turned; Ali pointed to the window of the room in which they +were, facing the street. "I see!" said he, "there are two of +them; one does the work while the other stands guard." He +made a sign to Ali not to lose sight of the man in the +street, and turned to the one in the dressing-room. + +The glass-cutter had entered, and was feeling his way, his +arms stretched out before him. At last he appeared to have +made himself familiar with his surroundings. There were two +doors; he bolted them both. + +When he drew near to the bedroom door, Monte Cristo expected +that he was coming in, and raised one of his pistols; but he +simply heard the sound of the bolts sliding in their copper +rings. It was only a precaution. The nocturnal visitor, +ignorant of the fact that the count had removed the staples, +might now think himself at home, and pursue his purpose with +full security. Alone and free to act as he wished, the man +then drew from his pocket something which the count could +not discern, placed it on a stand, then went straight to the +secretary, felt the lock, and contrary to his expectation +found that the key was missing. But the glass-cutter was a +prudent man who had provided for all emergencies. The count +soon heard the rattling of a bunch of skeleton keys, such as +the locksmith brings when called to force a lock, and which +thieves call nightingales, doubtless from the music of their +nightly song when they grind against the bolt. "Ah, ha," +whispered Monte Cristo with a smile of disappointment, "he +is only a thief." + +But the man in the dark could not find the right key. He +reached the instrument he had placed on the stand, touched a +spring, and immediately a pale light, just bright enough to +render objects distinct, was reflected on his hands and +countenance. "By heavens," exclaimed Monte Cristo, starting +back, "it is" -- + +Ali raised his hatchet. "Don't stir," whispered Monte +Cristo, "and put down your hatchet; we shall require no +arms." Then he added some words in a low tone, for the +exclamation which surprise had drawn from the count, faint +as it had been, had startled the man who remained in the +pose of the old knife-grinder. It was an order the count had +just given, for immediately Ali went noiselessly, and +returned, bearing a black dress and a three-cornered hat. +Meanwhile Monte Cristo had rapidly taken off his great-coat, +waistcoat, and shirt, and one might distinguish by the +glimmering through the open panel that he wore a pliant +tunic of steel mail, of which the last in France, where +daggers are no longer dreaded, was worn by King Louis XVI., +who feared the dagger at his breast, and whose head was +cleft with a hatchet. The tunic soon disappeared under a +long cassock, as did his hair under a priest's wig; the +three-cornered hat over this effectually transformed the +count into an abbe. + +The man, hearing nothing more, stood erect, and while Monte +Cristo was completing his disguise had advanced straight to +the secretary, whose lock was beginning to crack under his +nightingale. + +"Try again," whispered the count, who depended on the secret +spring, which was unknown to the picklock, clever as he +might be -- "try again, you have a few minutes' work there." +And he advanced to the window. The man whom he had seen +seated on a fence had got down, and was still pacing the +street; but, strange as it appeared, he cared not for those +who might pass from the avenue of the Champs-Elysees or by +the Faubourg St. Honore; his attention was engrossed with +what was passing at the count's, and his only aim appeared +to be to discern every movement in the dressing-room. + +Monte Cristo suddenly struck his finger on his forehead and +a smile passed over his lips; then drawing near to Ali, he +whispered, -- + +"Remain here, concealed in the dark, and whatever noise you +hear, whatever passes, only come in or show yourself if I +call you." Ali bowed in token of strict obedience. Monte +Cristo then drew a lighted taper from a closet, and when the +thief was deeply engaged with his lock, silently opened the +door, taking care that the light should shine directly on +his face. The door opened so quietly that the thief heard no +sound; but, to his astonishment, the room was suddenly +illuminated. He turned. + +"Ah, good-evening, my dear M. Caderousse," said Monte +Cristo; "what are you doing here, at such an hour?" + +"The Abbe Busoni!" exclaimed Caderousse; and, not knowing +how this strange apparition could have entered when he had +bolted the doors, he let fall his bunch of keys, and +remained motionless and stupefied. The count placed himself +between Caderousse and the window, thus cutting off from the +thief his only chance of retreat. "The Abbe Busoni!" +repeated Caderousse, fixing his haggard gaze on the count. + +"Yes, undoubtedly, the Abbe Busoni himself," replied Monte +Cristo. "And I am very glad you recognize me, dear M. +Caderousse; it proves you have a good memory, for it must be +about ten years since we last met." This calmness of Busoni, +combined with his irony and boldness, staggered Caderousse. + +"The abbe, the abbe!" murmured he, clinching his fists, and +his teeth chattering. + +"So you would rob the Count of Monte Cristo?" continued the +false abbe. + +"Reverend sir," murmured Caderousse, seeking to regain the +window, which the count pitilessly blocked -- "reverend sir, +I don't know -- believe me -- I take my oath" -- + +"A pane of glass out," continued the count, "a dark lantern, +a bunch of false keys, a secretary half forced -- it is +tolerably evident" -- + +Caderousse was choking; he looked around for some corner to +hide in, some way of escape. + +"Come, come," continued the count, "I see you are still the +same, -- an assassin." + +"Reverend sir, since you know everything, you know it was +not I -- it was La Carconte; that was proved at the trial, +since I was only condemned to the galleys." + +"Is your time, then, expired, since I find you in a fair way +to return there?" + +"No, reverend sir; I have been liberated by some one." + +"That some one has done society a great kindness." + +"Ah," said Caderousse, "I had promised" -- + +"And you are breaking your promise!" interrupted Monte +Cristo. + +"Alas, yes!" said Caderousse very uneasily. + +"A bad relapse, that will lead you, if I mistake not, to the +Place de Greve. So much the worse, so much the worse -- +diavolo, as they say in my country." + +"Reverend sir, I am impelled" -- + +"Every criminal says the same thing." + +"Poverty" -- + +"Pshaw!" said Busoni disdainfully; "poverty may make a man +beg, steal a loaf of bread at a baker's door, but not cause +him to open a secretary in a house supposed to be inhabited. +And when the jeweller Johannes had just paid you 40,000 +francs for the diamond I had given you, and you killed him +to get the diamond and the money both, was that also +poverty?" + +"Pardon, reverend sir," said Caderousse; "you have saved my +life once, save me again!" + +"That is but poor encouragement." + +"Are you alone, reverend sir, or have you there soldiers +ready to seize me?" + +"I am alone," said the abbe, "and I will again have pity on +you, and will let you escape, at the risk of the fresh +miseries my weakness may lead to, if you tell me the truth." + +"Ah, reverend sir," cried Caderousse, clasping his hands, +and drawing nearer to Monte Cristo, "I may indeed say you +are my deliverer!" + +"You mean to say you have been freed from confinement?" + +"Yes, that is true, reverend sir." + +"Who was your liberator?" + +"An Englishman." + +"What was his name?" + +"Lord Wilmore." + +"I know him; I shall know if you lie." + +"Ah, reverend sir, I tell you the simple truth." + +"Was this Englishman protecting you?" + +"No, not me, but a young Corsican, my companion." + +"What was this young Corsican's name?" + +"Benedetto." + +"Is that his Christian name?" + +"He had no other; he was a foundling." + +"Then this young man escaped with you?" + +"He did." + +"In what way?" + +"We were working at St. Mandrier, near Toulon. Do you know +St. Mandrier?" + +"I do." + +"In the hour of rest, between noon and one o'clock" -- + +"Galley-slaves having a nap after dinner! We may well pity +the poor fellows!" said the abbe. + +"Nay," said Caderousse, "one can't always work -- one is not +a dog." + +"So much the better for the dogs," said Monte Cristo. + +"While the rest slept, then, we went away a short distance; +we severed our fetters with a file the Englishman had given +us, and swam away." + +"And what is become of this Benedetto?" + +"I don't know." + +"You ought to know." + +"No, in truth; we parted at Hyeres." And, to give more +weight to his protestation, Caderousse advanced another step +towards the abbe, who remained motionless in his place, as +calm as ever, and pursuing his interrogation. "You lie," +said the Abbe Busoni, with a tone of irresistible authority. + +"Reverend sir!" + +"You lie! This man is still your friend, and you, perhaps, +make use of him as your accomplice." + +"Oh, reverend sir!" + +"Since you left Toulon what have you lived on? Answer me!" + +"On what I could get." + +"You lie," repeated the abbe a third time, with a still more +imperative tone. Caderousse, terrified, looked at the count. +"You have lived on the money he has given you." + +"True," said Caderousse; "Benedetto has become the son of a +great lord." + +"How can he be the son of a great lord?" + +"A natural son." + +"And what is that great lord's name?" + +"The Count of Monte Cristo, the very same in whose house we +are." + +"Benedetto the count's son?" replied Monte Cristo, +astonished in his turn. + +"Well, I should think so, since the count has found him a +false father -- since the count gives him four thousand +francs a month, and leaves him 500,000 francs in his will." + +"Ah, yes," said the factitious abbe, who began to +understand; "and what name does the young man bear +meanwhile?" + +"Andrea Cavalcanti." + +"Is it, then, that young man whom my friend the Count of +Monte Cristo has received into his house, and who is going +to marry Mademoiselle Danglars?" + +"Exactly." + +"And you suffer that, you wretch -- you, who know his life +and his crime?" + +"Why should I stand in a comrade's way?" said Caderousse. + +"You are right; it is not you who should apprise M. +Danglars, it is I." + +"Do not do so, reverend sir." + +"Why not?" + +"Because you would bring us to ruin." + +"And you think that to save such villains as you I will +become an abettor of their plot, an accomplice in their +crimes?" + +"Reverend sir," said Caderousse, drawing still nearer. + +"I will expose all." + +"To whom?" + +"To M. Danglars." + +"By heaven!" cried Caderousse, drawing from his waistcoat an +open knife, and striking the count in the breast, "you shall +disclose nothing, reverend sir!" To Caderousse's great +astonishment, the knife, instead of piercing the count's +breast, flew back blunted. At the same moment the count +seized with his left hand the assassin's wrist, and wrung it +with such strength that the knife fell from his stiffened +fingers, and Caderousse uttered a cry of pain. But the +count, disregarding his cry, continued to wring the bandit's +wrist, until, his arm being dislocated, he fell first on his +knees, then flat on the floor. The count then placed his +foot on his head, saying, "I know not what restrains me from +crushing thy skull, rascal." + +"Ah, mercy -- mercy!" cried Caderousse. The count withdrew +his foot. "Rise!" said he. Caderousse rose. + +"What a wrist you have, reverend sir!" said Caderousse. +stroking his arm, all bruised by the fleshy pincers which +had held it; "what a wrist!" + +"Silence! God gives me strength to overcome a wild beast +like you; in the name of that God I act, -- remember that, +wretch, -- and to spare thee at this moment is still serving +him." + +"Oh!" said Caderousse, groaning with pain. + +"Take this pen and paper, and write what I dictate." + +"I don't know how to write, reverend sir." + +"You lie! Take this pen, and write!" Caderousse, awed by the +superior power of the abbe, sat down and wrote: -- + +Sir, -- The man whom you are receiving at your house, and to +whom you intend to marry your daughter, is a felon who +escaped with me from confinement at Toulon. He was No. 59, +and I No. 58. He was called Benedetto, but he is ignorant of +his real name, having never known his parents. + +"Sign it!" continued the count. + +"But would you ruin me?" + +"If I sought your ruin, fool, I should drag you to the first +guard-house; besides, when that note is delivered, in all +probability you will have no more to fear. Sign it, then!" + +Caderousse signed it. "The address, `To monsieur the Baron +Danglars, banker, Rue de la Chaussee d'Antin.'" Caderousse +wrote the address. The abbe took the note. "Now," said he, +"that suffices -- begone!" + +"Which way?" + +"The way you came." + +"You wish me to get out at that window?" + +"You got in very well." + +"Oh, you have some design against me, reverend sir." + +"Idiot! what design can I have?" + +"Why, then, not let me out by the door?" + +"What would be the advantage of waking the porter?" -- + +"Ah, reverend sir, tell me, do you wish me dead?" + +"I wish what God wills." + +"But swear that you will not strike me as I go down." + +"Cowardly fool!" + +"What do you intend doing with me?" + +"I ask you what can I do? I have tried to make you a happy +man, and you have turned out a murderer." + +"Oh, monsieur," said Caderousse, "make one more attempt -- +try me once more!" + +"I will," said the count. "Listen -- you know if I may be +relied on." + +"Yes," said Caderousse. + +"If you arrive safely at home" -- + +"What have I to fear, except from you?" + +"If you reach your home safely, leave Paris, leave France, +and wherever you may be, so long as you conduct yourself +well, I will send you a small annuity; for, if you return +home safely, then" -- + +"Then?" asked Caderousse, shuddering. + +"Then I shall believe God has forgiven you, and I will +forgive you too." + +"As true as I am a Christian," stammered Caderousse, "you +will make me die of fright!" + +"Now begone," said the count, pointing to the window. + +Caderousse, scarcely yet relying on this promise, put his +legs out of the window and stood on the ladder. "Now go +down," said the abbe, folding his arms. Understanding he had +nothing more to fear from him, Caderousse began to go down. +Then the count brought the taper to the window, that it +might be seen in the Champs-Elysees that a man was getting +out of the window while another held a light. + +"What are you doing, reverend sir? Suppose a watchman should +pass?" And he blew out the light. He then descended, but it +was only when he felt his foot touch the ground that he was +satisfied of his safety. + +Monte Cristo returned to his bedroom, and, glancing rapidly +from the garden to the street, he saw first Caderousse, who +after walking to the end of the garden, fixed his ladder +against the wall at a different part from where he came in. +The count then looking over into the street, saw the man who +appeared to be waiting run in the same direction, and place +himself against the angle of the wall where Caderousse would +come over. Caderousse climbed the ladder slowly, and looked +over the coping to see if the street was quiet. No one could +be seen or heard. The clock of the Invalides struck one. +Then Caderousse sat astride the coping, and drawing up his +ladder passed it over the wall; then he began to descend, or +rather to slide down by the two stanchions, which he did +with an ease which proved how accustomed he was to the +exercise. But, once started, he could not stop. In vain did +he see a man start from the shadow when he was halfway down +-- in vain did he see an arm raised as he touched the +ground. Before he could defend himself that arm struck him +so violently in the back that he let go the ladder, crying, +"Help!" A second blow struck him almost immediately in the +side, and he fell, calling, "Help, murder!" Then, as he +rolled on the ground, his adversary seized him by the hair, +and struck him a third blow in the chest. This time +Caderousse endeavored to call again, but he could only utter +a groan, and he shuddered as the blood flowed from his three +wounds. The assassin, finding that he no longer cried out, +lifted his head up by the hair; his eyes were closed, and +the mouth was distorted. The murderer, supposing him dead, +let fall his head and disappeared. Then Caderousse, feeling +that he was leaving him, raised himself on his elbow, and +with a dying voice cried with great effort, "Murder! I am +dying! Help, reverend sir, -- help!" + +This mournful appeal pierced the darkness. The door of the +back-staircase opened, then the side-gate of the garden, and +Ali and his master were on the spot with lights. + + + +Chapter 83 +The Hand of God. + +Caderousse continued to call piteously, "Help, reverend sir, +help!" + +"What is the matter?" asked Monte Cristo. + +"Help," cried Caderousse; "I am murdered!" + +"We are here; -- take courage." + +"Ah, it's all over! You are come too late -- you are come to +see me die. What blows, what blood!" He fainted. Ali and his +master conveyed the wounded man into a room. Monte Cristo +motioned to Ali to undress him, and he then examined his +dreadful wounds. "My God!" he exclaimed, "thy vengeance is +sometimes delayed, but only that it may fall the more +effectually." Ali looked at his master for further +instructions. "Bring here immediately the king's attorney, +M. de Villefort, who lives in the Faubourg St. Honore. As +you pass the lodge, wake the porter, and send him for a +surgeon." Ali obeyed, leaving the abbe alone with +Caderousse, who had not yet revived. + +When the wretched man again opened his eyes, the count +looked at him with a mournful expression of pity, and his +lips moved as if in prayer. "A surgeon, reverend sir -- a +surgeon!" said Caderousse. + +"I have sent for one," replied the abbe. + +"I know he cannot save my life, but he may strengthen me to +give my evidence." + +"Against whom?" + +"Against my murderer." + +"Did you recognize him?" + +"Yes; it was Benedetto." + +"The young Corsican?" + +"Himself." + +"Your comrade?" + +"Yes. After giving me the plan of this house, doubtless +hoping I should kill the count and he thus become his heir, +or that the count would kill me and I should be out of his +way, he waylaid me, and has murdered me." + +"I have also sent for the procureur." + +"He will not come in time; I feel my life fast ebbing." + +"Wait a moment," said Monte Cristo. He left the room, and +returned in five minutes with a phial. The dying man's eyes +were all the time riveted on the door, through which he +hoped succor would arrive. "Hasten, reverend sir, hasten! I +shall faint again!" Monte Cristo approached, and dropped on +his purple lips three or four drops of the contents of the +phial. Caderousse drew a deep breath. "Oh," said he, "that +is life to me; more, more!" + +"Two drops more would kill you," replied the abbe. + +"Oh, send for some one to whom I can denounce the wretch!" + +"Shall I write your deposition? You can sign it." + +"Yes yes," said Caderousse; and his eyes glistened at the +thought of this posthumous revenge. Monte Cristo wrote: -- + +"I die, murdered by the Corsican Benedetto, my comrade in +the galleys at Toulouse, No. 59." + +"Quick, quick!" said Caderousse, "or I shall be unable to +sign it." + +Monte Cristo gave the pen to Caderousse, who collected all +his strength, signed it, and fell back on his bed, saying: +"You will relate all the rest, reverend sir; you will say he +calls himself Andrea Cavalcanti. He lodges at the Hotel des +Princes. Oh, I am dying!" He again fainted. The abbe made +him smell the contents of the phial, and he again opened his +eyes. His desire for revenge had not forsaken him. + +"Ah, you will tell all I have said, will you not, reverend +sir?" + +"Yes, and much more." + +"What more will you say?" + +"I will say he had doubtless given you the plan of this +house, in the hope the count would kill you. I will say, +likewise, he had apprised the count, by a note, of your +intention, and, the count being absent, I read the note and +sat up to await you." + +"And he will be guillotined, will be not?" said Caderousse. +"Promise me that, and I will die with that hope." + +"I will say," continued the count, "that he followed and +watched you the whole time, and when he saw you leave the +house, ran to the angle of the wall to conceal himself." + +"Did you see all that?" + +"Remember my words: `If you return home safely, I shall +believe God has forgiven you, and I will forgive you also.'" + +"And you did not warn me!" cried Caderousse, raising himself +on his elbows. "You knew I should be killed on leaving this +house, and did not warn me!" + +"No; for I saw God's justice placed in the hands of +Benedetto, and should have thought it sacrilege to oppose +the designs of providence." + +"God's justice! Speak not of it, reverend sir. If God were +just, you know how many would be punished who now escape." + +"Patience," said the abbe, in a tone which made the dying +man shudder; "have patience!" Caderousse looked at him with +amazement. "Besides," said the abbe, "God is merciful to +all, as he has been to you; he is first a father, then a +judge." + +"Do you then believe in God?" said Caderousse. + +"Had I been so unhappy as not to believe in him until now," +said Monte Cristo, "I must believe on seeing you." +Caderousse raised his clinched hands towards heaven. + +"Listen," said the abbe, extending his hand over the wounded +man, as if to command him to believe; "this is what the God +in whom, on your death-bed, you refuse to believe, has done +for you -- he gave you health, strength, regular employment, +even friends -- a life, in fact, which a man might enjoy +with a calm conscience. Instead of improving these gifts, +rarely granted so abundantly, this has been your course -- +you have given yourself up to sloth and drunkenness, and in +a fit of intoxication have ruined your best friend." + +"Help!" cried Caderousse; "I require a surgeon, not a +priest; perhaps I am not mortally wounded -- I may not die; +perhaps they can yet save my life." + +"Your wounds are so far mortal that, without the three drops +I gave you, you would now be dead. Listen, then." + +"Ah," murmured Caderousse, "what a strange priest you are; +you drive the dying to despair, instead of consoling them." + +"Listen," continued the abbe. "When you had betrayed your +friend God began not to strike, but to warn you. Poverty +overtook you. You had already passed half your life in +coveting that which you might have honorably acquired; and +already you contemplated crime under the excuse of want, +when God worked a miracle in your behalf, sending you, by my +hands, a fortune -- brilliant, indeed, for you, who had +never possessed any. But this unexpected, unhoped-for, +unheard-of fortune sufficed you no longer when you once +possessed it; you wished to double it, and how? -- by a +murder! You succeeded, and then God snatched it from you, +and brought you to justice." + +"It was not I who wished to kill the Jew," said Caderousse; +"it was La Carconte." + +"Yes," said Monte Cristo, "and God, -- I cannot say in +justice, for his justice would have slain you, -- but God, +in his mercy, spared your life." + +"Pardieu, to transport me for life, how merciful!" + +"You thought it a mercy then, miserable wretch! The coward +who feared death rejoiced at perpetual disgrace; for like +all galley-slaves, you said, `I may escape from prison, I +cannot from the grave.' And you said truly; the way was +opened for you unexpectedly. An Englishman visited Toulon, +who had vowed to rescue two men from infamy, and his choice +fell on you and your companion. You received a second +fortune, money and tranquillity were restored to you, and +you, who had been condemned to a felon's life, might live as +other men. Then, wretched creature, then you tempted God a +third time. `I have not enough,' you said, when you had more +than you before possessed, and you committed a third crime, +without reason, without excuse. God is wearied; he has +punished you." Caderousse was fast sinking. "Give me drink," +said he: "I thirst -- I burn!" Monte Cristo gave him a glass +of water. "And yet that villain, Benedetto, will escape!" + +"No one, I tell you, will escape; Benedetto will be +punished." + +"Then, you, too, will be punished, for you did not do your +duty as a priest -- you should have prevented Benedetto from +killing me." + +"I?" said the count, with a smile which petrified the dying +man, "when you had just broken your knife against the coat +of mail which protected my breast! Yet perhaps if I had +found you humble and penitent, I might have prevented +Benedetto from killing you; but I found you proud and +blood-thirsty, and I left you in the hands of God." + +"I do not believe there is a God," howled Caderousse; "you +do not believe it; you lie -- you lie!" + +"Silence," said the abbe; "you will force the last drop of +blood from your veins. What! you do not believe in God when +he is striking you dead? you will not believe in him, who +requires but a prayer, a word, a tear, and he will forgive? +God, who might have directed the assassin's dagger so as to +end your career in a moment, has given you this quarter of +an hour for repentance. Reflect, then, wretched man, and +repent." + +"No," said Caderousse, "no; I will not repent. There is no +God; there is no providence -- all comes by chance." -- + +"There is a providence; there is a God," said Monte Cristo, +"of whom you are a striking proof, as you lie in utter +despair, denying him, while I stand before you, rich, happy, +safe and entreating that God in whom you endeavor not to +believe, while in your heart you still believe in him." + +"But who are you, then?" asked Caderousse, fixing his dying +eyes on the count. "Look well at me!" said Monte Cristo, +putting the light near his face. "Well, the abbe -- the Abbe +Busoni." Monte Cristo took off the wig which disfigured him, +and let fall his black hair, which added so much to the +beauty of his pallid features. "Oh?" said Caderousse, +thunderstruck, "but for that black hair, I should say you +were the Englishman, Lord Wilmore." + +"I am neither the Abbe Busoni nor Lord Wilmore," said Monte +Cristo; "think again, -- do you not recollect me?" Those was +a magic effect in the count's words, which once more revived +the exhausted powers of the miserable man. "Yes, indeed," +said he; "I think I have seen you and known you formerly." + +"Yes, Caderousse, you have seen me; you knew me once." + +"Who, then, are you? and why, if you knew me, do you let me +die?" + +"Because nothing can save you; your wounds are mortal. Had +it been possible to save you, I should have considered it +another proof of God's mercy, and I would again have +endeavored to restore you, I swear by my father's tomb." + +"By your father's tomb!" said Caderousse, supported by a +supernatural power, and half-raising himself to see more +distinctly the man who had just taken the oath which all men +hold sacred; "who, then, are you?" The count had watched the +approach of death. He knew this was the last struggle. He +approached the dying man, and, leaning over him with a calm +and melancholy look, he whispered, "I am -- I am" -- And his +almost closed lips uttered a name so low that the count +himself appeared afraid to hear it. Caderousse, who had +raised himself on his knees, and stretched out his arm, +tried to draw back, then clasping his hands, and raising +them with a desperate effort, "O my God, my God!" said he, +"pardon me for having denied thee; thou dost exist, thou art +indeed man's father in heaven, and his judge on earth. My +God, my Lord, I have long despised thee! Pardon me, my God; +receive me, O my Lord!" Caderousse sighed deeply, and fell +back with a groan. The blood no longer flowed from his +wounds. He was dead. + +"One!" said the count mysteriously, his eyes fixed on the +corpse, disfigured by so awful a death. Ten minutes +afterwards the surgeon and the procureur arrived, the one +accompanied by the porter, the other by Ali, and were +received by the Abbe Busoni, who was praying by the side of +the corpse. + + + +Chapter 84 +Beauchamp. + +The daring attempt to rob the count was the topic of +conversation throughout Paris for the next fortnight. The +dying man had signed a deposition declaring Benedetto to be +the assassin. The police had orders to make the strictest +search for the murderer. Caderousse's knife, dark lantern, +bunch of keys, and clothing, excepting the waistcoat, which +could not be found, were deposited at the registry; the +corpse was conveyed to the morgue. The count told every one +that this adventure had happened during his absence at +Auteuil, and that he only knew what was related by the Abbe +Busoni, who that evening, by mere chance, had requested to +pass the night in his house, to examine some valuable books +in his library. Bertuccio alone turned pale whenever +Benedetto's name was mentioned in his presence, but there +was no reason why any one should notice his doing so. +Villefort, being called on to prove the crime, was preparing +his brief with the same ardor that he was accustomed to +exercise when required to speak in criminal cases. + +But three weeks had already passed, and the most diligent +search had been unsuccessful; the attempted robbery and the +murder of the robber by his comrade were almost forgotten in +anticipation of the approaching marriage of Mademoiselle +Danglars to the Count Andrea Cavalcanti. It was expected +that this wedding would shortly take place, as the young man +was received at the banker's as the betrothed. Letters had +been despatched to M. Cavalcanti, as the count's father, who +highly approved of the union, regretted his inability to +leave Parma at that time, and promised a wedding gift of a +hundred and fifty thousand livres. It was agreed that the +three millions should be intrusted to Danglars to invest; +some persons had warned the young man of the circumstances +of his future father-in-law, who had of late sustained +repeated losses; but with sublime disinterestedness and +confidence the young man refused to listen, or to express a +single doubt to the baron. The baron adored Count Andrea +Cavalcanti: not so Mademoiselle Eugenie Danglars. With an +instinctive hatred of matrimony, she suffered Andrea's +attentions in order to get rid of Morcerf; but when Andrea +urged his suit, she betrayed an entire dislike to him. The +baron might possibly have perceived it, but, attributing it +to a caprice, feigned ignorance. + +The delay demanded by Beauchamp had nearly expired. Morcerf +appreciated the advice of Monte Cristo to let things die +away of their own accord. No one had taken up the remark +about the general, and no one had recognized in the officer +who betrayed the castle of Yanina the noble count in the +House of Peers. Albert, however felt no less insulted; the +few lines which had irritated him were certainly intended as +an insult. Besides, the manner in which Beauchamp had closed +the conference left a bitter recollection in his heart. He +cherished the thought of the duel, hoping to conceal its +true cause even from his seconds. Beauchamp had not been +seen since the day he visited Albert, and those of whom the +latter inquired always told him he was out on a journey +which would detain him some days. Where he was no one knew. + +One morning Albert was awakened by his valet de chambre, who +announced Beauchamp. Albert rubbed his eyes, ordered his +servant to introduce him into the small smoking-room on the +ground-floor, dressed himself quickly, and went down. He +found Beauchamp pacing the room; on perceiving him Beauchamp +stopped. "Your arrival here, without waiting my visit at +your house to-day, looks well, sir," said Albert. "Tell me, +may I shake hands with you, saying, `Beauchamp, acknowledge +you have injured me, and retain my friendship,' or must I +simply propose to you a choice of arms?" + +"Albert," said Beauchamp, with a look of sorrow which +stupefied the young man, "let us first sit down and talk." + +"Rather, sir, before we sit down, I must demand your +answer." + +"Albert," said the journalist, "these are questions which it +is difficult to answer." + +"I will facilitate it by repeating the question, `Will you, +or will you not, retract?'" + +"Morcerf, it is not enough to answer `yes' or `no' to +questions which concern the honor, the social interest, and +the life of such a man as Lieutenant-general the Count of +Morcerf, peer of France." + +"What must then be done?" + +"What I have done, Albert. I reasoned thus -- money, time, +and fatigue are nothing compared with the reputation and +interests of a whole family; probabilities will not suffice, +only facts will justify a deadly combat with a friend. If I +strike with the sword, or discharge the contents of a pistol +at man with whom, for three years, I have been on terms of +intimacy, I must, at least, know why I do so; I must meet +him with a heart at ease, and that quiet conscience which a +man needs when his own arm must save his life." + +"Well," said Morcerf, impatiently, "what does all this +mean?" + +"It means that I have just returned from Yanina." + +"From Yanina?" + +"Yes." + +"Impossible!" + +"Here is my passport; examine the visa -- Geneva, Milan, +Venice, Trieste, Delvino, Yanina. Will you believe the +government of a republic, a kingdom, and an empire?" Albert +cast his eyes on the passport, then raised them in +astonishment to Beauchamp. "You have been to Yanina?" said +he. + +"Albert, had you been a stranger, a foreigner, a simple +lord, like that Englishman who came to demand satisfaction +three or four months since, and whom I killed to get rid of, +I should not have taken this trouble; but I thought this +mark of consideration due to you. I took a week to go, +another to return, four days of quarantine, and forty-eight +hours to stay there; that makes three weeks. I returned last +night, and here I am." + +"What circumlocution! How long you are before you tell me +what I most wish to know?" + +"Because, in truth, Albert" -- + +"You hesitate?" + +"Yes, -- I fear." + +"You fear to acknowledge that your correspondent his +deceived you? Oh, no self-love, Beauchamp. Acknowledge it, +Beauchamp; your courage cannot be doubted." + +"Not so," murmured the journalist; "on the contrary" -- + +Albert turned frightfully pale; he endeavored to speak, but +the words died on his lips. "My friend," said Beauchamp, in +the most affectionate tone, "I should gladly make an +apology; but, alas," -- + +"But what?" + +"The paragraph was correct, my friend." + +"What? That French officer" -- + +"Yes." + +"Fernand?" + +"Yes." + +"The traitor who surrendered the castle of the man in whose +service he was" -- + +"Pardon me, my friend, that man was your father!" Albert +advanced furiously towards Beauchamp, but the latter +restrained him more by a mild look than by his extended +hand. + +"My friend," said he, "here is a proof of it." + +Albert opened the paper, it was an attestation of four +notable inhabitants of Yanina, proving that Colonel Fernand +Mondego, in the service of Ali Tepelini, had surrendered the +castle for two million crowns. The signatures were perfectly +legal. Albert tottered and fell overpowered in a chair. It +could no longer be doubted; the family name was fully given. +After a moment's mournful silence, his heart overflowed, and +he gave way to a flood of tears. Beauchamp, who had watched +with sincere pity the young man's paroxysm of grief, +approached him. "Now, Albert," said he, "you understand me +-- do you not? I wished to see all, and to judge of +everything for myself, hoping the explanation would be in +your father's favor, and that I might do him justice. But, +on the contrary, the particulars which are given prove that +Fernand Mondego, raised by Ali Pasha to the rank of +governor-general, is no other than Count Fernand of Morcerf; +then, recollecting the honor you had done me, in admitting +me to your friendship, I hastened to you." + +Albert, still extended on the chair, covered his face with +both hands, as if to prevent the light from reaching him. "I +hastened to you," continued Beauchamp, "to tell you, Albert, +that in this changing age, the faults of a father cannot +revert upon his children. Few have passed through this +revolutionary period, in the midst of which we were born, +without some stain of infamy or blood to soil the uniform of +the soldier, or the gown of the magistrate. Now I have these +proofs, Albert, and I am in your confidence, no human power +can force me to a duel which your own conscience would +reproach you with as criminal, but I come to offer you what +you can no longer demand of me. Do you wish these proofs, +these attestations, which I alone possess, to be destroyed? +Do you wish this frightful secret to remain with us? +Confided to me, it shall never escape my lips; say, Albert, +my friend, do you wish it?" + +Albert threw himself on Beauchamp's neck. "Ah, noble +fellow!" cried he. + +"Take these," said Beauchamp, presenting the papers to +Albert. + +Albert seized them with a convulsive hand, tore them in +pieces, and trembling lest the least vestige should escape +and one day appear to confront him, he approached the +wax-light, always kept burning for cigars, and burned every +fragment. "Dear, excellent friend," murmured Albert, still +burning the papers. + +"Let all be forgotten as a sorrowful dream," said Beauchamp; +"let it vanish as the last sparks from the blackened paper, +and disappear as the smoke from those silent ashes." + +"Yes, yes," said Albert, "and may there remain only the +eternal friendship which I promised to my deliverer, which +shall be transmitted to our children's children, and shall +always remind me that I owe my life and the honor of my name +to you, -- for had this been known, oh, Beauchamp, I should +have destroyed myself; or, -- no, my poor mother! I could +not have killed her by the same blow, -- I should have fled +from my country." + +"Dear Albert," said Beauchamp. But this sudden and +factitious joy soon forsook the young man, and was succeeded +by a still greater grief. + +"Well," said Beauchamp, "what still oppresses you, my +friend?" + +"I am broken-hearted," said Albert. "Listen, Beauchamp! I +cannot thus, in a moment relinquish the respect, the +confidence, and pride with which a father's untarnished name +inspires a son. Oh, Beauchamp, Beauchamp, how shall I now +approach mine? Shall I draw back my forehead from his +embrace, or withhold my hand from his? I am the most +wretched of men. Ah, my mother, my poor mother!" said +Albert, gazing through his tears at his mother's portrait; +"if you know this, how much must you suffer!" + +"Come," said Beauchamp, taking both his hands, "take +courage, my friend." + +"But how came that first note to be inserted in your +journal? Some unknown enemy -- an invisible foe -- has done +this." + +"The more must you fortify yourself, Albert. Let no trace of +emotion be visible on your countenance, bear your grief as +the cloud bears within it ruin and death -- a fatal secret, +known only when the storm bursts. Go, my friend, reserve +your strength for the moment when the crash shall come." + +"You think, then, all is not over yet?" said Albert, +horror-stricken. + +"I think nothing, my friend; but all things are possible. By +the way" -- + +"What?" said Albert, seeing that Beauchamp hesitated. + +"Are you going to marry Mademoiselle Danglars?" + +"Why do you ask me now?" + +"Because the rupture or fulfilment of this engagement is +connected with the person of whom we were speaking." + +"How?" said Albert, whose brow reddened; "you think M. +Danglars" -- + +"I ask you only how your engagement stands? Pray put no +construction on my words I do not mean they should convey, +and give them no undue weight." + +"No." said Albert, "the engagement is broken off." + +"Well," said Beauchamp. Then, seeing the young man was about +to relapse into melancholy, "Let us go out, Albert," said +he; "a ride in the wood in the phaeton, or on horseback, +will refresh you; we will then return to breakfast, and you +shall attend to your affairs, and I to mine." + +"Willingly," said Albert; "but let us walk. I think a little +exertion would do me good." The two friends walked out on +the fortress. When arrived at the Madeleine, -- "Since we +are out," said Beauchamp, "let us call on M. de Monte +Cristo; he is admirably adapted to revive one's spirits, +because he never interrogates, and in my opinion those who +ask no questions are the best comforters." + +"Gladly," said Albert; "I love him -- let us call." + + + +Chapter 85 +The Journey. + +Monte Cristo uttered a joyful exclamation on seeing the +young men together. "Ah, ha!" said he, "I hope all is over, +explained and settled." + +"Yes," said Beauchamp; "the absurd reports have died away, +and should they be renewed, I would be the first to oppose +them; so let us speak no more of it." + +"Albert will tell you," replied the count "that I gave him +the same advice. Look," added he. "I am finishing the most +execrable morning's work." + +"What is it?" said Albert; "arranging your papers, +apparently." + +"My papers, thank God, no, -- my papers are all in capital +order, because I have none; but M. Cavalcanti's." + +"M. Cavalcanti's?" asked Beauchamp. + +"Yes; do you not know that this is a young man whom the +count is introducing?" said Morcerf. + +"Let us not misunderstand each other," replied Monte Cristo; +"I introduce my one, and certainly not M. Cavalcanti." + +"And who," said Albert with a forced smile, "is to marry +Mademoiselle Danglars instead of me, which grieves me +cruelly." + +"What? Cavalcanti is going to marry Mademoiselle Danglars?" +asked Beauchamp. + +"Certainly; do you come from the end of the world?" said +Monte Cristo; "you, a journalist, the husband of renown? It +is the talk of all Paris." + +"And you, count, have made this match?" asked Beauchamp. + +"I? Silence, purveyor of gossip, do not spread that report. +I make a match? No, you do not know me; I have done all in +my power to oppose it." + +"Ah, I understand," said Beauchamp, "on our friend Albert's +account." + +"On my account?" said the young man; "oh, no, indeed, the +count will do me the justice to assert that I have, on the +contrary, always entreated him to break off my engagement, +and happily it is ended. The count pretends I have not him +to thank; -- so be it -- I will erect an altar Deo ignoto." + +"Listen," said Monte Cristo; "I have had little to do with +it, for I am at variance both with the father-in-law and the +young man; there is only Mademoiselle Eugenie, who appears +but little charmed with the thoughts of matrimony, and who, +seeing how little I was disposed to persuade her to renounce +her dear liberty, retains any affection for me." + +"And do you say this wedding is at hand?" + +"Oh, yes, in spite of all I could say. I do not know the +young man; he is said to be of good family and rich, but I +never trust to vague assertions. I have warned M. Danglars +of it till I am tired, but he is fascinated with his +Luccanese. I have even informed him of a circumstance I +consider very serious; the young man was either charmed by +his nurse, stolen by gypsies, or lost by his tutor, I +scarcely know which. But I do know his father lost sight of +him for more than ten years; what he did during these ten +years, God only knows. Well, all that was useless. They have +commissioned me to write to the major to demand papers, and +here they are. I send them, but like Pilate -- washing my +hands." + +"And what does Mademoiselle d'Armilly say to you for robbing +her of her pupil?" + +"Oh, well, I don't know; but I understand that she is going +to Italy. Madame Danglars asked me for letters of +recommendation for the impresari; I gave her a few lines for +the director of the Valle Theatre, who is under some +obligation to me. But what is the matter, Albert? you look +dull; are you, after all, unconsciously in love with +Mademoiselle Eugenie?" + +"I am not aware of it," said Albert, smiling sorrowfully. +Beauchamp turned to look at some paintings. "But," continued +Monte Cristo, "you are not in your usual spirits?" + +"I have a dreadful headache," said Albert. + +"Well, my dear viscount," said Monte Cristo, "I have an +infallible remedy to propose to you." + +"What is that?" asked the young man. + +"A change." + +"Indeed?" said Albert. + +"Yes; and as I am just now excessively annoyed, I shall go +from home. Shall we go together?" + +"You annoyed, count?" said Beauchamp; "and by what?" + +"Ah, you think very lightly of it; I should like to see you +with a brief preparing in your house." + +"What brief?" + +"The one M. de Villefort is preparing against my amiable +assassin -- some brigand escaped from the gallows +apparently." + +"True," said Beauchamp; "I saw it in the paper. Who is this +Caderousse?" + +"Some provincial, it appears. M. de Villefort heard of him +at Marseilles, and M. Danglars recollects having seen him. +Consequently, the procureur is very active in the affair, +and the prefect of police very much interested; and, thanks +to that interest, for which I am very grateful, they send me +all the robbers of Paris and the neighborhood, under +pretence of their being Caderousse's murderers, so that in +three months, if this continue, every robber and assassin in +France will have the plan of my house at his fingers' end. I +am resolved to desert them and go to some remote corner of +the earth, and shall be happy if you will accompany me, +viscount." + +"Willingly." + +"Then it is settled?" + +"Yes, but where?" + +"I have told you, where the air is pure, where every sound +soothes, where one is sure to be humbled, however proud may +be his nature. I love that humiliation, I, who am master of +the universe, as was Augustus." + +"But where are you really going?" + +"To sea, viscount; you know I am a sailor. I was rocked when +an infant in the arms of old ocean, and on the bosom of the +beautiful Amphitrite; I have sported with the green mantle +of the one and the azure robe of the other; I love the sea +as a mistress, and pine if I do not often see her." + +"Let us go, count." + +"To sea?" + +"Yes." + +"You accept my proposal?" + +"I do." + +"Well, Viscount, there will be in my court-yard this evening +a good travelling britzka, with four post-horses, in which +one may rest as in a bed. M. Beauchamp, it holds four very +well, will you accompany us?" + +"Thank you, I have just returned from sea." + +"What? you have been to sea?" + +"Yes; I have just made a little excursion to the Borromean +Islands."* + +* Lake Maggiore. + +"What of that? come with us," said Albert. + +"No, dear Morcerf; you know I only refuse when the thing is +impossible. Besides, it is important," added he in a low +tone, "that I should remain in Paris just now to watch the +paper." + +"Ah, you are a good and an excellent friend," said Albert; +"yes, you are right; watch, watch, Beauchamp, and try to +discover the enemy who made this disclosure." Albert and +Beauchamp parted, the last pressure of their hands +expressing what their tongues could not before a stranger. + +"Beauchamp is a worthy fellow," said Monte Cristo, when the +journalist was gone; "is he not, Albert?" + +"Yes, and a sincere friend; I love him devotedly. But now we +are alone, -- although it is immaterial to me, -- where are +we going?" + +"Into Normandy, if you like." + +"Delightful; shall we be quite retired? have no society, no +neighbors?" + +"Our companions will be riding-horses, dogs to hunt with, +and a fishing-boat." + +"Exactly what I wish for; I will apprise my mother of my +intention, and return to you." + +"But shall you be allowed to go into Normandy?" + +"I may go where I please." + +"Yes, I am aware you may go alone, since I once met you in +Italy -- but to accompany the mysterious Monte Cristo?" + +"You forget, count, that I have often told you of the deep +interest my mother takes in you." + +"`Woman is fickle.' said Francis I.; `woman is like a wave +of the sea,' said Shakespeare; both the great king and the +great poet ought to have known woman's nature well." + +"Woman's, yes; my mother is not woman, but a woman." + +"As I am only a humble foreigner, you must pardon me if I do +not understand all the subtle refinements of your language." + +"What I mean to say is, that my mother is not quick to give +her confidence, but when she does she never changes." + +"Ah, yes, indeed," said Monte Cristo with a sigh; "and do +you think she is in the least interested in me?" + +"I repeat it, you must really be a very strange and superior +man, for my mother is so absorbed by the interest you have +excited, that when I am with her she speaks of no one else." + +"And does she try to make you dislike me?" + +"On the contrary, she often says, `Morcerf, I believe the +count has a noble nature; try to gain his esteem.'" + +"Indeed?" said Monte Cristo, sighing. + +"You see, then," said Albert, "that instead of opposing, she +will encourage me." + +"Adieu, then, until five o'clock; be punctual, and we shall +arrive at twelve or one." + +"At Treport?" + +"Yes; or in the neighborhood." + +"But can we travel forty-eight leagues in eight hours?" + +"Easily," said Monte Cristo. + +"You are certainly a prodigy; you will soon not only surpass +the railway, which would not be very difficult in France, +but even the telegraph." + +"But, viscount, since we cannot perform the journey in less +than seven or eight hours, do not keep me waiting." + +"Do not fear, I have little to prepare." Monte Cristo smiled +as he nodded to Albert, then remained a moment absorbed in +deep meditation. But passing his hand across his forehead as +if to dispel his revery, he rang the bell twice and +Bertuccio entered. "Bertuccio," said he, "I intend going +this evening to Normandy, instead of to-morrow or the next +day. You will have sufficient time before five o'clock; +despatch a messenger to apprise the grooms at the first +station. M. de Morcerf will accompany me." Bertuccio obeyed +and despatched a courier to Pontoise to say the +travelling-carriage would arrive at six o'clock. From +Pontoise another express was sent to the next stage, and in +six hours all the horses stationed on the road were ready. +Before his departure, the count went to Haidee's apartments, +told her his intention, and resigned everything to her care. +Albert was punctual. The journey soon became interesting +from its rapidity, of which Morcerf had formed no previous +idea. "Truly," said Monte Cristo, "with your posthorses +going at the rate of two leagues an hour, and that absurd +law that one traveller shall not pass another without +permission, so that an invalid or ill-tempered traveller may +detain those who are well and active, it is impossible to +move; I escape this annoyance by travelling with my own +postilion and horses; do I not, Ali?" + +The count put his head out of the window and whistled, and +the horses appeared to fly. The carriage rolled with a +thundering noise over the pavement, and every one turned to +notice the dazzling meteor. Ali, smiling, repeated the +sound, grasped the reins with a firm hand, and spurred his +horses, whose beautiful manes floated in the breeze. This +child of the desert was in his element, and with his black +face and sparkling eyes appeared, in the cloud of dust he +raised, like the genius of the simoom and the god of the +hurricane. "I never knew till now the delight of speed," +said Morcerf, and the last cloud disappeared from his brow; +"but where the devil do you get such horses? Are they made +to order?" + +"Precisely," said the count; "six years since I bought a +horse in Hungary remarkable for its swiftness. The +thirty-two that we shall use to-night are its progeny; they +are all entirely black, with the exception of a star upon +the forehead." + +"That is perfectly admirable; but what do you do, count, +with all these horses?" + +"You see, I travel with them." + +"But you are not always travelling." + +"When I no longer require them, Bertuccio will sell them, +and he expects to realize thirty or forty thousand francs by +the sale." + +"But no monarch in Europe will be wealthy enough to purchase +them." + +"Then he will sell them to some Eastern vizier, who will +empty his coffers to purchase them, and refill them by +applying the bastinado to his subjects." + +"Count, may I suggest one idea to you?" + +"Certainly." + +"It is that, next to you, Bertuccio must be the richest +gentleman in Europe." + +"You are mistaken, viscount; I believe he has not a franc in +his possession." + +"Then he must be a wonder. My dear count, if you tell me +many more marvellous things, I warn you I shall not believe +them." + +"I countenance nothing that is marvellous, M. Albert. Tell +me, why does a steward rob his master?" + +"Because, I suppose, it is his nature to do so, for the love +of robbing." + +"You are mistaken; it is because he has a wife and family, +and ambitious desires for himself and them. Also because he +is not sure of always retaining his situation, and wishes to +provide for the future. Now, M. Bertuccio is alone in the +world; he uses my property without accounting for the use he +makes of it; he is sure never to leave my service." + +"Why?" + +"Because I should never get a better." + +"Probabilities are deceptive." + +"But I deal in certainties; he is the best servant over whom +one has the power of life and death." + +"Do you possess that right over Bertuccio?" + +"Yes." + +There are words which close a conversation with an iron +door; such was the count's "yes." The whole journey was +performed with equal rapidity; the thirty-two horses, +dispersed over seven stages, brought them to their +destination in eight hours. At midnight they arrived at the +gate of a beautiful park. The porter was in attendance; he +had been apprised by the groom of the last stage of the +count's approach. At half past two in the morning Morcerf +was conducted to his apartments, where a bath and supper +were prepared. The servant who had travelled at the back of +the carriage waited on him; Baptistin, who rode in front, +attended the count. Albert bathed, took his supper, and went +to bed. All night he was lulled by the melancholy noise of +the surf. On rising, he went to his window, which opened on +a terrace, having the sea in front, and at the back a pretty +park bounded by a small forest. In a creek lay a little +sloop, with a narrow keel and high masts, bearing on its +flag the Monte Cristo arms which were a mountain on a sea +azure, with a cross gules on the shield. Around the schooner +lay a number of small fishing-boats belonging to the +fishermen of the neighboring village, like humble subjects +awaiting orders from their queen. There, as in every spot +where Monte Cristo stopped, if but for two days, luxury +abounded and life went on with the utmost ease. + +Albert found in his anteroom two guns, with all the +accoutrements for hunting; a lofty room on the ground-floor +containing all the ingenious instruments the English -- +eminent in piscatory pursuits, since they are patient and +sluggish -- have invented for fishing. The day passed in +pursuing those exercises in which Monte Cristo excelled. +They killed a dozen pheasants in the park, as many trout in +the stream, dined in a summer-house overlooking the ocean, +and took tea in the library. + +Towards the evening of the third day. Albert, completely +exhausted with the exercise which invigorated Monte Cristo, +was sleeping in an arm-chair near the window, while the +count was designing with his architect the plan of a +conservatory in his house, when the sound of a horse at full +speed on the high road made Albert look up. He was +disagreeably surprised to see his own valet de chambre, whom +he had not brought, that he might not inconvenience Monte +Cristo. + +"Florentin here!" cried he, starting up; "is my mother ill?" +And he hastened to the door. Monte Cristo watched and saw +him approach the valet, who drew a small sealed parcel from +his pocket, containing a newspaper and a letter. "From whom +is this?" said he eagerly. "From M. Beauchamp," replied +Florentin. + +"Did he send you?" + +"Yes, sir; he sent for me to his house, gave me money for my +journey, procured a horse, and made me promise not to stop +till I had reached you, I have come in fifteen hours." + +Albert opened the letter with fear, uttered a shriek on +reading the first line, and seized the paper. His sight was +dimmed, his legs sank under him, and he would have fallen +had not Florentin supported him. + +"Poor young man," said Monte Cristo in a low voice; "it is +then true that the sin of the father shall fall on the +children to the third and fourth generation." Meanwhile +Albert had revived, and, continuing to read, he threw back +his head, saying, "Florentin, is your horse fit to return +immediately?" + +"It is a poor lame post-horse." + +"In what state was the house when you left?" + +"All was quiet, but on returning from M. Beauchamp's, I +found madame in tears: she had sent for me to know when you +would return. I told her my orders from M. Beauchamp; she +first extended her arms to prevent me, but after a moment's +reflection, `Yes, go, Florentin,' said she, `and may he come +quickly.'" + +"Yes, my mother," said Albert, "I will return, and woe to +the infamous wretch! But first of all I must get there." + +He went back to the room where he had left Monte Cristo. +Five minutes had sufficed to make a complete transformation +in his appearance. His voice had become rough and hoarse; +his face was furrowed with wrinkles; his eyes burned under +the blue-veined lids, and he tottered like a drunken man. +"Count," said he, "I thank you for your hospitality, which I +would gladly have enjoyed longer; but I must return to +Paris." + +"What has happened?" + +"A great misfortune, more important to me than life. Don't +question me, I beg of you, but lend me a horse." + +"My stables are at your command, viscount; but you will kill +yourself by riding on horseback. Take a post-chaise or a +carriage." + +"No, it would delay me, and I need the fatigue you warn me +of; it will do me good." Albert reeled as if he had been +shot, and fell on a chair near the door. Monte Cristo did +not see this second manifestation of physical exhaustion; he +was at the window, calling, "Ali, a horse for M. de Morcerf +-- quick! he is in a hurry!" These words restored Albert; he +darted from the room, followed by the count. "Thank you!" +cried he, throwing himself on his horse. "Return as soon as +you can, Florentin. Must I use any password to procure a +horse?" + +"Only dismount; another will be immediately saddled." Albert +hesitated a moment. "You may think my departure strange and +foolish," said the young man; "you do not know how a +paragraph in a newspaper may exasperate one. Read that," +said he, "when I am gone, that you may not be witness of my +anger." + +While the count picked up the paper he put spurs to his +horse, which leaped in astonishment at such an unusual +stimulus, and shot away with the rapidity of an arrow. The +count watched him with a feeling of compassion, and when he +had completely disappeared, read as follows: -- + +"The French officer in the service of Ali Pasha of Yanina +alluded to three weeks since in the Impartial, who not only +surrendered the castle of Yanina, but sold his benefactor to +the Turks, styled himself truly at that time Fernand, as our +esteemed contemporary states; but he has since added to his +Christian name a title of nobility and a family name. He now +calls himself the Count of Morcerf, and ranks among the +peers." + +Thus the terrible secret, which Beauchamp had so generously +destroyed, appeared again like an armed phantom; and another +paper, deriving its information from some malicious source, +had published two days after Albert's departure for Normandy +the few lines which had rendered the unfortunate young man +almost crazy. + + + +Chapter 86 +The Trial. + +At eight o'clock in the morning Albert had arrived at +Beauchamp's door. The valet de chambre had received orders +to usher him in at once. Beauchamp was in his bath. "Here I +am," said Albert. + +"Well, my poor friend," replied Beauchamp, "I expected you." + +"I need not say I think you are too faithful and too kind to +have spoken of that painful circumstance. Your having sent +for me is another proof of your affection. So, without +losing time, tell me, have you the slightest idea whence +this terrible blow proceeds?" + +"I think I have some clew." + +"But first tell me all the particulars of this shameful +plot." Beauchamp proceeded to relate to the young man, who +was overwhelmed with shame and grief, the following facts. +Two days previously, the article had appeared in another +paper besides the Impartial, and, what was more serious, one +that was well known as a government paper. Beauchamp was +breakfasting when he read the paragraph. He sent immediately +for a cabriolet, and hastened to the publisher's office. +Although professing diametrically opposite principles from +those of the editor of the other paper, Beauchamp -- as it +sometimes, we may say often, happens -- was his intimate +friend. The editor was reading, with apparent delight, a +leading article in the same paper on beet-sugar, probably a +composition of his own. + +"Ah, pardieu," said Beauchamp, "with the paper in your hand, +my friend, I need not tell you the cause of my visit." + +"Are you interested in the sugar question?" asked the editor +of the ministerial paper. + +"No," replied Beauchamp, "I have not considered the +question; a totally different subject interests me." + +"What is it?" + +"The article relative to Morcerf." + +"Indeed? Is it not a curious affair?" + +"So curious, that I think you are running a great risk of a +prosecution for defamation of character." + +"Not at all; we have received with the information all the +requisite proofs, and we are quite sure M. de Morcerf will +not raise his voice against us; besides, it is rendering a +service to one's country to denounce these wretched +criminals who are unworthy of the honor bestowed on them." +Beauchamp was thunderstruck. "Who, then, has so correctly +informed you?" asked he; "for my paper, which gave the first +information on the subject, has been obliged to stop for +want of proof; and yet we are more interested than you in +exposing M. de Morcerf, as he is a peer of France, and we +are of the opposition." + +"Oh, that is very simple; we have not sought to scandalize. +This news was brought to us. A man arrived yesterday from +Yanina, bringing a formidable array of documents; and when +we hesitated to publish the accusatory article, he told us +it should be inserted in some other paper." + +Beauchamp understood that nothing remained but to submit, +and left the office to despatch a courier to Morcerf. But he +had been unable to send to Albert the following particulars, +as the events had transpired after the messenger's +departure; namely, that the same day a great agitation was +manifest in the House of Peers among the usually calm +members of that dignified assembly. Every one had arrived +almost before the usual hour, and was conversing on the +melancholy event which was to attract the attention of the +public towards one of their most illustrious colleagues. +Some were perusing the article, others making comments and +recalling circumstances which substantiated the charges +still more. The Count of Morcerf was no favorite with his +colleagues. Like all upstarts, he had had recourse to a +great deal of haughtiness to maintain his position. The true +nobility laughed at him, the talented repelled him, and the +honorable instinctively despised him. He was, in fact, in +the unhappy position of the victim marked for sacrifice; the +finger of God once pointed at him, every one was prepared to +raise the hue and cry. + +The Count of Morcerf alone was ignorant of the news. He did +not take in the paper containing the defamatory article, and +had passed the morning in writing letters and in trying a +horse. He arrived at his usual hour, with a proud look and +insolent demeanor; he alighted, passed through the +corridors, and entered the house without observing the +hesitation of the door-keepers or the coolness of his +colleagues. Business had already been going on for half an +hour when he entered. Every one held the accusing paper, +but, as usual, no one liked to take upon himself the +responsibility of the attack. At length an honorable peer, +Morcerf's acknowledged enemy, ascended the tribune with that +solemnity which announced that the expected moment had +arrived. There was an impressive silence; Morcerf alone knew +not why such profound attention was given to an orator who +was not always listened to with so much complacency. The +count did not notice the introduction, in which the speaker +announced that his communication would be of that vital +importance that it demanded the undivided attention of the +House; but at the mention of Yanina and Colonel Fernand, he +turned so frightfully pale that every member shuddered and +fixed his eyes upon him. Moral wounds have this peculiarity, +-- they may be hidden, but they never close; always painful, +always ready to bleed when touched, they remain fresh and +open in the heart. + +The article having been read during the painful hush that +followed, a universal shudder pervaded the assembly. and +immediately the closest attention was given to the orator as +he resumed his remarks. He stated his scruples and the +difficulties of the case; it was the honor of M. de Morcerf, +and that of the whole House, he proposed to defend, by +provoking a debate on personal questions, which are always +such painful themes of discussion. He concluded by calling +for an investigation, which might dispose of the calumnious +report before it had time to spread, and restore M. de +Morcerf to the position he had long held in public opinion. +Morcerf was so completely overwhelmed by this great and +unexpected calamity that he could scarcely stammer a few +words as he looked around on the assembly. This timidity, +which might proceed from the astonishment of innocence as +well as the shame of guilt, conciliated some in his favor; +for men who are truly generous are always ready to +compassionate when the misfortune of their enemy surpasses +the limits of their hatred. + +The president put it to the vote, and it was decided that +the investigation should take place. The count was asked +what time he required to prepare his defence. Morcerf's +courage had revived when he found himself alive after this +horrible blow. "My lords," answered he, "it is not by time I +could repel the attack made on me by enemies unknown to me, +and, doubtless, hidden in obscurity; it is immediately, and +by a thunderbolt, that I must repel the flash of lightning +which, for a moment, startled me. Oh, that I could, instead +of taking up this defence, shed my last drop of blood to +prove to my noble colleagues that I am their equal in +worth." These words made a favorable impression on behalf of +the accused. "I demand, then, that the examination shall +take place as soon as possible, and I will furnish the house +with all necessary information." + +"What day do you fix?" asked the president. + +"To-day I am at your service," replied the count. The +president rang the bell. "Does the House approve that the +examination should take place to-day?" + +"Yes," was the unanimous answer. + +A committee of twelve members was chosen to examine the +proofs brought forward by Morcerf. The investigation would +begin at eight o'clock that evening in the committee-room, +and if postponement were necessary, the proceedings would be +resumed each evening at the same hour. Morcerf asked leave +to retire; he had to collect the documents he had long been +preparing against this storm, which his sagacity had +foreseen. + +Albert listened, trembling now with hope, then with anger, +and then again with shame, for from Beauchamp's confidence +he knew his father was guilty, and he asked himself how, +since he was guilty, he could prove his innocence. Beauchamp +hesitated to continue his narrative. "What next?" asked +Albert. + +"What next? My friend, you impose a painful task on me. Must +you know all?" + +"Absolutely; and rather from your lips than another's." + +"Muster up all your courage, then, for never have you +required it more." Albert passed his hand over his forehead, +as if to try his strength, as a man who is preparing to +defend his life proves his shield and bends his sword. He +thought himself strong enough, for he mistook fever for +energy. "Go on," said he. + +"The evening arrived; all Paris was in expectation. Many +said your father had only to show himself to crush the +charge against him; many others said he would not appear; +while some asserted that they had seen him start for +Brussels; and others went to the police-office to inquire if +he had taken out a passport. I used all my influence with +one of the committee, a young peer of my acquaintance, to +get admission to one of the galleries. He called for me at +seven o'clock, and, before any one had arrived, asked one of +the door-keepers to place me in a box. I was concealed by a +column, and might witness the whole of the terrible scene +which was about to take place. At eight o'clock all were in +their places, and M. de Morcerf entered at the last stroke. +He held some papers in his hand; his countenance was calm, +and his step firm, and he was dressed with great care in his +military uniform, which was buttoned completely up to the +chin. His presence produced a good effect. The committee was +made up of Liberals, several of whom came forward to shake +hands with him." + +Albert felt his heart bursting at these particulars, but +gratitude mingled with his sorrow: he would gladly have +embraced those who had given his father this proof of esteem +at a moment when his honor was so powerfully attacked. "At +this moment one of the door-keepers brought in a letter for +the president. `You are at liberty to speak, M. de Morcerf,' +said the president, as he unsealed the letter; and the count +began his defence, I assure you, Albert, in a most eloquent +and skilful manner. He produced documents proving that the +Vizier of Yanina had up to the last moment honored him with +his entire confidence, since he had interested him with a +negotiation of life and death with the emperor. He produced +the ring, his mark of authority, with which Ali Pasha +generally sealed his letters, and which the latter had given +him, that he might, on his return at any hour of the day or +night, gain access to the presence, even in the harem. +Unfortunately, the negotiation failed, and when he returned +to defend his benefactor, he was dead. `But,' said the +count, `so great was Ali Pasha's confidence, that on his +death-bed he resigned his favorite mistress and her daughter +to my care.'" Albert started on hearing these words; the +history of Haidee recurred to him, and he remembered what +she had said of that message and the ring, and the manner in +which she had been sold and made a slave. "And what effect +did this discourse produce?" anxiously inquired Albert. "I +acknowledge it affected me, and, indeed, all the committee +also," said Beauchamp. + +"Meanwhile, the president carelessly opened the letter which +had been brought to him; but the first lines aroused his +attention; he read them again and again, and fixing his eyes +on M. de Morcerf, `Count,' said he, `you have said that the +Vizier of Yanina confided his wife and daughter to your +care?' -- `Yes, sir,' replied Morcerf; `but in that, like +all the rest, misfortune pursued me. On my return, Vasiliki +and her daughter Haidee had disappeared.' -- `Did you know +them?' -- `My intimacy with the pasha and his unlimited +confidence had gained me an introduction to them, and I had +seen them above twenty times.' + +"`Have you any idea what became of them?' -- `Yes, sir; I +heard they had fallen victims to their sorrow, and, perhaps, +to their poverty. I was not rich; my life was in constant +danger; I could not seek them, to my great regret.' The +president frowned imperceptibly. `Gentlemen,' said he, `you +have heard the Comte de Morcerf's defence. Can you, sir, +produce any witnesses to the truth of what you have +asserted?' -- `Alas, no, monsieur,' replied the count; `all +those who surrounded the vizier, or who knew me at his +court, are either dead or gone away, I know not where. I +believe that I alone, of all my countrymen, survived that +dreadful war. I have only the letters of Ali Tepelini, which +I have placed before you; the ring, a token of his +good-will, which is here; and, lastly, the most convincing +proof I can offer, after an anonymous attack, and that is +the absence of any witness against my veracity and the +purity of my military life.' A murmur of approbation ran +through the assembly; and at this moment, Albert, had +nothing more transpired, your father's cause had been +gained. It only remained to put it to the vote, when the +president resumed: `Gentlemen and you, monsieur, -- you will +not be displeased, I presume, to listen to one who calls +himself a very important witness, and who has just presented +himself. He is, doubtless, come to prove the perfect +innocence of our colleague. Here is a letter I have just +received on the subject; shall it be read, or shall it be +passed over? and shall we take no notice of this incident?' +M. de Morcerf turned pale, and clinched his hands on the +papers he held. The committee decided to hear the letter; +the count was thoughtful and silent. The president read: -- + +"`Mr. President, -- I can furnish the committee of inquiry +into the conduct of the Lieutenant-General the Count of +Morcerf in Epirus and in Macedonia with important +particulars.' + +"The president paused, and the count turned pale. The +president looked at his auditors. `Proceed,' was heard on +all sides. The president resumed: -- + +"`I was on the spot at the death of Ali Pasha. I was present +during his last moments. I know what is become of Vasiliki +and Haidee. I am at the command of the committee, and even +claim the honor of being heard. I shall be in the lobby when +this note is delivered to you.' + +"`And who is this witness, or rather this enemy?' asked the +count, in a tone in which there was a visible alteration. +`We shall know, sir,' replied the president. `Is the +committee willing to hear this witness?' -- `Yes, yes,' they +all said at once. The door-keeper was called. `Is there any +one in the lobby?' said the president. + +"`Yes, sir.' -- `Who is it?' -- `A woman, accompanied by a +servant.' Every one looked at his neighbor. `Bring her in,' +said the president. Five minutes after the door-keeper again +appeared; all eyes were fixed on the door, and I," said +Beauchamp, "shared the general expectation and anxiety. +Behind the door-keeper walked a woman enveloped in a large +veil, which completely concealed her. It was evident, from +her figure and the perfumes she had about her, that she was +young and fastidious in her tastes, but that was all. The +president requested her to throw aside her veil, and it was +then seen that she was dressed in the Grecian costume, and +was remarkably beautiful." + +"Ah," said Albert, "it was she." + +"Who?" + +"Haidee." + +"Who told you that?" + +"Alas, I guess it. But go on, Beauchamp. You see I am calm +and strong. And yet we must be drawing near the disclosure." + +"M. de Morcerf," continued Beauchamp, "looked at this woman +with surprise and terror. Her lips were about to pass his +sentence of life or death. To the committee the adventure +was so extraordinary and curious, that the interest they had +felt for the count's safety became now quite a secondary +matter. The president himself advanced to place a seat for +the young lady; but she declined availing herself of it. As +for the count, he had fallen on his chair; it was evident +that his legs refused to support him. + +"`Madame,' said the president, `you have engaged to furnish +the committee with some important particulars respecting the +affair at Yanina, and you have stated that you were an +eyewitness of the event.' -- `I was, indeed,' said the +stranger, with a tone of sweet melancholy, and with the +sonorous voice peculiar to the East. + +"`But allow me to say that you must have been very young +then.' -- `I was four years old; but as those events deeply +concerned me, not a single detail has escaped my memory.' -- +`In what manner could these events concern you? and who are +you, that they should have made so deep an impression on +you?' -- `On them depended my father's life,' replied she. +`I am Haidee, the daughter of Ali Tepelini, pasha of Yanina, +and of Vasiliki, his beloved wife.' + +"The blush of mingled pride and modesty which suddenly +suffused the cheeks of the young woman, the brilliancy of +her eye, and her highly important communication, produced an +indescribable effect on the assembly. As for the count, he +could not have been more overwhelmed if a thunderbolt had +fallen at his feet and opened an immense gulf before him. +`Madame,' replied the president, bowing with profound +respect, `allow me to ask one question; it shall be the +last: Can you prove the authenticity of what you have now +stated?' -- `I can, sir,' said Haidee, drawing from under +her veil a satin satchel highly perfumed; `for here is the +register of my birth, signed by my father and his principal +officers, and that of my baptism, my father having consented +to my being brought up in my mother's faith, -- this latter +has been sealed by the grand primate of Macedonia and +Epirus; and lastly (and perhaps the most important), the +record of the sale of my person and that of my mother to the +Armenian merchant El-Kobbir, by the French officer, who, in +his infamous bargain with the Porte, had reserved as his +part of the booty the wife and daughter of his benefactor, +whom he sold for the sum of four hundred thousand francs.' A +greenish pallor spread over the count's cheeks, and his eyes +became bloodshot at these terrible imputations, which were +listened to by the assembly with ominous silence. + +"Haidee, still calm, but with a calmness more dreadful than +the anger of another would have been, handed to the +president the record of her sale, written in Arabic. It had +been supposed some of the papers might be in the Arabian, +Romaic, or Turkish language, and the interpreter of the +House was in attendance. One of the noble peers, who was +familiar with the Arabic language, having studied it during +the famous Egyptian campaign, followed with his eye as the +translator read aloud: -- + +"`I, El-Kobbir, a slave-merchant, and purveyor of the harem +of his highness, acknowledge having received for +transmission to the sublime emperor, from the French lord, +the Count of Monte Cristo, an emerald valued at eight +hundred thousand francs; as the ransom of a young Christian +slave of eleven years of age, named Haidee, the acknowledged +daughter of the late lord Ali Tepelini, pasha of Yanina, and +of Vasiliki, his favorite; she having been sold to me seven +years previously, with her mother, who had died on arriving +at Constantinople, by a French colonel in the service of the +Vizier Ali Tepelini, named Fernand Mondego. The +above-mentioned purchase was made on his highness's account, +whose mandate I had, for the sum of four hundred thousand +francs. + +"`Given at Constantinople, by authority of his highness, in +the year 1247 of the Hegira. + +"`Signed El-Kobbir.' + +"`That this record should have all due authority, it shall +bear the imperial seal, which the vendor is bound to have +affixed to it.' + +"Near the merchant's signature there was, indeed, the seal +of the sublime emperor. A dreadful silence followed the +reading of this document; the count could only stare, and +his gaze, fixed as if unconsciously on Haidee, seemed one of +fire and blood. `Madame,' said the president, `may reference +be made to the Count of Monte Cristo, who is now, I believe, +in Paris?' -- `Sir,' replied Haidee, `the Count of Monte +Cristo, my foster-father, has been in Normandy the last +three days.' + +"`Who, then, has counselled you to take this step, one for +which the court is deeply indebted to you, and which is +perfectly natural, considering your birth and your +misfortunes?' -- `Sir,' replied Haidee, `I have been led to +take this step from a feeling of respect and grief. Although +a Christian, may God forgive me, I have always sought to +revenge my illustrious father. Since I set my foot in +France, and knew the traitor lived in Paris, I have watched +carefully. I live retired in the house of my noble +protector, but I do it from choice. I love retirement and +silence, because I can live with my thoughts and +recollections of past days. But the Count of Monte Cristo +surrounds me with every paternal care, and I am ignorant of +nothing which passes in the world. I learn all in the +silence of my apartments, -- for instance, I see all the +newspapers, every periodical, as well as every new piece of +music; and by thus watching the course of the life of +others, I learned what had transpired this morning in the +House of Peers, and what was to take place this evening; +then I wrote.' + +"`Then,' remarked the president, `the Count of Monte Cristo +knows nothing of your present proceedings?' -- `He is quite +unaware of them, and I have but one fear, which is that he +should disapprove of what I have done. But it is a glorious +day for me,' continued the young girl, raising her ardent +gaze to heaven, `that on which I find at last an opportunity +of avenging my father!' + +"The count had not uttered one word the whole of this time. +His colleagues looked at him, and doubtless pitied his +prospects, blighted under the perfumed breath of a woman. +His misery was depicted in sinister lines on his +countenance. `M. de Morcerf,' said the president, `do you +recognize this lady as the daughter of Ali Tepelini, pasha +of Yanina?' -- `No,' said Morcerf, attempting to rise, `it +is a base plot, contrived by my enemies.' Haidee, whose eyes +had been fixed on the door, as if expecting some one, turned +hastily, and, seeing the count standing, shrieked, `You do +not know me?' said she. `Well, I fortunately recognize you! +You are Fernand Mondego, the French officer who led the +troops of my noble father! It is you who surrendered the +castle of Yanina! It is you who, sent by him to +Constantinople, to treat with the emperor for the life or +death of your benefactor, brought back a false mandate +granting full pardon! It is you who, with that mandate, +obtained the pasha's ring, which gave you authority over +Selim, the fire-keeper! It is you who stabbed Selim. It is +you who sold us, my mother and me, to the merchant, +El-Kobbir! Assassin, assassin, assassin, you have still on +your brow your master's blood! Look, gentlemen, all!' + +"These words had been pronounced with such enthusiasm and +evident truth, that every eye was fixed on the count's +forehead, and he himself passed his hand across it, as if he +felt Ali's blood still lingering there. `You positively +recognize M. de Morcerf as the officer, Fernand Mondego?' -- +`Indeed I do!' cried Haidee. `Oh, my mother, it was you who +said, "You were free, you had a beloved father, you were +destined to be almost a queen. Look well at that man; it is +he who raised your father's head on the point of a spear; it +is he who sold us; it is he who forsook us! Look well at his +right hand, on which he has a large wound; if you forgot his +features, you would know him by that hand, into which fell, +one by one, the gold pieces of the merchant El-Kobbir!" I +know him! Ah, let him say now if he does not recognize me!' +Each word fell like a dagger on Morcerf, and deprived him of +a portion of his energy; as she uttered the last, he hid his +mutilated hand hastily in his bosom, and fell back on his +seat, overwhelmed by wretchedness and despair. This scene +completely changed the opinion of the assembly respecting +the accused count. + +"`Count of Morcerf,' said the president, `do not allow +yourself to be cast down; answer. The justice of the court +is supreme and impartial as that of God; it will not suffer +you to be trampled on by your enemies without giving you an +opportunity of defending yourself. Shall further inquiries +be made? Shall two members of the House be sent to Yanina? +Speak!' Morcerf did not reply. Then all the members looked +at each other with terror. They knew the count's energetic +and violent temper; it must be, indeed, a dreadful blow +which would deprive him of courage to defend himself. They +expected that his stupefied silence would be followed by a +fiery outburst. `Well,' asked the president, `what is your +decision?' + +"`I have no reply to make,' said the count in a low tone. + +"`Has the daughter of Ali Tepelini spoken the truth?' said +the president. `Is she, then, the terrible witness to whose +charge you dare not plead "Not guilty"? Have you really +committed the crimes of which you are accused?' The count +looked around him with an expression which might have +softened tigers, but which could not disarm his judges. Then +he raised his eyes towards the ceiling, but withdrew then, +immediately, as if he feared the roof would open and reveal +to his distressed view that second tribunal called heaven, +and that other judge named God. Then, with a hasty movement, +he tore open his coat, which seemed to stifle him, and flew +from the room like a madman; his footstep was heard one +moment in the corridor, then the rattling of his +carriage-wheels as he was driven rapidly away. `Gentlemen,' +said the president, when silence was restored, `is the Count +of Morcerf convicted of felony, treason, and conduct +unbecoming a member of this House?' -- `Yes,' replied all +the members of the committee of inquiry with a unanimous +voice. + +"Haidee had remained until the close of the meeting. She +heard the count's sentence pronounced without betraying an +expression of joy or pity; then drawing her veil over her +face she bowed majestically to the councillors, and left +with that dignified step which Virgil attributes to his +goddesses." + + + +Chapter 87 +The Challenge. + +"Then," continued Beauchamp, "I took advantage of the +silence and the darkness to leave the house without being +seen. The usher who had introduced me was waiting for me at +the door, and he conducted me through the corridors to a +private entrance opening into the Rue de Vaugirard. I left +with mingled feelings of sorrow and delight. Excuse me, +Albert, -- sorrow on your account, and delight with that +noble girl, thus pursuing paternal vengeance. Yes, Albert, +from whatever source the blow may have proceeded -- it may +be from an enemy, but that enemy is only the agent of +providence." Albert held his head between his hands; he +raised his face, red with shame and bathed in tears, and +seizing Beauchamp's arm, "My friend," said he, "my life is +ended. I cannot calmly say with you, `Providence has struck +the blow;' but I must discover who pursues me with this +hatred, and when I have found him I shall kill him, or he +will kill me. I rely on your friendship to assist me, +Beauchamp, if contempt has not banished it from your heart." + +"Contempt, my friend? How does this misfortune affect you? +No, happily that unjust prejudice is forgotten which made +the son responsible for the father's actions. Review your +life, Albert; although it is only just beginning, did a +lovely summer's day ever dawn with greater purity than has +marked the commencement of your career? No, Albert, take my +advice. You are young and rich -- leave Paris -- all is soon +forgotten in this great Babylon of excitement and changing +tastes. You will return after three or four years with a +Russian princess for a bride, and no one will think more of +what occurred yesterday than if it had happened sixteen +years ago." + +"Thank you, my dear Beauchamp, thank you for the excellent +feeling which prompts your advice; but it cannot be. I have +told you my wish, or rather my determination. You understand +that, interested as I am in this affair, I cannot see it in +the same light as you do. What appears to you to emanate +from a celestial source, seems to me to proceed from one far +less pure. Providence appears to me to have no share in this +affair; and happily so, for instead of the invisible, +impalpable agent of celestial rewards and punishments, I +shall find one both palpable and visible, on whom I shall +revenge myself, I assure you, for all I have suffered during +the last month. Now, I repeat, Beauchamp, I wish to return +to human and material existence, and if you are still the +friend you profess to be, help me to discover the hand that +struck the blow." + +"Be it so," said Beauchamp; "if you must have me descend to +earth, I submit; and if you will seek your enemy, I will +assist you, and I will engage to find him, my honor being +almost as deeply interested as yours." + +"Well, then, you understand, Beauchamp, that we begin our +search immediately. Each moment's delay is an eternity for +me. The calumniator is not yet punished, and he may hope +that he will not be; but, on my honor, it he thinks so, he +deceives himself." + +"Well, listen, Morcerf." + +"Ah, Beauchamp, I see you know something already; you will +restore me to life." + +"I do not say there is any truth in what I am going to tell +you, but it is, at least, a ray of light in a dark night; by +following it we may, perhaps, discover something more +certain." + +"Tell me; satisfy my impatience." + +"Well, I will tell you what I did not like to mention on my +return from Yanina." + +"Say on." + +"I went, of course, to the chief banker of the town to make +inquiries. At the first word, before I had even mentioned +your father's name" -- + +"`Ah,' said he. `I guess what brings you here.' + +"`How, and why?' + +"`Because a fortnight since I was questioned on the same +subject.' + +"`By whom?' -- `By a Paris banker, my correspondent.' + +"`Whose name is' -- + +"`Danglars.'" + +"He!" cried Albert; "yes, it is indeed he who has so long +pursued my father with jealous hatred. He, the man who would +be popular, cannot forgive the Count of Morcerf for being +created a peer; and this marriage broken off without a +reason being assigned -- yes, it is all from the same +cause." + +"Make inquiries, Albert, but do not be angry without reason; +make inquiries, and if it be true" -- + +"Oh, yes, if it be true," cried the young man, "he shall pay +me all I have suffered." + +"Beware, Morcerf, he is already an old man." + +"I will respect his age as he has respected the honor of my +family; if my father had offended him, why did he not attack +him personally? Oh, no, he was afraid to encounter him face +to face." + +"I do not condemn you, Albert; I only restrain you. Act +prudently." + +"Oh, do not fear; besides, you will accompany me. Beauchamp, +solemn transactions should be sanctioned by a witness. +Before this day closes, if M. Danglars is guilty, he shall +cease to live, or I shall die. Pardieu, Beauchamp, mine +shall be a splendid funeral!" + +"When such resolutions are made, Albert, they should be +promptly executed. Do you wish to go to M. Danglars? Let us +go immediately." They sent for a cabriolet. On entering the +banker's mansion, they perceived the phaeton and servant of +M. Andrea Cavalcanti. "Ah, parbleu, that's good," said +Albert, with a gloomy tone. "If M. Danglars will not fight +with me, I will kill his son-in-law; Cavalcanti will +certainly fight." The servant announced the young man; but +the banker, recollecting what had transpired the day before, +did not wish him admitted. It was, however, too late; Albert +had followed the footman, and, hearing the order given, +forced the door open, and followed by Beauchamp found +himself in the banker's study. "Sir," cried the latter, "am +I no longer at liberty to receive whom I choose in my house? +You appear to forget yourself sadly." + +"No, sir," said Albert, coldly; "there are circumstances in +which one cannot, except through cowardice, -- I offer you +that refuge, -- refuse to admit certain persons at least." + +"What is your errand, then, with me, sir?" + +"I mean," said Albert, drawing near, and without apparently +noticing Cavalcanti, who stood with his back towards the +fireplace -- "I mean to propose a meeting in some retired +corner where no one will interrupt us for ten minutes; that +will be sufficient -- where two men having met, one of them +will remain on the ground." Danglars turned pale; Cavalcanti +moved a step forward, and Albert turned towards him. "And +you, too," said he, "come, if you like, monsieur; you have a +claim, being almost one of the family, and I will give as +many rendezvous of that kind as I can find persons willing +to accept them." Cavalcanti looked at Danglars with a +stupefied air, and the latter, making an effort, arose and +stepped between the two young men. Albert's attack on Andrea +had placed him on a different footing, and he hoped this +visit had another cause than that he had at first supposed. + +"Indeed, sir," said he to Albert, "if you are come to +quarrel with this gentleman because I have preferred him to +you, I shall resign the case to the king's attorney." + +"You mistake, sir," said Morcerf with a gloomy smile; "I am +not referring in the least to matrimony, and I only +addressed myself to M. Cavalcanti because he appeared +disposed to interfere between us. In one respect you are +right, for I am ready to quarrel with every one to-day; but +you have the first claim, M. Danglars." + +"Sir," replied Danglars, pale with anger and fear, "I warn +you, when I have the misfortune to meet with a mad dog, I +kill it; and far from thinking myself guilty of a crime, I +believe I do society a kindness. Now, if you are mad and try +to bite me, I will kill you without pity. Is it my fault +that your father has dishonored himself?" + +"Yes, miserable wretch!" cried Morcerf, "it is your fault." +Danglars retreated a few steps. "My fault?" said he; "you +must be mad! What do I know of the Grecian affair? Have I +travelled in that country? Did I advise your father to sell +the castle of Yanina -- to betray" -- + +"Silence!" said Albert, with a thundering voice. "No; it is +not you who have directly made this exposure and brought +this sorrow on us, but you hypocritically provoked it." + +"I?" + +"Yes; you! How came it known?" + +"I suppose you read it in the paper in the account from +Yanina?" + +"Who wrote to Yanina?" + +"To Yanina?" + +"Yes. Who wrote for particulars concerning my father?" + +"I imagine any one may write to Yanina." + +"But one person only wrote!" + +"One only?" + +"Yes; and that was you!" + +"I, doubtless, wrote. It appears to me that when about to +marry your daughter to a young man, it is right to make some +inquiries respecting his family; it is not only a right, but +a duty." + +"You wrote, sir, knowing what answer you would receive." + +"I, indeed? I assure you," cried Danglars, with a confidence +and security proceeding less from fear than from the +interest he really felt for the young man, "I solemnly +declare to you, that I should never have thought of writing +to Yanina, did I know anything of Ali Pasha's misfortunes." + +"Who, then, urged you to write? Tell me." + +"Pardieu, it was the most simple thing in the world. I was +speaking of your father's past history. I said the origin of +his fortune remained obscure. The person to whom I addressed +my scruples asked me where your father had acquired his +property? I answered, `In Greece.' -- `Then,' said he, +`write to Yanina.'" + +"And who thus advised you?" + +"No other than your friend, Monte Cristo." + +"The Count of Monte Cristo told you to write to Yanina?" + +"Yes; and I wrote, and will show you my correspondence, if +you like." Albert and Beauchamp looked at each other. "Sir," +said Beauchamp, who had not yet spoken, "you appear to +accuse the count, who is absent from Paris at this moment, +and cannot justify himself." + +"I accuse no one, sir," said Danglars; "I relate, and I will +repeat before the count what I have said to you." + +"Does the count know what answer you received?" + +"Yes; I showed it to him." + +"Did he know my father's Christian name was Fernand, and his +family name Mondego?" + +"Yes, I had told him that long since, and I did only what +any other would have done in my circumstances, and perhaps +less. When, the day after the arrival of this answer, your +father came by the advice of Monte Cristo to ask my +daughter's hand for you, I decidedly refused him, but +without any explanation or exposure. In short, why should I +have any more to do with the affair? How did the honor or +disgrace of M. de Morcerf affect me? It neither increased +nor decreased my income." + +Albert felt the blood mounting to his brow; there was no +doubt upon the subject. Danglars defended himself with the +baseness, but at the same time with the assurance, of a man +who speaks the truth, at least in part, if not wholly -- not +for conscience' sake, but through fear. Besides, what was +Morcerf seeking? It was not whether Danglars or Monte Cristo +was more or less guilty; it was a man who would answer for +the offence, whether trifling or serious; it was a man who +would fight, and it was evident Danglars's would not fight. +And, in addition to this, everything forgotten or +unperceived before presented itself now to his recollection. +Monte Cristo knew everything, as he had bought the daughter +of Ali Pasha; and, knowing everything, he had advised +Danglars to write to Yanina. The answer known, he had +yielded to Albert's wish to be introduced to Haidee, and +allowed the conversation to turn on the death of Ali, and +had not opposed Haidee's recital (but having, doubtless, +warned the young girl, in the few Romaic words he spoke to +her, not to implicate Morcerf's father). Besides, had he not +begged of Morcerf not to mention his father's name before +Haidee? Lastly, he had taken Albert to Normandy when he knew +the final blow was near. There could be no doubt that all +had been calculated and previously arranged; Monte Cristo +then was in league with his father's enemies. Albert took +Beauchamp aside, and communicated these ideas to him. + +"You are right," said the latter; "M. Danglars has only been +a secondary agent in this sad affair, and it is of M. de +Monte Cristo that you must demand an explanation." Albert +turned. "Sir," said he to Danglars, "understand that I do +not take a final leave of you; I must ascertain if your +insinuations are just, and am going now to inquire of the +Count of Monte Cristo." He bowed to the banker, and went out +with Beauchamp, without appearing to notice Cavalcanti. +Danglars accompanied him to the door, where he again assured +Albert that no motive of personal hatred had influenced him +against the Count of Morcerf. + + + +Chapter 88 +The Insult. + +At the banker's door Beauchamp stopped Morcerf. "Listen," +said he; "just now I told you it was of M. de Monte Cristo +you must demand an explanation." + +"Yes; and we are going to his house." + +"Reflect, Morcerf, one moment before you go." + +"On what shall I reflect?" + +"On the importance of the step you are taking." + +"Is it more serious than going to M. Danglars?" + +"Yes; M. Danglars is a money-lover, and those who love +money, you know, think too much of what they risk to be +easily induced to fight a duel. The other is, on the +contrary, to all appearance a true nobleman; but do you not +fear to find him a bully?" + +"I only fear one thing; namely, to find a man who will not +fight." + +"Do not be alarmed," said Beauchamp; "he will meet you. My +only fear is that he will be too strong for you." + +"My friend," said Morcerf, with a sweet smile, "that is what +I wish. The happiest thing that could occur to me, would be +to die in my father's stead; that would save us all." + +"Your mother would die of grief." + +"My poor mother!" said Albert, passing his hand across his +eyes, "I know she would; but better so than die of shame." + +"Are you quite decided, Albert?" + +"Yes; let us go." + +"But do you think we shall find the count at home?" + +"He intended returning some hours after me, and doubtless he +is now at home." They ordered the driver to take them to No. +30 Champs-Elysees. Beauchamp wished to go in alone, but +Albert observed that as this was an unusual circumstance he +might be allowed to deviate from the usual etiquette in +affairs of honor. The cause which the young man espoused was +one so sacred that Beauchamp had only to comply with all his +wishes; he yielded and contented himself with following +Morcerf. Albert sprang from the porter's lodge to the steps. +He was received by Baptistin. The count had, indeed, just +arrived, but he was in his bath, and had forbidden that any +one should be admitted. "But after his bath?" asked Morcerf. + +"My master will go to dinner." + +"And after dinner?" + +"He will sleep an hour." + +"Then?" + +"He is going to the opera." + +"Are you sure of it?" asked Albert. + +"Quite, sir; my master has ordered his horses at eight +o'clock precisely." + +"Very good," replied Albert; "that is all I wished to know." +Then, turning towards Beauchamp, "If you have anything to +attend to, Beauchamp, do it directly; if you have any +appointment for this evening, defer it till tomorrow. I +depend on you to accompany me to the opera; and if you can, +bring Chateau-Renaud with you." + +Beauchamp availed himself of Albert's permission, and left +him, promising to call for him at a quarter before eight. On +his return home, Albert expressed his wish to Franz Debray, +and Morrel, to see them at the opera that evening. Then he +went to see his mother, who since the events of the day +before had refused to see any one, and had kept her room. He +found her in bed, overwhelmed with grief at this public +humiliation. The sight of Albert produced the effect which +might naturally be expected on Mercedes; she pressed her +son's hand and sobbed aloud, but her tears relieved her. +Albert stood one moment speechless by the side of his +mother's bed. It was evident from his pale face and knit +brows that his resolution to revenge himself was growing +weaker. "My dear mother," said he, "do you know if M. de +Morcerf has any enemy?" Mercedes started; she noticed that +the young man did not say "my father." "My son," she said, +"persons in the count's situation have many secret enemies. +Those who are known are not the most dangerous." + +"I know it, and appeal to your penetration. You are of so +superior a mind, nothing escapes you." + +"Why do you say so?" + +"Because, for instance, you noticed on the evening of the +ball we gave, that M. de Monte Cristo would eat nothing in +our house." Mercedes raised herself on her feverish arm. "M. +de Monte Cristo!" she exclaimed; "and how is he connected +with the question you asked me?" + +"You know, mother, M. de Monte Cristo is almost an Oriental, +and it is customary with the Orientals to secure full +liberty for revenge by not eating or drinking in the houses +of their enemies." + +"Do you say M. de Monte Cristo is our enemy?" replied +Mercedes, becoming paler than the sheet which covered her. +"Who told you so? Why, you are mad, Albert! M. de Monte +Cristo has only shown us kindness. M. de Monte Cristo saved +your life; you yourself presented him to us. Oh, I entreat +you, my son, if you had entertained such an idea, dispel it; +and my counsel to you -- nay, my prayer -- is to retain his +friendship." + +"Mother," replied the young man, "you have especial reasons +for telling me to conciliate that man." + +"I?" said Mercedes, blushing as rapidly as she had turned +pale, and again becoming paler than ever. + +"Yes, doubtless; and is it not that he may never do us any +harm?" Mercedes shuddered, and, fixing on her son a +scrutinizing gaze, "You speak strangely," said she to +Albert, "and you appear to have some singular prejudices. +What has the count done? Three days since you were with him +in Normandy; only three days since we looked on him as our +best friend." + +An ironical smile passed over Albert's lips. Mercedes saw it +and with the double instinct of woman and mother guessed +all; but as she was prudent and strong-minded she concealed +both her sorrows and her fears. Albert was silent; an +instant after, the countess resumed: "You came to inquire +after my health; I will candidly acknowledge that I am not +well. You should install yourself here, and cheer my +solitude. I do not wish to be left alone." + +"Mother," said the young man, "you know how gladly I would +obey your wish, but an urgent and important affair obliges +me to leave you for the whole evening." + +"Well," replied Mercedes, sighing, "go, Albert; I will not +make you a slave to your filial piety." Albert pretended he +did not hear, bowed to his mother, and quitted her. Scarcely +had he shut her door, when Mercedes called a confidential +servant, and ordered him to follow Albert wherever he should +go that evening, and to come and tell her immediately what +he observed. Then she rang for her lady's maid, and, weak as +she was, she dressed, in order to be ready for whatever +might happen. The footman's mission was an easy one. Albert +went to his room, and dressed with unusual care. At ten +minutes to eight Beauchamp arrived; he had seen +Chateau-Renaud, who had promised to be in the orchestra +before the curtain was raised. Both got into Albert's coupe; +and, as the young man had no reason to conceal where he was +going, he called aloud, "To the opera." In his impatience he +arrived before the beginning of the performance. + +Chateau-Renaud was at his post; apprised by Beauchamp of the +circumstances, he required no explanation from Albert. The +conduct of the son in seeking to avenge his father was so +natural that Chateau-Renaud did not seek to dissuade him, +and was content with renewing his assurances of devotion. +Debray was not yet come, but Albert knew that he seldom lost +a scene at the opera. Albert wandered about the theatre +until the curtain was drawn up. He hoped to meet with M. de +Monte Cristo either in the lobby or on the stairs. The bell +summoned him to his seat, and he entered the orchestra with +Chateau-Renaud and Beauchamp. But his eyes scarcely quitted +the box between the columns, which remained obstinately +closed during the whole of the first act. At last, as Albert +was looking at his watch for about the hundredth time, at +the beginning of the second act the door opened, and Monte +Cristo entered, dressed in black, and, leaning over the +front of the box, looked around the pit. Morrel followed +him, and looked also for his sister and brother in-law; he +soon discovered them in another box, and kissed his hand to +them. + +The count, in his survey of the pit, encountered a pale face +and threatening eyes, which evidently sought to gain his +attention. He recognized Albert, but thought it better not +to notice him, as he looked so angry and discomposed. +Without communicating his thoughts to his companion, he sat +down, drew out his opera-glass, and looked another way. +Although apparently not noticing Albert, he did not, +however, lose sight of him, and when the curtain fell at the +end of the second act, he saw him leave the orchestra with +his two friends. Then his head was seen passing at the back +of the boxes, and the count knew that the approaching storm +was intended to fall on him. He was at the moment conversing +cheerfully with Morrel, but he was well prepared for what +might happen. The door opened, and Monte Cristo, turning +round, saw Albert, pale and trembling, followed by Beauchamp +and Chateau-Renaud. + +"Well," cried he, with that benevolent politeness which +distinguished his salutation from the common civilities of +the world, "my cavalier has attained his object. +Good-evening, M. de Morcerf." The countenance of this man, +who possessed such extraordinary control over his feelings, +expressed the most perfect cordiality. Morrel only then +recollected the letter he had received from the viscount, in +which, without assigning any reason, he begged him to go to +the opera, but he understood that something terrible was +brooding. + +"We are not come here, sir, to exchange hypocritical +expressions of politeness, or false professions of +friendship," said Albert, "but to demand an explanation." +The young man's trembling voice was scarcely audible. "An +explanation at the opera?" said the count, with that calm +tone and penetrating eye which characterize the man who +knows his cause is good. "Little acquainted as I am with the +habits of Parisians, I should not have thought this the +place for such a demand." + +"Still, if people will shut themselves up," said Albert, +"and cannot be seen because they are bathing, dining, or +asleep, we must avail ourselves of the opportunity whenever +they are to be seen." + +"I am not difficult of access, sir; for yesterday, if my +memory does not deceive me, you were at my house." + +"Yesterday I was at your house, sir," said the young man; +"because then I knew not who you were." In pronouncing these +words Albert had raised his voice so as to be heard by those +in the adjoining boxes and in the lobby. Thus the attention +of many was attracted by this altercation. "Where are you +come from, sir? You do not appear to be in the possession of +your senses." + +"Provided I understand your perfidy, sir, and succeed in +making you understand that I will be revenged, I shall be +reasonable enough," said Albert furiously. + +"I do not understand you, sir," replied Monte Cristo; "and +if I did, your tone is too high. I am at home here, and I +alone have a right to raise my voice above another's. Leave +the box, sir!" Monte Cristo pointed towards the door with +the most commanding dignity. "Ah, I shall know how to make +you leave your home!" replied Albert, clasping in his +convulsed grasp the glove, which Monte Cristo did not lose +sight of. + +"Well, well," said Monte Cristo quietly, "I see you wish to +quarrel with me; but I would give you one piece of advice, +which you will do well to keep in mind. It is in poor taste +to make a display of a challenge. Display is not becoming to +every one, M. de Morcerf." + +At this name a murmur of astonishment passed around the +group of spectators of this scene. They had talked of no one +but Morcerf the whole day. Albert understood the allusion in +a moment, and was about to throw his glove at the count, +when Morrel seized his hand, while Beauchamp and +Chateau-Renaud, fearing the scene would surpass the limits +of a challenge, held him back. But Monte Cristo, without +rising, and leaning forward in his chair, merely stretched +out his arm and, taking the damp, crushed glove from the +clinched hand of the young man, "Sir," said he in a solemn +tone, "I consider your glove thrown, and will return it to +you wrapped around a bullet. Now leave me or I will summon +my servants to throw you out at the door." + +Wild, almost unconscious, and with eyes inflamed, Albert +stepped back, and Morrel closed the door. Monte Cristo took +up his glass again as if nothing had happened; his face was +like marble, and his heart was like bronze. Morrel +whispered, "What have you done to him?" + +"I? Nothing -- at least personally," said Monte Cristo. + +"But there must be some cause for this strange scene." + +"The Count of Morcerf's adventure exasperates the young +man." + +"Have you anything to do with it?" + +"It was through Haidee that the Chamber was informed of his +father's treason." + +"Indeed?" said Morrel. "I had been told, but would not +credit it, that the Grecian slave I have seen with you here +in this very box was the daughter of Ali Pasha." + +"It is true, nevertheless." + +"Then," said Morrel, "I understand it all, and this scene +was premeditated." + +"How so?" + +"Yes. Albert wrote to request me to come to the opera, +doubtless that I might be a witness to the insult he meant +to offer you." + +"Probably," said Monte Cristo with his imperturbable +tranquillity. + +"But what shall you do with him?" + +"With whom?" + +"With Albert." + +"What shall I do with Albert? As certainly, Maximilian, as I +now press your hand, I shall kill him before ten o'clock +to-morrow morning." Morrel, in his turn, took Monte Cristo's +hand in both of his, and he shuddered to feel how cold and +steady it was. + +"Ah, Count," said he, "his father loves him so much!" + +"Do not speak to me of that," said Monte Cristo, with the +first movement of anger he had betrayed; "I will make him +suffer." Morrel, amazed, let fall Monte Cristo's hand. +"Count, count!" said he. + +"Dear Maximilian," interrupted the count, "listen how +adorably Duprez is singing that line, -- + +`O Mathilde! idole de mon ame!' + +"I was the first to discover Duprez at Naples, and the first +to applaud him. Bravo, bravo!" Morrel saw it was useless to +say more, and refrained. The curtain, which had risen at the +close of the scene with Albert, again fell, and a rap was +heard at the door. + +"Come in," said Monte Cristo with a voice that betrayed not +the least emotion; and immediately Beauchamp appeared. +"Good-evening, M. Beauchamp," said Monte Cristo, as if this +was the first time he had seen the journalist that evening; +"be seated." + +Beauchamp bowed, and, sitting down, "Sir," said he, "I just +now accompanied M. de Morcerf, as you saw." + +"And that means," replied Monte Cristo, laughing, "that you +had, probably, just dined together. I am happy to see, M. +Beauchamp, that you are more sober than he was." + +"Sir," said M. Beauchamp, "Albert was wrong, I acknowledge, +to betray so much anger, and I come, on my own account, to +apologize for him. And having done so, entirely on my own +account, be it understood, I would add that I believe you +too gentlemanly to refuse giving him some explanation +concerning your connection with Yanina. Then I will add two +words about the young Greek girl." Monte Cristo motioned him +to be silent. "Come," said he, laughing, "there are all my +hopes about to be destroyed." + +"How so?" asked Beauchamp. + +"Doubtless you wish to make me appear a very eccentric +character. I am, in your opinion, a Lara, a Manfred, a Lord +Ruthven; then, just as I am arriving at the climax, you +defeat your own end, and seek to make an ordinary man of me. +You bring me down to your own level, and demand +explanations! Indeed, M. Beauchamp, it is quite laughable." + +"Yet," replied Beauchamp haughtily, "there are occasions +when probity commands" -- + +"M. Beauchamp," interposed this strange man, "the Count of +Monte Cristo bows to none but the Count of Monte Cristo +himself. Say no more, I entreat you. I do what I please, M. +Beauchamp, and it is always well done." + +"Sir," replied the young man, "honest men are not to be paid +with such coin. I require honorable guaranties." + +"I am, sir, a living guaranty," replied Monte Cristo, +motionless, but with a threatening look; "we have both blood +in our veins which we wish to shed -- that is our mutual +guaranty. Tell the viscount so, and that to-morrow, before +ten o'clock, I shall see what color his is." + +"Then I have only to make arrangements for the duel," said +Beauchamp. + +"It is quite immaterial to me," said Monte Cristo, "and it +was very unnecessary to disturb me at the opera for such a +trifle. In France people fight with the sword or pistol, in +the colonies with the carbine, in Arabia with the dagger. +Tell your client that, although I am the insulted party, in +order to carry out my eccentricity, I leave him the choice +of arms, and will accept without discussion, without +dispute, anything, even combat by drawing lots, which is +always stupid, but with me different from other people, as I +am sure to gain." + +"Sure to gain!" repeated Beauchamp, looking with amazement +at the count. + +"Certainly," said Monte Cristo, slightly shrugging his +shoulders; "otherwise I would not fight with M. de Morcerf. +I shall kill him -- I cannot help it. Only by a single line +this evening at my house let me know the arms and the hour; +I do not like to be kept waiting." + +"Pistols, then, at eight o'clock, in the Bois de Vincennes," +said Beauchamp, quite disconcerted, not knowing if he was +dealing with an arrogant braggadocio or a supernatural +being. + +"Very well, sir," said Monte Cristo. "Now all that is +settled, do let me see the performance, and tell your friend +Albert not to come any more this evening; he will hurt +himself with all his ill-chosen barbarisms: let him go home +and go to sleep." Beauchamp left the box, perfectly amazed. +"Now," said Monte Cristo, turning towards Morrel, "I may +depend upon you, may I not?" + +"Certainly," said Morrel, "I am at your service, count; +still" -- + +"What?" + +"It is desirable I should know the real cause." + +"That is to say, you would rather not?" + +"No." + +"The young man himself is acting blindfolded, and knows not +the true cause, which is known only to God and to me; but I +give you my word, Morrel, that God, who does know it, will +be on our side." + +"Enough," said Morrel; "who is your second witness?" + +"I know no one in Paris, Morrel, on whom I could confer that +honor besides you and your brother Emmanuel. Do you think +Emmanuel would oblige me?" + +"I will answer for him, count." + +"Well? that is all I require. To-morrow morning, at seven +o'clock, you will be with me, will you not?" + +"We will." + +"Hush, the curtain is rising. Listen! I never lose a note of +this opera if I can avoid it; the music of William Tell is +so sweet." + + + +Chapter 89 +A Nocturnal Interview. + +Monte Cristo waited, according to his usual custom, until +Duprez had sung his famous "Suivez-moi;" then he rose and +went out. Morrel took leave of him at the door, renewing his +promise to be with him the next morning at seven o'clock, +and to bring Emmanuel. Then he stepped into his coupe, calm +and smiling, and was at home in five minutes. No one who +knew the count could mistake his expression when, on +entering, he said, "Ali, bring me my pistols with the ivory +cross." + +Ali brought the box to his master, who examined the weapons +with a solicitude very natural to a man who is about to +intrust his life to a little powder and shot. These were +pistols of an especial pattern, which Monte Cristo had had +made for target practice in his own room. A cap was +sufficient to drive out the bullet, and from the adjoining +room no one would have suspected that the count was, as +sportsmen would say, keeping his hand in. He was just taking +one up and looking for the point to aim at on a little iron +plate which served him as a target, when his study door +opened, and Baptistin entered. Before he had spoken a word, +the count saw in the next room a veiled woman, who had +followed closely after Baptistin, and now, seeing the count +with a pistol in his hand and swords on the table, rushed +in. Baptistin looked at his master, who made a sign to him, +and he went out, closing the door after him. "Who are you, +madame?" said the count to the veiled woman. + +The stranger cast one look around her, to be certain that +they were quite alone; then bending as if she would have +knelt, and joining her hands, she said with an accent of +despair, "Edmond, you will not kill my son?" The count +retreated a step, uttered a slight exclamation, and let fall +the pistol he held. "What name did you pronounce then, +Madame de Morcerf?" said he. "Yours!" cried she, throwing +back her veil, -- "yours, which I alone, perhaps, have not +forgotten. Edmond, it is not Madame de Morcerf who is come +to you, it is Mercedes." + +"Mercedes is dead, madame," said Monte Cristo; "I know no +one now of that name." + +"Mercedes lives, sir, and she remembers, for she alone +recognized you when she saw you, and even before she saw +you, by your voice, Edmond, -- by the simple sound of your +voice; and from that moment she has followed your steps, +watched you, feared you, and she needs not to inquire what +hand has dealt the blow which now strikes M. de Morcerf." + +"Fernand, do you mean?" replied Monte Cristo, with bitter +irony; "since we are recalling names, let us remember them +all." Monte Cristo had pronounced the name of Fernand with +such an expression of hatred that Mercedes felt a thrill of +horror run through every vein. "You see, Edmond, I am not +mistaken, and have cause to say, `Spare my son!'" + +"And who told you, madame, that I have any hostile +intentions against your son?" + +"No one, in truth; but a mother has twofold sight. I guessed +all; I followed him this evening to the opera, and, +concealed in a parquet box, have seen all." + +"If you have seen all, madame, you know that the son of +Fernand has publicly insulted me," said Monte Cristo with +awful calmness. + +"Oh, for pity's sake!" + +"You have seen that he would have thrown his glove in my +face if Morrel, one of my friends, had not stopped him." + +"Listen to me, my son has also guessed who you are, -- he +attributes his father's misfortunes to you." + +"Madame, you are mistaken, they are not misfortunes, -- it +is a punishment. It is not I who strike M. de Morcerf; it is +providence which punishes him." + +"And why do you represent providence?" cried Mercedes. "Why +do you remember when it forgets? What are Yanina and its +vizier to you, Edmond? What injury his Fernand Mondego done +you in betraying Ali Tepelini?" + +"Ah, madame," replied Monte Cristo, "all this is an affair +between the French captain and the daughter of Vasiliki. It +does not concern me, you are right; and if I have sworn to +revenge myself, it is not on the French captain, or the +Count of Morcerf, but on the fisherman Fernand, the husband +of Mercedes the Catalane." + +"Ah, sir!" cried the countess, "how terrible a vengeance for +a fault which fatality made me commit! -- for I am the only +culprit, Edmond, and if you owe revenge to any one, it is to +me, who had not fortitude to bear your absence and my +solitude." + +"But," exclaimed Monte Cristo, "why was I absent? And why +were you alone?" + +"Because you had been arrested, Edmond, and were a +prisoner." + +"And why was I arrested? Why was I a prisoner?" + +"I do not know," said Mercedes. "You do not, madame; at +least, I hope not. But I will tell you. I was arrested and +became a prisoner because, under the arbor of La Reserve, +the day before I was to marry you, a man named Danglars +wrote this letter, which the fisherman Fernand himself +posted." Monte Cristo went to a secretary, opened a drawer +by a spring, from which he took a paper which had lost its +original color, and the ink of which had become of a rusty +hue -- this he placed in the hands of Mercedes. It was +Danglars' letter to the king's attorney, which the Count of +Monte Cristo, disguised as a clerk from the house of Thomson +& French, had taken from the file against Edmond Dantes, on +the day he had paid the two hundred thousand francs to M. de +Boville. Mercedes read with terror the following lines: -- + +"The king's attorney is informed by a friend to the throne +and religion that one Edmond Dantes, second in command on +board the Pharaon, this day arrived from Smyrna, after +having touched at Naples and Porto-Ferrajo, is the bearer of +a letter from Murat to the usurper, and of another letter +from the usurper to the Bonapartist club in Paris. Ample +corroboration of this statement may be obtained by arresting +the above-mentioned Edmond Dantes, who either carries the +letter for Paris about with him, or has it at his father's +abode. Should it not be found in possession of either father +or son, then it will assuredly be discovered in the cabin +belonging to the said Dantes on board the Pharaon." + +"How dreadful!" said Mercedes, passing her hand across her +brow, moist with perspiration; "and that letter" -- + +"I bought it for two hundred thousand francs, madame," said +Monte Cristo; "but that is a trifle, since it enables me to +justify myself to you." + +"And the result of that letter" -- + +"You well know, madame, was my arrest; but you do not know +how long that arrest lasted. You do not know that I remained +for fourteen years within a quarter of a league of you, in a +dungeon in the Chateau d'If. You do not know that every day +of those fourteen years I renewed the vow of vengeance which +I had made the first day; and yet I was not aware that you +had married Fernand, my calumniator, and that my father had +died of hunger!" + +"Can it be?" cried Mercedes, shuddering. + +"That is what I heard on leaving my prison fourteen years +after I had entered it; and that is why, on account of the +living Mercedes and my deceased father, I have sworn to +revenge myself on Fernand, and -- I have revenged myself." + +"And you are sure the unhappy Fernand did that?" + +"I am satisfied, madame, that he did what I have told you; +besides, that is not much more odious than that a Frenchman +by adoption should pass over to the English; that a Spaniard +by birth should have fought against the Spaniards; that a +stipendiary of Ali should have betrayed and murdered Ali. +Compared with such things, what is the letter you have just +read? -- a lover's deception, which the woman who has +married that man ought certainly to forgive; but not so the +lover who was to have married her. Well, the French did not +avenge themselves on the traitor, the Spaniards did not +shoot the traitor, Ali in his tomb left the traitor +unpunished; but I, betrayed, sacrificed, buried, have risen +from my tomb, by the grace of God, to punish that man. He +sends me for that purpose, and here I am." The poor woman's +head and arms fell; her legs bent under her, and she fell on +her knees. "Forgive, Edmond, forgive for my sake, who love +you still!" + +The dignity of the wife checked the fervor of the lover and +the mother. Her forehead almost touched the carpet, when the +count sprang forward and raised her. Then seated on a chair, +she looked at the manly countenance of Monte Cristo, on +which grief and hatred still impressed a threatening +expression. "Not crush that accursed race?" murmured he; +"abandon my purpose at the moment of its accomplishment? +Impossible, madame, impossible!" + +"Edmond," said the poor mother, who tried every means, "when +I call you Edmond, why do you not call me Mercedes?" + +"Mercedes!" repeated Monte Cristo; "Mercedes! Well yes, you +are right; that name has still its charms, and this is the +first time for a long period that I have pronounced it so +distinctly. Oh, Mercedes, I have uttered your name with the +sigh of melancholy, with the groan of sorrow, with the last +effort of despair; I have uttered it when frozen with cold, +crouched on the straw in my dungeon; I have uttered it, +consumed with heat, rolling on the stone floor of my prison. +Mercedes, I must revenge myself, for I suffered fourteen +years, -- fourteen years I wept, I cursed; now I tell you, +Mercedes, I must revenge myself." + +The count, fearing to yield to the entreaties of her he had +so ardently loved, called his sufferings to the assistance +of his hatred. "Revenge yourself, then, Edmond," cried the +poor mother; "but let your vengeance fall on the culprits, +-- on him, on me, but not on my son!" + +"It is written in the good book," said Monte Cristo, "that +the sins of the fathers shall fall upon their children to +the third and fourth generation. Since God himself dictated +those words to his prophet, why should I seek to make myself +better than God?" + +"Edmond," continued Mercedes, with her arms extended towards +the count, "since I first knew you, I have adored your name, +have respected your memory. Edmond, my friend, do not compel +me to tarnish that noble and pure image reflected +incessantly on the mirror of my heart. Edmond, if you knew +all the prayers I have addressed to God for you while I +thought you were living and since I have thought you must be +dead! Yes, dead, alas! I imagined your dead body buried at +the foot of some gloomy tower, or cast to the bottom of a +pit by hateful jailers, and I wept! What could I do for you, +Edmond, besides pray and weep? Listen; for ten years I +dreamed each night the same dream. I had been told that you +had endeavored to escape; that you had taken the place of +another prisoner; that you had slipped into the winding +sheet of a dead body; that you had been thrown alive from +the top of the Chateau d'If, and that the cry you uttered as +you dashed upon the rocks first revealed to your jailers +that they were your murderers. Well, Edmond, I swear to you, +by the head of that son for whom I entreat your pity, -- +Edmond, for ten years I saw every night every detail of that +frightful tragedy, and for ten years I heard every night the +cry which awoke me, shuddering and cold. And I, too, Edmond +-- oh! believe me -- guilty as I was -- oh, yes, I, too, +have suffered much!" + +"Have you known what it is to have your father starve to +death in your absence?" cried Monte Cristo, thrusting his +hands into his hair; "have you seen the woman you loved +giving her hand to your rival, while you were perishing at +the bottom of a dungeon?" + +"No," interrupted Mercedes, "but I have seen him whom I +loved on the point of murdering my son." Mercedes uttered +these words with such deep anguish, with an accent of such +intense despair, that Monte Cristo could not restrain a sob. +The lion was daunted; the avenger was conquered. "What do +you ask of me?" said he, -- "your son's life? Well, he shall +live!" Mercedes uttered a cry which made the tears start +from Monte Cristo's eyes; but these tears disappeared almost +instantaneously, for, doubtless, God had sent some angel to +collect them -- far more precious were they in his eyes than +the richest pearls of Guzerat and Ophir. + +"Oh," said she, seizing the count's hand and raising it to +her lips; "oh, thank you, thank you, Edmond! Now you are +exactly what I dreamt you were, -- the man I always loved. +Oh, now I may say so!" + +"So much the better," replied Monte Cristo; "as that poor +Edmond will not have long to be loved by you. Death is about +to return to the tomb, the phantom to retire in darkness." + +"What do you say, Edmond?" + +"I say, since you command me, Mercedes, I must die." + +"Die? and why so? Who talks of dying? Whence have you these +ideas of death?" + +"You do not suppose that, publicly outraged in the face of a +whole theatre, in the presence of your friends and those of +your son -- challenged by a boy who will glory in my +forgiveness as if it were a victory -- you do not suppose +that I can for one moment wish to live. What I most loved +after you, Mercedes, was myself, my dignity, and that +strength which rendered me superior to other men; that +strength was my life. With one word you have crushed it, and +I die." + +"But the duel will not take place, Edmond, since you +forgive?" + +"It will take place," said Monte Cristo, in a most solemn +tone; "but instead of your son's blood to stain the ground, +mine will flow." Mercedes shrieked, and sprang towards Monte +Cristo, but, suddenly stopping, "Edmond," said she, "there +is a God above us, since you live and since I have seen you +again; I trust to him from my heart. While waiting his +assistance I trust to your word; you have said that my son +should live, have you not?" + +"Yes, madame, he shall live," said Monte Cristo, surprised +that without more emotion Mercedes had accepted the heroic +sacrifice he made for her. Mercedes extended her hand to the +count. + +"Edmond," said she, and her eyes were wet with tears while +looking at him to whom she spoke, "how noble it is of you, +how great the action you have just performed, how sublime to +have taken pity on a poor woman who appealed to you with +every chance against her, Alas, I am grown old with grief +more than with years, and cannot now remind my Edmond by a +smile, or by a look, of that Mercedes whom he once spent so +many hours in contemplating. Ah, believe me, Edmond, as I +told you, I too have suffered much; I repeat, it is +melancholy to pass one's life without having one joy to +recall, without preserving a single hope; but that proves +that all is not yet over. No, it is not finished; I feel it +by what remains in my heart. Oh, I repeat it, Edmond; what +you have just done is beautiful -- it is grand; it is +sublime." + +"Do you say so now, Mercedes? -- then what would you say if +you knew the extent of the sacrifice I make to you? Suppose +that the Supreme Being, after having created the world and +fertilized chaos, had paused in the work to spare an angel +the tears that might one day flow for mortal sins from her +immortal eyes; suppose that when everything was in readiness +and the moment had come for God to look upon his work and +see that it was good -- suppose he had snuffed out the sun +and tossed the world back into eternal night -- then -- even +then, Mercedes, you could not imagine what I lose in +sacrificing my life at this moment." Mercedes looked at the +count in a way which expressed at the same time her +astonishment, her admiration, and her gratitude. Monte +Cristo pressed his forehead on his burning hands, as if his +brain could no longer bear alone the weight of its thoughts. +"Edmond," said Mercedes, "I have but one word more to say to +you." The count smiled bitterly. "Edmond," continued she, +"you will see that if my face is pale, if my eyes are dull, +if my beauty is gone; if Mercedes, in short, no longer +resembles her former self in her features, you will see that +her heart is still the same. Adieu, then, Edmond; I have +nothing more to ask of heaven -- I have seen you again, and +have found you as noble and as great as formerly you were. +Adieu, Edmond, adieu, and thank you." + +But the count did not answer. Mercedes opened the door of +the study and had disappeared before he had recovered from +the painful and profound revery into which his thwarted +vengeance had plunged him. The clock of the Invalides struck +one when the carriage which conveyed Madame de Morcerf away +rolled on the pavement of the Champs-Elysees, and made Monte +Cristo raise his head. "What a fool I was," said he, "not to +tear my heart out on the day when I resolved to avenge +myself!" + + + +Chapter 90 +The Meeting. + +After Mercedes had left Monte Cristo, he fell into profound +gloom. Around him and within him the flight of thought +seemed to have stopped; his energetic mind slumbered, as the +body does after extreme fatigue. "What?" said he to himself, +while the lamp and the wax lights were nearly burnt out, and +the servants were waiting impatiently in the anteroom; +"what? this edifice which I have been so long preparing, +which I have reared with so much care and toil, is to be +crushed by a single touch, a word, a breath! Yes, this self, +of whom I thought so much, of whom I was so proud, who had +appeared so worthless in the dungeons of the Chateau d'If, +and whom I had succeeded in making so great, will be but a +lump of clay to-morrow. Alas, it is not the death of the +body I regret; for is not the destruction of the vital +principle, the repose to which everything is tending, to +which every unhappy being aspires, -- is not this the repose +of matter after which I so long sighed, and which I was +seeking to attain by the painful process of starvation when +Faria appeared in my dungeon? What is death for me? One step +farther into rest, -- two, perhaps, into silence. + +"No, it is not existence, then, that I regret, but the ruin +of projects so slowly carried out, so laboriously framed. +Providence is now opposed to them, when I most thought it +would be propitious. It is not God's will that they should +be accomplished. This burden, almost as heavy as a world, +which I had raised, and I had thought to bear to the end, +was too great for my strength, and I was compelled to lay it +down in the middle of my career. Oh, shall I then, again +become a fatalist, whom fourteen years of despair and ten of +hope had rendered a believer in providence? And all this -- +all this, because my heart, which I thought dead, was only +sleeping; because it has awakened and has begun to beat +again, because I have yielded to the pain of the emotion +excited in my breast by a woman's voice. Yet," continued the +count, becoming each moment more absorbed in the +anticipation of the dreadful sacrifice for the morrow, which +Mercedes had accepted, "yet, it is impossible that so +noble-minded a woman should thus through selfishness consent +to my death when I am in the prime of life and strength; it +is impossible that she can carry to such a point maternal +love, or rather delirium. There are virtues which become +crimes by exaggeration. No, she must have conceived some +pathetic scene; she will come and throw herself between us; +and what would be sublime here will there appear +ridiculous." The blush of pride mounted to the count's +forehead as this thought passed through his mind. +"Ridiculous?" repeated he; "and the ridicule will fall on +me. I ridiculous? No, I would rather die." + +By thus exaggerating to his own mind the anticipated +ill-fortune of the next day, to which he had condemned +himself by promising Mercedes to spare her son, the count at +last exclaimed, "Folly, folly, folly! -- to carry generosity +so far as to put myself up as a mark for that young man to +aim at. He will never believe that my death was suicide; and +yet it is important for the honor of my memory, -- and this +surely is not vanity, but a justifiable pride, -- it is +important the world should know that I have consented, by my +free will, to stop my arm, already raised to strike, and +that with the arm which has been so powerful against others +I have struck myself. It must be; it shall be." + +Seizing a pen, he drew a paper from a secret drawer in his +desk, and wrote at the bottom of the document (which was no +other than his will, made since his arrival in Paris) a sort +of codicil, clearly explaining the nature of his death. "I +do this, O my God," said he, with his eyes raised to heaven, +"as much for thy honor as for mine. I have during ten years +considered myself the agent of thy vengeance, and other +wretches, like Morcerf, Danglars, Villefort, even Morcerf +himself, must not imagine that chance has freed them from +their enemy. Let them know, on the contrary, that their +punishment, which had been decreed by providence, is only +delayed by my present determination, and although they +escape it in this world, it awaits them in another, and that +they are only exchanging time for eternity." + +While he was thus agitated by gloomy uncertainties, -- +wretched waking dreams of grief, -- the first rays of +morning pierced his windows, and shone upon the pale blue +paper on which he had just inscribed his justification of +providence. It was just five o'clock in the morning when a +slight noise like a stifled sigh reached his ear. He turned +his head, looked around him, and saw no one; but the sound +was repeated distinctly enough to convince him of its +reality. + +He arose, and quietly opening the door of the drawing-room, +saw Haidee, who had fallen on a chair, with her arms hanging +down and her beautiful head thrown back. She had been +standing at the door, to prevent his going out without +seeing her, until sleep, which the young cannot resist, had +overpowered her frame, wearied as she was with watching. The +noise of the door did not awaken her, and Monte Cristo gazed +at her with affectionate regret. "She remembered that she +had a son," said he; "and I forgot I had a daughter." Then, +shaking his head sorrowfully, "Poor Haidee," said he; "she +wished to see me, to speak to me; she has feared or guessed +something. Oh, I cannot go without taking leave of her; I +cannot die without confiding her to some one." He quietly +regained his seat, and wrote under the other lines: -- + +"I bequeath to Maximilian Morrel, captain of Spahis, -- and +son of my former patron, Pierre Morrel, shipowner at +Marseilles, -- the sum of twenty millions, a part of which +may be offered to his sister Julia and brother-in-law +Emmanuel, if he does not fear this increase of fortune may +mar their happiness. These twenty millions are concealed in +my grotto at Monte Cristo, of which Bertuccio knows the +secret. If his heart is free, and he will marry Haidee, the +daughter of Ali Pasha of Yanina, whom I have brought up with +the love of a father, and who has shown the love and +tenderness of a daughter for me, he will thus accomplish my +last wish. This will has already constituted Haidee heiress +of the rest of my fortune, consisting of lands, funds in +England, Austria, and Holland, furniture in my different +palaces and houses, and which without the twenty millions +and the legacies to my servants, may still amount to sixty +millions." + +He was finishing the last line when a cry behind him made +him start, and the pen fell from his hand. "Haidee," said +he. "did you read it?" + +"Oh, my lord," said she, "why are you writing thus at such +an hour? Why are you bequeathing all your fortune to me? Are +you going to leave me?" + +"I am going on a journey, dear child," said Monte Cristo, +with an expression of infinite tenderness and melancholy; +"and if any misfortune should happen to me" + +The count stopped. "Well?" asked the young girl, with an +authoritative tone the count had never observed before, and +which startled him. "Well, if any misfortune happen to me," +replied Monte Cristo, "I wish my daughter to be happy." +Haidee smiled sorrowfully, and shook her head. "Do you think +of dying, my lord?" said she. + +"The wise man, my child, has said, `It is good to think of +death.'" + +"Well, if you die," said she, "bequeath your fortune to +others, for if you die I shall require nothing;" and, taking +the paper, she tore it in four pieces, and threw it into the +middle of the room. Then, the effort having exhausted her +strength, she fell not asleep this time, but fainting on the +floor. The count leaned over her and raised her in his arms; +and seeing that sweet pale face, those lovely eyes closed, +that beautiful form motionless and to all appearance +lifeless, the idea occurred to him for the first time, that +perhaps she loved him otherwise than as a daughter loves a +father. + +"Alas," murmured he, with intense suffering, "I might, then, +have been happy yet." Then he carried Haidee to her room, +resigned her to the care of her attendants, and returning to +his study, which he shut quickly this time, he again copied +the destroyed will. As he was finishing, the sound of a +cabriolet entering the yard was heard. Monte Cristo +approached the window, and saw Maximilian and Emmanuel +alight. "Good," said he; "it was time," -- and he sealed his +will with three seals. A moment afterwards he heard a noise +in the drawing-room, and went to open the door himself. +Morrel was there; he had come twenty minutes before the time +appointed. "I am perhaps come too soon, count," said he, +"but I frankly acknowledge that I have not closed my eyes +all night, nor has any one in my house. I need to see you +strong in your courageous assurance, to recover myself." +Monte Cristo could not resist this proof of affection; he +not only extended his hand to the young man, but flew to him +with open arms. "Morrel," said he, "it is a happy day for +me, to feel that I am beloved by such a man as you. +Good-morning, Emmanuel; you will come with me then, +Maximilian?" + +"Did you doubt it?" said the young captain. + +"But if I were wrong" -- + +"I watched you during the whole scene of that challenge +yesterday; I have been thinking of your firmness all night, +and I said to myself that justice must be on your side, or +man's countenance is no longer to be relied on." + +"But, Morrel, Albert is your friend?" + +"Simply an acquaintance, sir." + +"You met on the same day you first saw me?" + +"Yes, that is true; but I should not have recollected it if +you had not reminded me." + +"Thank you, Morrel." Then ringing the bell once, "Look." +said he to Ali, who came immediately, "take that to my +solicitor. It is my will, Morrel. When I am dead, you will +go and examine it." + +"What?" said Morrel, "you dead?" + +"Yes; must I not be prepared for everything, dear friend? +But what did you do yesterday after you left me?" + +"I went to Tortoni's, where, as I expected, I found +Beauchamp and Chateau-Renaud. I own I was seeking them." + +"Why, when all was arranged?" + +"Listen, count; the affair is serious and unavoidable." + +"Did you doubt it!" + +"No; the offence was public, and every one is already +talking of it." + +"Well?" + +"Well, I hoped to get an exchange of arms, -- to substitute +the sword for the pistol; the pistol is blind." + +"Have you succeeded?" asked Monte Cristo quickly, with an +imperceptible gleam of hope. + +"No; for your skill with the sword is so well known." + +"Ah? -- who has betrayed me?" + +"The skilful swordsman whom you have conquered." + +"And you failed?" + +"They positively refused." + +"Morrel," said the count, "have you ever seen me fire a +pistol?" + +"Never." + +"Well, we have time; look." Monte Cristo took the pistols he +held in his hand when Mercedes entered, and fixing an ace of +clubs against the iron plate, with four shots he +successively shot off the four sides of the club. At each +shot Morrel turned pale. He examined the bullets with which +Monte Cristo performed this dexterous feat, and saw that +they were no larger than buckshot. "It is astonishing," said +he. "Look, Emmanuel." Then turning towards Monte Cristo, +"Count," said he, "in the name of all that is dear to you, I +entreat you not to kill Albert! -- the unhappy youth has a +mother." + +"You are right," said Monte Cristo; "and I have none." These +words were uttered in a tone which made Morrel shudder. "You +are the offended party, count." + +"Doubtless; what does that imply?" + +"That you will fire first." + +"I fire first?" + +"Oh, I obtained, or rather claimed that; we had conceded +enough for them to yield us that." + +"And at what distance?" + +"Twenty paces." A smile of terrible import passed over the +count's lips. "Morrel," said he, "do not forget what you +have just seen." + +"The only chance for Albert's safety, then, will arise from +your emotion." + +"I suffer from emotion?" said Monte Cristo. + +"Or from your generosity, my friend; to so good a marksman +as you are, I may say what would appear absurd to another." + +"What is that?" + +"Break his arm -- wound him -- but do not kill him." + +"I will tell you, Morrel," said the count, "that I do not +need entreating to spare the life of M. de Morcerf; he shall +be so well spared, that he will return quietly with his two +friends, while I" -- + +"And you?" + +"That will be another thing; I shall be brought home." + +"No, no," cried Maximilian, quite unable to restrain his +feelings. + +"As I told you, my dear Morrel, M. de Morcerf will kill me." +Morrel looked at him in utter amazement. "But what has +happened, then, since last evening, count?" + +"The same thing that happened to Brutus the night before the +battle of Philippi; I have seen a ghost." + +"And that ghost" -- + +"Told me, Morrel, that I had lived long enough." Maximilian +and Emmanuel looked at each other. Monte Cristo drew out his +watch. "Let us go," said he; "it is five minutes past seven, +and the appointment was for eight o'clock." A carriage was +in readiness at the door. Monte Cristo stepped into it with +his two friends. He had stopped a moment in the passage to +listen at a door, and Maximilian and Emmanuel, who had +considerately passed forward a few steps, thought they heard +him answer by a sigh to a sob from within. As the clock +struck eight they drove up to the place of meeting. "We are +first," said Morrel, looking out of the window. "Excuse me, +sir," said Baptistin, who had followed his master with +indescribable terror, "but I think I see a carriage down +there under the trees." + +Monte Cristo sprang lightly from the carriage, and offered +his hand to assist Emmanuel and Maximilian. The latter +retained the count's hand between his. "I like," said he, +"to feel a hand like this, when its owner relies on the +goodness of his cause." + +"It seems to me," said Emmanuel, "that I see two young men +down there, who are evidently, waiting." Monte Cristo drew +Morrel a step or two behind his brother-in-law. +"Maximilian," said he, "are your affections disengaged?" +Morrel looked at Monte Cristo with astonishment. "I do not +seek your confidence, my dear friend. I only ask you a +simple question; answer it; -- that is all I require." + +"I love a young girl, count." + +"Do you love her much?" + +"More than my life." + +"Another hope defeated!" said the count. Then, with a sigh, +"Poor Haidee!" murmured he. + +"To tell the truth, count, if I knew less of you, I should +think that you were less brave than you are." + +"Because I sigh when thinking of some one I am leaving? +Come, Morrel, it is not like a soldier to be so bad a judge +of courage. Do I regret life? What is it to me, who have +passed twenty years between life and death? Moreover, do not +alarm yourself, Morrel; this weakness, if it is such, is +betrayed to you alone. I know the world is a drawing-room, +from which we must retire politely and honestly; that is, +with a bow, and our debts of honor paid." + +"That is to the purpose. Have you brought your arms?" + +"I? -- what for? I hope these gentlemen have theirs." + +"I will inquire," said Morrel. + +"Do; but make no treaty -- you understand me?" + +"You need not fear." Morrel advanced towards Beauchamp and +Chateau-Renaud, who, seeing his intention, came to meet him. +The three young men bowed to each other courteously, if not +affably. + +"Excuse me, gentlemen," said Morrel, "but I do not see M. de +Morcerf." + +"He sent us word this morning," replied Chateau-Renaud, +"that he would meet us on the ground." + +"Ah," said Morrel. Beauchamp pulled out his watch. "It is +only five minutes past eight," said he to Morrel; "there is +not much time lost yet." + +"Oh, I made no allusion of that kind," replied Morrel. + +"There is a carriage coming," said Chateau-Renaud. It +advanced rapidly along one of the avenues leading towards +the open space where they were assembled. "You are doubtless +provided with pistols, gentlemen? M. de Monte Cristo yields +his right of using his." + +"We had anticipated this kindness on the part of the count," +said Beauchamp, "and I have brought some weapons which I +bought eight or ten days since, thinking to want them on a +similar occasion. They are quite new, and have not yet been +used. Will you examine them." + +"Oh, M. Beauchamp, if you assure me that M. de Morcerf does +not know these pistols, you may readily believe that your +word will be quite sufficient." + +"Gentlemen," said Chateau-Renaud, "it is not Morcerf coming +in that carriage; -- faith, it is Franz and Debray!" The two +young men he announced were indeed approaching. "What chance +brings you here, gentlemen?" said Chateau-Renaud, shaking +hands with each of them. "Because," said Debray, "Albert +sent this morning to request us to come." Beauchamp and +Chateau-Renaud exchanged looks of astonishment. "I think I +understand his reason," said Morrel. + +"What is it?" + +"Yesterday afternoon I received a letter from M. de Morcerf, +begging me to attend the opera." + +"And I," said Debray. + +"And I also," said Franz. + +"And we, too," added Beauchamp and Chateau-Renaud. + +"Having wished you all to witness the challenge, he now +wishes you to be present at the combat." + +"Exactly so," said the young men; "you have probably guessed +right." + +"But, after all these arrangements, he does not come +himself," said Chateau-Renaud. "Albert is ten minutes after +time." + +"There he comes," said Beauchamp, "on horseback, at full +gallop, followed by a servant." + +"How imprudent," said Chateau-Renaud, "to come on horseback +to fight a duel with pistols, after all the instructions I +had given him." + +"And besides," said Beauchamp, "with a collar above his +cravat, an open coat and white waistcoat! Why has he not +painted a spot upon his heart? -- it would have been more +simple." Meanwhile Albert had arrived within ten paces of +the group formed by the five young men. He jumped from his +horse, threw the bridle on his servant's arms, and joined +them. He was pale, and his eyes were red and swollen; it was +evident that he had not slept. A shade of melancholy gravity +overspread his countenance, which was not natural to him. "I +thank you, gentlemen," said he, "for having complied with my +request; I feel extremely grateful for this mark of +friendship." Morrel had stepped back as Morcerf approached, +and remained at a short distance. "And to you also, M. +Morrel, my thanks are due. Come, there cannot be too many." + +"Sir," said Maximilian, "you are not perhaps aware that I am +M. de Monte Cristo's friend?" + +"I was not sure, but I thought it might be so. So much the +better; the more honorable men there are here the better I +shall be satisfied." + +"M. Morrel," said Chateau-Renaud, "will you apprise the +Count of Monte Cristo that M. de Morcerf is arrived, and we +are at his disposal?" Morrel was preparing to fulfil his +commission. Beauchamp had meanwhile drawn the box of pistols +from the carriage. "Stop, gentlemen," said Albert; "I have +two words to say to the Count of Monte Cristo." + +"In private?" asked Morrel. + +"No, sir; before all who are here." + +Albert's witnesses looked at each other. Franz and Debray +exchanged some words in a whisper, and Morrel, rejoiced at +this unexpected incident, went to fetch the count, who was +walking in a retired path with Emmanuel. "What does he want +with me?" said Monte Cristo. + +"I do not know, but he wishes to speak to you." + +"Ah?" said Monte Cristo, "I trust he is not going to tempt +me by some fresh insult!" + +"I do not think that such is his intention," said Morrel. + +The count advanced, accompanied by Maximilian and Emmanuel. +His calm and serene look formed a singular contrast to +Albert's grief-stricken face, who approached also, followed +by the other four young men. When at three paces distant +from each other, Albert and the count stopped. + +"Approach, gentlemen," said Albert; "I wish you not to lose +one word of what I am about to have the honor of saying to +the Count of Monte Cristo, for it must be repeated by you to +all who will listen to it, strange as it may appear to you." + +"Proceed, sir," said the count. + +"Sir," said Albert, at first with a tremulous voice, but +which gradually because firmer, "I reproached you with +exposing the conduct of M. de Morcerf in Epirus, for guilty +as I knew he was, I thought you had no right to punish him; +but I have since learned that you had that right. It is not +Fernand Mondego's treachery towards Ali Pasha which induces +me so readily to excuse you, but the treachery of the +fisherman Fernand towards you, and the almost unheard-of +miseries which were its consequences; and I say, and +proclaim it publicly, that you were justified in revenging +yourself on my father, and I, his son, thank you for not +using greater severity." + +Had a thunderbolt fallen in the midst of the spectators of +this unexpected scene, it would not have surprised them more +than did Albert's declaration. As for Monte Cristo, his eyes +slowly rose towards heaven with an expression of infinite +gratitude. He could not understand how Albert's fiery +nature, of which he had seen so much among the Roman +bandits, had suddenly stooped to this humiliation. He +recognized the influence of Mercedes, and saw why her noble +heart had not opposed the sacrifice she knew beforehand +would be useless. "Now, sir," said Albert, "if you think my +apology sufficient, pray give me your hand. Next to the +merit of infallibility which you appear to possess, I rank +that of candidly acknowledging a fault. But this confession +concerns me only. I acted well as a man, but you have acted +better than man. An angel alone could have saved one of us +from death -- that angel came from heaven, if not to make us +friends (which, alas, fatality renders impossible), at least +to make us esteem each other." + +Monte Cristo, with moistened eye, heaving breast, and lips +half open, extended to Albert a hand which the latter +pressed with a sentiment resembling respectful fear. +"Gentlemen," said he, "M. de Monte Cristo receives my +apology. I had acted hastily towards him. Hasty actions are +generally bad ones. Now my fault is repaired. I hope the +world will not call me cowardly for acting as my conscience +dictated. But if any one should entertain a false opinion of +me," added he, drawing himself up as if he would challenge +both friends and enemies, "I shall endeavor to correct his +mistake." + +"What happened during the night?" asked Beauchamp of +Chateau-Renaud; "we appear to make a very sorry figure +here." + +"In truth, what Albert has just done is either very +despicable or very noble," replied the baron. + +"What can it mean?" said Debray to Franz. "The Count of +Monte Cristo acts dishonorably to M. de Morcerf, and is +justified by his son! Had I ten Yaninas in my family, I +should only consider myself the more bound to fight ten +times." As for Monte Cristo, his head was bent down, his +arms were powerless. Bowing under the weight of twenty-four +years' reminiscences, he thought not of Albert, of +Beauchamp, of Chateau-Renaud, or of any of that group; but +he thought of that courageous woman who had come to plead +for her son's life, to whom he had offered his, and who had +now saved it by the revelation of a dreadful family secret, +capable of destroying forever in that young man's heart +every feeling of filial piety. + +"Providence still," murmured he; "now only am I fully +convinced of being the emissary of God!" + + + +Chapter 91 +Mother and Son. + +The Count of Monte Cristo bowed to the five young men with a +melancholy and dignified smile, and got into his carriage +with Maximilian and Emmanuel. Albert, Beauchamp, and +Chateau-Renaud remained alone. Albert looked at his two +friends, not timidly, but in a way that appeared to ask +their opinion of what he had just done. + +"Indeed, my dear friend," said Beauchamp first, who had +either the most feeling or the least dissimulation, "allow +me to congratulate you; this is a very unhoped-for +conclusion of a very disagreeable affair." + +Albert remained silent and wrapped in thought. +Chateau-Renaud contented himself with tapping his boot with +his flexible cane. "Are we not going?" said he, after this +embarrassing silence. "When you please," replied Beauchamp; +"allow me only to compliment M. de Morcerf, who has given +proof to-day of rare chivalric generosity." + +"Oh, yes," said Chateau-Renaud. + +"It is magnificent," continued Beauchamp, "to be able to +exercise so much self-control!" + +"Assuredly; as for me, I should have been incapable of it," +said Chateau-Renaud, with most significant coolness. + +"Gentlemen," interrupted Albert, "I think you did not +understand that something very serious had passed between M. +de Monte Cristo and myself." + +"Possibly, possibly," said Beauchamp immediately; "but every +simpleton would not be able to understand your heroism, and +sooner or later you will find yourself compelled to explain +it to them more energetically than would be convenient to +your bodily health and the duration of your life. May I give +you a friendly counsel? Set out for Naples, the Hague, or +St. Petersburg -- calm countries, where the point of honor +is better understood than among our hot-headed Parisians. +Seek quietude and oblivion, so that you may return peaceably +to France after a few years. Am I not right, M. de +Chateau-Renaud?" + +"That is quite my opinion," said the gentleman; "nothing +induces serious duels so much as a duel forsworn." + +"Thank you, gentlemen," replied Albert, with a smile of +indifference; "I shall follow your advice -- not because you +give it, but because I had before intended to quit France. I +thank you equally for the service you have rendered me in +being my seconds. It is deeply engraved on my heart, and, +after what you have just said, I remember that only." +Chateau-Renaud and Beauchamp looked at each other; the +impression was the same on both of them, and the tone in +which Morcerf had just expressed his thanks was so +determined that the position would have become embarrassing +for all if the conversation had continued. + +"Good-by, Albert," said Beauchamp suddenly, carelessly +extending his hand to the young man. The latter did not +appear to arouse from his lethargy; in fact, he did not +notice the offered hand. "Good-by," said Chateau-Renaud in +his turn, keeping his little cane in his left hand, and +saluting with his right. Albert's lips scarcely whispered +"Good-by," but his look was more explicit; it expressed a +whole poem of restrained anger, proud disdain, and generous +indignation. He preserved his melancholy and motionless +position for some time after his two friends had regained +their carriage; then suddenly unfastening his horse from the +little tree to which his servant had tied it, he mounted and +galloped off in the direction of Paris. + +In a quarter of an hour he was entering the house in the Rue +du Helder. As he alighted, he thought he saw his father's +pale face behind the curtain of the count's bedroom. Albert +turned away his head with a sigh, and went to his own +apartments. He cast one lingering look on all the luxuries +which had rendered life so easy and so happy since his +infancy; he looked at the pictures, whose faces seemed to +smile, and the landscapes, which appeared painted in +brighter colors. Then he took away his mother's portrait, +with its oaken frame, leaving the gilt frame from which he +took it black and empty. Then he arranged all his beautiful +Turkish arms, his fine English guns, his Japanese china, his +cups mounted in silver, his artistic bronzes by Feucheres +and Barye; examined the cupboards, and placed the key in +each; threw into a drawer of his secretary, which he left +open, all the pocket-money he had about him, and with it the +thousand fancy jewels from his vases and his jewel-boxes; +then he made an exact inventory of everything, and placed it +in the most conspicuous part of the table, after putting +aside the books and papers which had collected there. + +At the beginning of this work, his servant, notwithstanding +orders to the contrary, came to his room. "What do you +want?" asked he, with a more sorrowful than angry tone. +"Pardon me, sir," replied the valet; "you had forbidden me +to disturb you, but the Count of Morcerf has called me." + +"Well!" said Albert. + +"I did not like to go to him without first seeing you." + +"Why?" + +"Because the count is doubtless aware that I accompanied you +to the meeting this morning." + +"It is probable," said Albert. + +"And since he has sent for me, it is doubtless to question +me on what happened there. What must I answer?" + +"The truth." + +"Then I shall say the duel did not take place?" + +"You will say I apologized to the Count of Monte Cristo. +Go." + +The valet bowed and retired, and Albert returned to his +inventory. As he was finishing this work, the sound of +horses prancing in the yard, and the wheels of a carriage +shaking his window, attracted his attention. He approached +the window, and saw his father get into it, and drive away. +The door was scarcely closed when Albert bent his steps to +his mother's room; and, no one being there to announce him, +he advanced to her bed-chamber, and distressed by what he +saw and guessed, stopped for one moment at the door. As if +the same idea had animated these two beings, Mercedes was +doing the same in her apartments that he had just done in +his. Everything was in order, -- laces, dresses, jewels, +linen, money, all were arranged in the drawers, and the +countess was carefully collecting the keys. Albert saw all +these preparations and understood them, and exclaiming, "My +mother!" he threw his arms around her neck. + +The artist who could have depicted the expression of these +two countenances would certainly have made of them a +beautiful picture. All these proofs of an energetic +resolution, which Albert did not fear on his own account, +alarmed him for his mother. "What are you doing?" asked he. + +"What were you doing?" replied she. + +"Oh, my mother!" exclaimed Albert, so overcome he could +scarcely speak; "it is not the same with you and me -- you +cannot have made the same resolution I have, for I have come +to warn you that I bid adieu to your house, and -- and to +you." + +"I also," replied Mercedes, "am going, and I acknowledge I +had depended on your accompanying me; have I deceived +myself?" + +"Mother," said Albert with firmness. "I cannot make you +share the fate I have planned for myself. I must live +henceforth without rank and fortune, and to begin this hard +apprenticeship I must borrow from a friend the loaf I shall +eat until I have earned one. So, my dear mother, I am going +at once to ask Franz to lend me the small sum I shall +require to supply my present wants." + +"You, my poor child, suffer poverty and hunger? Oh, do not +say so; it will break my resolutions." + +"But not mine, mother," replied Albert. "I am young and +strong; I believe I am courageous, and since yesterday I +have learned the power of will. Alas, my dear mother, some +have suffered so much, and yet live, and have raised a new +fortune on the ruin of all the promises of happiness which +heaven had made them -- on the fragments of all the hope +which God had given them! I have seen that, mother; I know +that from the gulf in which their enemies have plunged them +they have risen with so much vigor and glory that in their +turn they have ruled their former conquerors, and have +punished them. No. mother; from this moment I have done with +the past, and accept nothing from it -- not even a name, +because you can understand that your son cannot bear the +name of a man who ought to blush for it before another." + +"Albert, my child," said Mercedes, "if I had a stronger +heart that is the counsel I would have given you; your +conscience has spoken when my voice became too weak; listen +to its dictates. You had friends, Albert; break off their +acquaintance. But do not despair; you have life before you, +my dear Albert, for you are yet scarcely twenty-two years +old; and as a pure heart like yours wants a spotless name, +take my father's -- it was Herrera. I am sure, my dear +Albert, whatever may be your career, you will soon render +that name illustrious. Then, my son, return to the world +still more brilliant because of your former sorrows; and if +I am wrong, still let me cherish these hopes, for I have no +future to look forward to. For me the grave opens when I +pass the threshold of this house." + +"I will fulfil all your wishes, my dear mother," said the +young man. "Yes, I share your hopes; the anger of heaven +will not pursue us, since you are pure and I am innocent. +But, since our resolution is formed, let us act promptly. M. +de Morcerf went out about half an hour ago; the opportunity +in favorable to avoid an explanation." + +"I am ready, my son," said Mercedes. Albert ran to fetch a +carriage. He recollected that there was a small furnished +house to let in the Rue de Saints Peres, where his mother +would find a humble but decent lodging, and thither he +intended conducting the countess. As the carriage stopped at +the door, and Albert was alighting, a man approached and +gave him a letter. Albert recognized the bearer. "From the +count," said Bertuccio. Albert took the letter, opened, and +read it, then looked round for Bertuccio, but he was gone. +He returned to Mercedes with tears in his eyes and heaving +breast, and without uttering a word he gave her the letter. +Mercedes read: -- + +Albert, -- While showing you that I have discovered your +plans, I hope also to convince you of my delicacy. You are +free, you leave the count's house, and you take your mother +to your home; but reflect, Albert, you owe her more than +your poor noble heart can pay her. Keep the struggle for +yourself, bear all the suffering, but spare her the trial of +poverty which must accompany your first efforts; for she +deserves not even the shadow of the misfortune which has +this day fallen on her, and providence is not willing that +the innocent should suffer for the guilty. I know you are +going to leave the Rue du Helder without taking anything +with you. Do not seek to know how I discovered it; I know it +-- that is sufficient. + +Now, listen, Albert. Twenty-four years ago I returned, proud +and joyful, to my country. I had a betrothed, Albert, a +lovely girl whom I adored, and I was bringing to my +betrothed a hundred and fifty louis, painfully amassed by +ceaseless toil. This money was for her; I destined it for +her, and, knowing the treachery of the sea I buried our +treasure in the little garden of the house my father lived +in at Marseilles, on the Allees de Meillan. Your mother, +Albert, knows that poor house well. A short time since I +passed through Marseilles, and went to see the old place, +which revived so many painful recollections; and in the +evening I took a spade and dug in the corner of the garden +where I had concealed my treasure. The iron box was there -- +no one had touched it -- under a beautiful fig-tree my +father had planted the day I was born, which overshadowed +the spot. Well, Albert, this money, which was formerly +designed to promote the comfort and tranquillity of the +woman I adored, may now, through strange and painful +circumstances, be devoted to the same purpose. Oh, feel for +me, who could offer millions to that poor woman, but who +return her only the piece of black bread forgotten under my +poor roof since the day I was torn from her I loved. You are +a generous man, Albert, but perhaps you may be blinded by +pride or resentment; if you refuse me, if you ask another +for what I have a right to offer you, I will say it is +ungenerous of you to refuse the life of your mother at the +hands of a man whose father was allowed by your father to +die in all the horrors of poverty and despair. + +Albert stood pale and motionless to hear what his mother +would decide after she had finished reading this letter. +Mercedes turned her eyes with an ineffable look towards +heaven. "I accept it," said she; "he has a right to pay the +dowry, which I shall take with me to some convent!" Putting +the letter in her bosom, she took her son's arm, and with a +firmer step than she even herself expected she went +down-stairs. + + + +Chapter 92 +The Suicide. + +Meanwhile Monte Cristo had also returned to town with +Emmanuel and Maximilian. Their return was cheerful. Emmanuel +did not conceal his joy at the peaceful termination of the +affair, and was loud in his expressions of delight. Morrel, +in a corner of the carriage, allowed his brother-in-law's +gayety to expend itself in words, while he felt equal inward +joy, which, however, betrayed itself only in his +countenance. At the Barriere du Trone they met Bertuccio, +who was waiting there, motionless as a sentinel at his post. +Monte Cristo put his head out of the window, exchanged a few +words with him in a low tone, and the steward disappeared. +"Count," said Emmanuel, when they were at the end of the +Place Royale, "put me down at my door, that my wife may not +have a single moment of needless anxiety on my account or +yours." + +"If it were not ridiculous to make a display of our triumph, +I would invite the count to our house; besides that, he +doubtless has some trembling heart to comfort. So we will +take leave of our friend, and let him hasten home." + +"Stop a moment," said Monte Cristo; "do not let me lose both +my companions. Return, Emmanuel, to your charming wife, and +present my best compliments to her; and do you, Morrel, +accompany me to the Champs Elysees." + +"Willingly," said Maximilian; "particularly as I have +business in that quarter." + +"Shall we wait breakfast for you?" asked Emmanuel. + +"No," replied the young man. The door was closed, and the +carriage proceeded. "See what good fortune I brought you!" +said Morrel, when he was alone with the count. "Have you not +thought so?" + +"Yes," said Monte Cristo; "for that reason I wished to keep +you near me." + +"It is miraculous!" continued Morrel, answering his own +thoughts. + +"What?" said Monte Cristo. + +"What has just happened." + +"Yes," said the Count, "you are right -- it is miraculous." + +"For Albert is brave," resumed Morrel. + +"Very brave," said Monte Cristo; "I have seen him sleep with +a sword suspended over his head." + +"And I know he has fought two duels," said Morrel. "How can +you reconcile that with his conduct this morning?" + +"All owing to your influence," replied Monte Cristo, +smiling. + +"It is well for Albert he is not in the army," said Morrel. + +"Why?" + +"An apology on the ground!" said the young captain, shaking +his head. + +"Come," said the count mildly, "do not entertain the +prejudices of ordinary men, Morrel! Acknowledge, that if +Albert is brave, he cannot be a coward; he must then have +had some reason for acting as he did this morning, and +confess that his conduct is more heroic than otherwise." + +"Doubtless, doubtless," said Morrel; "but I shall say, like +the Spaniard, `He has not been so brave to-day as he was +yesterday.'" + +"You will breakfast with me, will you not, Morrel?" said the +count, to turn the conversation. + +"No; I must leave you at ten o'clock." + +"Your engagement was for breakfast, then?" said the count. + +Morrel smiled, and shook his head. "Still you must breakfast +somewhere." + +"But if I am not hungry?" said the young man. + +"Oh," said the count, "I only know two things which destroy +the appetite, -- grief -- and as I am happy to see you very +cheerful, it is not that -- and love. Now after what you +told me this morning of your heart, I may believe" -- + +"Well, count," replied Morrel gayly, "I will not dispute +it." + +"But you will not make me your confidant, Maximilian?" said +the count, in a tone which showed how gladly he would have +been admitted to the secret. + +"I showed you this morning that I had a heart, did I not, +count?" Monte Cristo only answered by extending his hand to +the young man. "Well," continued the latter, "since that +heart is no longer with you in the Bois de Vincennes, it is +elsewhere, and I must go and find it." + +"Go," said the count deliberately; "go, dear friend, but +promise me if you meet with any obstacle to remember that I +have some power in this world, that I am happy to use that +power in the behalf of those I love, and that I love you, +Morrel." + +"I will remember it," said the young man, "as selfish +children recollect their parents when they want their aid. +When I need your assistance, and the moment arrives, I will +come to you, count." + +"Well, I rely upon your promise. Good-by, then." + +"Good-by, till we meet again." They had arrived in the +Champs Elysees. Monte Cristo opened the carriage-door, +Morrel sprang out on the pavement, Bertuccio was waiting on +the steps. Morrel disappeared down the Avenue de Marigny, +and Monte Cristo hastened to join Bertuccio. + +"Well?" asked he. + +"She is going to leave her house," said the steward. + +"And her son?" + +"Florentin, his valet, thinks he is going to do the same." + +"Come this way." Monte Cristo took Bertuccio into his study, +wrote the letter we have seen, and gave it to the steward. +"Go," said he quickly. "But first, let Haidee be informed +that I have returned." + +"Here I am," said the young girl, who at the sound of the +carriage had run down-stairs and whose face was radiant with +joy at seeing the count return safely. Bertuccio left. Every +transport of a daughter finding a father, all the delight of +a mistress seeing an adored lover, were felt by Haidee +during the first moments of this meeting, which she had so +eagerly expected. Doubtless, although less evident, Monte +Cristo's joy was not less intense. Joy to hearts which have +suffered long is like the dew on the ground after a long +drought; both the heart and the ground absorb that +benificent moisture falling on them, and nothing is +outwardly apparent. + +Monte Cristo was beginning to think, what he had not for a +long time dared to believe, that there were two Mercedes in +the world, and he might yet be happy. His eye, elate with +happiness, was reading eagerly the tearful gaze of Haidee, +when suddenly the door opened. The count knit his brow. "M. +de Morcerf!" said Baptistin, as if that name sufficed for +his excuse. In fact, the count's face brightened. + +"Which," asked he, "the viscount or the count?" + +"The count." + +"Oh," exclaimed Haidee, "is it not yet over?" + +"I know not if it is finished, my beloved child," said Monte +Cristo, taking the young girl's hands; "but I do know you +have nothing more to fear." + +"But it is the wretched" -- + +"That man cannot injure me, Haidee," said Monte Cristo; "it +was his son alone that there was cause to fear." + +"And what I have suffered," said the young girl, "you shall +never know, my lord." Monte Cristo smiled. "By my father's +tomb," said he, extending his hand over the head of the +young girl, "I swear to you, Haidee, that if any misfortune +happens, it will not be to me." + +"I believe you, my lord, as implicitly as if God had spoken +to me," said the young girl, presenting her forehead to him. +Monte Cristo pressed on that pure beautiful forehead a kiss +which made two hearts throb at once, the one violently, the +other heavily. "Oh," murmured the count, "shall I then be +permitted to love again? Ask M. de Morcerf into the +drawing-room," said he to Baptistin, while he led the +beautiful Greek girl to a private staircase. + +We must explain this visit, which although expected by Monte +Cristo, is unexpected to our readers. While Mercedes, as we +have said, was making a similar inventory of her property to +Albert's, while she was arranging her jewels, shutting her +drawers, collecting her keys, to leave everything in perfect +order, she did not perceive a pale and sinister face at a +glass door which threw light into the passage, from which +everything could be both seen and heard. He who was thus +looking, without being heard or seen, probably heard and saw +all that passed in Madame de Morcerf's apartments. From that +glass door the pale-faced man went to the count's bedroom +and raised with a constricted hand the curtain of a window +overlooking the court-yard. He remained there ten minutes, +motionless and dumb, listening to the beating of his own +heart. For him those ten minutes were very long. It was then +Albert, returning from his meeting with the count, perceived +his father watching for his arrival behind a curtain, and +turned aside. The count's eye expanded; he knew Albert had +insulted the count dreadfully, and that in every country in +the world such an insult would lead to a deadly duel. Albert +returned safely -- then the count was revenged. + +An indescribable ray of joy illumined that wretched +countenance like the last ray of the sun before it +disappears behind the clouds which bear the aspect, not of a +downy couch, but of a tomb. But as we have said, he waited +in vain for his son to come to his apartment with the +account of his triumph. He easily understood why his son did +not come to see him before he went to avenge his father's +honor; but when that was done, why did not his son come and +throw himself into his arms? + +It was then, when the count could not see Albert, that he +sent for his servant, who he knew was authorized not to +conceal anything from him. Ten minutes afterwards, General +Morcerf was seen on the steps in a black coat with a +military collar, black pantaloons, and black gloves. He had +apparently given previous orders, for as he reached the +bottom step his carriage came from the coach-house ready for +him. The valet threw into the carriage his military cloak, +in which two swords were wrapped, and, shutting the door, he +took his seat by the side of the coachman. The coachman +stooped down for his orders. + +"To the Champs Elysees," said the general; "the Count of +Monte Cristo's. Hurry!" The horses bounded beneath the whip; +and in five minutes they stopped before the count's door. M. +de Morcerf opened the door himself, and as the carriage +rolled away he passed up the walk, rang, and entered the +open door with his servant. + +A moment afterwards, Baptistin announced the Count of +Morcerf to Monte Cristo, and the latter, leading Haidee +aside, ordered that Morcerf be asked into the drawing-room. +The general was pacing the room the third time when, in +turning, he perceived Monte Cristo at the door. "Ah, it is +M. de Morcerf," said Monte Cristo quietly; "I thought I had +not heard aright." + +"Yes, it is I," said the count, whom a frightful contraction +of the lips prevented from articulating freely. + +"May I know the cause which procures me the pleasure of +seeing M. de Morcerf so early?" + +"Had you not a meeting with my son this morning?" asked the +general. + +"I had," replied the count. + +"And I know my son had good reasons to wish to fight with +you, and to endeavor to kill you." + +"Yes, sir, he had very good ones; but you see that in spite +of them he has not killed me, and did not even fight." + +"Yet he considered you the cause of his father's dishonor, +the cause of the fearful ruin which has fallen on my house." + +"It is true, sir," said Monte Cristo with his dreadful +calmness; "a secondary cause, but not the principal." + +"Doubtless you made, then, some apology or explanation?" + +"I explained nothing, and it is he who apologized to me." + +"But to what do you attribute this conduct?" + +"To the conviction, probably, that there was one more guilty +than I." + +"And who was that?" + +"His father." + +"That may be," said the count, turning pale; "but you know +the guilty do not like to find themselves convicted." + +"I know it, and I expected this result." + +"You expected my son would be a coward?" cried the count. + +"M. Albert de Morcerf is no coward!" said Monte Cristo. + +"A man who holds a sword in his hand, and sees a mortal +enemy within reach of that sword, and does not fight, is a +coward! Why is he not here that I may tell him so?" + +"Sir." replied Monte Cristo coldly, "I did not expect that +you had come here to relate to me your little family +affairs. Go and tell M. Albert that, and he may know what to +answer you." + +"Oh, no, no," said the general, smiling faintly, "I did not +come for that purpose; you are right. I came to tell you +that I also look upon you as my enemy. I came to tell you +that I hate you instinctively; that it seems as if I had +always known you, and always hated you; and, in short, since +the young people of the present day will not fight, it +remains for us to do so. Do you think so, sir?" + +"Certainly. And when I told you I had foreseen the result, +it is the honor of your visit I alluded to." + +"So much the better. Are you prepared?" + +"Yes, sir." + +"You know that we shall fight till one of us is dead," said +the general, whose teeth were clinched with rage. "Until one +of us dies," repeated Monte Cristo, moving his head slightly +up and down. + +"Let us start, then; we need no witnesses." + +"Very true," said Monte Cristo; "it is unnecessary, we know +each other so well!" + +"On the contrary," said the count, "we know so little of +each other." + +"Indeed?" said Monte Cristo, with the same indomitable +coolness; "let us see. Are you not the soldier Fernand who +deserted on the eve of the battle of Waterloo? Are you not +the Lieutenant Fernand who served as guide and spy to the +French army in Spain? Are you not the Captain Fernand who +betrayed, sold, and murdered his benefactor, Ali? And have +not all these Fernands, united, made Lieutenant-General, the +Count of Morcerf, peer of France?" + +"Oh," cried the general, as it branded with a hot iron, +"wretch, -- to reproach me with my shame when about, +perhaps, to kill me! No, I did not say I was a stranger to +you. I know well, demon, that you have penetrated into the +darkness of the past, and that you have read, by the light +of what torch I know not, every page of my life; but perhaps +I may be more honorable in my shame than you under your +pompous coverings. No -- no, I am aware you know me; but I +know you only as an adventurer sewn up in gold and +jewellery. You call yourself in Paris the Count of Monte +Cristo; in Italy, Sinbad the Sailor; in Malta, I forget +what. But it is your real name I want to know, in the midst +of your hundred names, that I may pronounce it when we meet +to fight, at the moment when I plunge my sword through your +heart." + +The Count of Monte Cristo turned dreadfully pale; his eye +seemed to burn with a devouring fire. He leaped towards a +dressing-room near his bedroom, and in less than a moment, +tearing off his cravat, his coat and waistcoat, he put on a +sailor's jacket and hat, from beneath which rolled his long +black hair. He returned thus, formidable and implacable, +advancing with his arms crossed on his breast, towards the +general, who could not understand why he had disappeared, +but who on seeing him again, and feeling his teeth chatter +and his legs sink under him, drew back, and only stopped +when he found a table to support his clinched hand. +"Fernand," cried he, "of my hundred names I need only tell +you one, to overwhelm you! But you guess it now, do you not? +-- or, rather, you remember it? For, notwithstanding all my +sorrows and my tortures, I show you to-day a face which the +happiness of revenge makes young again -- a face you must +often have seen in your dreams since your marriage with +Mercedes, my betrothed!" + +The general, with his head thrown back, hands extended, gaze +fixed, looked silently at this dreadful apparition; then +seeking the wall to support him, he glided along close to it +until he reached the door, through which he went out +backwards, uttering this single mournful, lamentable, +distressing cry, -- "Edmond Dantes!" Then, with sighs which +were unlike any human sound, he dragged himself to the door, +reeled across the court-yard, and falling into the arms of +his valet, he said in a voice scarcely intelligible, -- +"Home, home." The fresh air and the shame he felt at having +exposed himself before his servants, partly recalled his +senses, but the ride was short, and as he drew near his +house all his wretchedness revived. He stopped at a short +distance from the house and alighted. + +The door was wide open, a hackney-coach was standing in the +middle of the yard -- a strange sight before so noble a +mansion; the count looked at it with terror, but without +daring to inquire its meaning, he rushed towards his +apartment. Two persons were coming down the stairs; he had +only time to creep into an alcove to avoid them. It was +Mercedes leaning on her son's arm and leaving the house. +They passed close by the unhappy being, who, concealed +behind the damask curtain, almost felt Mercedes dress brush +past him, and his son's warm breath, pronouncing these +words, -- "Courage, mother! Come, this is no longer our +home!" The words died away, the steps were lost in the +distance. The general drew himself up, clinging to the +curtain; he uttered the most dreadful sob which ever escaped +from the bosom of a father abandoned at the same time by his +wife and son. He soon heard the clatter of the iron step of +the hackney-coach, then the coachman's voice, and then the +rolling of the heavy vehicle shook the windows. He darted to +his bedroom to see once more all he had loved in the world; +but the hackney-coach drove on and the head of neither +Mercedes nor her son appeared at the window to take a last +look at the house or the deserted father and husband. And at +the very moment when the wheels of that coach crossed the +gateway a report was heard, and a thick smoke escaped +through one of the panes of the window, which was broken by +the explosion. + + + +Chapter 93 +Valentine. + +We may easily conceive where Morrel's appointment was. On +leaving Monte Cristo he walked slowly towards Villefort's; +we say slowly, for Morrel had more than half an hour to +spare to go five hundred steps, but he had hastened to take +leave of Monte Cristo because he wished to be alone with his +thoughts. He knew his time well -- the hour when Valentine +was giving Noirtier his breakfast, and was sure not to be +disturbed in the performance of this pious duty. Noirtier +and Valentine had given him leave to go twice a week, and he +was now availing himself of that permission. He had arrived; +Valentine was expecting him. Uneasy and almost crazed, she +seized his hand and led him to her grandfather. This +uneasiness, amounting almost to frenzy, arose from the +report Morcerf's adventure had made in the world, for the +affair at the opera was generally known. No one at +Villefort's doubted that a duel would ensue from it. +Valentine, with her woman's instinct, guessed that Morrel +would be Monte Cristo's second, and from the young man's +well-known courage and his great affection for the count, +she feared that he would not content himself with the +passive part assigned to him. We may easily understand how +eagerly the particulars were asked for, given, and received; +and Morrel could read an indescribable joy in the eyes of +his beloved, when she knew that the termination of this +affair was as happy as it was unexpected. + +"Now," said Valentine, motioning to Morrel to sit down near +her grandfather, while she took her seat on his footstool, +-- "now let us talk about our own affairs. You know, +Maximilian, grandpapa once thought of leaving this house, +and taking an apartment away from M. de Villefort's." + +"Yes," said Maximilian, "I recollect the project, of which I +highly approved." + +"Well," said Valentine, "you may approve again, for +grandpapa is again thinking of it." + +"Bravo," said Maximilian. + +"And do you know," said Valentine, "what reason grandpapa +gives for leaving this house." Noirtier looked at Valentine +to impose silence, but she did not notice him; her looks, +her eyes, her smile, were all for Morrel. + +"Oh, whatever may be M. Noirtier's reason," answered Morrel, +"I can readily believe it to be a good one." + +"An excellent one," said Valentine. "He pretends the air of +the Faubourg St. Honore is not good for me." + +"Indeed?" said Morrel; "in that M. Noirtier may be right; +you have not seemed to be well for the last fortnight." + +"Not very," said Valentine. "And grandpapa has become my +physician, and I have the greatest confidence in him, +because he knows everything." + +"Do you then really suffer?" asked Morrel quickly. + +"Oh, it must not be called suffering; I feel a general +uneasiness, that is all. I have lost my appetite, and my +stomach feels as if it were struggling to get accustomed to +something." Noirtier did not lose a word of what Valentine +said. "And what treatment do you adopt for this singular +complaint?" + +"A very simple one," said Valentine. "I swallow every +morning a spoonful of the mixture prepared for my +grandfather. When I say one spoonful, I began by one -- now +I take four. Grandpapa says it is a panacea." Valentine +smiled, but it was evident that she suffered. + +Maximilian, in his devotedness, gazed silently at her. She +was very beautiful, but her usual pallor had increased; her +eyes were more brilliant than ever, and her hands, which +were generally white like mother-of-pearl, now more +resembled wax, to which time was adding a yellowish hue. +From Valentine the young man looked towards Noirtier. The +latter watched with strange and deep interest the young +girl, absorbed by her affection, and he also, like Morrel, +followed those traces of inward suffering which was so +little perceptible to a common observer that they escaped +the notice of every one but the grandfather and the lover. + +"But," said Morrel, "I thought this mixture, of which you +now take four spoonfuls, was prepared for M. Noirtier?" + +"I know it is very bitter," said Valentine; "so bitter, that +all I drink afterwards appears to have the same taste." +Noirtier looked inquiringly at his granddaughter. "Yes, +grandpapa," said Valentine; "it is so. Just now, before I +came down to you, I drank a glass of sugared water; I left +half, because it seemed so bitter." Noirtier turned pale, +and made a sign that he wished to speak. Valentine rose to +fetch the dictionary. Noirtier watched her with evident +anguish. In fact, the blood was rushing to the young girl's +head already, her cheeks were becoming red. "Oh," cried she, +without losing any of her cheerfulness, "this is singular! I +can't see! Did the sun shine in my eyes?" And she leaned +against the window. + +"The sun is not shining," said Morrel, more alarmed by +Noirtier's expression than by Valentine's indisposition. He +ran towards her. The young girl smiled. "Cheer up," said she +to Noirtier. "Do not be alarmed, Maximilian; it is nothing, +and has already passed away. But listen! Do I not hear a +carriage in the court-yard?" She opened Noirtier's door, ran +to a window in the passage, and returned hastily. "Yes," +said she, "it is Madame Danglars and her daughter, who have +come to call on us. Good-by; -- I must run away, for they +would send here for me, or, rather, farewell till I see you +again. Stay with grandpapa, Maximilian; I promise you not to +persuade them to stay." + +Morrel watched her as she left the room; he heard her ascend +the little staircase which led both to Madame de Villefort's +apartments and to hers. As soon as she was gone, Noirtier +made a sign to Morrel to take the dictionary. Morrel obeyed; +guided by Valentine, he had learned how to understand the +old man quickly. Accustomed, however, as he was to the work, +he had to repeat most of the letters of the alphabet and to +find every word in the dictionary, so that it was ten +minutes before the thought of the old man was translated by +these words, "Fetch the glass of water and the decanter from +Valentine's room." + +Morrel rang immediately for the servant who had taken +Barrois's situation, and in Noirtier's name gave that order. +The servant soon returned. The decanter and the glass were +completely empty. Noirtier made a sign that he wished to +speak. "Why are the glass and decanter empty?" asked he; +"Valentine said she only drank half the glassful." The +translation of this new question occupied another five +minutes. "I do not know," said the servant, "but the +housemaid is in Mademoiselle Valentine's room: perhaps she +has emptied them." + +"Ask her," said Morrel, translating Noirtier's thought this +time by his look. The servant went out, but returned almost +immediately. "Mademoiselle Valentine passed through the room +to go to Madame de Villefort's," said he; "and in passing, +as she was thirsty, she drank what remained in the glass; as +for the decanter, Master Edward had emptied that to make a +pond for his ducks." Noirtier raised his eyes to heaven, as +a gambler does who stakes his all on one stroke. From that +moment the old man's eyes were fixed on the door, and did +not quit it. + +It was indeed Madame Danglars and her daughter whom +Valentine had seen; they had been ushered into Madame de +Villefort's room, who had said she would receive them there. +That is why Valentine passed through her room, which was on +a level with Valentine's, and only separated from it by +Edward's. The two ladies entered the drawing-room with that +sort of official stiffness which preludes a formal +communication. Among worldly people manner is contagious. +Madame de Villefort received them with equal solemnity. +Valentine entered at this moment, and the formalities were +resumed. "My dear friend," said the baroness, while the two +young people were shaking hands, "I and Eugenie are come to +be the first to announce to you the approaching marriage of +my daughter with Prince Cavalcanti." Danglars kept up the +title of prince. The popular banker found that it answered +better than count. "Allow me to present you my sincere +congratulations," replied Madame de Villefort. "Prince +Cavalcanti appears to be a young man of rare qualities." + +"Listen," said the baroness, smiling; "speaking to you as a +friend I can say that the prince does not yet appear all he +will be. He has about him a little of that foreign manner by +which French persons recognize, at first sight, the Italian +or German nobleman. Besides, he gives evidence of great +kindness of disposition, much keenness of wit, and as to +suitability, M. Danglars assures me that his fortune is +majestic -- that is his word." + +"And then," said Eugenie, while turning over the leaves of +Madame de Villefort's album, "add that you have taken a +great fancy to the young man." + +"And," said Madame de Villefort, "I need not ask you if you +share that fancy." + +"I?" replied Eugenie with her usual candor. "Oh, not the +least in the world, madame! My wish was not to confine +myself to domestic cares, or the caprices of any man, but to +be an artist, and consequently free in heart, in person, and +in thought." Eugenie pronounced these words with so firm a +tone that the color mounted to Valentine's cheeks. The timid +girl could not understand that vigorous nature which +appeared to have none of the timidities of woman. + +"At any rate," said she, "since I am to be married whether I +will or not, I ought to be thankful to providence for having +released me from my engagement with M. Albert de Morcerf, or +I should this day have been the wife of a dishonored man." + +"It is true," said the baroness, with that strange +simplicity sometimes met with among fashionable ladies, and +of which plebeian intercourse can never entirely deprive +them, -- "it is very true that had not the Morcerfs +hesitated, my daughter would have married Monsieur Albert. +The general depended much on it; he even came to force M. +Danglars. We have had a narrow escape." + +"But," said Valentine, timidly, "does all the father's shame +revert upon the son? Monsieur Albert appears to me quite +innocent of the treason charged against the general." + +"Excuse me," said the implacable young girl, "Monsieur +Albert claims and well deserves his share. It appears that +after having challenged M. de Monte Cristo at the Opera +yesterday, he apologized on the ground to-day." + +"Impossible," said Madame de Villefort. + +"Ah, my dear friend," said Madame Danglars, with the same +simplicity we before noticed, "it is a fact. I heard it from +M. Debray, who was present at the explanation." Valentine +also knew the truth, but she did not answer. A single word +had reminded her that Morrel was expecting her in M. +Noirtier's room. Deeply engaged with a sort of inward +contemplation, Valentine had ceased for a moment to join in +the conversation. She would, indeed, have found it +impossible to repeat what had been said the last few +minutes, when suddenly Madame Danglars' hand, pressed on her +arm, aroused her from her lethargy. + +"What is it?" said she, starting at Madame Danglars, touch +as she would have done from an electric shock. "It is, my +dear Valentine," said the baroness, "that you are, +doubtless, suffering." + +"I?" said the young girl, passing her hand across her +burning forehead. + +"Yes, look at yourself in that glass; you have turned pale +and then red successively, three or four times in one +minute." + +"Indeed," cried Eugenie, "you are very pale!" + +"Oh, do not be alarmed; I have been so for many days." +Artless as she was, the young girl knew that this was an +opportunity to leave, and besides, Madame de Villefort came +to her assistance. "Retire, Valentine," said she; "you are +really suffering, and these ladies will excuse you; drink a +glass of pure water, it will restore you." Valentine kissed +Eugenie, bowed to Madame Danglars, who had already risen to +take her leave, and went out. "That poor child," said Madame +de Villefort when Valentine was gone, "she makes me very +uneasy, and I should not be astonished if she had some +serious illness." + +Meanwhile, Valentine, in a sort of excitement which she +could not quite understand, had crossed Edward's room +without noticing some trick of the child, and through her +own had reached the little staircase. She was within three +steps of the bottom; she already heard Morrel's voice, when +suddenly a cloud passed over her eyes, her stiffened foot +missed the step, her hands had no power to hold the +baluster, and falling against the wall she lost her balance +wholly and toppled to the floor. Morrel bounded to the door, +opened it, and found Valentine stretched out at the bottom +of the stairs. Quick as a flash, he raised her in his arms +and placed her in a chair. Valentine opened her eyes. + +"Oh, what a clumsy thing I am," said she with feverish +volubility; "I don't know my way. I forgot there were three +more steps before the landing." + +"You have hurt yourself, perhaps," said Morrel. "What can I +do for you, Valentine?" Valentine looked around her; she saw +the deepest terror depicted in Noirtier's eyes. "Don't +worry, dear grandpapa," said she, endeavoring to smile; "it +is nothing -- it is nothing; I was giddy, that is all." + +"Another attack of giddiness," said Morrel, clasping his +hands. "Oh, attend to it, Valentine, I entreat you." + +"But no," said Valentine, -- "no, I tell you it is all past, +and it was nothing. Now, let me tell you some news; Eugenie +is to be married in a week, and in three days there is to be +a grand feast, a betrothal festival. We are all invited, my +father, Madame de Villefort, and I -- at least, I understood +it so." + +"When will it be our turn to think of these things? Oh, +Valentine, you who have so much influence over your +grandpapa, try to make him answer -- Soon." + +"And do you," said Valentine, "depend on me to stimulate the +tardiness and arouse the memory of grandpapa?" + +"Yes," cried Morrel, "make haste. So long as you are not +mine, Valentine, I shall always think I may lose you." + +"Oh," replied Valentine with a convulsive movement, "oh, +indeed, Maximilian, you are too timid for an officer, for a +soldier who, they say, never knows fear. Ah, ha, ha!" she +burst into a forced and melancholy laugh, her arms stiffened +and twisted, her head fell back on her chair, and she +remained motionless. The cry of terror which was stopped on +Noirtier's lips, seemed to start from his eyes. Morrel +understood it; he knew he must call assistance. The young +man rang the bell violently; the housemaid who had been in +Mademoiselle Valentine's room, and the servant who had +replaced Barrois, ran in at the same moment. Valentine was +so pale, so cold, so inanimate that without listening to +what was said to them they were seized with the fear which +pervaded that house, and they flew into the passage crying +for help. Madame Danglars and Eugenie were going out at that +moment; they heard the cause of the disturbance. "I told you +so!" exclaimed Madame de Villefort. "Poor child!" + + + +Chapter 94 +Maximilian's Avowal. + +At the same moment M. de Villefort's voice was heard calling +from his study, "What is the matter?" Morrel looked at +Noirtier who had recovered his self-command, and with a +glance indicated the closet where once before under somewhat +similar circumstances, he had taken refuge. He had only time +to get his hat and throw himself breathless into the closet +when the procureur's footstep was heard in the passage. +Villefort sprang into the room, ran to Valentine, and took +her in his arms. "A physician, a physician, -- M. +d'Avrigny!" cried Villefort; "or rather I will go for him +myself." He flew from the apartment, and Morrel at the same +moment darted out at the other door. He had been struck to +the heart by a frightful recollection -- the conversation he +had heard between the doctor and Villefort the night of +Madame de Saint-Meran's death, recurred to him; these +symptoms, to a less alarming extent, were the same which had +preceded the death of Barrois. At the same time Monte +Cristo's voice seemed to resound in his ear with the words +he had heard only two hours before, "Whatever you want, +Morrel, come to me; I have great power." More rapidly than +thought, he darted down the Rue Matignon, and thence to the +Avenue des Champs Elysees. + +Meanwhile M. de Villefort arrived in a hired cabriolet at M. +d'Avrigny's door. He rang so violently that the porter was +alarmed. Villefort ran up-stairs without saying a word. The +porter knew him, and let him pass, only calling to him, "In +his study, Monsieur Procureur -- in his study!" Villefort +pushed, or rather forced, the door open. "Ah," said the +doctor, "is it you?" + +"Yes," said Villefort, closing the door after him, "it is I, +who am come in my turn to ask you if we are quite alone. +Doctor, my house is accursed!" + +"What?" said the latter with apparent coolness, but with +deep emotion, "have you another invalid?" + +"Yes, doctor," cried Villefort, clutching his hair, "yes!" + +D'Avrigny's look implied, "I told you it would be so." Then +he slowly uttered these words, "Who is now dying in your +house? What new victim is going to accuse you of weakness +before God?" A mournful sob burst from Villefort's heart; he +approached the doctor, and seizing his arm, -- "Valentine," +said he, "it is Valentine's turn!" + +"Your daughter?" cried d'Avrigny with grief and surprise. + +"You see you were deceived," murmured the magistrate; "come +and see her, and on her bed of agony entreat her pardon for +having suspected her." + +"Each time you have applied to me," said the doctor, "it has +been too late; still I will go. But let us make haste, sir; +with the enemies you have to do with there is no time to be +lost." + +"Oh, this time, doctor, you shall not have to reproach me +with weakness. This time I will know the assassin, and will +pursue him." + +"Let us try first to save the victim before we think of +revenging her," said d'Avrigny. "Come." The same cabriolet +which had brought Villefort took them back at full speed, +and at this moment Morrel rapped at Monte Cristo's door. The +count was in his study and was reading with an angry look +something which Bertuccio had brought in haste. Hearing the +name of Morrel, who had left him only two hours before, the +count raised his head, arose, and sprang to meet him. "What +is the matter, Maximilian?" asked he; "you are pale, and the +perspiration rolls from your forehead." Morrel fell into a +chair. "Yes," said he, "I came quickly; I wanted to speak to +you." + +"Are all your family well?" asked the count, with an +affectionate benevolence, whose sincerity no one could for a +moment doubt. + +"Thank you, count -- thank you," said the young man, +evidently embarrassed how to begin the conversation; "yes, +every one in my family is well." + +"So much the better; yet you have something to tell me?" +replied the count with increased anxiety. + +"Yes," said Morrel, "it is true; I have but now left a house +where death has just entered, to run to you." + +"Are you then come from M. de Morcerf's?" asked Monte +Cristo. + +"No," said Morrel; "is some one dead in his house?" + +"The general has just blown his brains out," replied Monte +Cristo with great coolness. + +"Oh, what a dreadful event!" cried Maximilian. + +"Not for the countess, or for Albert," said Monte Cristo; "a +dead father or husband is better than a dishonored one, -- +blood washes out shame." + +"Poor countess," said Maximilian, "I pity her very much; she +is so noble a woman!" + +"Pity Albert also, Maximilian; for believe me he is the +worthy son of the countess. But let us return to yourself. +You have hastened to me -- can I have the happiness of being +useful to you?" + +"Yes, I need your help: that is I thought like a madman that +you could lend me your assistance in a case where God alone +can succor me." + +"Tell me what it is," replied Monte Cristo. + +"Oh," said Morrel, "I know not, indeed, if I may reveal this +secret to mortal ears, but fatality impels me, necessity +constrains me, count" -- Morrel hesitated. "Do you think I +love you?" said Monte Cristo, taking the young man's hand +affectionately in his. + +"Oh, you encourage me, and something tells me there," +placing his hand on his heart, "that I ought to have no +secret from you." + +"You are right, Morrel; God is speaking to your heart, and +your heart speaks to you. Tell me what it says." + +"Count, will you allow me to send Baptistin to inquire after +some one you know?" + +"I am at your service, and still more my servants." + +"Oh, I cannot live if she is not better." + +"Shall I ring for Baptistin?" + +"No, I will go and speak to him myself." Morrel went out, +called Baptistin, and whispered a few words to him. The +valet ran directly. "Well, have you sent?" asked Monte +Cristo, seeing Morrel return. + +"Yes, and now I shall be more calm." + +"You know I am waiting," said Monte Cristo, smiling. + +"Yes, and I will tell you. One evening I was in a garden; a +clump of trees concealed me; no one suspected I was there. +Two persons passed near me -- allow me to conceal their +names for the present; they were speaking in an undertone, +and yet I was so interested in what they said that I did not +lose a single word." + +"This is a gloomy introduction, if I may judge from your +pallor and shuddering, Morrel." + +"Oh, yes, very gloomy, my friend. Some one had just died in +the house to which that garden belonged. One of the persons +whose conversation I overheard was the master of the house; +the other, the physician. The former was confiding to the +latter his grief and fear, for it was the second time within +a month that death had suddenly and unexpectedly entered +that house which was apparently destined to destruction by +some exterminating angel, as an object of God's anger." + +"Ah, indeed?" said Monte Cristo, looking earnestly at the +young man, and by an imperceptible movement turning his +chair, so that he remained in the shade while the light fell +full on Maximilian's face. "Yes," continued Morrel, "death +had entered that house twice within one month." + +"And what did the doctor answer?" asked Monte Cristo. + +"He replied -- he replied, that the death was not a natural +one, and must be attributed" -- + +"To what?" + +"To poison." + +"Indeed?" said Monte Cristo with a slight cough which in +moments of extreme emotion helped him to disguise a blush, +or his pallor, or the intense interest with which he +listened; "indeed, Maximilian, did you hear that?" + +"Yes, my dear count, I heard it; and the doctor added that +if another death occurred in a similar way he must appeal to +justice." Monte Cristo listened, or appeared to do so, with +the greatest calmness. "Well," said Maximilian, "death came +a third time, and neither the master of the house nor the +doctor said a word. Death is now, perhaps, striking a fourth +blow. Count, what am I bound to do, being in possession of +this secret?" + +"My dear friend," said Monte Cristo, "you appear to be +relating an adventure which we all know by heart. I know the +house where you heard it, or one very similar to it; a house +with a garden, a master, a physician, and where there have +been three unexpected and sudden deaths. Well, I have not +intercepted your confidence, and yet I know all that as well +as you, and I have no conscientious scruples. No, it does +not concern me. You say an exterminating angel appears to +have devoted that house to God's anger -- well, who says +your supposition is not reality? Do not notice things which +those whose interest it is to see them pass over. If it is +God's justice, instead of his anger, which is walking +through that house, Maximilian, turn away your face and let +his justice accomplish its purpose." Morrel shuddered. There +was something mournful, solemn, and terrible in the count's +manner. "Besides," continued he, in so changed a tone that +no one would have supposed it was the same person speaking +-- "besides, who says that it will begin again?" + +"It has returned, count," exclaimed Morrel; "that is why I +hastened to you." + +"Well, what do you wish me to do? Do you wish me, for +instance, to give information to the procureur?" Monte +Cristo uttered the last words with so much meaning that +Morrel, starting up, cried out, "You know of whom I speak, +count, do you not?" + +"Perfectly well, my good friend; and I will prove it to you +by putting the dots to the `i,' or rather by naming the +persons. You were walking one evening in M. de Villefort's +garden; from what you relate, I suppose it to have been the +evening of Madame de Saint-Meran's death. You heard M. de +Villefort talking to M. d'Avrigny about the death of M. de +Saint-Meran, and that no less surprising, of the countess. +M. d'Avrigny said he believed they both proceeded from +poison; and you, honest man, have ever since been asking +your heart and sounding your conscience to know if you ought +to expose or conceal this secret. Why do you torment them? +`Conscience, what hast thou to do with me?' as Sterne said. +My dear fellow, let them sleep on, if they are asleep; let +them grow pale in their drowsiness, if they are disposed to +do so, and pray do you remain in peace, who have no remorse +to disturb you." Deep grief was depicted on Morrel's +features; he seized Monte Cristo's hand. "But it is +beginning again, I say!" + +"Well," said the Count, astonished at his perseverance, +which he could not understand, and looking still more +earnestly at Maximilian, "let it begin again, -- it is like +the house of the Atreidae;* God has condemned them, and they +must submit to their punishment. They will all disappear, +like the fabrics children build with cards, and which fall, +one by one, under the breath of their builder, even if there +are two hundred of them. Three months since it was M. de +Saint-Meran; Madame de Saint-Meran two months since; the +other day it was Barrois; to-day, the old Noirtier, or young +Valentine." + +* In the old Greek legend the Atreidae, or children of +Atreus, were doomed to punishment because of the abominable +crime of their father. The Agamemnon of Aeschylus is based +on this legend. + +"You knew it?" cried Morrel, in such a paroxysm of terror +that Monte Cristo started, -- he whom the falling heavens +would have found unmoved; "you knew it, and said nothing?" + +"And what is it to me?" replied Monte Cristo, shrugging his +shoulders; "do I know those people? and must I lose the one +to save the other? Faith, no, for between the culprit and +the victim I have no choice." + +"But I," cried Morrel, groaning with sorrow, "I love her!" + +"You love? -- whom?" cried Monte Cristo, starting to his +feet, and seizing the two hands which Morrel was raising +towards heaven. + +"I love most fondly -- I love madly -- I love as a man who +would give his life-blood to spare her a tear -- I love +Valentine de Villefort, who is being murdered at this +moment! Do you understand me? I love her; and I ask God and +you how I can save her?" Monte Cristo uttered a cry which +those only can conceive who have heard the roar of a wounded +lion. "Unhappy man," cried he, wringing his hands in his +turn; "you love Valentine, -- that daughter of an accursed +race!" Never had Morrel witnessed such an expression -- +never had so terrible an eye flashed before his face -- +never had the genius of terror he had so often seen, either +on the battle-field or in the murderous nights of Algeria, +shaken around him more dreadful fire. He drew back +terrified. + +As for Monte Cristo, after this ebullition he closed his +eyes as if dazzled by internal light. In a moment he +restrained himself so powerfully that the tempestuous +heaving of his breast subsided, as turbulent and foaming +waves yield to the sun's genial influence when the cloud has +passed. This silence, self-control, and struggle lasted +about twenty seconds, then the count raised his pallid face. +"See," said he, "my dear friend, how God punishes the most +thoughtless and unfeeling men for their indifference, by +presenting dreadful scenes to their view. I, who was looking +on, an eager and curious spectator, -- I, who was watching +the working of this mournful tragedy, -- I, who like a +wicked angel was laughing at the evil men committed +protected by secrecy (a secret is easily kept by the rich +and powerful), I am in my turn bitten by the serpent whose +tortuous course I was watching, and bitten to the heart!" + +Morrel groaned. "Come, come," continued the count, +"complaints are unavailing, be a man, be strong, be full of +hope, for I am here and will watch over you." Morrel shook +his head sorrowfully. "I tell you to hope. Do you understand +me?" cried Monte Cristo. "Remember that I never uttered a +falsehood and am never deceived. It is twelve o'clock, +Maximilian; thank heaven that you came at noon rather than +in the evening, or to-morrow morning. Listen, Morrel -- it +is noon; if Valentine is not now dead, she will not die." + +"How so?" cried Morrel, "when I left her dying?" Monte +Cristo pressed his hands to his forehead. What was passing +in that brain, so loaded with dreadful secrets? What does +the angel of light or the angel of darkness say to that +mind, at once implacable and generous? God only knows. + +Monte Cristo raised his head once more, and this time he was +calm as a child awaking from its sleep. "Maximilian," said +he, "return home. I command you not to stir -- attempt +nothing, not to let your countenance betray a thought, and I +will send you tidings. Go." + +"Oh, count, you overwhelm me with that coolness. Have you, +then, power against death? Are you superhuman? Are you an +angel?" And the young man, who had never shrunk from danger, +shrank before Monte Cristo with indescribable terror. But +Monte Cristo looked at him with so melancholy and sweet a +smile, that Maximilian felt the tears filling his eyes. "I +can do much for you, my friend," replied the count. "Go; I +must be alone." Morrel, subdued by the extraordinary +ascendancy Monte Cristo exercised over everything around +him, did not endeavor to resist it. He pressed the count's +hand and left. He stopped one moment at the door for +Baptistin, whom he saw in the Rue Matignon, and who was +running. + +Meanwhile, Villefort and d'Avrigny had made all possible +haste, Valentine had not revived from her fainting fit on +their arrival, and the doctor examined the invalid with all +the care the circumstances demanded, and with an interest +which the knowledge of the secret intensified twofold. +Villefort, closely watching his countenance and his lips, +awaited the result of the examination. Noirtier, paler than +even the young girl, more eager than Villefort for the +decision, was watching also intently and affectionately. At +last d'Avrigny slowly uttered these words: -- "she is still +alive!" + +"Still?" cried Villefort; "oh, doctor, what a dreadful word +is that." + +"Yes," said the physician, "I repeat it; she is still alive, +and I am astonished at it." + +"But is she safe?" asked the father. + +"Yes, since she lives." At that moment d'Avrigny's glance +met Noirtier's eye. It glistened with such extraordinary +joy, so rich and full of thought, that the physician was +struck. He placed the young girl again on the chair, -- her +lips were scarcely discernible, they were so pale and white, +as well as her whole face, -- and remained motionless, +looking at Noirtier, who appeared to anticipate and commend +all he did. "Sir," said d'Avrigny to Villefort, "call +Mademoiselle Valentine's maid, if you please." Villefort +went himself to find her; and d'Avrigny approached Noirtier. +"Have you something to tell me?" asked he. The old man +winked his eyes expressively, which we may remember was his +only way of expressing his approval. + +"Privately?" + +"Yes." + +"Well, I will remain with you." At this moment Villefort +returned, followed by the lady's maid; and after her came +Madame de Villefort. + +"What is the matter, then, with this dear child? she has +just left me, and she complained of being indisposed, but I +did not think seriously of it." The young woman with tears +in her eyes and every mark of affection of a true mother, +approached Valentine and took her hand. D'Avrigny continued +to look at Noirtier; he saw the eyes of the old man dilate +and become round, his cheeks turn pale and tremble; the +perspiration stood in drops upon his forehead. "Ah," said +he, involuntarily following Noirtier's eyes, which were +fixed on Madame de Villefort, who repeated, -- "This poor +child would be better in bed. Come, Fanny, we will put her +to bed." M. d'Avrigny, who saw that would be a means of his +remaining alone with Noirtier, expressed his opinion that it +was the best thing that could be done; but he forbade that +anything should be given to her except what he ordered. + +They carried Valentine away; she had revived, but could +scarcely move or speak, so shaken was her frame by the +attack. She had, however, just power to give one parting +look to her grandfather, who in losing her seemed to be +resigning his very soul. D'Avrigny followed the invalid, +wrote a prescription, ordered Villefort to take a cabriolet, +go in person to a chemist's to get the prescribed medicine, +bring it himself, and wait for him in his daughter's room. +Then, having renewed his injunction not to give Valentine +anything, he went down again to Noirtier, shut the doors +carefully, and after convincing himself that no one was +listening, -- "Do you," said he, "know anything of this +young lady's illness?" + +"Yes," said the old man. + +"We have no time to lose; I will question, and do you answer +me." Noirtier made a sign that he was ready to answer. "Did +you anticipate the accident which has happened to your +granddaughter?" + +"Yes." D'Avrigny reflected a moment; then approaching +Noirtier, -- "Pardon what I am going to say," added he, "but +no indication should be neglected in this terrible +situation. Did you see poor Barrois die?" Noirtier raised +his eyes to heaven. "Do you know of what he died!" asked +d'Avrigny, placing his hand on Noirtier's shoulder. + +"Yes," replied the old man. + +"Do you think he died a natural death?" A sort of smile was +discernible on the motionless lips of Noirtier. + +"Then you have thought that Barrois was poisoned?" + +"Yes." + +"Do you think the poison he fell a victim to was intended +for him?" + +"No." + +"Do you think the same hand which unintentionally struck +Barrois has now attacked Valentine?" + +"Yes." + +"Then will she die too?" asked d'Avrigny, fixing his +penetrating gaze on Noirtier. He watched the effect of this +question on the old man. "No," replied he with an air of +triumph which would have puzzled the most clever diviner. +"Then you hope?" said d'Avrigny, with surprise. + +"Yes." + +"What do you hope?" The old man made him understand with his +eyes that he could not answer. "Ah, yes, it is true," +murmured d'Avrigny. Then, turning to Noirtier, -- "Do you +hope the assassin will be tried?" + +"No." + +"Then you hope the poison will take no effect on Valentine?" + +"Yes." + +"It is no news to you," added d'Avrigny, "to tell you that +an attempt has been made to poison her?" The old man made a +sign that he entertained no doubt upon the subject. "Then +how do you hope Valentine will escape?" Noirtier kept his +eyes steadfastly fixed on the same spot. D'Avrigny followed +the direction and saw that they were fixed on a bottle +containing the mixture which he took every morning. "Ah, +indeed?" said d'Avrigny, struck with a sudden thought, "has +it occurred to you" -- Noirtier did not let him finish. +"Yes," said he. "To prepare her system to resist poison?" + +"Yes." + +"By accustoming her by degrees" -- + +"Yes, yes, yes," said Noirtier, delighted to be understood. + +"Of course. I had told you that there was brucine in the +mixture I give you." + +"Yes." + +"And by accustoming her to that poison, you have endeavored +to neutralize the effect of a similar poison?" Noirtier's +joy continued. "And you have succeeded," exclaimed +d'Avrigny. "Without that precaution Valentine would have +died before assistance could have been procured. The dose +has been excessive, but she has only been shaken by it; and +this time, at any rate, Valentine will not die." A +superhuman joy expanded the old man's eyes, which were +raised towards heaven with an expression of infinite +gratitude. At this moment Villefort returned. "Here, +doctor," said he, "is what you sent me for." + +"Was this prepared in your presence?" + +"Yes," replied the procureur. + +"Have you not let it go out of your hands?" + +"No." D'Avrigny took the bottle, poured some drops of the +mixture it contained in the hollow of his hand, and +swallowed them. "Well," said he, "let us go to Valentine; I +will give instructions to every one, and you, M. de +Villefort, will yourself see that no one deviates from +them." + +At the moment when d'Avrigny was returning to Valentine's +room, accompanied by Villefort, an Italian priest, of +serious demeanor and calm and firm tone, hired for his use +the house adjoining the hotel of M. de Villefort. No one +knew how the three former tenants of that house left it. +About two hours afterwards its foundation was reported to be +unsafe; but the report did not prevent the new occupant +establishing himself there with his modest furniture the +same day at five o'clock. The lease was drawn up for three, +six, or nine years by the new tenant, who, according to the +rule of the proprietor, paid six months in advance. This new +tenant, who, as we have said, was an Italian, was called Il +Signor Giacomo Busoni. Workmen were immediately called in, +and that same night the passengers at the end of the +faubourg saw with surprise that carpenters and masons were +occupied in repairing the lower part of the tottering house. + + + +Chapter 95 +Father and Daughter. + +We saw in a preceding chapter how Madame Danglars went +formally to announce to Madame de Villefort the approaching +marriage of Eugenie Danglars and M. Andrea Cavalcanti. This +announcement, which implied or appeared to imply, the +approval of all the persons concerned in this momentous +affair, had been preceded by a scene to which our readers +must be admitted. We beg them to take one step backward, and +to transport themselves, the morning of that day of great +catastrophes, into the showy, gilded salon we have before +shown them, and which was the pride of its owner, Baron +Danglars. In this room, at about ten o'clock in the morning, +the banker himself had been walking to and fro for some +minutes thoughtfully and in evident uneasiness, watching +both doors, and listening to every sound. When his patience +was exhausted, he called his valet. "Etienne," said he, "see +why Mademoiselle Eugenie has asked me to meet her in the +drawing-room, and why she makes me wait so long." + +Having given this vent to his ill-humor, the baron became +more calm; Mademoiselle Danglars had that morning requested +an interview with her father, and had fixed on the gilded +drawing-room as the spot. The singularity of this step, and +above all its formality, had not a little surprised the +banker, who had immediately obeyed his daughter by repairing +first to the drawing-room. Etienne soon returned from his +errand. "Mademoiselle's lady's maid says, sir, that +mademoiselle is finishing her toilette, and will be here +shortly." + +Danglars nodded, to signify that he was satisfied. To the +world and to his servants Danglars assumed the character of +the good-natured man and the indulgent father. This was one +of his parts in the popular comedy he was performing, -- a +make-up he had adopted and which suited him about as well as +the masks worn on the classic stage by paternal actors, who +seen from one side, were the image of geniality, and from +the other showed lips drawn down in chronic ill-temper. Let +us hasten to say that in private the genial side descended +to the level of the other, so that generally the indulgent +man disappeared to give place to the brutal husband and +domineering father. "Why the devil does that foolish girl, +who pretends to wish to speak to me, not come into my study? +and why on earth does she want to speak to me at all?" + +He was turning this thought over in his brain for the +twentieth time, when the door opened and Eugenie appeared, +attired in a figured black satin dress, her hair dressed and +gloves on, as if she were going to the Italian Opera. "Well, +Eugenie, what is it you want with me? and why in this solemn +drawing-room when the study is so comfortable?" + +"I quite understand why you ask, sir," said Eugenie, making +a sign that her father might be seated, "and in fact your +two questions suggest fully the theme of our conversation. I +will answer them both, and contrary to the usual method, the +last first, because it is the least difficult. I have chosen +the drawing-room, sir, as our place of meeting, in order to +avoid the disagreeable impressions and influences of a +banker's study. Those gilded cashbooks, drawers locked like +gates of fortresses, heaps of bank-bills, come from I know +not where, and the quantities of letters from England, +Holland, Spain, India, China, and Peru, have generally a +strange influence on a father's mind, and make him forget +that there is in the world an interest greater and more +sacred than the good opinion of his correspondents. I have, +therefore, chosen this drawing-room, where you see, smiling +and happy in their magnificent frames, your portrait, mine, +my mother's, and all sorts of rural landscapes and touching +pastorals. I rely much on external impressions; perhaps, +with regard to you, they are immaterial, but I should be no +artist if I had not some fancies." + +"Very well," replied M. Danglars, who had listened to all +this preamble with imperturbable coolness, but without +understanding a word, since like every man burdened with +thoughts of the past, he was occupied with seeking the +thread of his own ideas in those of the speaker. + +"There is, then, the second point cleared up, or nearly so," +said Eugenie, without the least confusion, and with that +masculine pointedness which distinguished her gesture and +her language; "and you appear satisfied with the +explanation. Now, let us return to the first. You ask me why +I have requested this interview; I will tell you in two +words, sir; I will not marry count Andrea Cavalcanti." + +Danglars leaped from his chair and raised his eyes and arms +towards heaven. + +"Yes, indeed, sir," continued Eugenie, still quite calm; +"you are astonished, I see; for since this little affair +began, I have not manifested the slightest opposition, and +yet I am always sure, when the opportunity arrives, to +oppose a determined and absolute will to people who have not +consulted me, and things which displease me. However, this +time, my tranquillity, or passiveness as philosophers say, +proceeded from another source; it proceeded from a wish, +like a submissive and devoted daughter" (a slight smile was +observable on the purple lips of the young girl), "to +practice obedience." + +"Well?" asked Danglars. + +"Well, sir," replied Eugenie, "I have tried to the very last +and now that the moment has come, I feel in spite of all my +efforts that it is impossible." + +"But," said Danglars, whose weak mind was at first quite +overwhelmed with the weight of this pitiless logic, marking +evident premeditation and force of will, "what is your +reason for this refusal, Eugenie? what reason do you +assign?" + +"My reason?" replied the young girl. "Well, it is not that +the man is more ugly, more foolish, or more disagreeable +than any other; no, M. Andrea Cavalcanti may appear to those +who look at men's faces and figures as a very good specimen +of his kind. It is not, either, that my heart is less +touched by him than any other; that would be a schoolgirl's +reason, which I consider quite beneath me. I actually love +no one, sir; you know it, do you not? I do not then see why, +without real necessity, I should encumber my life with a +perpetual companion. Has not some sage said, `Nothing too +much'? and another, `I carry all my effects with me'? I have +been taught these two aphorisms in Latin and in Greek; one +is, I believe, from Phaedrus, and the other from Bias. Well, +my dear father, in the shipwreck of life -- for life is an +eternal shipwreck of our hopes -- I cast into the sea my +useless encumbrance, that is all, and I remain with my own +will, disposed to live perfectly alone, and consequently +perfectly free." + +"Unhappy girl, unhappy girl!" murmured Danglars, turning +pale, for he knew from long experience the solidity of the +obstacle he had so suddenly encountered. + +"Unhappy girl," replied Eugenie, "unhappy girl, do you say, +sir? No, indeed; the exclamation appears quite theatrical +and affected. Happy, on the contrary, for what am I in want +of! The world calls me beautiful. It is something to be well +received. I like a favorable reception; it expands the +countenance, and those around me do not then appear so ugly. +I possess a share of wit, and a certain relative +sensibility, which enables me to draw from life in general, +for the support of mine, all I meet with that is good, like +the monkey who cracks the nut to get at its contents. I am +rich, for you have one of the first fortunes in France. I am +your only daughter, and you are not so exacting as the +fathers of the Porte Saint-Martin and Gaiete, who disinherit +their daughters for not giving them grandchildren. Besides, +the provident law has deprived you of the power to +disinherit me, at least entirely, as it has also of the +power to compel me to marry Monsieur This or Monsieur That. +And so -- being, beautiful, witty, somewhat talented, as the +comic operas say, and rich -- and that is happiness, sir -- +why do you call me unhappy?" + +Danglars, seeing his daughter smiling, and proud even to +insolence, could not entirely repress his brutal feelings, +but they betrayed themselves only by an exclamation. Under +the fixed and inquiring gaze levelled at him from under +those beautiful black eyebrows, he prudently turned away, +and calmed himself immediately, daunted by the power of a +resolute mind. "Truly, my daughter," replied he with a +smile, "you are all you boast of being, excepting one thing; +I will not too hastily tell you which, but would rather +leave you to guess it." Eugenie looked at Danglars, much +surprised that one flower of her crown of pride, with which +she had so superbly decked herself, should be disputed. "My +daughter," continued the banker, "you have perfectly +explained to me the sentiments which influence a girl like +you, who is determined she will not marry; now it remains +for me to tell you the motives of a father like me, who has +decided that his daughter shall marry." Eugenie bowed, not +as a submissive daughter, but as an adversary prepared for a +discussion. + +"My daughter," continued Danglars, "when a father asks his +daughter to choose a husband, he has always some reason for +wishing her to marry. Some are affected with the mania of +which you spoke just now, that of living again in their +grandchildren. This is not my weakness, I tell you at once; +family joys have no charm for me. I may acknowledge this to +a daughter whom I know to be philosophical enough to +understand my indifference, and not to impute it to me as a +crime." + +"This is not to the purpose," said Eugenie; "let us speak +candidly, sir; I admire candor." + +"Oh," said Danglars, "I can, when circumstances render it +desirable, adopt your system, although it may not be my +general practice. I will therefore proceed. I have proposed +to you to marry, not for your sake, for indeed I did not +think of you in the least at the moment (you admire candor, +and will now be satisfied, I hope); but because it suited me +to marry you as soon as possible, on account of certain +commercial speculations I am desirous of entering into." +Eugenie became uneasy. + +"It is just as I tell you, I assure you, and you must not be +angry with me, for you have sought this disclosure. I do not +willingly enter into arithmetical explanations with an +artist like you, who fears to enter my study lest she should +imbibe disagreeable or anti-poetic impressions and +sensations. But in that same banker's study, where you very +willingly presented yourself yesterday to ask for the +thousand francs I give you monthly for pocket-money, you +must know, my dear young lady, that many things may be +learned, useful even to a girl who will not marry. There one +may learn, for instance, what, out of regard to your nervous +susceptibility, I will inform you of in the drawing-room, +namely, that the credit of a banker is his physical and +moral life; that credit sustains him as breath animates the +body; and M. de Monte Cristo once gave me a lecture on that +subject, which I have never forgotten. There we may learn +that as credit sinks, the body becomes a corpse, and this is +what must happen very soon to the banker who is proud to own +so good a logician as you for his daughter." But Eugenie, +instead of stooping, drew herself up under the blow. +"Ruined?" said she. + +"Exactly, my daughter; that is precisely what I mean," said +Danglars, almost digging his nails into his breast, while he +preserved on his harsh features the smile of the heartless +though clever man; "ruined -- yes, that is it." + +"Ah!" said Eugenie. + +"Yes, ruined! Now it is revealed, this secret so full of +horror, as the tragic poet says. Now, my daughter, learn +from my lips how you may alleviate this misfortune, so far +as it will affect you." + +"Oh," cried Eugenie, "you are a bad physiognomist, if you +imagine I deplore on my own account the catastrophe of which +you warn me. I ruined? and what will that signify to me? +Have I not my talent left? Can I not, like Pasta, Malibran, +Grisi, acquire for myself what you would never have given +me, whatever might have been your fortune, a hundred or a +hundred and fifty thousand livres per annum, for which I +shall be indebted to no one but myself; and which, instead +of being given as you gave me those poor twelve thousand +francs, with sour looks and reproaches for my prodigality, +will be accompanied with acclamations, with bravos, and with +flowers? And if I do not possess that talent, which your +smiles prove to me you doubt, should I not still have that +ardent love of independence, which will be a substitute for +wealth, and which in my mind supersedes even the instinct of +self-preservation? No, I grieve not on my own account, I +shall always find a resource; my books, my pencils, my +piano, all the things which cost but little, and which I +shall be able to procure, will remain my own. + +"Do you think that I sorrow for Madame Danglars? Undeceive +yourself again; either I am greatly mistaken, or she has +provided against the catastrophe which threatens you, and, +which will pass over without affecting her. She has taken +care for herself, -- at least I hope so, -- for her +attention has not been diverted from her projects by +watching over me. She has fostered my independence by +professedly indulging my love for liberty. Oh, no, sir; from +my childhood I have seen too much, and understood too much, +of what has passed around me, for misfortune to have an +undue power over me. From my earliest recollections, I have +been beloved by no one -- so much the worse; that has +naturally led me to love no one -- so much the better -- now +you have my profession of faith." + +"Then," said Danglars, pale with anger, which was not at all +due to offended paternal love, -- "then, mademoiselle, you +persist in your determination to accelerate my ruin?" + +"Your ruin? I accelerate your ruin? What do you mean? I do +not understand you." + +"So much the better, I have a ray of hope left; listen." + +"I am all attention," said Eugenie, looking so earnestly at +her father that it was an effort for the latter to endure +her unrelenting gaze. + +"M. Cavalcanti," continued Danglars, "is about to marry you, +and will place in my hands his fortune, amounting to three +million livres." + +"That is admirable!" said Eugenie with sovereign contempt, +smoothing her gloves out one upon the other. + +"You think I shall deprive you of those three millions," +said Danglars; "but do not fear it. They are destined to +produce at least ten. I and a brother banker have obtained a +grant of a railway, the only industrial enterprise which in +these days promises to make good the fabulous prospects that +Law once held out to the eternally deluded Parisians, in the +fantastic Mississippi scheme. As I look at it, a millionth +part of a railway is worth fully as much as an acre of waste +land on the banks of the Ohio. We make in our case a +deposit, on a mortgage, which is an advance, as you see, +since we gain at least ten, fifteen, twenty, or a hundred +livres' worth of iron in exchange for our money. Well, +within a week I am to deposit four millions for my share; +the four millions, I promise you, will produce ten or +twelve." + +"But during my visit to you the day before yesterday, sir, +which you appear to recollect so well," replied Eugenie, "I +saw you arranging a deposit -- is not that the term? -- of +five millions and a half; you even pointed it out to me in +two drafts on the treasury, and you were astonished that so +valuable a paper did not dazzle my eyes like lightning." + +"Yes, but those five millions and a half are not mine, and +are only a proof of the great confidence placed in me; my +title of popular banker has gained me the confidence of +charitable institutions, and the five millions and a half +belong to them; at any other time I should not have +hesitated to make use of them, but the great losses I have +recently sustained are well known, and, as I told you, my +credit is rather shaken. That deposit may be at any moment +withdrawn, and if I had employed it for another purpose, I +should bring on me a disgraceful bankruptcy. I do not +despise bankruptcies, believe me, but they must be those +which enrich, not those which ruin. Now, if you marry M. +Cavalcanti, and I get the three millions, or even if it is +thought I am going to get them, my credit will be restored, +and my fortune, which for the last month or two has been +swallowed up in gulfs which have been opened in my path by +an inconceivable fatality, will revive. Do you understand +me?" + +"Perfectly; you pledge me for three millions, do you not?" + +"The greater the amount, the more flattering it is to you; +it gives you an idea of your value." + +"Thank you. One word more, sir; do you promise me to make +what use you can of the report of the fortune M. Cavalcanti +will bring without touching the money? This is no act of +selfishness, but of delicacy. I am willing to help rebuild +your fortune, but I will not be an accomplice in the ruin of +others." + +"But since I tell you," cried Danglars, "that with these +three million" -- + +"Do you expect to recover your position, sir, without +touching those three million?" + +"I hope so, if the marriage should take place and confirm my +credit." + +"Shall you be able to pay M. Cavalcanti the five hundred +thousand francs you promise for my dowry?" + +"He shall receive then on returning from the mayor's."* + +* The performance of the civil marriage. + +"Very well!" + +"What next? what more do you want?" + +"I wish to know if, in demanding my signature, you leave me +entirely free in my person?" + +"Absolutely." + +"Then, as I said before, sir, -- very well; I am ready to +marry M. Cavalcanti." + +"But what are you up to?" + +"Ah, that is my affair. What advantage should I have over +you, if knowing your secret I were to tell you mine?" +Danglars bit his lips. "Then," said he, "you are ready to +pay the official visits, which are absolutely +indispensable?" + +"Yes," replied Eugenie. + +"And to sign the contract in three days?" + +"Yes." + +"Then, in my turn, I also say, very well!" Danglars pressed +his daughter's hand in his. But, extraordinary to relate, +the father did not say, "Thank you, my child," nor did the +daughter smile at her father. "Is the conference ended?" +asked Eugenie, rising. Danglars motioned that he had nothing +more to say. Five minutes afterwards the piano resounded to +the touch of Mademoiselle d'Armilly's fingers, and +Mademoiselle Danglars was singing Brabantio's malediction on +Desdemona. At the end of the piece Etienne entered, and +announced to Eugenie that the horses were in the carriage, +and that the baroness was waiting for her to pay her visits. +We have seen them at Villefort's; they proceeded then on +their course. + + + +Chapter 96 +The Contract. + +Three days after the scene we have just described, namely +towards five o'clock in the afternoon of the day fixed for +the signature of the contract between Mademoiselle Eugenie +Danglars and Andrea Cavalcanti, -- whom the banker persisted +in calling prince, -- a fresh breeze was stirring the leaves +in the little garden in front of the Count of Monte Cristo's +house, and the count was preparing to go out. While his +horses were impatiently pawing the ground, -- held in by the +coachman, who had been seated a quarter of an hour on his +box, -- the elegant phaeton with which we are familiar +rapidly turned the angle of the entrance-gate, and cast out +on the doorsteps M. Andrea Cavalcanti, as decked up and gay +as if he were going to marry a princess. He inquired after +the count with his usual familiarity, and ascending lightly +to the second story met him at the top of the stairs. The +count stopped on seeing the young man. As for Andrea, he was +launched, and when he was once launched nothing stopped him. +"Ah, good morning, my dear count," said he. "Ah, M. Andrea," +said the latter, with his half-jesting tone; "how do you +do." + +"Charmingly, as you see. I am come to talk to you about a +thousand things; but, first tell me, were you going out or +just returned?" + +"I was going out, sir." + +"Then, in order not to hinder you, I will get up with you if +you please in your carriage, and Tom shall follow with my +phaeton in tow." + +"No," said the count, with an imperceptible smile of +contempt, for he had no wish to be seen in the young man's +society, -- "no; I prefer listening to you here, my dear M. +Andrea; we can chat better in-doors, and there is no +coachman to overhear our conversation." The count returned +to a small drawing-room on the first floor, sat down, and +crossing his legs motioned to the young man to take a seat +also. Andrea assumed his gayest manner. "You know, my dear +count," said he, "the ceremony is to take place this +evening. At nine o'clock the contract is to be signed at my +father-in-law's." + +"Ah, indeed?" said Monte Cristo. + +"What; is it news to you? Has not M. Danglars informed you +of the ceremony?" + +"Oh, yes," said the count; "I received a letter from him +yesterday, but I do not think the hour was mentioned." + +"Possibly my father-in-law trusted to its general +notoriety." + +"Well," said Monte Cristo, "you are fortunate, M. +Cavalcanti; it is a most suitable alliance you are +contracting, and Mademoiselle Danglars is a handsome girl." + +"Yes, indeed she is," replied Cavalcanti, in a very modest +tone. + +"Above all, she is very rich, -- at least, I believe so," +said Monte Cristo. + +"Very rich, do you think?" replied the young man. + +"Doubtless; it is said M. Danglars conceals at least half of +his fortune." + +"And he acknowledges fifteen or twenty millions," said +Andrea with a look sparkling with joy. + +"Without reckoning," added Monte Cristo, "that he is on the +eve of entering into a sort of speculation already in vogue +in the United States and in England, but quite novel in +France." + +"Yes, yes, I know what you mean, -- the railway, of which he +has obtained the grant, is it not?" + +"Precisely; it is generally believed he will gain ten +millions by that affair." + +"Ten millions! Do you think so? It is magnificent!" said +Cavalcanti, who was quite confounded at the metallic sound +of these golden words. "Without reckoning," replied Monte +Cristo, "that all his fortune will come to you, and justly +too, since Mademoiselle Danglars is an only daughter. +Besides, your own fortune, as your father assured me, is +almost equal to that of your betrothed. But enough of money +matters. Do you know, M. Andrea, I think you have managed +this affair rather skilfully?" + +"Not badly, by any means," said the young man; "I was born +for a diplomatist." + +"Well, you must become a diplomatist; diplomacy, you know, +is something that is not to be acquired; it is instinctive. +Have you lost your heart?" + +"Indeed, I fear it," replied Andrea, in the tone in which he +had heard Dorante or Valere reply to Alceste* at the Theatre +Francais. + +"Is your love returned?" + +* In Moliere's comedy, Le Misanthrope. + +"I suppose so," said Andrea with a triumphant smile, "since +I am accepted. But I must not forget one grand point." + +"Which?" + +"That I have been singularly assisted." + +"Nonsense." + +"I have, indeed." + +"By circumstances?" + +"No; by you." + +"By me? Not at all, prince," said Monte Cristo laying a +marked stress on the title, "what have I done for you? Are +not your name, your social position, and your merit +sufficient?" + +"No," said Andrea, -- "no; it is useless for you to say so, +count. I maintain that the position of a man like you has +done more than my name, my social position, and my merit." + +"You are completely mistaken, sir," said Monte Cristo +coldly, who felt the perfidious manoeuvre of the young man, +and understood the bearing of his words; "you only acquired +my protection after the influence and fortune of your father +had been ascertained; for, after all, who procured for me, +who had never seen either you or your illustrious father, +the pleasure of your acquaintance? -- two of my good +friends, Lord Wilmore and the Abbe Busoni. What encouraged +me not to become your surety, but to patronize you? -- your +father's name, so well known in Italy and so highly honored. +Personally, I do not know you." This calm tone and perfect +ease made Andrea feel that he was, for the moment, +restrained by a more muscular hand than his own, and that +the restraint could not be easily broken through. + +"Oh, then my father has really a very large fortune, count?" + +"It appears so, sir," replied Monte Cristo. + +"Do you know if the marriage settlement he promised me has +come?" + +"I have been advised of it." + +"But the three millions?" + +"The three millions are probably on the road." + +"Then I shall really have them?" + +"Oh, well," said the count, "I do not think you have yet +known the want of money." Andrea was so surprised that he +pondered the matter for a moment. Then, arousing from his +revery, -- "Now, sir, I have one request to make to you, +which you will understand, even if it should be disagreeable +to you." + +"Proceed," said Monte Cristo. + +"I have formed an acquaintance, thanks to my good fortune, +with many noted persons, and have, at least for the moment, +a crowd of friends. But marrying, as I am about to do, +before all Paris, I ought to be supported by an illustrious +name, and in the absence of the paternal hand some powerful +one ought to lead me to the altar; now, my father is not +coming to Paris, is he? He is old, covered with wounds, and +suffers dreadfully, he says, in travelling." + +"Indeed?" + +"Well, I am come to ask a favor of you." + +"Of me?" + +"Yes, of you." + +"And pray what may it be?" + +"Well, to take his part." + +"Ah, my dear sir! What? -- after the varied relations I have +had the happiness to sustain towards you, can it be that you +know me so little as to ask such a thing? Ask me to lend you +half a million and, although such a loan is somewhat rare, +on my honor, you would annoy me less! Know, then, what I +thought I had already told you, that in participation in +this world's affairs, more especially in their moral +aspects, the Count of Monte Cristo has never ceased to +entertain the scruples and even the superstitions of the +East. I, who have a seraglio at Cairo, one at Smyrna, and +one at Constantinople, preside at a wedding? -- never!" + +"Then you refuse me?" + +"Decidedly; and were you my son or my brother I would refuse +you in the same way." + +"But what must be done?" said Andrea, disappointed. + +"You said just now that you had a hundred friends." + +"Very true, but you introduced me at M. Danglars'." + +"Not at all! Let us recall the exact facts. You met him at a +dinner party at my house, and you introduced yourself at his +house; that is a totally different affair." + +"Yes, but, by my marriage, you have forwarded that." + +"I? -- not in the least, I beg you to believe. Recollect +what I told you when you asked me to propose you. `Oh, I +never make matches, my dear prince, it is my settled +principle.'" Andrea bit his lips. + +"But, at least, you will be there?" + +"Will all Paris be there?" + +"Oh, certainly." + +"Well, like all Paris, I shall be there too," said the +count. + +"And will you sign the contract?" + +"I see no objection to that; my scruples do not go thus +far." + +"Well, since you will grant me no more, I must be content +with what you give me. But one word more, count." + +"What is it?" + +"Advice." + +"Be careful; advice is worse than a service." + +"Oh, you can give me this without compromising yourself." + +"Tell me what it is." + +"Is my wife's fortune five hundred thousand livres?" + +"That is the sum M. Danglars himself announced." + +"Must I receive it, or leave it in the hands of the notary?" + +"This is the way such affairs are generally arranged when it +is wished to do them stylishly: Your two solicitors appoint +a meeting, when the contract is signed, for the next or the +following day; then they exchange the two portions, for +which they each give a receipt; then, when the marriage is +celebrated, they place the amount at your disposal as the +chief member of the alliance." + +"Because," said Andrea, with a certain ill-concealed +uneasiness, "I thought I heard my father-in-law say that he +intended embarking our property in that famous railway +affair of which you spoke just now." + +"Well," replied Monte Cristo, "it will be the way, everybody +says, of trebling your fortune in twelve months. Baron +Danglars is a good father, and knows how to calculate." + +"In that case," said Andrea, "everything is all right, +excepting your refusal, which quite grieves me." + +"You must attribute it only to natural scruples under +similar circumstances." + +"Well," said Andrea, "let it be as you wish. This evening, +then, at nine o'clock." + +"Adieu till then." Notwithstanding a slight resistance on +the part of Monte Cristo, whose lips turned pale, but who +preserved his ceremonious smile, Andrea seized the count's +hand, pressed it, jumped into his phaeton, and disappeared. + +The four or five remaining hours before nine o'clock +arrived, Andrea employed in riding, paying visits, -- +designed to induce those of whom he had spoken to appear at +the banker's in their gayest equipages, -- dazzling them by +promises of shares in schemes which have since turned every +brain, and in which Danglars was just taking the initiative. +In fact, at half-past eight in the evening the grand salon, +the gallery adjoining, and the three other drawing-rooms on +the same floor, were filled with a perfumed crowd, who +sympathized but little in the event, but who all +participated in that love of being present wherever there is +anything fresh to be seen. An Academician would say that the +entertainments of the fashionable world are collections of +flowers which attract inconstant butterflies, famished bees, +and buzzing drones. + +No one could deny that the rooms were splendidly +illuminated; the light streamed forth on the gilt mouldings +and the silk hangings; and all the bad taste of decorations, +which had only their richness to boast of, shone in its +splendor. Mademoiselle Eugenie was dressed with elegant +simplicity in a figured white silk dress, and a white rose +half concealed in her jet black hair was her only ornament, +unaccompanied by a single jewel. Her eyes, however, betrayed +that perfect confidence which contradicted the girlish +simplicity of this modest attire. Madame Danglars was +chatting at a short distance with Debray, Beauchamp, and +Chateau-Renaud. + +Debray was admitted to the house for this grand ceremony, +but on the same plane with every one else, and without any +particular privilege. M. Danglars, surrounded by deputies +and men connected with the revenue, was explaining a new +theory of taxation which he intended to adopt when the +course of events had compelled the government to call him +into the ministry. Andrea, on whose arm hung one of the most +consummate dandies of the opera, was explaining to him +rather cleverly, since he was obliged to be bold to appear +at ease, his future projects, and the new luxuries he meant +to introduce to Parisian fashions with his hundred and +seventy-five thousand livres per annum. + +The crowd moved to and fro in the rooms like an ebb and flow +of turquoises, rubies, emeralds, opals, and diamonds. As +usual, the oldest women were the most decorated, and the +ugliest the most conspicuous. If there was a beautiful lily, +or a sweet rose, you had to search for it, concealed in some +corner behind a mother with a turban, or an aunt with a bird +of paradise. + +At each moment, in the midst of the crowd, the buzzing, and +the laughter, the door-keeper's voice was heard announcing +some name well known in the financial department, respected +in the army, or illustrious in the literary world, and which +was acknowledged by a slight movement in the different +groups. But for one whose privilege it was to agitate that +ocean of human waves, how many were received with a look of +indifference or a sneer of disdain! At the moment when the +hand of the massive time-piece, representing Endymion +asleep, pointed to nine on its golden face, and the hammer, +the faithful type of mechanical thought, struck nine times, +the name of the Count of Monte Cristo resounded in its turn, +and as if by an electric shock all the assembly turned +towards the door. + +The count was dressed in black and with his habitual +simplicity; his white waistcoat displayed his expansive +noble chest and his black stock was singularly noticeable +because of its contrast with the deadly paleness of his +face. His only jewellery was a chain, so fine that the +slender gold thread was scarcely perceptible on his white +waistcoat. A circle was immediately formed around the door. +The count perceived at one glance Madame Danglars at one end +of the drawing-room, M. Danglars at the other, and Eugenie +in front of him. He first advanced towards the baroness, who +was chatting with Madame de Villefort, who had come alone, +Valentine being still an invalid; and without turning aside, +so clear was the road left for him, he passed from the +baroness to Eugenie, whom he complimented in such rapid and +measured terms, that the proud artist was quite struck. Near +her was Mademoiselle Louise d'Armilly, who thanked the count +for the letters of introduction he had so kindly given her +for Italy, which she intended immediately to make use of. On +leaving these ladies he found himself with Danglars, who had +advanced to meet him. + +Having accomplished these three social duties, Monte Cristo +stopped, looking around him with that expression peculiar to +a certain class, which seems to say, "I have done my duty, +now let others do theirs." Andrea, who was in an adjoining +room, had shared in the sensation caused by the arrival of +Monte Cristo, and now came forward to pay his respects to +the count. He found him completely surrounded; all were +eager to speak to him, as is always the case with those +whose words are few and weighty. The solicitors arrived at +this moment and arranged their scrawled papers on the velvet +cloth embroidered with gold which covered the table prepared +for the signature; it was a gilt table supported on lions' +claws. One of the notaries sat down, the other remained +standing. They were about to proceed to the reading of the +contract, which half Paris assembled was to sign. All took +their places, or rather the ladies formed a circle, while +the gentlemen (more indifferent to the restraints of what +Boileau calls the "energetic style") commented on the +feverish agitation of Andrea, on M. Danglars' riveted +attention, Eugenie's composure, and the light and sprightly +manner in which the baroness treated this important affair. + +The contract was read during a profound silence. But as soon +as it was finished, the buzz was redoubled through all the +drawing-rooms; the brilliant sums, the rolling millions +which were to be at the command of the two young people, and +which crowned the display of the wedding presents and the +young lady's diamonds, which had been made in a room +entirely appropriated for that purpose, had exercised to the +full their delusions over the envious assembly. Mademoiselle +Danglars' charms were heightened in the opinion of the young +men, and for the moment seemed to outvie the sun in +splendor. As for the ladies, it is needless to say that +while they coveted the millions, they thought they did not +need them for themselves, as they were beautiful enough +without them. Andrea, surrounded by his friends, +complimented, flattered, beginning to believe in the reality +of his dream, was almost bewildered. The notary solemnly +took the pen, flourished it above his head, and said, +"Gentlemen, we are about to sign the contract." + +The baron was to sign first, then the representative of M. +Cavalcanti, senior, then the baroness, afterwards the +"future couple," as they are styled in the abominable +phraseology of legal documents. The baron took the pen and +signed, then the representative. The baroness approached, +leaning on Madame de Villefort's arm. "My dear," said she, +as she took the pen, "is it not vexatious? An unexpected +incident, in the affair of murder and theft at the Count of +Monte Cristo's, in which he nearly fell a victim, deprives +us of the pleasure of seeing M. de Villefort." + +"Indeed?" said M. Danglars, in the same tone in which he +would have said, "Oh, well, what do I care?" + +"As a matter of fact," said Monte Cristo, approaching, "I am +much afraid that I am the involuntary cause of his absence." + +"What, you, count?" said Madame Danglars, signing; "if you +are, take care, for I shall never forgive you." Andrea +pricked up his ears. + +"But it is not my fault, as I shall endeavor to prove." +Every one listened eagerly; Monte Cristo who so rarely +opened his lips, was about to speak. "You remember," said +the count, during the most profound silence, "that the +unhappy wretch who came to rob me died at my house; the +supposition is that he was stabbed by his accomplice, on +attempting to leave it." + +"Yes," said Danglars. + +"In order that his wounds might be examined he was +undressed, and his clothes were thrown into a corner, where +the police picked them up, with the exception of the +waistcoat, which they overlooked." Andrea turned pale, and +drew towards the door; he saw a cloud rising in the horizon, +which appeared to forebode a coming storm. + +"Well, this waistcoat was discovered to-day, covered with +blood, and with a hole over the heart." The ladies screamed, +and two or three prepared to faint. "It was brought to me. +No one could guess what the dirty rag could be; I alone +suspected that it was the waistcoat of the murdered man. My +valet, in examining this mournful relic, felt a paper in the +pocket and drew it out; it was a letter addressed to you, +baron." + +"To me?" cried Danglars. + +"Yes, indeed, to you; I succeeded in deciphering your name +under the blood with which the letter was stained," replied +Monte Cristo, amid the general outburst of amazement. + +"But," asked Madame Danglars, looking at her husband with +uneasiness, "how could that prevent M. de Villefort" -- + +"In this simple way, madame," replied Monte Cristo; "the +waistcoat and the letter were both what is termed +circumstantial evidence; I therefore sent them to the king's +attorney. You understand, my dear baron, that legal methods +are the safest in criminal cases; it was, perhaps, some plot +against you." Andrea looked steadily at Monte Cristo and +disappeared in the second drawing-room. + +"Possibly," said Danglars; "was not this murdered man an old +galley-slave?" + +"Yes," replied the count; "a felon named Caderousse." +Danglars turned slightly pale; Andrea reached the anteroom +beyond the little drawing-room. + +"But go on signing," said Monte Cristo; "I perceive that my +story has caused a general emotion, and I beg to apologize +to you, baroness, and to Mademoiselle Danglars." The +baroness, who had signed, returned the pen to the notary. +"Prince Cavalcanti," said the latter; "Prince Cavalcanti, +where are you?" + +"Andrea, Andrea," repeated several young people, who were +already on sufficiently intimate terms with him to call him +by his Christian name. + +"Call the prince; inform him that it is his turn to sign," +cried Danglars to one of the floorkeepers. + +But at the same instant the crowd of guests rushed in alarm +into the principal salon as if some frightful monster had +entered the apartments, quaerens quem devoret. There was, +indeed, reason to retreat, to be alarmed, and to scream. An +officer was placing two soldiers at the door of each +drawing-room, and was advancing towards Danglars, preceded +by a commissary of police, girded with his scarf. Madame +Danglars uttered a scream and fainted. Danglars, who thought +himself threatened (certain consciences are never calm), -- +Danglars even before his guests showed a countenance of +abject terror. + +"What is the matter, sir?" asked Monte Cristo, advancing to +meet the commissioner. + +"Which of you gentlemen," asked the magistrate, without +replying to the count, "answers to the name of Andrea +Cavalcanti?" A cry of astonishment was heard from all parts +of the room. They searched; they questioned. "But who then +is Andrea Cavalcanti?" asked Danglars in amazement. + +"A galley-slave, escaped from confinement at Toulon." + +"And what crime has he committed?" + +"He is accused," said the commissary with his inflexible +voice, "of having assassinated the man named Caderousse, his +former companion in prison, at the moment he was making his +escape from the house of the Count of Monte Cristo." Monte +Cristo cast a rapid glance around him. Andrea was gone. + + + +Chapter 97 +The Departure for Belgium. + +A few minutes after the scene of confusion produced in the +salons of M. Danglars by the unexpected appearance of the +brigade of soldiers, and by the disclosure which had +followed, the mansion was deserted with as much rapidity as +if a case of plague or of cholera morbus had broken out +among the guests. In a few minutes, through all the doors, +down all the staircases, by every exit, every one hastened +to retire, or rather to fly; for it was a situation where +the ordinary condolences, -- which even the best friends are +so eager to offer in great catastrophes, -- were seen to be +utterly futile. There remained in the banker's house only +Danglars, closeted in his study, and making his statement to +the officer of gendarmes; Madame Danglars, terrified, in the +boudoir with which we are acquainted; and Eugenie, who with +haughty air and disdainful lip had retired to her room with +her inseparable companion, Mademoiselle Louise d'Armilly. As +for the numerous servants (more numerous that evening than +usual, for their number was augmented by cooks and butlers +from the Cafe de Paris), venting on their employers their +anger at what they termed the insult to which they had been +subjected, they collected in groups in the hall, in the +kitchens, or in their rooms, thinking very little of their +duty, which was thus naturally interrupted. Of all this +household, only two persons deserve our notice; these are +Mademoiselle Eugenie Danglars and Mademoiselle Louise +d'Armilly. + +The betrothed had retired, as we said, with haughty air, +disdainful lip, and the demeanor of an outraged queen, +followed by her companion, who was paler and more disturbed +than herself. On reaching her room Eugenie locked her door, +while Louise fell on a chair. "Ah, what a dreadful thing," +said the young musician; "who would have suspected it? M. +Andrea Cavalcanti a murderer -- a galley-slave escaped -- a +convict!" An ironical smile curled the lip of Eugenie. "In +truth I was fated," said she. "I escaped the Morcerf only to +fall into the Cavalcanti." + +"Oh, do not confound the two, Eugenie." + +"Hold your tongue! The men are all infamous, and I am happy +to be able now to do more than detest them -- I despise +them." + +"What shall we do?" asked Louise. + +"What shall we do?" + +"Yes." + +"Why, the same we had intended doing three days since -- set +off." + +"What? -- although you are not now going to be married, you +intend still" -- + +"Listen, Louise. I hate this life of the fashionable world, +always ordered, measured, ruled, like our music-paper. What +I have always wished for, desired, and coveted, is the life +of an artist, free and independent, relying only on my own +resources, and accountable only to myself. Remain here? What +for? -- that they may try, a month hence, to marry me again; +and to whom? -- M. Debray, perhaps, as it was once proposed. +No, Louise, no! This evening's adventure will serve for my +excuse. I did not seek one, I did not ask for one. God sends +me this, and I hail it joyfully!" + +"How strong and courageous you are!" said the fair, frail +girl to her brunette companion. + +"Did you not yet know me? Come, Louise, let us talk of our +affairs. The post-chaise" -- + +"Was happily bought three days since." + +"Have you had it sent where we are to go for it?" + +"Yes." + +"Our passport?" + +"Here it is." + +And Eugenie, with her usual precision, opened a printed +paper, and read, -- + +"M. Leon d'Armilly, twenty years of age; profession, artist; +hair black, eyes black; travelling with his sister." + +"Capital! How did you get this passport?" + +"When I went to ask M. de Monte Cristo for letters to the +directors of the theatres at Rome and Naples, I expressed my +fears of travelling as a woman; he perfectly understood +them, and undertook to procure for me a man's passport, and +two days after I received this, to which I have added with +my own hand, `travelling with his sister.'" + +"Well," said Eugenie cheerfully, "we have then only to pack +up our trunks; we shall start the evening of the signing of +the contract, instead of the evening of the wedding -- that +is all." + +"But consider the matter seriously, Eugenie!" + +"Oh, I am done with considering! I am tired of hearing only +of market reports, of the end of the month, of the rise and +fall of Spanish funds, of Haitian bonds. Instead of that, +Louise -- do you understand? -- air, liberty, melody of +birds, plains of Lombardy, Venetian canals, Roman palaces, +the Bay of Naples. How much have we, Louise?" The young girl +to whom this question was addressed drew from an inlaid +secretary a small portfolio with a lock, in which she +counted twenty-three bank-notes. + +"Twenty-three thousand francs," I said she. + +"And as much, at least, in pearls, diamonds, and jewels," +said Eugenie. "We are rich. With forty-five thousand francs +we can live like princesses for two years, and comfortably +for four; but before six months -- you with your music, and +I with my voice -- we shall double our capital. Come, you +shall take charge of the money, I of the jewel-box; so that +if one of us had the misfortune to lose her treasure, the +other would still have hers left. Now, the portmanteau -- +let us make haste -- the portmanteau!" + +"Stop!" said Louise, going to listen at Madame Danglars' +door. + +"What do you fear?" + +"That we may be discovered." + +"The door is locked." + +"They may tell us to open it." + +"They may if they like, but we will not." + +"You are a perfect Amazon, Eugenie!" And the two young girls +began to heap into a trunk all the things they thought they +should require. "There now," said Eugenie, "while I change +my costume do you lock the portmanteau." Louise pressed with +all the strength of her little hands on the top of the +portmanteau. "But I cannot," said she; "I am not strong +enough; do you shut it." + +"Ah, you do well to ask," said Eugenie, laughing; "I forgot +that I was Hercules, and you only the pale Omphale!" And the +young girl, kneeling on the top, pressed the two parts of +the portmanteau together, and Mademoiselle d'Armilly passed +the bolt of the padlock through. When this was done, Eugenie +opened a drawer, of which she kept the key, and took from it +a wadded violet silk travelling cloak. "Here," said she, +"you see I have thought of everything; with this cloak you +will not be cold." + +"But you?" + +"Oh, I am never cold, you know! Besides, with these men's +clothes" -- + +"Will you dress here?" + +"Certainly." + +"Shall you have time?" + +"Do not be uneasy, you little coward! All our servants are +busy, discussing the grand affair. Besides, what is there +astonishing, when you think of the grief I ought to be in, +that I shut myself up? -- tell me!" + +"No, truly -- you comfort me." + +"Come and help me." + +From the same drawer she took a man's complete costume, from +the boots to the coat, and a provision of linen, where there +was nothing superfluous, but every requisite. Then, with a +promptitude which indicated that this was not the first time +she had amused herself by adopting the garb of the opposite +sex, Eugenie drew on the boots and pantaloons, tied her +cravat, buttoned her waistcoat up to the throat, and put on +a coat which admirably fitted her beautiful figure. "Oh, +that is very good -- indeed, it is very good!" said Louise, +looking at her with admiration; "but that beautiful black +hair, those magnificent braids, which made all the ladies +sigh with envy, -- will they go under a man's hat like the +one I see down there?" + +"You shall see," said Eugenie. And with her left hand +seizing the thick mass, which her long fingers could +scarcely grasp, she took in her right hand a pair of long +scissors, and soon the steel met through the rich and +splendid hair, which fell in a cluster at her feet as she +leaned back to keep it from her coat. Then she grasped the +front hair, which she also cut off, without expressing the +least regret; on the contrary, her eyes sparkled with +greater pleasure than usual under her ebony eyebrows. "Oh, +the magnificent hair!" said Louise, with regret. + +"And am I not a hundred times better thus?" cried Eugenie, +smoothing the scattered curls of her hair, which had now +quite a masculine appearance; "and do you not think me +handsomer so?" + +"Oh, you are beautiful -- always beautiful!" cried Louise. +"Now, where are you going?" + +"To Brussels, if you like; it is the nearest frontier. We +can go to Brussels, Liege, Aix-la-Chapelle; then up the +Rhine to Strasburg. We will cross Switzerland, and go down +into Italy by the Saint-Gothard. Will that do?" + +"Yes." + +"What are you looking at?" + +"I am looking at you; indeed you are adorable like that! One +would say you were carrying me off." + +"And they would be right, pardieu!" + +"Oh, I think you swore, Eugenie." And the two young girls, +whom every one might have thought plunged in grief, the one +on her own account, the other from interest in her friend, +burst out laughing, as they cleared away every visible trace +of the disorder which had naturally accompanied the +preparations for their escape. Then, having blown out the +lights, the two fugitives, looking and listening eagerly, +with outstretched necks, opened the door of a dressing-room +which led by a side staircase down to the yard, -- Eugenie +going first, and holding with one arm the portmanteau, which +by the opposite handle Mademoiselle d'Armilly scarcely +raised with both hands. The yard was empty; the clock was +striking twelve. The porter was not yet gone to bed. Eugenie +approached softly, and saw the old man sleeping soundly in +an arm-chair in his lodge. She returned to Louise, took up +the portmanteau, which she had placed for a moment on the +ground, and they reached the archway under the shadow of the +wall. + +Eugenie concealed Louise in an angle of the gateway, so that +if the porter chanced to awake he might see but one person. +Then placing herself in the full light of the lamp which lit +the yard, -- "Gate!" cried she, with her finest contralto +voice, and rapping at the window. + +The porter got up as Eugenie expected, and even advanced +some steps to recognize the person who was going out, but +seeing a young man striking his boot impatiently with his +riding-whip, he opened it immediately. Louise slid through +the half-open gate like a snake, and bounded lightly +forward. Eugenie, apparently calm, although in all +probability her heart beat somewhat faster than usual, went +out in her turn. A porter was passing and they gave him the +portmanteau; then the two young girls, having told him to +take it to No. 36, Rue de la Victoire, walked behind this +man, whose presence comforted Louise. As for Eugenie, she +was as strong as a Judith or a Delilah. They arrived at the +appointed spot. Eugenie ordered the porter to put down the +portmanteau, gave him some pieces of money, and having +rapped at the shutter sent him away. The shutter where +Eugenie had rapped was that of a little laundress, who had +been previously warned, and was not yet gone to bed. She +opened the door. + +"Mademoiselle," said Eugenie, "let the porter get the +post-chaise from the coach-house, and fetch some post-horses +from the hotel. Here are five francs for his trouble." + +"Indeed," said Louise, "I admire you, and I could almost say +respect you." The laundress looked on in astonishment, but +as she had been promised twenty louis, she made no remark. + +In a quarter of an hour the porter returned with a post-boy +and horses, which were harnessed, and put in the post-chaise +in a minute, while the porter fastened the portmanteau on +with the assistance of a cord and strap. "Here is the +passport," said the postilion, "which way are we going, +young gentleman?" + +"To Fontainebleau," replied Eugenie with an almost masculine +voice. + +"What do you say?" said Louise. + +"I am giving them the slip," said Eugenie; "this woman to +whom we have given twenty louis may betray us for forty; we +will soon alter our direction." And the young girl jumped +into the britzska, which was admirably arranged for sleeping +in, without scarcely touching the step. "You are always +right," said the music teacher, seating herself by the side +of her friend. + +A quarter of an hour afterwards the postilion, having been +put in the right road, passed with a crack of his whip +through the gateway of the Barriere Saint-Martin. "Ah," said +Louise, breathing freely, "here we are out of Paris." + +"Yes, my dear, the abduction is an accomplished fact," +replied Eugenie. "Yes, and without violence," said Louise. + +"I shall bring that forward as an extenuating circumstance," +replied Eugenie. These words were lost in the noise which +the carriage made in rolling over the pavement of La +Villette. M. Danglars no longer had a daughter. + + + +Chapter 98 +The Bell and Bottle Tavern. + +And now let us leave Mademoiselle Danglars and her friend +pursuing their way to Brussels, and return to poor Andrea +Cavalcanti, so inopportunely interrupted in his rise to +fortune. Notwithstanding his youth, Master Andrea was a very +skilful and intelligent boy. We have seen that on the first +rumor which reached the salon he had gradually approached +the door, and crossing two or three rooms at last +disappeared. But we have forgotten to mention one +circumstance, which nevertheless ought not to be omitted; in +one of the rooms he crossed, the trousseau of the +bride-elect was on exhibition. There were caskets of +diamonds, cashmere shawls, Valenciennes lace, English +veilings, and in fact all the tempting things, the bare +mention of which makes the hearts of young girls bound with +joy, and which is called the "corbeille."* Now, in passing +through this room, Andrea proved himself not only to be +clever and intelligent, but also provident, for he helped +himself to the most valuable of the ornaments before him. + +* Literally, "the basket," because wedding gifts were +originally brought in such a receptacle. + +Furnished with this plunder, Andrea leaped with a lighter +heart from the window, intending to slip through the hands +of the gendarmes. Tall and well proportioned as an ancient +gladiator, and muscular as a Spartan, he walked for a +quarter of an hour without knowing where to direct his +steps, actuated by the sole idea of getting away from the +spot where if he lingered he knew that he would surely be +taken. Having passed through the Rue Mont Blanc, guided by +the instinct which leads thieves always to take the safest +path, he found himself at the end of the Rue Lafayette. +There he stopped, breathless and panting. He was quite +alone; on one side was the vast wilderness of the +Saint-Lazare, on the other, Paris enshrouded in darkness. +"Am I to be captured?" he cried; "no, not if I can use more +activity than my enemies. My safety is now a mere question +of speed." At this moment he saw a cab at the top of the +Faubourg Poissonniere. The dull driver, smoking his pipe, +was plodding along toward the limits of the Faubourg +Saint-Denis, where no doubt he ordinarily had his station. +"Ho, friend!" said Benedetto. + +"What do you want, sir?" asked the driver. + +"Is your horse tired?" + +"Tired? oh, yes, tired enough -- he has done nothing the +whole of this blessed day! Four wretched fares, and twenty +sous over, making in all seven francs, are all that I have +earned, and I ought to take ten to the owner." + +"Will you add these twenty francs to the seven you have?" + +"With pleasure, sir; twenty francs are not to be despised. +Tell me what I am to do for this." + +"A very easy thing, if your horse isn't tired." + +"I tell you he'll go like the wind, -- only tell me which +way to drive." + +"Towards the Louvres." + +"Ah, I know the way -- you get good sweetened rum over +there." + +"Exactly so; I merely wish to overtake one of my friends, +with whom I am going to hunt to-morrow at +Chapelle-en-Serval. He should have waited for me here with a +cabriolet till half-past eleven; it is twelve, and, tired of +waiting, he must have gone on." + +"It is likely." + +"Well, will you try and overtake him?" + +"Nothing I should like better." + +"If you do not overtake him before we reach Bourget you +shall have twenty francs; if not before Louvres, thirty." + +"And if we do overtake him?" + +"Forty," said Andrea, after a moment's hesitation, at the +end of which he remembered that he might safely promise. +"That's all right," said the man; "hop in, and we're off! +Who-o-o-p, la!" + +Andrea got into the cab, which passed rapidly through the +Faubourg Saint-Denis, along the Faubourg Saint-Martin, +crossed the barrier, and threaded its way through the +interminable Villette. They never overtook the chimerical +friend, yet Andrea frequently inquired of people on foot +whom he passed and at the inns which were not yet closed, +for a green cabriolet and bay horse; and as there are a +great many cabriolets to be seen on the road to the Low +Countries, and as nine-tenths of them are green, the +inquiries increased at every step. Every one had just seen +it pass; it was only five hundred, two hundred, one hundred +steps in advance; at length they reached it, but it was not +the friend. Once the cab was also passed by a calash rapidly +whirled along by two post-horses. "Ah," said Cavalcanti to +himself, "if I only had that britzska, those two good +post-horses, and above all the passport that carries them +on!" And he sighed deeply. The calash contained Mademoiselle +Danglars and Mademoiselle d'Armilly. "Hurry, hurry!" said +Andrea, "we must overtake him soon." And the poor horse +resumed the desperate gallop it had kept up since leaving +the barrier, and arrived steaming at Louvres. + +"Certainly," said Andrea, "I shall not overtake my friend, +but I shall kill your horse, therefore I had better stop. +Here are thirty francs; I will sleep at the Red Horse, and +will secure a place in the first coach. Good-night, friend." +And Andrea, after placing six pieces of five francs each in +the man's hand, leaped lightly on to the pathway. The cabman +joyfully pocketed the sum, and turned back on his road to +Paris. Andrea pretended to go towards the Red Horse inn, but +after leaning an instant against the door, and hearing the +last sound of the cab, which was disappearing from view, he +went on his road, and with a lusty stride soon traversed the +space of two leagues. Then he rested; he must be near +Chapelle-en-Serval, where he pretended to be going. It was +not fatigue that stayed Andrea here; it was that he might +form some resolution, adopt some plan. It would be +impossible to make use of a diligence, equally so to engage +post-horses; to travel either way a passport was necessary. +It was still more impossible to remain in the department of +the Oise, one of the most open and strictly guarded in +France; this was quite out of the question, especially to a +man like Andrea, perfectly conversant with criminal matters. + +He sat down by the side of the moat, buried his face in his +hands and reflected. Ten minutes after he raised his head; +his resolution was made. He threw some dust over the +topcoat, which he had found time to unhook from the +ante-chamber and button over his ball costume, and going to +Chapelle-en-Serval he knocked loudly at the door of the only +inn in the place. The host opened. "My friend," said Andrea, +"I was coming from Montefontaine to Senlis, when my horse, +which is a troublesome creature, stumbled and threw me. I +must reach Compiegne to-night, or I shall cause deep anxiety +to my family. Could you let me hire a horse of you?" + +An inn-keeper has always a horse to let, whether it be good +or bad. The host called the stable-boy, and ordered him to +saddle "Whitey," then he awoke his son, a child of seven +years, whom he ordered to ride before the gentleman and +bring back the horse. Andrea gave the inn-keeper twenty +francs, and in taking them from his pocket dropped a +visiting card. This belonged to one of his friends at the +Cafe de Paris, so that the innkeeper, picking it up after +Andrea had left, was convinced that he had let his horse to +the Count of Mauleon, 25 Rue Saint-Dominique, that being the +name and address on the card. "Whitey" was not a fast +animal, but he kept up an easy, steady pace; in three hours +and a half Andrea had traversed the nine leagues which +separated him from Compiegne, and four o'clock struck as he +reached the place where the coaches stop. There is an +excellent tavern at Compiegne, well remembered by those who +have ever been there. Andrea, who had often stayed there in +his rides about Paris, recollected the Bell and Bottle inn; +he turned around, saw the sign by the light of a reflected +lamp, and having dismissed the child, giving him all the +small coin he had about him, he began knocking at the door, +very reasonably concluding that having now three or four +hours before him he had best fortify himself against the +fatigues of the morrow by a sound sleep and a good supper. A +waiter opened the door. + +"My friend," said Andrea, "I have been dining at +Saint-Jean-au-Bois, and expected to catch the coach which +passes by at midnight, but like a fool I have lost my way, +and have been walking for the last four hours in the forest. +Show me into one of those pretty little rooms which overlook +the court, and bring me a cold fowl and a bottle of +Bordeaux." The waiter had no suspicions; Andrea spoke with +perfect composure, he had a cigar in his mouth, and his +hands in the pocket of his top coat; his clothes were +fashionably made, his chin smooth, his boots irreproachable; +he looked merely as if he had stayed out very late, that was +all. While the waiter was preparing his room, the hostess +arose; Andrea assumed his most charming smile, and asked if +he could have No. 3, which he had occupied on his last stay +at Compiegne. Unfortunately, No. 3 was engaged by a young +man who was travelling with his sister. Andrea appeared in +despair, but consoled himself when the hostess assured him +that No. 7, prepared for him, was situated precisely the +same as No. 3, and while warming his feet and chatting about +the last races at Chantilly, he waited until they announced +his room to be ready. + +Andrea had not spoken without cause of the pretty rooms +looking out upon the court of the Bell Tavern, which with +its triple galleries like those of a theatre, with the +jessamine and clematis twining round the light columns, +forms one of the prettiest entrances to an inn that you can +imagine. The fowl was tender, the wine old, the fire clear +and sparkling, and Andrea was surprised to find himself +eating with as good an appetite as though nothing had +happened. Then be went to bed and almost immediately fell +into that deep sleep which is sure to visit men of twenty +years of age, even when they are torn with remorse. Now, +here we are obliged to own that Andrea ought to have felt +remorse, but that he did not. This was the plan which had +appealed to him to afford the best chance of his security. +Before daybreak he would awake, leave the inn after +rigorously paying his bill, and reaching the forest, he +would, under presence of making studies in painting, test +the hospitality of some peasants, procure himself the dress +of a woodcutter and a hatchet, casting off the lion's skin +to assume that of the woodman; then, with his hands covered +with dirt, his hair darkened by means of a leaden comb, his +complexion embrowned with a preparation for which one of his +old comrades had given him the recipe, he intended, by +following the wooded districts, to reach the nearest +frontier, walking by night and sleeping in the day in the +forests and quarries, and only entering inhabited regions to +buy a loaf from time to time. + +Once past the frontier, Andrea proposed making money of his +diamonds; and by uniting the proceeds to ten bank-notes he +always carried about with him in case of accident, he would +then find himself possessor of about 50,000 livres, which he +philosophically considered as no very deplorable condition +after all. Moreover, he reckoned much on the interest of the +Danglars to hush up the rumor of their own misadventures. +These were the reasons which, added to the fatigue, caused +Andrea to sleep so soundly. In order that he might awaken +early he did not close the shutters, but contented himself +with bolting the door and placing on the table an unclasped +and long-pointed knife, whose temper he well knew, and which +was never absent from him. About seven in the morning Andrea +was awakened by a ray of sunlight, which played, warm and +brilliant, upon his face. In all well-organized brains, the +predominating idea -- and there always is one -- is sure to +be the last thought before sleeping, and the first upon +waking in the morning. Andrea had scarcely opened his eyes +when his predominating idea presented itself, and whispered +in his ear that he had slept too long. He jumped out of bed +and ran to the window. A gendarme was crossing the court. A +gendarme is one of the most striking objects in the world, +even to a man void of uneasiness; but for one who has a +timid conscience, and with good cause too, the yellow, blue, +and white uniform is really very alarming. + +"Why is that gendarme there?" asked Andrea of himself. Then, +all at once, he replied, with that logic which the reader +has, doubtless, remarked in him, "There is nothing +astonishing in seeing a gendarme at an inn; instead of being +astonished, let me dress myself." And the youth dressed +himself with a facility his valet de chambre had failed to +rob him of during the two months of fashionable life he had +led in Paris. "Now then," said Andrea, while dressing +himself, "I'll wait till he leaves, and then I'll slip +away." And, saying this, Andrea, who had now put on his +boots and cravat, stole gently to the window, and a second +time lifted up the muslin curtain. Not only was the first +gendarme still there, but the young man now perceived a +second yellow, blue, and white uniform at the foot of the +staircase, the only one by which he could descend, while a +third, on horseback, holding a musket in his fist, was +posted as a sentinel at the great street door which alone +afforded the means of egress. + +The appearance of the third gendarme settled the matter, for +a crowd of curious loungers was extended before him, +effectually blocking the entrance to the hotel. "They're +after me!" was Andrea's first thought. "The devil!" A pallor +overspread the young man's forehead, and he looked around +him with anxiety. His room, like all those on the same +floor, had but one outlet to the gallery in the sight of +everybody. "I am lost!" was his second thought; and, indeed, +for a man in Andrea's situation, an arrest meant the +assizes, trial, and death, -- death without mercy or delay. +For a moment he convulsively pressed his head within his +hands, and during that brief period he became nearly mad +with terror; but soon a ray of hope glimmered in the +multitude of thoughts which bewildered his mind, and a faint +smile played upon his white lips and pallid cheeks. He +looked around and saw the objects of his search upon the +chimney-piece; they were a pen, ink, and paper. With forced +composure he dipped the pen in the ink, and wrote the +following lines upon a sheet of paper: -- + +"I have no money to pay my bill, but I am not a dishonest +man; I leave behind me as a pledge this pin, worth ten times +the amount. I shall be excused for leaving at daybreak, for +I was ashamed." + +He then drew the pin from his cravat and placed it on the +paper. This done, instead of leaving the door fastened, he +drew back the bolts and even placed the door ajar, as though +he had left the room, forgetting to close it, and slipping +into the chimney like a man accustomed to that kind of +gymnastic exercise, having effaced the marks of his feet +upon the floor, he commenced climbing the only opening which +afforded him the means of escape. At this precise time, the +first gendarme Andrea had noticed walked up-stairs, preceded +by the commissary of police, and supported by the second +gendarme who guarded the staircase and was himself +re-enforced by the one stationed at the door. + +Andrea was indebted for this visit to the following +circumstances. At daybreak, the telegraphs were set at work +in all directions, and almost immediately the authorities in +every district had exerted their utmost endeavors to arrest +the murderer of Caderousse. Compiegne, that royal residence +and fortified town, is well furnished with authorities, +gendarmes, and commissaries of police; they therefore began +operations as soon as the telegraphic despatch arrived, and +the Bell and Bottle being the best-known hotel in the town, +they had naturally directed their first inquiries there. + +Now, besides the reports of the sentinels guarding the Hotel +de Ville, which is next door to the Bell and Bottle, it had +been stated by others that a number of travellers had +arrived during the night. The sentinel who was relieved at +six o'clock in the morning, remembered perfectly that just +as he was taking his post a few minutes past four a young +man arrived on horseback, with a little boy before him. The +young man, having dismissed the boy and horse, knocked at +the door of the hotel, which was opened, and again closed +after his entrance. This late arrival had attracted much +suspicion, and the young man being no other than Andrea, the +commissary and gendarme, who was a brigadier, directed their +steps towards his room. + +They found the door ajar. "Oh, ho," said the brigadier, who +thoroughly understood the trick; "a bad sign to find the +door open! I would rather find it triply bolted." And, +indeed, the little note and pin upon the table confirmed, or +rather corroborated, the sad truth. Andrea had fled. We say +corroborated, because the brigadier was too experienced to +be convinced by a single proof. He glanced around, looked in +the bed, shook the curtains, opened the closets, and finally +stopped at the chimney. Andrea had taken the precaution to +leave no traces of his feet in the ashes, but still it was +an outlet, and in this light was not to be passed over +without serious investigation. + +The brigadier sent for some sticks and straw, and having +filled the chimney with them, set a light to it. The fire +crackled, and the smoke ascended like the dull vapor from a +volcano; but still no prisoner fell down, as they expected. +The fact was, that Andrea, at war with society ever since +his youth, was quite as deep as a gendarme, even though he +were advanced to the rank of brigadier, and quite prepared +for the fire, he had climbed out on the roof and was +crouching down against the chimney-pots. At one time he +thought he was saved, for he heard the brigadier exclaim in +a loud voice, to the two gendarmes, "He is not here!" But +venturing to peep, he perceived that the latter, instead of +retiring, as might have been reasonably expected upon this +announcement, were watching with increased attention. + +It was now his turn to look about him; the Hotel de Ville, a +massive sixteenth century building, was on his right; any +one could descend from the openings in the tower, and +examine every corner of the roof below, and Andrea expected +momentarily to see the head of a gendarme appear at one of +these openings. If once discovered, he knew he would be +lost, for the roof afforded no chance of escape; he +therefore resolved to descend, not through the same chimney +by which he had come up, but by a similar one conducting to +another room. He looked around for a chimney from which no +smoke issued, and having reached it, he disappeared through +the orifice without being seen by any one. At the same +minute, one of the little windows of the Hotel de Ville was +thrown open, and the head of a gendarme appeared. For an +instant it remained motionless as one of the stone +decorations of the building, then after a long sigh of +disappointment the head disappeared. The brigadier, calm and +dignified as the law he represented, passed through the +crowd, without answering the thousand questions addressed to +him, and re-entered the hotel. + +"Well?" asked the two gendarmes. + +"Well, my boys," said the brigadier, "the brigand must +really have escaped early this morning; but we will send to +the Villers-Coterets and Noyon roads, and search the forest, +when we shall catch him, no doubt." The honorable +functionary had scarcely expressed himself thus, in that +intonation which is peculiar to brigadiers of the +gendarmerie, when a loud scream, accompanied by the violent +ringing of a bell, resounded through the court of the hotel. +"Ah, what is that?" cried the brigadier. + +"Some traveller seems impatient," said the host. "What +number was it that rang?" + +"Number 3." + +"Run, waiter!" At this moment the screams and ringing were +redoubled. "Ah," said the brigadier, stopping the servant, +"the person who is ringing appears to want something more +than a waiter; we will attend upon him with a gendarme. Who +occupies Number 3?" + +"The little fellow who arrived last night in a post-chaise +with his sister, and who asked for an apartment with two +beds." The bell here rang for the third time, with another +shriek of anguish. + +"Follow me, Mr. Commissary!" said the brigadier; "tread in +my steps." + +"Wait an instant," said the host; "Number 3 has two +staircases, -- inside and outside." + +"Good," said the brigadier. "I will take charge of the +inside one. Are the carbines loaded?" + +"Yes, brigadier." + +"Well, you guard the exterior, and if he attempts to fly, +fire upon him; he must be a great criminal, from what the +telegraph says." + +The brigadier, followed by the commissary, disappeared by +the inside staircase, accompanied by the noise which his +assertions respecting Andrea had excited in the crowd. This +is what had happened. Andrea had very cleverly managed to +descend two-thirds of the chimney, but then his foot +slipped, and notwithstanding his endeavors, he came into the +room with more speed and noise than he intended. It would +have signified little had the room been empty, but +unfortunately it was occupied. Two ladies, sleeping in one +bed, were awakened by the noise, and fixing their eyes upon +the spot whence the sound proceeded, they saw a man. One of +these ladies, the fair one, uttered those terrible shrieks +which resounded through the house, while the other, rushing +to the bell-rope, rang with all her strength. Andrea, as we +can see, was surrounded by misfortune. + +"For pity's sake," he cried, pale and bewildered, without +seeing whom he was addressing, -- "for pity's sake do not +call assistance! Save me! -- I will not harm you." + +"Andrea, the murderer!" cried one of the ladies. + +"Eugenie! Mademoiselle Danglars!" exclaimed Andrea, +stupefied. + +"Help, help!" cried Mademoiselle d'Armilly, taking the bell +from her companion's hand, and ringing it yet more +violently. "Save me, I am pursued!" said Andrea, clasping +his hands. "For pity, for mercy's sake do not deliver me +up!" + +"It is too late, they are coming," said Eugenie. + +"Well, conceal me somewhere; you can say you were needlessly +alarmed; you can turn their suspicions and save my life!" + +The two ladies, pressing closely to one another, and drawing +the bedclothes tightly around them, remained silent to this +supplicating voice, repugnance and fear taking possession of +their minds. + +"Well, be it so," at length said Eugenie; "return by the +same road you came, and we will say nothing about you, +unhappy wretch." + +"Here he is, here he is!" cried a voice from the landing; +"here he is! I see him!" The brigadier had put his eye to +the keyhole, and had discovered Andrea in a posture of +entreaty. A violent blow from the butt end of the musket +burst open the lock, two more forced out the bolts, and the +broken door fell in. Andrea ran to the other door, leading +to the gallery, ready to rush out; but he was stopped short, +and he stood with his body a little thrown back, pale, and +with the useless knife in his clinched hand. + +"Fly, then!" cried Mademoiselle d'Armilly, whose pity +returned as her fears diminished; "fly!" + +"Or kill yourself!" said Eugenie (in a tone which a Vestal +in the amphitheatre would have used, when urging the +victorious gladiator to finish his vanquished adversary). +Andrea shuddered, and looked on the young girl with an +expression which proved how little he understood such +ferocious honor. "Kill myself?" he cried, throwing down his +knife; "why should I do so?" + +"Why, you said," answered Mademoiselle Danglars, "that you +would be condemned to die like the worst criminals." + +"Bah," said Cavalcanti, crossing his arms, "one has +friends." + +The brigadier advanced to him, sword in hand. "Come, come," +said Andrea, "sheathe your sword, my fine fellow; there is +no occasion to make such a fuss, since I give myself up;" +and he held out his hands to be manacled. The girls looked +with horror upon this shameful metamorphosis, the man of the +world shaking off his covering and appearing as a +galley-slave. Andrea turned towards them, and with an +impertinent smile asked, -- "Have you any message for your +father, Mademoiselle Danglars, for in all probability I +shall return to Paris?" + +Eugenie covered her face with her hands. "Oh, ho!" said +Andrea, "you need not be ashamed, even though you did post +after me. Was I not nearly your husband?" + +And with this raillery Andrea went out, leaving the two +girls a prey to their own feelings of shame, and to the +comments of the crowd. An hour after they stepped into their +calash, both dressed in feminine attire. The gate of the +hotel had been closed to screen them from sight, but they +were forced, when the door was open, to pass through a +throng of curious glances and whispering voices. Eugenie +closed her eyes; but though she could not see, she could +hear, and the sneers of the crowd reached her in the +carriage. "Oh, why is not the world a wilderness?" she +exclaimed, throwing herself into the arms of Mademoiselle +d'Armilly, her eyes sparkling with the same kind of rage +which made Nero wish that the Roman world had but one neck, +that he might sever it at a single blow. The next day they +stopped at the Hotel de Flandre, at Brussels. The same +evening Andrea was incarcerated in the Conciergerie. + + + +Chapter 99 +The Law. + +We have seen how quietly Mademoiselle Danglars and +Mademoiselle d'Armilly accomplished their transformation and +flight; the fact being that every one was too much occupied +in his or her own affairs to think of theirs. We will leave +the banker contemplating the enormous magnitude of his debt +before the phantom of bankruptcy, and follow the baroness, +who after being momentarily crushed under the weight of the +blow which had struck her, had gone to seek her usual +adviser, Lucien Debray. The baroness had looked forward to +this marriage as a means of ridding her of a guardianship +which, over a girl of Eugenie's character, could not fail to +be rather a troublesome undertaking; for in the tacit +relations which maintain the bond of family union, the +mother, to maintain her ascendancy over her daughter, must +never fail to be a model of wisdom and a type of perfection. + +Now, Madame Danglars feared Eugenie's sagacity and the +influence of Mademoiselle d'Armilly; she had frequently +observed the contemptuous expression with which her daughter +looked upon Debray, -- an expression which seemed to imply +that she understood all her mother's amorous and pecuniary +relationships with the intimate secretary; moreover, she saw +that Eugenie detested Debray, -- not only because he was a +source of dissension and scandal under the paternal roof, +but because she had at once classed him in that catalogue of +bipeds whom Plato endeavors to withdraw from the appellation +of men, and whom Diogenes designated as animals upon two +legs without feathers. + +Unfortunately, in this world of ours, each person views +things through a certain medium, and so is prevented from +seeing in the same light as others, and Madame Danglars, +therefore, very much regretted that the marriage of Eugenie +had not taken place, not only because the match was good, +and likely to insure the happiness of her child, but because +it would also set her at liberty. She ran therefore to +Debray, who, after having like the rest of Paris witnessed +the contract scene and the scandal attending it, had retired +in haste to his club, where he was chatting with some +friends upon the events which served as a subject of +conversation for three-fourths of that city known as the +capital of the world. + +At the precise time when Madame Danglars, dressed in black +and concealed in a long veil, was ascending the stairs +leading to Debray's apartments, -- notwithstanding the +assurances of the concierge that the young man was not at +home, -- Debray was occupied in repelling the insinuations +of a friend, who tried to persuade him that after the +terrible scene which had just taken place he ought, as a +friend of the family, to marry Mademoiselle Danglars and her +two millions. Debray did not defend himself very warmly, for +the idea had sometimes crossed his mind; still, when he +recollected the independent, proud spirit of Eugenie, he +positively rejected it as utterly impossible, though the +same thought again continually recurred and found a +resting-place in his heart. Tea, play, and the conversation, +which had become interesting during the discussion of such +serious affairs, lasted till one o'clock in the morning. + +Meanwhile Madame Danglars, veiled and uneasy, awaited the +return of Debray in the little green room, seated between +two baskets of flowers, which she had that morning sent, and +which, it must be confessed, Debray had himself arranged and +watered with so much care that his absence was half excused +in the eyes of the poor woman. + +At twenty minutes of twelve, Madame Danglars, tired of +waiting, returned home. Women of a certain grade are like +prosperous grisettes in one respect, they seldom return home +after twelve o'clock. The baroness returned to the hotel +with as much caution as Eugenie used in leaving it; she ran +lightly up-stairs, and with an aching heart entered her +apartment, contiguous, as we know, to that of Eugenie. She +was fearful of exciting any remark, and believed firmly in +her daughter's innocence and fidelity to the paternal roof. +She listened at Eugenie's door, and hearing no sound tried +to enter, but the bolts were in place. Madame Danglars then +concluded that the young girl had been overcome with the +terrible excitement of the evening, and had gone to bed and +to sleep. She called the maid and questioned her. + +"Mademoiselle Eugenie," said the maid, "retired to her +apartment with Mademoiselle d'Armilly; they then took tea +together, after which they desired me to leave, saying that +they needed me no longer." Since then the maid had been +below, and like every one else she thought the young ladies +were in their own room; Madame Danglars, therefore, went to +bed without a shadow of suspicion, and began to muse over +the recent events. In proportion as her memory became +clearer, the occurrences of the evening were revealed in +their true light; what she had taken for confusion was a +tumult; what she had regarded as something distressing, was +in reality a disgrace. And then the baroness remembered that +she had felt no pity for poor Mercedes, who had been +afflicted with as severe a blow through her husband and son. + +"Eugenie," she said to herself, "is lost, and so are we. The +affair, as it will be reported, will cover us with shame; +for in a society such as ours satire inflicts a painful and +incurable wound. How fortunate that Eugenie is possessed of +that strange character which has so often made me tremble!" +And her glance was turned towards heaven, where a mysterious +providence disposes all things, and out of a fault, nay, +even a vice, sometimes produces a blessing. And then her +thoughts, cleaving through space like a bird in the air, +rested on Cavalcanti. This Andrea was a wretch, a robber, an +assassin, and yet his manners showed the effects of a sort +of education, if not a complete one; he had been presented +to the world with the appearance of an immense fortune, +supported by an honorable name. How could she extricate +herself from this labyrinth? To whom would she apply to help +her out of this painful situation? Debray, to whom she had +run, with the first instinct of a woman towards the man she +loves, and who yet betrays her, -- Debray could but give her +advice, she must apply to some one more powerful than he. + +The baroness then thought of M. de Villefort. It was M. de +Villefort who had remorselessly brought misfortune into her +family, as though they had been strangers. But, no; on +reflection, the procureur was not a merciless man; and it +was not the magistrate, slave to his duties, but the friend, +the loyal friend, who roughly but firmly cut into the very +core of the corruption; it was not the executioner, but the +surgeon, who wished to withdraw the honor of Danglars from +ignominious association with the disgraced young man they +had presented to the world as their son-in-law. And since +Villefort, the friend of Danglars, had acted in this way, no +one could suppose that he had been previously acquainted +with, or had lent himself to, any of Andrea's intrigues. +Villefort's conduct, therefore, upon reflection, appeared to +the baroness as if shaped for their mutual advantage. But +the inflexibility of the procureur should stop there; she +would see him the next day, and if she could not make him +fail in his duties as a magistrate, she would, at least, +obtain all the indulgence he could allow. She would invoke +the past, recall old recollections; she would supplicate him +by the remembrance of guilty, yet happy days. M. de +Villefort would stifle the affair; he had only to turn his +eyes on one side, and allow Andrea to fly, and follow up the +crime under that shadow of guilt called contempt of court. +And after this reasoning she slept easily. + +At nine o'clock next morning she arose, and without ringing +for her maid or giving the least sign of her activity, she +dressed herself in the same simple style as on the previous +night; then running down-stairs, she left the hotel. walked +to the Rue de Provence, called a cab, and drove to M. de +Villefort's house. For the last month this wretched house +had presented the gloomy appearance of a lazaretto infected +with the plague. Some of the apartments were closed within +and without; the shutters were only opened to admit a +minute's air, showing the scared face of a footman, and +immediately afterwards the window would be closed, like a +gravestone falling on a sepulchre, and the neighbors would +say to each other in a low voice, "Will there be another +funeral to-day at the procureur's house?" Madame Danglars +involuntarily shuddered at the desolate aspect of the +mansion; descending from the cab, she approached the door +with trembling knees, and rang the bell. Three times did the +bell ring with a dull, heavy sound, seeming to participate, +in the general sadness, before the concierge appeared and +peeped through the door, which he opened just wide enough to +allow his words to be heard. He saw a lady, a fashionable, +elegantly dressed lady, and yet the door remained almost +closed. + +"Do you intend opening the door?" said the baroness. + +"First, madame, who are you?" + +"Who am I? You know me well enough." + +"We no longer know any one, madame." + +"You must be mad, my friend," said the baroness. + +"Where do you come from?" + +"Oh, this is too much!" + +"Madame, these are my orders; excuse me. Your name?" + +"The baroness Danglars; you have seen me twenty times." + +"Possibly, madame. And now, what do you want?" + +"Oh, how extraordinary! I shall complain to M. de Villefort +of the impertinence of his servants." + +"Madame, this is precaution, not impertinence; no one enters +here without an order from M. d'Avrigny, or without speaking +to the procureur." + +"Well, I have business with the procureur." + +"Is it pressing business?" + +"You can imagine so, since I have not even brought my +carriage out yet. But enough of this -- here is my card, +take it to your master." + +"Madame will await my return?" + +"Yes; go." The concierge closed the door, leaving Madame +Danglars in the street. She had not long to wait; directly +afterwards the door was opened wide enough to admit her, and +when she had passed through, it was again shut. Without +losing sight of her for an instant, the concierge took a +whistle from his pocket as soon as they entered the court, +and blew it. The valet de chambre appeared on the +door-steps. "You will excuse this poor fellow, madame," he +said, as he preceded the baroness, "but his orders are +precise, and M. de Villefort begged me to tell you that he +could not act otherwise." + +In the court showing his merchandise, was a tradesman who +had been admitted with the same precautions. The baroness +ascended the steps; she felt herself strongly infected with +the sadness which seemed to magnify her own, and still +guided by the valet de chambre, who never lost sight of her +for an instant, she was introduced to the magistrate's +study. Preoccupied as Madame Danglars had been with the +object of her visit, the treatment she had received from +these underlings appeared to her so insulting, that she +began by complaining of it. But Villefort, raising his head, +bowed down by grief, looked up at her with so sad a smile +that her complaints died upon her lips. "Forgive my +servants," he said, "for a terror I cannot blame them for; +from being suspected they have become suspicious." + +Madame Danglars had often heard of the terror to which the +magistrate alluded, but without the evidence of her own +eyesight she could never have believed that the sentiment +had been carried so far. "You too, then, are unhappy?" she +said. "Yes, madame," replied the magistrate. + +"Then you pity me!" + +"Sincerely, madame." + +"And you understand what brings me here?" + +"You wish to speak to me about the circumstance which has +just happened?" + +"Yes, sir, -- a fearful misfortune." + +"You mean a mischance." + +"A mischance?" repeated the baroness. + +"Alas, madame," said the procureur with his imperturbable +calmness of manner, "I consider those alone misfortunes +which are irreparable." + +"And do you suppose this will be forgotten?" + +"Everything will be forgotten, madame," said Villefort. +"Your daughter will be married to-morrow, if not to-day -- +in a week, if not to-morrow; and I do not think you can +regret the intended husband of your daughter." + +Madame Danglars gazed on Villefort, stupefied to find him so +almost insultingly calm. "Am I come to a friend?" she asked +in a tone full of mournful dignity. "You know that you are, +madame," said Villefort, whose pale cheeks became slightly +flushed as he gave her the assurance. And truly this +assurance carried him back to different events from those +now occupying the baroness and him. "Well, then, be more +affectionate, my dear Villefort," said the baroness. "Speak +to me not as a magistrate, but as a friend; and when I am in +bitter anguish of spirit, do not tell me that I ought to be +gay." Villefort bowed. "When I hear misfortunes named, +madame," he said, "I have within the last few mouths +contracted the bad habit of thinking of my own, and then I +cannot help drawing up an egotistical parallel in my mind. +That is the reason that by the side of my misfortunes yours +appear to me mere mischances; that is why my dreadful +position makes yours appear enviable. But this annoys you; +let us change the subject. You were saying, madame" -- + +"I came to ask you, my friend," said the baroness, "what +will be done with this impostor?" + +"Impostor," repeated Villefort; "certainly, madame, you +appear to extenuate some cases, and exaggerate others. +Impostor, indeed! -- M. Andrea Cavalcanti, or rather M. +Benedetto, is nothing more nor less than an assassin!" + +"Sir, I do not deny the justice of your correction, but the +more severely you arm yourself against that unfortunate man, +the more deeply will you strike our family. Come, forget him +for a moment, and instead of pursuing him let him go." + +"You are too late, madame; the orders are issued." + +"Well, should he be arrested -- do they think they will +arrest him?" + +"I hope so." + +"If they should arrest him (I know that sometimes prisoners +afford means of escape), will you leave him in prison?" -- +The procureur shook his head. "At least keep him there till +my daughter be married." + +"Impossible, madame; justice has its formalities." + +"What, even for me?" said the baroness, half jesting, half +in earnest. "For all, even for myself among the rest," +replied Villefort. + +"Ah," exclaimed the baroness, without expressing the ideas +which the exclamation betrayed. Villefort looked at her with +that piercing glance which reads the secrets of the heart. +"Yes, I know what you mean," he said; "you refer to the +terrible rumors spread abroad in the world, that the deaths +which have kept me in mourning for the last three months, +and from which Valentine has only escaped by a miracle, have +not happened by natural means." + +"I was not thinking of that," replied Madame Danglars +quickly. "Yes, you were thinking of it, and with justice. +You could not help thinking of it, and saying to yourself, +`you, who pursue crime so vindictively, answer now, why are +there unpunished crimes in your dwelling?'" The baroness +became pale. "You were saying this, were you not?" + +"Well, I own it." + +"I will answer you." + +Villefort drew his armchair nearer to Madame Danglars; then +resting both hands upon his desk he said in a voice more +hollow than usual: "There are crimes which remain unpunished +because the criminals are unknown, and we might strike the +innocent instead of the guilty; but when the culprits are +discovered" (Villefort here extended his hand toward a large +crucifix placed opposite to his desk) -- "when they are +discovered, I swear to you, by all I hold most sacred, that +whoever they may be they shall die. Now, after the oath I +have just taken, and which I will keep, madame, dare you ask +for mercy for that wretch!" + +"But, sir, are you sure he is as guilty as they say?" + +"Listen; this is his description: `Benedetto, condemned, at +the age of sixteen, for five years to the galleys for +forgery.' He promised well, as you see -- first a runaway, +then an assassin." + +"And who is this wretch?" + +"Who can tell? -- a vagabond, a Corsican." + +"Has no one owned him?" + +"No one; his parents are unknown." + +"But who was the man who brought him from Lucca?" + +"Another rascal like himself, perhaps his accomplice." The +baroness clasped her hands. "Villefort," she exclaimed in +her softest and most captivating manner. + +"For heaven's sake, madame," said Villefort, with a firmness +of expression not altogether free from harshness -- "for +heaven's sake, do not ask pardon of me for a guilty wretch! +What am I? -- the law. Has the law any eyes to witness your +grief? Has the law ears to be melted by your sweet voice? +Has the law a memory for all those soft recollections you +endeavor to recall? No, madame; the law has commanded, and +when it commands it strikes. You will tell me that I am a +living being, and not a code -- a man, and not a volume. +Look at me, madame -- look around me. Have mankind treated +me as a brother? Have they loved me? Have they spared me? +Has any one shown the mercy towards me that you now ask at +my hands? No, madame, they struck me, always struck me! + +"Woman, siren that you are, do you persist in fixing on me +that fascinating eye, which reminds me that I ought to +blush? Well, be it so; let me blush for the faults you know, +and perhaps -- perhaps for even more than those! But having +sinned myself, -- it may be more deeply than others, -- I +never rest till I have torn the disguises from my +fellow-creatures, and found out their weaknesses. I have +always found them; and more, -- I repeat it with joy, with +triumph, -- I have always found some proof of human +perversity or error. Every criminal I condemn seems to me +living evidence that I am not a hideous exception to the +rest. Alas, alas, alas; all the world is wicked; let us +therefore strike at wickedness!" + +Villefort pronounced these last words with a feverish rage, +which gave a ferocious eloquence to his words. + +"But"' said Madame Danglars, resolving to make a last +effort, "this young man, though a murderer, is an orphan, +abandoned by everybody." + +"So much the worse, or rather, so much the better; it has +been so ordained that he may have none to weep his fate." + +"But this is trampling on the weak, sir." + +"The weakness of a murderer!" + +"His dishonor reflects upon us." + +"Is not death in my house?" + +"Oh, sir," exclaimed the baroness, "you are without pity for +others, well, then, I tell you they will have no mercy on +you!" + +"Be it so!" said Villefort, raising his arms to heaven. + +"At least, delay the trial till the next assizes; we shall +then have six months before us." + +"No, madame," said Villefort; "instructions have been given, +There are yet five days left; five days are more than I +require. Do you not think that I also long for +forgetfulness? While working night and day, I sometimes lose +all recollection of the past, and then I experience the same +sort of happiness I can imagine the dead feel; still, it is +better than suffering." + +"But, sir, he has fled; let him escape -- inaction is a +pardonable offence." + +"I tell you it is too late; early this morning the telegraph +was employed, and at this very minute" -- + +"Sir," said the valet de chambre, entering the room, "a +dragoon has brought this despatch from the minister of the +interior." Villefort seized the letter, and hastily broke +the seal. Madame Danglars trembled with fear; Villefort +started with joy. "Arrested!" he exclaimed; "he was taken at +Compiegne, and all is over." Madame Danglars rose from her +seat, pale and cold. "Adieu, sir," she said. "Adieu, +madame," replied the king's attorney, as in an almost joyful +manner he conducted her to the door. Then, turning to his +desk, he said, striking the letter with the back of his +right hand, "Come, I had a forgery, three robberies, and two +cases of arson, I only wanted a murder, and here it is. It +will be a splendid session!" + + + +Chapter 100 +The Apparition. + +As the procureur had told Madame Danglars, Valentine was not +yet recovered. Bowed down with fatigue, she was indeed +confined to her bed; and it was in her own room, and from +the lips of Madame de Villefort, that she heard all the +strange events we have related, -- we mean the flight of +Eugenie and the arrest of Andrea Cavalcanti, or rather +Benedetto, together with the accusation of murder pronounced +against him. But Valentine was so weak that this recital +scarcely produced the same effect it would have done had she +been in her usual state of health. Indeed, her brain was +only the seat of vague ideas, and confused forms, mingled +with strange fancies, alone presented themselves before her +eyes. + +During the daytime Valentine's perceptions remained +tolerably clear, owing to the constant presence of M. +Noirtier, who caused himself to be carried to his +granddaughter's room, and watched her with his paternal +tenderness; Villefort also, on his return from the law +courts, frequently passed an hour or two with his father and +child. At six o'clock Villefort retired to his study, at +eight M. d'Avrigny himself arrived, bringing the night +draught prepared for the young girl, and then M. Noirtier +was carried away. A nurse of the doctor's choice succeeded +them, and never left till about ten or eleven o'clock, when +Valentine was asleep. As she went down-stairs she gave the +keys of Valentine's room to M. de Villefort, so that no one +could reach the sick-room excepting through that of Madame +de Villefort and little Edward. + +Every morning Morrel called on Noirtier to receive news of +Valentine, and, extraordinary as it seemed, each day found +him less uneasy. Certainly, though Valentine still labored +under dreadful nervous excitement, she was better; and +moreover, Monte Cristo had told him when, half distracted, +he had rushed to the count's house, that if she were not +dead in two hours she would be saved. Now four days had +elapsed, and Valentine still lived. + +The nervous excitement of which we speak pursued Valentine +even in her sleep, or rather in that state of somnolence +which succeeded her waking hours; it was then, in the +silence of night, in the dim light shed from the alabaster +lamp on the chimney-piece, that she saw the shadows pass and +repass which hover over the bed of sickness, and fan the +fever with their trembling wings. First she fancied she saw +her stepmother threatening her, then Morrel stretched his +arms towards her; sometimes mere strangers, like the Count +of Monte Cristo came to visit her; even the very furniture, +in these moments of delirium, seemed to move, and this state +lasted till about three o'clock in the morning, when a deep, +heavy slumber overcame the young girl, from which she did +not awake till daylight. On the evening of the day on which +Valentine had learned of the flight of Eugenie and the +arrest of Benedetto, -- Villefort having retired as well as +Noirtier and d'Avrigny, -- her thoughts wandered in a +confused maze, alternately reviewing her own situation and +the events she had just heard. + +Eleven o'clock had struck. The nurse, having placed the +beverage prepared by the doctor within reach of the patient, +and locked the door, was listening with terror to the +comments of the servants in the kitchen, and storing her +memory with all the horrible stories which had for some +months past amused the occupants of the ante-chambers in the +house of the king's attorney. Meanwhile an unexpected scene +was passing in the room which had been so carefully locked. +Ten minutes had elapsed since the nurse had left; Valentine, +who for the last hour had been suffering from the fever +which returned nightly, incapable of controlling her ideas, +was forced to yield to the excitement which exhausted itself +in producing and reproducing a succession and recurrence of +the same fancies and images. The night-lamp threw out +countless rays, each resolving itself into some strange form +to her disordered imagination, when suddenly by its +flickering light Valentine thought she saw the door of her +library, which was in the recess by the chimney-piece, open +slowly, though she in vain listened for the sound of the +hinges on which it turned. + +At any other time Valentine would have seized the silken +bell-pull and summoned assistance, but nothing astonished +her in her present situation. Her reason told her that all +the visions she beheld were but the children of her +imagination, and the conviction was strengthened by the fact +that in the morning no traces remained of the nocturnal +phantoms, who disappeared with the coming of daylight. From +behind the door a human figure appeared, but the girl was +too familiar with such apparitions to be alarmed, and +therefore only stared, hoping to recognize Morrel. The +figure advanced towards the bed and appeared to listen with +profound attention. At this moment a ray of light glanced +across the face of the midnight visitor. + +"It is not he," she murmured, and waited, in the assurance +that this was but a dream, for the man to disappear or +assume some other form. Still, she felt her pulse, and +finding it throb violently she remembered that the best +method of dispelling such illusions was to drink, for a +draught of the beverage prepared by the doctor to allay her +fever seemed to cause a reaction of the brain, and for a +short time she suffered less. Valentine therefore reached +her hand towards the glass, but as soon as her trembling arm +left the bed the apparition advanced more quickly towards +her, and approached the young girl so closely that she +fancied she heard his breath, and felt the pressure of his +hand. + +This time the illusion, or rather the reality, surpassed +anything Valentine had before experienced; she began to +believe herself really alive and awake, and the belief that +her reason was this time not deceived made her shudder. The +pressure she felt was evidently intended to arrest her arm, +and she slowly withdrew it. Then the figure, from whom she +could not detach her eyes, and who appeared more protecting +than menacing, took the glass, and walking towards the +night-light held it up, as if to test its transparency. This +did not seem sufficient; the man, or rather the ghost -- for +he trod so softly that no sound was heard -- then poured out +about a spoonful into the glass, and drank it. Valentine +witnessed this scene with a sentiment of stupefaction. Every +minute she had expected that it would vanish and give place +to another vision; but the man, instead of dissolving like a +shadow, again approached her, and said in an agitated voice, +"Now you may drink." + +Valentine shuddered. It was the first time one of these +visions had ever addressed her in a living voice, and she +was about to utter an exclamation. The man placed his finger +on her lips. "The Count of Monte Cristo!" she murmured. + +It was easy to see that no doubt now remained in the young +girl's mind as to the reality of the scene; her eyes started +with terror, her hands trembled, and she rapidly drew the +bedclothes closer to her. Still, the presence of Monte +Cristo at such an hour, his mysterious, fanciful, and +extraordinary entrance into her room through the wall, might +well seem impossibilities to her shattered reason. "Do not +call any one -- do not be alarmed," said the Count; "do not +let a shade of suspicion or uneasiness remain in your +breast; the man standing before you, Valentine (for this +time it is no ghost), is nothing more than the tenderest +father and the most respectful friend you could dream of." + +Valentine could not reply; the voice which indicated the +real presence of a being in the room, alarmed her so much +that she feared to utter a syllable; still the expression of +her eyes seemed to inquire, "If your intentions are pure, +why are you here?" The count's marvellous sagacity +understood all that was passing in the young girl's mind. + +"Listen to me," he said, "or, rather, look upon me; look at +my face, paler even than usual, and my eyes, red with +weariness -- for four days I have not closed them, for I +have been constantly watching you, to protect and preserve +you for Maximilian." The blood mounted rapidly to the cheeks +of Valentine, for the name just announced by the count +dispelled all the fear with which his presence had inspired +her. "Maximilian!" she exclaimed, and so sweet did the sound +appear to her, that she repeated it -- "Maximilian! -- has +he then owned all to you?" + +"Everything. He told me your life was his, and I have +promised him that you shall live." + +"You have promised him that I shall live?" + +"Yes." + +"But, sir, you spoke of vigilance and protection. Are you a +doctor?" + +"Yes; the best you could have at the present time, believe +me." + +"But you say you have watched?" said Valentine uneasily; +"where have you been? -- I have not seen you." The count +extended his hand towards the library. "I was hidden behind +that door," he said, "which leads into the next house, which +I have rented." Valentine turned her eyes away, and, with an +indignant expression of pride and modest fear, exclaimed: +"Sir, I think you have been guilty of an unparalleled +intrusion, and that what you call protection is more like an +insult." + +"Valentine," he answered, "during my long watch over you, +all I have observed has been what people visited you, what +nourishment was prepared, and what beverage was served; +then, when the latter appeared dangerous to me, I entered, +as I have now done, and substituted, in the place of the +poison, a healthful draught; which, instead of producing the +death intended, caused life to circulate in your veins." + +"Poison -- death!" exclaimed Valentine, half believing +herself under the influence of some feverish hallucination; +"what are you saying, sir?" + +"Hush, my child," said Monte Cristo, again placing his +finger upon her lips, "I did say poison and death. But drink +some of this;" and the count took a bottle from his pocket, +containing a red liquid, of which he poured a few drops into +the glass. "Drink this, and then take nothing more +to-night." Valentine stretched out her hand, but scarcely +had she touched the glass when she drew back in fear. Monte +Cristo took the glass, drank half its contents, and then +presented it to Valentine, who smiled and swallowed the +rest. "Oh, yes," she exclaimed, "I recognize the flavor of +my nocturnal beverage which refreshed me so much, and seemed +to ease my aching brain. Thank you, sir, thank you!" + +"This is how you have lived during the last four nights, +Valentine," said the count. "But, oh, how I passed that +time! Oh, the wretched hours I have endured -- the torture +to which I have submitted when I saw the deadly poison +poured into your glass, and how I trembled lest you should +drink it before I could find time to throw it away!" + +"Sir," said Valentine, at the height of her terror, "you say +you endured tortures when you saw the deadly poison poured +into my glass; but if you saw this, you must also have seen +the person who poured it?" + +"Yes." Valentine raised herself in bed, and drew over her +chest, which appeared whiter than snow, the embroidered +cambric, still moist with the cold dews of delirium, to +which were now added those of terror. "You saw the person?" +repeated the young girl. "Yes," repeated the count. + +"What you tell me is horrible, sir. You wish to make me +believe something too dreadful. What? -- attempt to murder +me in my father's house, in my room, on my bed of sickness? +Oh, leave me, sir; you are tempting me -- you make me doubt +the goodness of providence -- it is impossible, it cannot +be!" + +"Are you the first that this hand has stricken? Have you not +seen M. de Saint-Meran, Madame de Saint-Meran, Barrois, all +fall? would not M. Noirtier also have fallen a victim, had +not the treatment he has been pursuing for the last three +years neutralized the effects of the poison?" + +"Oh, heaven," said Valentine; "is this the reason why +grandpapa has made me share all his beverages during the +last month?" + +"And have they all tasted of a slightly bitter flavor, like +that of dried orange-peel?" + +"Oh, yes, yes!" + +"Then that explains all," said Monte Cristo. "Your +grandfather knows, then, that a poisoner lives here; perhaps +he even suspects the person. He has been fortifying you, his +beloved child, against the fatal effects of the poison, +which has failed because your system was already impregnated +with it. But even this would have availed little against a +more deadly medium of death employed four days ago, which is +generally but too fatal." + +"But who, then, is this assassin, this murderer?" + +"Let me also ask you a question. Have you never seen any one +enter your room at night?" + +"Oh, yes; I have frequently seen shadows pass close to me, +approach, and disappear; but I took them for visions raised +by my feverish imagination, and indeed when you entered I +thought I was under the influence of delirium." + +"Then you do not know who it is that attempts your life?" + +"No," said Valentine; "who could desire my death?" + +"You shall know it now, then," said Monte Cristo, listening. + +"How do you mean?" said Valentine, looking anxiously around. + +"Because you are not feverish or delirious to-night, but +thoroughly awake; midnight is striking, which is the hour +murderers choose." + +"Oh, heavens," exclaimed Valentine, wiping off the drops +which ran down her forehead. Midnight struck slowly and +sadly; every hour seemed to strike with leaden weight upon +the heart of the poor girl. "Valentine," said the count, +"summon up all your courage; still the beatings of your +heart; do not let a sound escape you, and feign to be +asleep; then you will see." Valentine seized the count's +hand. "I think I hear a noise," she said; "leave me." + +"Good-by, for the present," replied the count, walking upon +tiptoe towards the library door, and smiling with an +expression so sad and paternal that the young girl's heart +was filled with gratitude. Before closing the door he turned +around once more, and said, "Not a movement -- not a word; +let them think you asleep, or perhaps you may be killed +before I have the power of helping you." And with this +fearful injunction the count disappeared through the door, +which noiselessly closed after him. + + + +Chapter 101 +Locusta. + +Valentine was alone; two other clocks, slower than that of +Saint-Philippe du Roule, struck the hour of midnight from +different directions, and excepting the rumbling of a few +carriages all was silent. Then Valentine's attention was +engrossed by the clock in her room, which marked the +seconds. She began counting them, remarking that they were +much slower than the beatings of her heart; and still she +doubted, -- the inoffensive Valentine could not imagine that +any one should desire her death. Why should they? To what +end? What had she done to excite the malice of an enemy? +There was no fear of her falling asleep. One terrible idea +pressed upon her mind, -- that some one existed in the world +who had attempted to assassinate her, and who was about to +endeavor to do so again. Supposing this person, wearied at +the inefficacy of the poison, should, as Monte Cristo +intimated, have recourse to steel! -- What if the count +should have no time to run to her rescue! -- What if her +last moments were approaching, and she should never again +see Morrel! When this terrible chain of ideas presented +itself, Valentine was nearly persuaded to ring the bell, and +call for help. But through the door she fancied she saw the +luminous eye of the count -- that eye which lived in her +memory, and the recollection overwhelmed her with so much +shame that she asked herself whether any amount of gratitude +could ever repay his adventurous and devoted friendship. + +Twenty minutes, twenty tedious minutes, passed thus, then +ten more, and at last the clock struck the half-flour. Just +then the sound of finger-nails slightly grating against the +door of the library informed Valentine that the count was +still watching, and recommended her to do the same; at the +same time, on the opposite side, that is towards Edward's +room, Valentine fancied that she heard the creaking of the +floor; she listened attentively, holding her breath till she +was nearly suffocated; the lock turned, and the door slowly +opened. Valentine had raised herself upon her elbow, and had +scarcely time to throw herself down on the bed and shade her +eyes with her arm; then, trembling, agitated, and her heart +beating with indescribable terror, she awaited the event. + +Some one approached the bed and drew back the curtains. +Valentine summoned every effort, and breathed with that +regular respiration which announces tranquil sleep. +"Valentine!" said a low voice. Still silent: Valentine had +promised not to awake. Then everything was still, excepting +that Valentine heard the almost noiseless sound of some +liquid being poured into the glass she had just emptied. +Then she ventured to open her eyelids, and glance over her +extended arm. She saw a woman in a white dressing-gown +pouring a liquor from a phial into her glass. During this +short time Valentine must have held her breath, or moved in +some slight degree, for the woman, disturbed, stopped and +leaned over the bed, in order the better to ascertain +whether Valentine slept -- it was Madame de Villefort. + +On recognizing her step-mother, Valentine could not repress +a shudder, which caused a vibration in the bed. Madame de +Villefort instantly stepped back close to the wall, and +there, shaded by the bed-curtains, she silently and +attentively watched the slightest movement of Valentine. The +latter recollected the terrible caution of Monte Cristo; she +fancied that the hand not holding the phial clasped a long +sharp knife. Then collecting all her remaining strength, she +forced herself to close her eyes; but this simple operation +upon the most delicate organs of our frame, generally so +easy to accomplish, became almost impossible at this moment, +so much did curiosity struggle to retain the eyelid open and +learn the truth. Madame de Villefort, however, reassured by +the silence, which was alone disturbed by the regular +breathing of Valentine, again extended her hand, and half +hidden by the curtains succeeded in emptying the contents of +the phial into the glass. Then she retired so gently that +Valentine did not know she had left the room. She only +witnessed the withdrawal of the arm -- the fair round arm of +a woman but twenty-five years old, and who yet spread death +around her. + +It is impossible to describe the sensations experienced by +Valentine during the minute and a half Madame de Villefort +remained in the room. The grating against the library-door +aroused the young girl from the stupor in which she was +plunged, and which almost amounted to insensibility. She +raised her head with an effort. The noiseless door again +turned on its hinges, and the Count of Monte Cristo +reappeared. "Well," said he, "do you still doubt?" + +"Oh," murmured the young girl. + +"Have you seen?" + +"Alas!" + +"Did you recognize?" Valentine groaned. "Oh, yes;" she said, +"I saw, but I cannot believe!" + +"Would you rather die, then, and cause Maximilian's death?" + +"Oh," repeated the young girl, almost bewildered, "can I not +leave the house? -- can I not escape?" + +"Valentine, the hand which now threatens you will pursue you +everywhere; your servants will be seduced with gold, and +death will be offered to you disguised in every shape. You +will find it in the water you drink from the spring, in the +fruit you pluck from the tree." + +"But did you not say that my kind grandfather's precaution +had neutralized the poison?" + +"Yes, but not against a strong dose; the poison will be +changed, and the quantity increased." He took the glass and +raised it to his lips. "It is already done," he said; +"brucine is no longer employed, but a simple narcotic! I can +recognize the flavor of the alcohol in which it has been +dissolved. If you had taken what Madame de Villefort has +poured into your glass, Valentine -- Valentine -- you would +have been doomed!" + +"But," exclaimed the young girl, "why am I thus pursued?" + +"Why? -- are you so kind -- so good -- so unsuspicious of +ill, that you cannot understand, Valentine?" + +"No, I have never injured her." + +"But you are rich, Valentine; you have 200,000 livres a +year, and you prevent her son from enjoying these 200,000 +livres." + +"How so? The fortune is not her gift, but is inherited from +my relations." + +"Certainly; and that is why M. and Madame de Saint-Meran +have died; that is why M. Noirtier was sentenced the day he +made you his heir; that is why you, in your turn, are to die +-- it is because your father would inherit your property, +and your brother, his only son, succeed to his." + +"Edward? Poor child! Are all these crimes committed on his +account?" + +"Ah, then you at length understand?" + +"Heaven grant that this may not be visited upon him!" + +"Valentine, you are an angel!" + +"But why is my grandfather allowed to live?" + +"It was considered, that you dead, the fortune would +naturally revert to your brother, unless he were +disinherited; and besides, the crime appearing useless, it +would be folly to commit it." + +"And is it possible that this frightful combination of +crimes has been invented by a woman?" + +"Do you recollect in the arbor of the Hotel des Postes, at +Perugia, seeing a man in a brown cloak, whom your stepmother +was questioning upon aqua tofana? Well, ever since then, the +infernal project has been ripening in her brain." + +"Ah, then, indeed, sir," said the sweet girl, bathed in +tears, "I see that I am condemned to die!" + +"No, Valentine, for I have foreseen all their plots; no, +your enemy is conquered since we know her, and you will +live, Valentine -- live to be happy yourself, and to confer +happiness upon a noble heart; but to insure this you must +rely on me." + +"Command me, sir -- what am I to do?" + +"You must blindly take what I give you." + +"Alas, were it only for my own sake, I should prefer to +die!" + +"You must not confide in any one -- not even in your +father." + +"My father is not engaged in this fearful plot, is he, sir?" +asked Valentine, clasping her hands. + +"No; and yet your father, a man accustomed to judicial +accusations, ought to have known that all these deaths have +not happened naturally; it is he who should have watched +over you -- he should have occupied my place -- he should +have emptied that glass -- he should have risen against the +assassin. Spectre against spectre!" he murmured in a low +voice, as he concluded his sentence. + +"Sir," said Valentine, "I will do all I can to live. for +there are two beings whose existence depends upon mine -- my +grandfather and Maximilian." + +"I will watch over them as I have over you." + +"Well, sir, do as you will with me;" and then she added, in +a low voice, "oh, heavens, what will befall me?" + +"Whatever may happen, Valentine, do not be alarmed; though +you suffer; though you lose sight, hearing, consciousness, +fear nothing; though you should awake and be ignorant where +you are, still do not fear; even though you should find +yourself in a sepulchral vault or coffin. Reassure yourself, +then, and say to yourself: `At this moment, a friend, a +father, who lives for my happiness and that of Maximilian, +watches over me!'" + +"Alas, alas, what a fearful extremity!" + +"Valentine, would you rather denounce your stepmother?" + +"I would rather die a hundred times -- oh, yes, die!" + +"No, you will not die; but will you promise me, whatever +happens, that you will not complain, but hope?" + +"I will think of Maximilian!" + +"You are my own darling child, Valentine! I alone can save +you, and I will." Valentine in the extremity of her terror +joined her hands, -- for she felt that the moment had +arrived to ask for courage, -- and began to pray, and while +uttering little more than incoherent words, she forgot that +her white shoulders had no other covering than her long +hair, and that the pulsations of her heart could he seen +through the lace of her nightdress. Monte Cristo gently laid +his hand on the young girl's arm, drew the velvet coverlet +close to her throat, and said with a paternal smile, -- "My +child, believe in my devotion to you as you believe in the +goodness of providence and the love of Maximilian." + +Then he drew from his waistcoat-pocket the little emerald +box, raised the golden lid, and took from it a pastille +about the size of a pea, which he placed in her hand. She +took it, and looked attentively on the count; there was an +expression on the face of her intrepid protector which +commanded her veneration. She evidently interrogated him by +her look. "Yes," said he. Valentine carried the pastille to +her mouth, and swallowed it. "And now, my dear child, adieu +for the present. I will try and gain a little sleep, for you +are saved." + +"Go," said Valentine, "whatever happens, I promise you not +to fear." + +Monte Cristo for some time kept his eyes fixed on the young +girl, who gradually fell asleep, yielding to the effects of +the narcotic the count had given her. Then he took the +glass, emptied three parts of the contents in the fireplace, +that it might be supposed Valentine had taken it, and +replaced it on the table; then he disappeared, after +throwing a farewell glance on Valentine, who slept with the +confidence and innocence of an angel. + + + +Chapter 102 +Valentine. + +The night-light continued to burn on the chimney-piece, +exhausting the last drops of oil which floated on the +surface of the water. The globe of the lamp appeared of a +reddish hue, and the flame, brightening before it expired, +threw out the last flickerings which in an inanimate object +have been so often compared with the convulsions of a human +creature in its final agonies. A dull and dismal light was +shed over the bedclothes and curtains surrounding the young +girl. All noise in the streets had ceased, and the silence +was frightful. It was then that the door of Edward's room +opened, and a head we have before noticed appeared in the +glass opposite; it was Madame de Villefort, who came to +witness the effects of the drink she had prepared. She +stopped in the doorway, listened for a moment to the +flickering of the lamp, the only sound in that deserted +room, and then advanced to the table to see if Valentine's +glass were empty. It was still about a quarter full, as we +before stated. Madame de Villefort emptied the contents into +the ashes, which she disturbed that they might the more +readily absorb the liquid; then she carefully rinsed the +glass, and wiping it with her handkerchief replaced it on +the table. + +If any one could have looked into the room just then he +would have noticed the hesitation with which Madame de +Villefort approached the bed and looked fixedly on +Valentine. The dim light, the profound silence, and the +gloomy thoughts inspired by the hour, and still more by her +own conscience, all combined to produce a sensation of fear; +the poisoner was terrified at the contemplation of her own +work. At length she rallied, drew aside the curtain, and +leaning over the pillow gazed intently on Valentine. The +young girl no longer breathed, no breath issued through the +half-closed teeth; the white lips no longer quivered -- the +eyes were suffused with a bluish vapor, and the long black +lashes rested on a cheek white as wax. Madame de Villefort +gazed upon the face so expressive even in its stillness; +then she ventured to raise the coverlet and press her hand +upon the young girl's heart. It was cold and motionless. She +only felt the pulsation in her own fingers, and withdrew her +hand with a shudder. One arm was hanging out of the bed; +from shoulder to elbow it was moulded after the arms of +Germain Pillon's "Graces,"* but the fore-arm seemed to be +slightly distorted by convulsion, and the hand, so +delicately formed, was resting with stiff outstretched +fingers on the framework of the bed. The nails, too, were +turning blue. + +* Germain Pillon was a famous French sculptor (1535-1598). +His best known work is "The Three Graces," now in the +Louvre. + +Madame de Villefort had no longer any doubt; all was over -- +she had consummated the last terrible work she had to +accomplish. There was no more to do in the room, so the +poisoner retired stealthily, as though fearing to hear the +sound of her own footsteps; but as she withdrew she still +held aside the curtain, absorbed in the irresistible +attraction always exerted by the picture of death, so long +as it is merely mysterious and does not excite disgust. Just +then the lamp again flickered; the noise startled Madame de +Villefort, who shuddered and dropped the curtain. +Immediately afterwards the light expired, and the room was +plunged in frightful obscurity, while the clock at that +minute struck half-past four. Overpowered with agitation, +the poisoner succeeded in groping her way to the door, and +reached her room in an agony of fear. + +The darkness lasted two hours longer; then by degrees a cold +light crept through the Venetian blinds, until at length it +revealed the objects in the room. About this time the +nurse's cough was heard on the stairs and the woman entered +the room with a cup in her hand. To the tender eye of a +father or a lover, the first glance would have sufficed to +reveal Valentine's condition; but to this hireling, +Valentine only appeared to sleep. "Good," she exclaimed, +approaching the table, "she has taken part of her draught; +the glass is three-quarters empty." + +Then she went to the fireplace and lit the fire, and +although she had just left her bed, she could not resist the +temptation offered by Valentine's sleep, so she threw +herself into an arm-chair to snatch a little more rest. The +clock striking eight awoke her. Astonished at the prolonged +slumber of the patient, and frightened to see that the arm +was still hanging out of the bed, she advanced towards +Valentine, and for the first time noticed the white lips. +She tried to replace the arm, but it moved with a frightful +rigidity which could not deceive a sick-nurse. She screamed +aloud; then running to the door exclaimed, -- "Help, help!" + +"What is the matter?" asked M. d'Avrigny, at the foot of the +stairs, it being the hour he usually visited her. + +"What is it?" asked Villefort, rushing from his room. +"Doctor, do you hear them call for help?" + +"Yes, yes; let us hasten up; it was in Valentine's room." +But before the doctor and the father could reach the room, +the servants who were on the same floor had entered, and +seeing Valentine pale and motionless on her bed, they lifted +up their hands towards heaven and stood transfixed, as +though struck by lightening. "Call Madame de Villefort! -- +wake Madame de Villefort!" cried the procureur from the door +of his chamber, which apparently he scarcely dared to leave. +But instead of obeying him, the servants stood watching M. +d'Avrigny, who ran to Valentine, and raised her in his arms. +"What? -- this one, too?" he exclaimed. "Oh, where will be +the end?" Villefort rushed into the room. "What are you +saying, doctor?" he exclaimed, raising his hands to heaven. + +"I say that Valentine is dead!" replied d'Avrigny, in a +voice terrible in its solemn calm. + +M. de Villefort staggered and buried his head in the bed. On +the exclamation of the doctor and the cry of the father, the +servants all fled with muttered imprecations; they were +heard running down the stairs and through the long passages, +then there was a rush in the court, afterwards all was +still; they had, one and all, deserted the accursed house. +Just then, Madame de Villefort, in the act of slipping on +her dressing-gown, threw aside the drapery and for a moment +stood motionless, as though interrogating the occupants of +the room, while she endeavored to call up some rebellious +tears. On a sudden she stepped, or rather bounded, with +outstretched arms, towards the table. She saw d'Avrigny +curiously examining the glass, which she felt certain of +having emptied during the night. It was now a third full, +just as it was when she threw the contents into the ashes. +The spectre of Valentine rising before the poisoner would +have alarmed her less. It was, indeed, the same color as the +draught she had poured into the glass, and which Valentine +had drank; it was indeed the poison, which could not deceive +M. d'Avrigny, which he now examined so closely; it was +doubtless a miracle from heaven, that, notwithstanding her +precautions, there should be some trace, some proof +remaining to reveal the crime. While Madame de Villefort +remained rooted to the spot like a statue of terror, and +Villefort, with his head hidden in the bedclothes, saw +nothing around him, d'Avrigny approached the window, that he +might the better examine the contents of the glass, and +dipping the tip of his finger in, tasted it. "Ah," he +exclaimed, "it is no longer brucine that is used; let me see +what it is!" + +Then he ran to one of the cupboards in Valentine's room, +which had been transformed into a medicine closet, and +taking from its silver case a small bottle of nitric acid, +dropped a little of it into the liquor, which immediately +changed to a blood-red color. "Ah," exclaimed d'Avrigny, in +a voice in which the horror of a judge unveiling the truth +was mingled with the delight of a student making a +discovery. Madame de Villefort was overpowered, her eyes +first flashed and then swam, she staggered towards the door +and disappeared. Directly afterwards the distant sound of a +heavy weight falling on the ground was heard, but no one +paid any attention to it; the nurse was engaged in watching +the chemical analysis, and Villefort was still absorbed in +grief. M. d'Avrigny alone had followed Madame de Villefort +with his eyes, and watched her hurried retreat. He lifted up +the drapery over the entrance to Edward's room, and his eye +reaching as far as Madame de Villefort's apartment, he +beheld her extended lifeless on the floor. "Go to the +assistance of Madame de Villefort," he said to the nurse. +"Madame de Villefort is ill." + +"But Mademoiselle de Villefort " -- stammered the nurse. + +"Mademoiselle de Villefort no longer requires help," said +d'Avrigny, "since she is dead." + +"Dead, -- dead!" groaned forth Villefort, in a paroxysm of +grief, which was the more terrible from the novelty of the +sensation in the iron heart of that man. + +"Dead!" repeated a third voice. "Who said Valentine was +dead?" + +The two men turned round, and saw Morrel standing at the +door, pale and terror-stricken. This is what had happened. +At the usual time, Morrel had presented himself at the +little door leading to Noirtier's room. Contrary to custom, +the door was open, and having no occasion to ring he +entered. He waited for a moment in the hall and called for a +servant to conduct him to M. Noirtier; but no one answered, +the servants having, as we know, deserted the house. Morrel +had no particular reason for uneasiness; Monte Cristo had +promised him that Valentine should live, and so far he had +always fulfilled his word. Every night the count had given +him news, which was the next morning confirmed by Noirtier. +Still this extraordinary silence appeared strange to him, +and he called a second and third time; still no answer. Then +he determined to go up. Noirtier's room was opened, like all +the rest. The first thing he saw was the old man sitting in +his arm-chair in his usual place, but his eyes expressed +alarm, which was confirmed by the pallor which overspread +his features. + +"How are you, sir?" asked Morrel, with a sickness of heart. + +"Well," answered the old man, by closing his eyes; but his +appearance manifested increasing uneasiness. + +"You are thoughtful, sir," continued Morrel; "you want +something; shall I call one of the servants?" + +"Yes," replied Noirtier. + +Morrel pulled the bell, but though he nearly broke the cord +no one answered. He turned towards Noirtier; the pallor and +anguish expressed on his countenance momentarily increased. + +"Oh," exclaimed Morrel, "why do they not come? Is any one +ill in the house?" The eyes of Noirtier seemed as though +they would start from their sockets. "What is the matter? +You alarm me. Valentine? Valentine?" + +"Yes, yes," signed Noirtier. Maximilian tried to speak, but +he could articulate nothing; he staggered, and supported +himself against the wainscot. Then he pointed to the door. + +"Yes, yes, yes!" continued the old man. Maximilian rushed up +the little staircase, while Noirtier's eyes seemed to say, +-- "Quicker, quicker!" + +In a minute the young man darted through several rooms, till +at length he reached Valentine's. There was no occasion to +push the door, it was wide open. A sob was the only sound he +heard. He saw as though in a mist, a black figure kneeling +and buried in a confused mass of white drapery. A terrible +fear transfixed him. It was then he heard a voice exclaim +"Valentine is dead!" and another voice which, like an echo +repeated, -- "Dead, -- dead!" + + + +Chapter 103 +Maximilian. + +Villefort rose, half ashamed of being surprised in such a +paroxysm of grief. The terrible office he had held for +twenty-five years had succeeded in making him more or less +than man. His glance, at first wandering, fixed itself upon +Morrel. "Who are you, sir," he asked, "that forget that this +is not the manner to enter a house stricken with death? Go, +sir, go!" But Morrel remained motionless; he could not +detach his eyes from that disordered bed, and the pale +corpse of the young girl who was lying on it. "Go! -- do you +hear?" said Villefort, while d'Avrigny advanced to lead +Morrel out. Maximilian stared for a moment at the corpse, +gazed all around the room, then upon the two men; he opened +his mouth to speak, but finding it impossible to give +utterance to the innumerable ideas that occupied his brain, +he went out, thrusting his hands through his hair in such a +manner that Villefort and d'Avrigny, for a moment diverted +from the engrossing topic, exchanged glances, which seemed +to say, -- "He is mad!" + +But in less than five minutes the staircase groaned beneath +an extraordinary weight. Morrel was seen carrying, with +superhuman strength, the arm-chair containing Noirtier +up-stairs. When he reached the landing he placed the +arm-chair on the floor and rapidly rolled it into +Valentine's room. This could only have been accomplished by +means of unnatural strength supplied by powerful excitement. +But the most fearful spectacle was Noirtier being pushed +towards the bed, his face expressing all his meaning, and +his eyes supplying the want of every other faculty. That +pale face and flaming glance appeared to Villefort like a +frightful apparition. Each time he had been brought into +contact with his father, something terrible had happened. +"See what they have done!" cried Morrel, with one hand +leaning on the back of the chair, and the other extended +towards Valentine. "See, my father, see!" + +Villefort drew back and looked with astonishment on the +young man, who, almost a stranger to him, called Noirtier +his father. At this moment the whole soul of the old man +seemed centred in his eyes which became bloodshot; the veins +of the throat swelled; his cheeks and temples became purple, +as though he was struck with epilepsy; nothing was wanting +to complete this but the utterance of a cry. And the cry +issued from his pores, if we may thus speak -- a cry +frightful in its silence. D'Avrigny rushed towards the old +man and made him inhale a powerful restorative. + +"Sir," cried Morrel, seizing the moist hand of the +paralytic, "they ask me who I am, and what right I have to +be here. Oh, you know it, tell them, tell them!" And the +young man's voice was choked by sobs. As for the old man, +his chest heaved with his panting respiration. One could +have thought that he was undergoing the agonies preceding +death. At length, happier than the young man, who sobbed +without weeping, tears glistened in the eyes of Noirtier. +"Tell them," said Morrel in a hoarse voice, "tell them that +I am her betrothed. Tell them she was my beloved, my noble +girl, my only blessing in the world. Tell them -- oh, tell +them, that corpse belongs to me!" + +The young man overwhelmed by the weight of his anguish, fell +heavily on his knees before the bed, which his fingers +grasped with convulsive energy. D'Avrigny, unable to bear +the sight of this touching emotion, turned away; and +Villefort, without seeking any further explanation, and +attracted towards him by the irresistible magnetism which +draws us towards those who have loved the people for whom we +mourn, extended his hand towards the young man. But Morrel +saw nothing; he had grasped the hand of Valentine, and +unable to weep vented his agony in groans as he bit the +sheets. For some time nothing was heard in that chamber but +sobs, exclamations, and prayers. At length Villefort, the +most composed of all, spoke: "Sir," said he to Maximilian, +"you say you loved Valentine, that you were betrothed to +her. I knew nothing of this engagement, of this love, yet I, +her father, forgive you, for I see that your grief is real +and deep; and besides my own sorrow is too great for anger +to find a place in my heart. But you see that the angel whom +you hoped for has left this earth -- she has nothing more to +do with the adoration of men. Take a last farewell, sir, of +her sad remains; take the hand you expected to possess once +more within your own, and then separate yourself from her +forever. Valentine now requires only the ministrations of +the priest." + +"You are mistaken, sir," exclaimed Morrel, raising himself +on one knee, his heart pierced by a more acute pang than any +he had yet felt -- "you are mistaken; Valentine, dying as +she has, not only requires a priest, but an avenger. You, M. +de Villefort, send for the priest; I will be the avenger." + +"What do you mean, sir?" asked Villefort, trembling at the +new idea inspired by the delirium of Morrel. + +"I tell you, sir, that two persons exist in you; the father +has mourned sufficiently, now let the procureur fulfil his +office." + +The eyes of Noirtier glistened, and d'Avrigny approached. + +"Gentlemen," said Morrel, reading all that passed through +the minds of the witnesses to the scene, "I know what I am +saying, and you know as well as I do what I am about to say +-- Valentine has been assassinated!" Villefort hung his +head, d'Avrigny approached nearer, and Noirtier said "Yes" +with his eyes. "Now, sir," continued Morrel, "in these days +no one can disappear by violent means without some inquiries +being made as to the cause of her disappearance, even were +she not a young, beautiful, and adorable creature like +Valentine. Mr. Procureur," said Morrel with increasing +vehemence, "no mercy is allowed; I denounce the crime; it is +your place to seek the assassin." The young man's implacable +eyes interrogated Villefort, who, on his side, glanced from +Noirtier to d'Avrigny. But instead of finding sympathy in +the eyes of the doctor and his father, he only saw an +expression as inflexible as that of Maximilian. "Yes," +indicated the old man. + +"Assuredly," said d'Avrigny. + +"Sir," said Villefort, striving to struggle against this +triple force and his own emotion, -- "sir, you are deceived; +no one commits crimes here. I am stricken by fate. It is +horrible, indeed, but no one assassinates." + +The eyes of Noirtier lighted up with rage, and d'Avrigny +prepared to speak. Morrel, however, extended his arm, and +commanded silence. "And I say that murders are committed +here," said Morrel, whose voice, though lower in tone, lost +none of its terrible distinctness: "I tell you that this is +the fourth victim within the last four months. I tell you, +Valentine's life was attempted by poison four days ago, +though she escaped, owing to the precautions of M. Noirtier. +I tell you that the dose has been double, the poison +changed, and that this time it has succeeded. I tell you +that you know these things as well as I do, since this +gentleman has forewarned you, both as a doctor and as a +friend." + +"Oh, you rave, sir," exclaimed Villefort, in vain +endeavoring to escape the net in which he was taken. + +"I rave?" said Morrel; "well, then, I appeal to M. d'Avrigny +himself. Ask him, sir, if he recollects the words he uttered +in the garden of this house on the night of Madame de +Saint-Meran's death. You thought yourselves alone, and +talked about that tragical death, and the fatality you +mentioned then is the same which has caused the murder of +Valentine." Villefort and d'Avrigny exchanged looks. "Yes, +yes," continued Morrel; "recall the scene, for the words you +thought were only given to silence and solitude fell into my +ears. Certainly, after witnessing the culpable indolence +manifested by M. de Villefort towards his own relations, I +ought to have denounced him to the authorities; then I +should not have been an accomplice to thy death, as I now +am, sweet, beloved Valentine; but the accomplice shall +become the avenger. This fourth murder is apparent to all, +and if thy father abandon thee, Valentine, it is I, and I +swear it, that shall pursue the assassin." And this time, as +though nature had at least taken compassion on the vigorous +frame, nearly bursting with its own strength, the words of +Morrel were stifled in his throat; his breast heaved; the +tears, so long rebellious, gushed from his eyes; and he +threw himself weeping on his knees by the side of the bed. + +Then d'Avrigny spoke. "And I, too," he exclaimed in a low +voice, "I unite with M. Morrel in demanding justice for +crime; my blood boils at the idea of having encouraged a +murderer by my cowardly concession." + +"Oh, merciful heavens!" murmured Villefort. Morrel raised +his head, and reading the eyes of the old man, which gleamed +with unnatural lustre, -- "Stay," he said, "M. Noirtier +wishes to speak." + +"Yes," indicated Noirtier, with an expression the more +terrible, from all his faculties being centred in his +glance. + +"Do you know the assassin?" asked Morrel. + +"Yes," replied Noirtier. + +"And will you direct us?" exclaimed the young man. "Listen, +M. d'Avrigny, listen!" Noirtier looked upon Morrel with one +of those melancholy smiles which had so often made Valentine +happy, and thus fixed his attention. Then, having riveted +the eyes of his interlocutor on his own, he glanced towards +the door. + +"Do you wish me to leave?" said Morrel, sadly. + +"Yes," replied Noirtier. + +"Alas, alas, sir, have pity on me!" + +The old man's eyes remained fixed on the door. + +"May I, at least, return?" asked Morrel. + +"Yes." + +"Must I leave alone?" + +"No." + +"Whom am I to take with me? The procureur?" + +"No." + +"The doctor?" + +"Yes." + +"You wish to remain alone with M. de Villefort?" + +"Yes." + +"But can he understand you?" + +"Yes." + +"Oh," said Villefort, inexpressibly delighted to think that +the inquiries were to be made by him alone, -- "oh, be +satisfied, I can understand my father." D'Avrigny took the +young man's arm, and led him out of the room. A more than +deathlike silence then reigned in the house. At the end of a +quarter of an hour a faltering footstep was heard, and +Villefort appeared at the door of the apartment where +d'Avrigny and Morrel had been staying, one absorbed in +meditation, the other in grief. "You can come," he said, and +led them back to Noirtier. Morrel looked attentively on +Villefort. His face was livid, large drops rolled down his +face, and in his fingers he held the fragments of a quill +pen which he had torn to atoms. + +"Gentlemen," he said in a hoarse voice, "give me your word +of honor that this horrible secret shall forever remain +buried amongst ourselves!" The two men drew back. + +"I entreat you." -- continued Villefort. + +"But," said Morrel, "the culprit -- the murderer -- the +assassin." + +"Do not alarm yourself, sir; justice will be done," said +Villefort. "My father has revealed the culprit's name; my +father thirsts for revenge as much as you do, yet even he +conjures you as I do to keep this secret. Do you not, +father?" + +"Yes," resolutely replied Noirtier. Morrel suffered an +exclamation of horror and surprise to escape him. "Oh, sir," +said Villefort, arresting Maximilian by the arm, "if my +father, the inflexible man, makes this request, it is +because he knows, be assured, that Valentine will be +terribly revenged. Is it not so, father?" The old man made a +sign in the affirmative. Villefort continued: "He knows me, +and I have pledged my word to him. Rest assured, gentlemen, +that within three days, in a less time than justice would +demand, the revenge I shall have taken for the murder of my +child will be such as to make the boldest heart tremble;" +and as he spoke these words he ground his teeth, and grasped +the old man's senseless hand. + +"Will this promise be fulfilled, M. Noirtier?" asked Morrel, +while d'Avrigny looked inquiringly. + +"Yes," replied Noirtier with an expression of sinister joy. + +"Swear, then," said Villefort, joining the hands of Morrel +and d'Avrigny, "swear that you will spare the honor of my +house, and leave me to avenge my child." D'Avrigny turned +round and uttered a very feeble "Yes," but Morrel, +disengaging his hand, rushed to the bed, and after having +pressed the cold lips of Valentine with his own, hurriedly +left, uttering a long, deep groan of despair and anguish. We +have before stated that all the servants had fled. M. de +Villefort was therefore obliged to request M. d'Avrigny to +superintend all the arrangements consequent upon a death in +a large city, more especially a death under such suspicious +circumstances. + +It was something terrible to witness the silent agony, the +mute despair of Noirtier, whose tears silently rolled down +his cheeks. Villefort retired to his study, and d'Avrigny +left to summon the doctor of the mayoralty, whose office it +is to examine bodies after decease, and who is expressly +named "the doctor of the dead." M. Noirtier could not be +persuaded to quit his grandchild. At the end of a quarter of +an hour M. d'Avrigny returned with his associate; they found +the outer gate closed, and not a servant remaining in the +house; Villefort himself was obliged to open to them. But he +stopped on the landing; he had not the courage to again +visit the death chamber. The two doctors, therefore, entered +the room alone. Noirtier was near the bed, pale, motionless, +and silent as the corpse. The district doctor approached +with the indifference of a man accustomed to spend half his +time amongst the dead; he then lifted the sheet which was +placed over the face, and just unclosed the lips. + +"Alas," said d'Avrigny, "she is indeed dead, poor child!" + +"Yes," answered the doctor laconically, dropping the sheet +he had raised. Noirtier uttered a kind of hoarse, rattling +sound; the old man's eyes sparkled, and the good doctor +understood that he wished to behold his child. He therefore +approached the bed, and while his companion was dipping the +fingers with which he had touched the lips of the corpse in +chloride of lime, he uncovered the calm and pale face, which +looked like that of a sleeping angel. A tear, which appeared +in the old man's eye, expressed his thanks to the doctor. +The doctor of the dead then laid his permit on the corner of +the table, and having fulfilled his duty, was conducted out +by d'Avrigny. Villefort met them at the door of his study; +having in a few words thanked the district doctor, he turned +to d'Avrigny, and said, -- "And now the priest." + +"Is there any particular priest you wish to pray with +Valentine?" asked d'Avrigny. + +"No." said Villefort; "fetch the nearest." + +"The nearest," said the district doctor, "is a good Italian +abbe, who lives next door to you. Shall I call on him as I +pass?" + +"D'Avrigny," said Villefort, "be so kind, I beseech you, as +to accompany this gentleman. Here is the key of the door, so +that you can go in and out as you please; you will bring the +priest with you, and will oblige me by introducing him into +my child's room." + +"Do you wish to see him?" + +"I only wish to be alone. You will excuse me, will you not? +A priest can understand a father's grief." And M. de +Villefort, giving the key to d'Avrigny, again bade farewell +to the strange doctor, and retired to his study, where he +began to work. For some temperaments work is a remedy for +all afflictions. As the doctors entered the street, they saw +a man in a cassock standing on the threshold of the next +door. "This is the abbe of whom I spoke," said the doctor to +d'Avrigny. D'Avrigny accosted the priest. "Sir," he said, +"are you disposed to confer a great obligation on an unhappy +father who has just lost his daughter? I mean M. de +Villefort, the king's attorney." + +"Ah," said the priest, in a marked Italian accent; "yes, I +have heard that death is in that house." + +"Then I need not tell you what kind of service he requires +of you." + +"I was about to offer myself, sir," said the priest; "it is +our mission to forestall our duties." + +"It is a young girl." + +"I know it, sir; the servants who fled from the house +informed me. I also know that her name is Valentine, and I +have already prayed for her." + +"Thank you, sir," said d'Avrigny; "since you have commenced +your sacred office, deign to continue it. Come and watch by +the dead, and all the wretched family will be grateful to +you." + +"I am going, sir; and I do not hesitate to say that no +prayers will be more fervent than mine." D'Avrigny took the +priest's hand, and without meeting Villefort, who was +engaged in his study, they reached Valentine's room, which +on the following night was to be occupied by the +undertakers. On entering the room, Noirtier's eyes met those +of the abbe, and no doubt he read some particular expression +in them, for he remained in the room. D'Avrigny recommended +the attention of the priest to the living as well as to the +dead, and the abbe promised to devote his prayers to +Valentine and his attentions to Noirtier. In order, +doubtless, that he might not be disturbed while fulfilling +his sacred mission, the priest rose as soon as d'Avrigny +departed, and not only bolted the door through which the +doctor had just left, but also that leading to Madame de +Villefort's room. + + + +Chapter 104 +Danglars Signature. + +The next morning dawned dull and cloudy. During the night +the undertakers had executed their melancholy office, and +wrapped the corpse in the winding-sheet, which, whatever may +be said about the equality of death, is at least a last +proof of the luxury so pleasing in life. This winding-sheet +was nothing more than a beautiful piece of cambric, which +the young girl had bought a fortnight before. During the +evening two men, engaged for the purpose, had carried +Noirtier from Valentine's room into his own, and contrary to +all expectation there was no difficulty in withdrawing him +from his child. The Abbe Busoni had watched till daylight, +and then left without calling any one. D'Avrigny returned +about eight o'clock in the morning; he met Villefort on his +way to Noirtier's room, and accompanied him to see how the +old man had slept. They found him in the large arm-chair, +which served him for a bed, enjoying a calm, nay, almost a +smiling sleep. They both stood in amazement at the door. + +"See," said d'Avrigny to Villefort, "nature knows how to +alleviate the deepest sorrow. No one can say that M. +Noirtier did not love his child, and yet he sleeps." + +"Yes, you are right," replied Villefort, surprised; "he +sleeps, indeed! And this is the more strange, since the +least contradiction keeps him awake all night." + +"Grief has stunned him," replied d'Avrigny; and they both +returned thoughtfully to the procureur's study. + +"See, I have not slept," said Villefort, showing his +undisturbed bed; "grief does not stun me. I have not been in +bed for two nights; but then look at my desk; see what I +have written during these two days and nights. I have filled +those papers, and have made out the accusation against the +assassin Benedetto. Oh, work, work, -- my passion, my joy, +my delight, -- it is for thee to alleviate my sorrows!" and +he convulsively grasped the hand of d'Avrigny. + +"Do you require my services now?" asked d'Avrigny. + +"No," said Villefort; "only return again at eleven o'clock; +at twelve the -- the -- oh, heavens, my poor, poor child!" +and the procureur again becoming a man, lifted up his eyes +and groaned. + +"Shall you be present in the reception room?" + +"No; I have a cousin who has undertaken this sad office. I +shall work, doctor -- when I work I forget everything." And, +indeed, no sooner had the doctor left the room, than he was +again absorbed in study. On the doorsteps d'Avrigny met the +cousin whom Villefort had mentioned, a personage as +insignificant in our story as in the world he occupied -- +one of those beings designed from their birth to make +themselves useful to others. He was punctual, dressed in +black, with crape around his hat, and presented himself at +his cousin's with a face made up for the occasion, and which +he could alter as might be required. At twelve o'clock the +mourning-coaches rolled into the paved court, and the Rue du +Faubourg Saint-Honore was filled with a crowd of idlers, +equally pleased to witness the festivities or the mourning +of the rich, and who rush with the same avidity to a funeral +procession as to the marriage of a duchess. + +Gradually the reception-room filled, and some of our old +friends made their appearance -- we mean Debray, +Chateau-Renaud, and Beauchamp, accompanied by all the +leading men of the day at the bar, in literature, or the +army, for M. de Villefort moved in the first Parisian +circles, less owing to his social position than to his +personal merit. The cousin standing at the door ushered in +the guests, and it was rather a relief to the indifferent to +see a person as unmoved as themselves, and who did not exact +a mournful face or force tears, as would have been the case +with a father, a brother, or a lover. Those who were +acquainted soon formed into little groups. One of them was +made of Debray, Chateau-Renaud, and Beauchamp. + +"Poor girl," said Debray, like the rest, paying an +involuntary tribute to the sad event, -- "poor girl, so +young, so rich, so beautiful! Could you have imagined this +scene, Chateau-Renaud, when we saw her, at the most three +weeks ago, about to sign that contract?" + +"Indeed, no," said Chateau-Renaud -- "Did you know her?" + +"I spoke to her once or twice at Madame de Morcerf's, among +the rest; she appeared to me charming, though rather +melancholy. Where is her stepmother? Do you know?" + +"She is spending the day with the wife of the worthy +gentleman who is receiving us." + +"Who is he?" + +"Whom do you mean?" + +"The gentleman who receives us? Is he a deputy?" + +"Oh, no. I am condemned to witness those gentlemen every +day," said Beauchamp; "but he is perfectly unknown to me." + +"Have you mentioned this death in your paper?" + +"It has been mentioned, but the article is not mine; indeed, +I doubt if it will please M. Villefort, for it says that if +four successive deaths had happened anywhere else than in +the house of the king's attorney, he would have interested +himself somewhat more about it." + +"Still," said Chateau-Renaud, "Dr. d'Avrigny, who attends my +mother, declares he is in despair about it. But whom are you +seeking, Debray?" + +"I am seeking the Count of Monte Cristo" said the young man. + +"I met him on the boulevard, on my way here," said +Beauchamp. "I think he is about to leave Paris; he was going +to his banker." + +"His banker? Danglars is his banker, is he not?" asked +Chateau-Renaud of Debray. + +"I believe so," replied the secretary with slight +uneasiness. "But Monte Cristo is not the only one I miss +here; I do not see Morrel." + +"Morrel? Do they know him?" asked Chateau-Renaud. "I think +he has only been introduced to Madame de Villefort." + +"Still, he ought to have been here," said Debray; "I wonder +what will be talked about to-night; this funeral is the news +of the day. But hush, here comes our minister of justice; he +will feel obliged to make some little speech to the cousin," +and the three young men drew near to listen. Beauchamp told +the truth when he said that on his way to the funeral he had +met Monte Cristo, who was directing his steps towards the +Rue de la Chausse d'Antin, to M. Danglars'. + +The banker saw the carriage of the count enter the court +yard, and advanced to meet him with a sad, though affable +smile. "Well," said he, extending his hand to Monte Cristo, +"I suppose you have come to sympathize with me, for indeed +misfortune has taken possession of my house. When I +perceived you, I was just asking myself whether I had not +wished harm towards those poor Morcerfs, which would have +justified the proverb of `He who wishes misfortunes to +happen to others experiences them himself.' Well, on my word +of honor, I answered, `No!' I wished no ill to Morcerf; he +was a little proud, perhaps, for a man who like myself has +risen from nothing; but we all have our faults. Do you know, +count, that persons of our time of life -- not that you +belong to the class, you are still a young man, -- but as I +was saying, persons of our time of life have been very +unfortunate this year. For example, look at the puritanical +procureur, who has just lost his daughter, and in fact +nearly all his family, in so singular a manner; Morcerf +dishonored and dead; and then myself covered with ridicule +through the villany of Benedetto; besides" -- + +"Besides what?" asked the Count. + +"Alas, do you not know?" + +"What new calamity?" + +"My daughter" -- + +"Mademoiselle Danglars?" + +"Eugenie has left us!" + +"Good heavens, what are you telling me?" + +"The truth, my dear count. Oh, how happy you must be in not +having either wife or children!" + +"Do you think so?" + +"Indeed I do." + +"And so Mademoiselle Danglars" -- + +"She could not endure the insult offered to us by that +wretch, so she asked permission to travel." + +"And is she gone?" + +"The other night she left." + +"With Madame Danglars?" + +"No, with a relation. But still, we have quite lost our dear +Eugenie; for I doubt whether her pride will ever allow her +to return to France." + +"Still, baron," said Monte Cristo, "family griefs, or indeed +any other affliction which would crush a man whose child was +his only treasure, are endurable to a millionaire. +Philosophers may well say, and practical men will always +support the opinion, that money mitigates many trials; and +if you admit the efficacy of this sovereign balm, you ought +to be very easily consoled -- you, the king of finance, the +focus of immeasurable power." + +Danglars looked at him askance, as though to ascertain +whether he spoke seriously. "Yes," he answered, "if a +fortune brings consolation, I ought to be consoled; I am +rich." + +"So rich, dear sir, that your fortune resembles the +pyramids; if you wished to demolish them you could not, and +if it were possible, you would not dare!" Danglars smiled at +the good-natured pleasantry of the count. "That reminds me," +he said, "that when you entered I was on the point of +signing five little bonds; I have already signed two: will +you allow me to do the same to the others?" + +"Pray do so." + +There was a moment's silence, during which the noise of the +banker's pen was alone heard, while Monte Cristo examined +the gilt mouldings on the ceiling. "Are they Spanish, +Haitian, or Neapolitan bonds?" said Monte Cristo. "No," said +Danglars, smiling, "they are bonds on the bank of France, +payable to bearer. Stay, count," he added, "you, who may he +called the emperor, if I claim the title of king of finance, +have you many pieces of paper of this size, each worth a +million?" The count took into his hands the papers, which +Danglars had so proudly presented to him, and read: -- + +"To the Governor of the Bank. Please pay to my order, from +the fund deposited by me, the sum of a million, and charge +the same to my account. + +"Baron Danglars." + +"One, two, three, four, five," said Monte Cristo; "five +millions -- why what a Croesus you are!" + +"This is how I transact business," said Danglars. + +"It is really wonderful," said the count; "above all, if, as +I suppose, it is payable at sight." + +"It is, indeed, said Danglars. + +"It is a fine thing to have such credit; really, it is only +in France these things are done. Five millions on five +little scraps of paper! -- it must be seen to be believed." + +"You do not doubt it?" + +"No!" + +"You say so with an accent -- stay, you shall be convinced; +take my clerk to the bank, and you will see him leave it +with an order on the Treasury for the same sum." + +"No," said Monte Cristo folding the five notes, "most +decidedly not; the thing is so curious, I will make the +experiment myself. I am credited on you for six millions. I +have drawn nine hundred thousand francs, you therefore still +owe me five millions and a hundred thousand francs. I will +take the five scraps of paper that I now hold as bonds, with +your signature alone, and here is a receipt in full for the +six millions between us. I had prepared it beforehand, for I +am much in want of money to-day." And Monte Cristo placed +the bonds in his pocket with one hand, while with the other +he held out the receipt to Danglars. If a thunderbolt had +fallen at the banker's feet, he could not have experienced +greater terror. + +"What," he stammered, "do you mean to keep that money? +Excuse me, excuse me, but I owe this money to the charity +fund, -- a deposit which I promised to pay this morning." + +"Oh, well, then," said Monte Cristo, "I am not particular +about these five notes, pay me in a different form; I +wished, from curiosity, to take these, that I might be able +to say that without any advice or preparation the house of +Danglars had paid me five millions without a minute's delay; +it would have been remarkable. But here are your bonds; pay +me differently;" and he held the bonds towards Danglars, who +seized them like a vulture extending its claws to withhold +the food that is being wrested from its grasp. Suddenly he +rallied, made a violent effort to restrain himself, and then +a smile gradually widened the features of his disturbed +countenance. + +"Certainly," he said, "your receipt is money." + +"Oh dear, yes; and if you were at Rome, the house of Thomson +& French would make no more difficulty about paying the +money on my receipt than you have just done." + +"Pardon me, count, pardon me." + +"Then I may keep this money?" + +"Yes," said Danglars, while the perspiration started from +the roots of his hair. "Yes, keep it -- keep it." + +Monte Cristo replaced the notes in his pocket with that +indescribable expression which seemed to say, "Come, +reflect; if you repent there is till time." + +"No," said Danglars, "no, decidedly no; keep my signatures. +But you know none are so formal as bankers in transacting +business; I intended this money for the charity fund, and I +seemed to be robbing them if I did not pay them with these +precise bonds. How absurd -- as if one crown were not as +good as another. Excuse me;" and he began to laugh loudly, +but nervously. + +"Certainly, I excuse you," said Monte Cristo graciously, +"and pocket them." And he placed the bonds in his +pocket-book. + +"But," said Danglars, "there is still a sum of one hundred +thousand francs?" + +"Oh, a mere nothing," said Monte Cristo. "The balance would +come to about that sum; but keep it, and we shall be quits." + +"Count." said Danglars, "are you speaking seriously?" + +"I never joke with bankers," said Monte Cristo in a freezing +manner, which repelled impertinence; and he turned to the +door, just as the valet de chambre announced, -- "M. de +Boville, receiver-general of the charities." + +"Ma foi," said Monte Cristo; "I think I arrived just in time +to obtain your signatures, or they would have been disputed +with me." + +Danglars again became pale, and hastened to conduct the +count out. Monte Cristo exchanged a ceremonious bow with M. +de Boville, who was standing in the waiting-room, and who +was introduced into Danglars' room as soon as the count had +left. The count's sad face was illumined by a faint smile, +as he noticed the portfolio which the receiver-general held +in his hand. At the door he found his carriage, and was +immediately driven to the bank. Meanwhile Danglars, +repressing all emotion, advanced to meet the +receiver-general. We need not say that a smile of +condescension was stamped upon his lips. "Good-morning, +creditor," said he; "for I wager anything it is the creditor +who visits me." + +"You are right, baron," answered M. de Boville; "the +charities present themselves to you through me: the widows +and orphans depute me to receive alms to the amount of five +millions from you." + +"And yet they say orphans are to be pitied," said Danglars, +wishing to prolong the jest. "Poor things!" + +"Here I am in their name," said M. de Boville; "but did you +receive my letter yesterday?" + +"Yes." + +"I have brought my receipt." + +"My dear M. de Boville, your widows and orphans must oblige +me by waiting twenty-four hours, since M. de Monte Cristo +whom you just saw leaving here -- you did see him, I think?" + +"Yes; well?" + +"Well, M. de Monte Cristo has just carried off their five +millions." + +"How so?" + +"The count has an unlimited credit upon me; a credit opened +by Thomson & French, of Rome; he came to demand five +millions at once, which I paid him with checks on the bank. +My funds are deposited there, and you can understand that if +I draw out ten millions on the same day it will appear +rather strange to the governor. Two days will be a different +thing," said Danglars, smiling. + +"Come," said Boville, with a tone of entire incredulity, +"five millions to that gentleman who just left, and who +bowed to me as though he knew me?" + +"Perhaps he knows you, though you do not know him; M. de +Monte Cristo knows everybody." + +"Five millions!" + +"Here is his receipt. Believe your own eyes." M. de Boville +took the paper Danglars presented him, and read: -- + +"Received of Baron Danglars the sum of five million one +hundred thousand francs, to be repaid on demand by the house +of Thomson & French of Rome." + +"It is really true," said M. de Boville. + +"Do you know the house of Thomson & French?" + +"Yes, I once had business to transact with it to the amount +of 200,000 francs; but since then I have not heard it +mentioned." + +"It is one of the best houses in Europe," said Danglars, +carelessly throwing down the receipt on his desk. + +"And he had five millions in your hands alone! Why, this +Count of Monte Cristo must be a nabob?" + +"Indeed I do not know what he is; he has three unlimited +credits -- one on me, one on Rothschild, one on Lafitte; +and, you see," he added carelessly, "he has given me the +preference, by leaving a balance of 100,000 francs." M. de +Boville manifested signs of extraordinary admiration. "I +must visit him," he said, "and obtain some pious grant from +him." + +"Oh, you may make sure of him; his charities alone amount to +20,000 francs a month." + +"It is magnificent! I will set before him the example of +Madame de Morcerf and her son." + +"What example?" + +"They gave all their fortune to the hospitals." + +"What fortune?" + +"Their own -- M. de Morcerf's, who is deceased." + +"For what reason?" + +"Because they would not spend money so guiltily acquired." + +"And what are they to live upon?" + +"The mother retires into the country, and the son enters the +army." + +"Well, I must confess, these are scruples." + +"I registered their deed of gift yesterday." + +"And how much did they possess?" + +"Oh, not much -- from twelve to thirteen hundred thousand +francs. But to return to our millions." + +"Certainly," said Danglars, in the most natural tone in the +world. "Are you then pressed for this money?" + +"Yes; for the examination of our cash takes place +to-morrow." + +"To-morrow? Why did you not tell me so before? Why, it is as +good as a century! At what hour does the examination take +place?" + +"At two o'clock." + +"Send at twelve," said Danglars, smiling. M. de Boville said +nothing, but nodded his head, and took up the portfolio. +"Now I think of it, you can do better," said Danglars. + +"How do you mean?" + +"The receipt of M. de Monte Cristo is as good as money; take +it to Rothschild's or Lafitte's, and they will take it off +your hands at once." + +"What, though payable at Rome?" + +"Certainly; it will only cost you a discount of 5,000 or +6,000 francs." The receiver started back. "Ma foi," he said, +"I prefer waiting till to-morrow. What a proposition!" + +"I thought, perhaps," said Danglars with supreme +impertinence, "that you had a deficiency to make up?" + +"Indeed," said the receiver. + +"And if that were the case it would be worth while to make +some sacrifice." + +"Thank you, no, sir " + +"Then it will be to-morrow." + +"Yes; but without fail." + +"Ah, you are laughing at me; send to-morrow at twelve, and +the bank shall be notified." + +"I will come myself." + +"Better still, since it will afford me the pleasure of +seeing you." They shook hands. "By the way," said M. de +Boville, "are you not going to the funeral of poor +Mademoiselle de Villefort, which I met on my road here?" + +"No," said the banker; "I have appeared rather ridiculous +since that affair of Benedetto, so I remain in the +background." + +"Bah, you are wrong. How were you to blame in that affair?" + +"Listen -- when one bears an irreproachable name, as I do, +one is rather sensitive." + +"Everybody pities you, sir; and, above all, Mademoiselle +Danglars!" + +"Poor Eugenie!" said Danglars; "do you know she is going to +embrace a religious life?" + +"No." + +"Alas, it is unhappily but too true. The day after the +event, she decided on leaving Paris with a nun of her +acquaintance; they are gone to seek a very strict convent in +Italy or Spain." + +"Oh, it is terrible!" and M. de Boville retired with this +exclamation, after expressing acute sympathy with the +father. But he had scarcely left before Danglars, with an +energy of action those can alone understand who have seen +Robert Macaire represented by Frederic,* exclaimed, -- +"Fool!" Then enclosing Monte Cristo's receipt in a little +pocket-book, he added: -- "Yes, come at twelve o'clock; I +shall then be far away." Then he double-locked his door, +emptied all his drawers, collected about fifty thousand +francs in bank-notes, burned several papers, left others +exposed to view, and then commenced writing a letter which +he addressed: + +"To Madame la Baronne Danglars." + +* Frederic Lemaitre -- French actor (1800-1876). Robert +Macaire is the hero of two favorite melodramas -- "Chien de +Montargis" and "Chien d'Aubry" -- and the name is applied to +bold criminals as a term of derision. + +"I will place it on her table myself to-night," he murmured. +Then taking a passport from his drawer he said, -- "Good, it +is available for two months longer." + + + +Chapter 105 +The Cemetery of Pere-la-Chaise. + +M. de Boville had indeed met the funeral procession which +was taking Valentine to her last home on earth. The weather +was dull and stormy, a cold wind shook the few remaining +yellow leaves from the boughs of the trees, and scattered +them among the crowd which filled the boulevards. M. de +Villefort, a true Parisian, considered the cemetery of +Pere-la-Chaise alone worthy of receiving the mortal remains +of a Parisian family; there alone the corpses belonging to +him would be surrounded by worthy associates. He had +therefore purchased a vault, which was quickly occupied by +members of his family. On the front of the monument was +inscribed: "The families of Saint-Meran and Villefort," for +such had been the last wish expressed by poor Renee, +Valentine's mother. The pompous procession therefore wended +its way towards Pere-la-Chaise from the Faubourg +Saint-Honore. Having crossed Paris, it passed through the +Faubourg du Temple, then leaving the exterior boulevards, it +reached the cemetery. More than fifty private carriages +followed the twenty mourning-coaches, and behind them more +than five hundred persons joined in the procession on foot. + +These last consisted of all the young people whom +Valentine's death had struck like a thunderbolt, and who, +notwithstanding the raw chilliness of the season, could not +refrain from paying a last tribute to the memory of the +beautiful, chaste, and adorable girl, thus cut off in the +flower of her youth. As they left Paris, an equipage with +four horses, at full speed, was seen to draw up suddenly; it +contained Monte Cristo. The count left the carriage and +mingled in the crowd who followed on foot. Chateau-Renaud +perceived him and immediately alighting from his coupe, +joined him. + +The count looked attentively through every opening in the +crowd; he was evidently watching for some one, but his +search ended in disappointment. "Where is Morrel?" he asked; +"do either of these gentlemen know where he is?" + +"We have already asked that question," said Chateau-Renaud, +"for none of us has seen him." The count was silent, but +continued to gaze around him. At length they arrived at the +cemetery. The piercing eye of Monte Cristo glanced through +clusters of bushes and trees, and was soon relieved from all +anxiety, for seeing a shadow glide between the yew-trees, +Monte Cristo recognized him whom he sought. One funeral is +generally very much like another in this magnificent +metropolis. Black figures are seen scattered over the long +white avenues; the silence of earth and heaven is alone +broken by the noise made by the crackling branches of hedges +planted around the monuments; then follows the melancholy +chant of the priests, mingled now and then with a sob of +anguish, escaping from some woman concealed behind a mass of +flowers. + +The shadow Monte Cristo had noticed passed rapidly behind +the tomb of Abelard and Heloise, placed itself close to the +heads of the horses belonging to the hearse, and following +the undertaker's men, arrived with them at the spot +appointed for the burial. Each person's attention was +occupied. Monte Cristo saw nothing but the shadow, which no +one else observed. Twice the count left the ranks to see +whether the object of his interest had any concealed weapon +beneath his clothes. When the procession stopped, this +shadow was recognized as Morrel, who, with his coat buttoned +up to his throat, his face livid, and convulsively crushing +his hat between his fingers, leaned against a tree, situated +on an elevation commanding the mausoleum, so that none of +the funeral details could escape his observation. Everything +was conducted in the usual manner. A few men, the least +impressed of all by the scene, pronounced a discourse, some +deploring this premature death, others expatiating on the +grief of the father, and one very ingenious person quoting +the fact that Valentine had solicited pardon of her father +for criminals on whom the arm of justice was ready to fall +-- until at length they exhausted their stores of metaphor +and mournful speeches. + +Monte Cristo heard and saw nothing, or rather he only saw +Morrel, whose calmness had a frightful effect on those who +knew what was passing in his heart. "See," said Beauchamp, +pointing out Morrel to Debray. "What is he doing up there?" +And they called Chateau-Renaud's attention to him. + +"How pale he is!" said Chateau-Renaud, shuddering. + +"He is cold," said Debray. + +"Not at all," said Chateau-Renaud, slowly; "I think he is +violently agitated. He is very susceptible." + +"Bah," said Debray; "he scarcely knew Mademoiselle de +Villefort; you said so yourself." + +"True. Still I remember he danced three times with her at +Madame de Morcerf's. Do you recollect that ball, count, +where you produced such an effect?" + +"No, I do not," replied Monte Cristo, without even knowing +of what or to whom he was speaking, so much was he occupied +in watching Morrel, who was holding his breath with emotion. +"The discourse is over; farewell, gentlemen," said the +count. And he disappeared without anyone seeing whither he +went. The funeral being over, the guests returned to Paris. +Chateau-Renaud looked for a moment for Morrel; but while +they were watching the departure of the count, Morrel had +quitted his post, and Chateau-Renaud, failing in his search, +joined Debray and Beauchamp. + +Monte Cristo concealed himself behind a large tomb and +awaited the arrival of Morrel, who by degrees approached the +tomb now abandoned by spectators and workmen. Morrel threw a +glance around, but before it reached the spot occupied by +Monte Cristo the latter had advanced yet nearer, still +unperceived. The young man knelt down. The count, with +outstretched neck and glaring eyes, stood in an attitude +ready to pounce upon Morrel upon the first occasion. Morrel +bent his head till it touched the stone, then clutching the +grating with both hands, he murmured, -- "Oh, Valentine!" +The count's heart was pierced by the utterance of these two +words; he stepped forward, and touching the young man's +shoulder, said, -- "I was looking for you, my friend." Monte +Cristo expected a burst of passion, but he was deceived, for +Morrel turning round, said calmly, -- + +"You see I was praying." The scrutinizing glance of the +count searched the young man from head to foot. He then +seemed more easy. + +"Shall I drive you back to Paris?" he asked. + +"No, thank you." + +"Do you wish anything?" + +"Leave me to pray." The count withdrew without opposition, +but it was only to place himself in a situation where he +could watch every movement of Morrel, who at length arose, +brushed the dust from his knees, and turned towards Paris, +without once looking back. He walked slowly down the Rue de +la Roquette. The count, dismissing his carriage, followed +him about a hundred paces behind. Maximilian crossed the +canal and entered the Rue Meslay by the boulevards. Five +minutes after the door had been closed on Morrel's entrance, +it was again opened for the count. Julie was at the entrance +of the garden, where she was attentively watching Penelon, +who, entering with zeal into his profession of gardener, was +very busy grafting some Bengal roses. "Ah, count," she +exclaimed, with the delight manifested by every member of +the family whenever he visited the Rue Meslay. + +"Maximilian has just returned, has he not, madame?" asked +the count. + +"Yes, I think I saw him pass; but pray, call Emmanuel." + +"Excuse me, madame, but I must go up to Maximilian's room +this instant," replied Monte Cristo, "I have something of +the greatest importance to tell him." + +"Go, then," she said with a charming smile, which +accompanied him until he had disappeared. Monte Cristo soon +ran up the staircase conducting from the ground-floor to +Maximilian's room; when he reached the landing he listened +attentively, but all was still. Like many old houses +occupied by a single family, the room door was panelled with +glass; but it was locked, Maximilian was shut in, and it was +impossible to see what was passing in the room, because a +red curtain was drawn before the glass. The count's anxiety +was manifested by a bright color which seldom appeared on +the face of that imperturbable man. + +"What shall I do!" he uttered, and reflected for a moment; +"shall I ring? No, the sound of a bell, announcing a +visitor, will but accelerate the resolution of one in +Maximilian's situation, and then the bell would be followed +by a louder noise." Monte Cristo trembled from head to foot +and as if his determination had been taken with the rapidity +of lightning, he struck one of the panes of glass with his +elbow; the glass was shivered to atoms, then withdrawing the +curtain he saw Morrel, who had been writing at his desk, +bound from his seat at the noise of the broken window. + +"I beg a thousand pardons," said the count, "there is +nothing the matter, but I slipped down and broke one of your +panes of glass with my elbow. Since it is opened, I will +take advantage of it to enter your room; do not disturb +yourself -- do not disturb yourself!" And passing his hand +through the broken glass, the count opened the door. Morrel, +evidently discomposed, came to meet Monte Cristo less with +the intention of receiving him than to exclude his entry. +"Ma foi," said Monte Cristo, rubbing his elbow, "it's all +your servant's fault; your stairs are so polished, it is +like walking on glass." + +"Are you hurt, sir?" coldly asked Morrel. + +"I believe not. But what are you about there? You were +writing." + +"I?" + +"Your fingers are stained with ink." + +"Ah, true, I was writing. I do sometimes, soldier though I +am." + +Monte Cristo advanced into the room; Maximilian was obliged +to let him pass, but he followed him. "You were writing?" +said Monte Cristo with a searching look. + +"I have already had the honor of telling you I was," said +Morrel. + +The count looked around him. "Your pistols are beside your +desk," said Monte Cristo, pointing with his finger to the +pistols on the table. + +"I am on the point of starting on a journey," replied Morrel +disdainfully. + +"My friend," exclaimed Monte Cristo in a tone of exquisite +sweetness. + +"Sir?" + +"My friend, my dear Maximilian, do not make a hasty +resolution, I entreat you." + +"I make a hasty resolution?" said Morrel, shrugging his +shoulders; "is there anything extraordinary in a journey?" + +"Maximilian," said the count, "let us both lay aside the +mask we have assumed. You no more deceive me with that false +calmness than I impose upon you with my frivolous +solicitude. You can understand, can you not, that to have +acted as I have done, to have broken that glass, to have +intruded on the solitude of a friend -- you can understand +that, to have done all this, I must have been actuated by +real uneasiness, or rather by a terrible conviction. Morrel, +you are going to destroy yourself!" + +"Indeed, count," said Morrel, shuddering; "what has put this +into your head?" + +"I tell you that you are about to destroy yourself," +continued the count, "and here is proof of what I say;" and, +approaching the desk, he removed the sheet of paper which +Morrel had placed over the letter he had begun, and took the +latter in his hands. + +Morrel rushed forward to tear it from him, but Monte Cristo +perceiving his intention, seized his wrist with his iron +grasp. "You wish to destroy yourself," said the count; "you +have written it." + +"Well," said Morrel, changing his expression of calmness for +one of violence -- "well, and if I do intend to turn this +pistol against myself, who shall prevent me -- who will dare +prevent me? All my hopes are blighted, my heart is broken, +my life a burden, everything around me is sad and mournful; +earth has become distasteful to me, and human voices +distract me. It is a mercy to let me die, for if I live I +shall lose my reason and become mad. When, sir, I tell you +all this with tears of heartfelt anguish, can you reply that +I am wrong, can you prevent my putting an end to my +miserable existence? Tell me, sir, could you have the +courage to do so?" + +"Yes, Morrel," said Monte Cristo, with a calmness which +contrasted strangely with the young man's excitement; "yes, +I would do so." + +"You?" exclaimed Morrel, with increasing anger and reproach +-- "you, who have deceived me with false hopes, who have +cheered and soothed me with vain promises, when I might, if +not have saved her, at least have seen her die in my arms! +You, who pretend to understand everything, even the hidden +sources of knowledge, -- and who enact the part of a +guardian angel upon earth, and could not even find an +antidote to a poison administered to a young girl! Ah, sir, +indeed you would inspire me with pity, were you not hateful +in my eyes." + +"Morrel" -- + +"Yes; you tell me to lay aside the mask, and I will do so, +be satisfied! When you spoke to me at the cemetery, I +answered you -- my heart was softened; when you arrived +here, I allowed you to enter. But since you abuse my +confidence, since you have devised a new torture after I +thought I had exhausted them all, then, Count of Monte +Cristo my pretended benefactor -- then, Count of Monte +Cristo, the universal guardian, be satisfied, you shall +witness the death of your friend;" and Morrel, with a +maniacal laugh, again rushed towards the pistols. + +"And I again repeat, you shall not commit suicide." + +"Prevent me, then!" replied Morrel, with another struggle, +which, like the first, failed in releasing him from the +count's iron grasp. + +"I will prevent you." + +"And who are you, then, that arrogate to yourself this +tyrannical right over free and rational beings?" + +"Who am I?" repeated Monte Cristo. "Listen; I am the only +man in the world having the right to say to you, `Morrel, +your father's son shall not die to-day;'" and Monte Cristo, +with an expression of majesty and sublimity, advanced with +arms folded toward the young man, who, involuntarily +overcome by the commanding manner of this man, recoiled a +step. + +"Why do you mention my father?" stammered he; "why do you +mingle a recollection of him with the affairs of today?" + +"Because I am he who saved your father's life when he wished +to destroy himself, as you do to-day -- because I am the man +who sent the purse to your young sister, and the Pharaon to +old Morrel -- because I am the Edmond Dantes who nursed you, +a child, on my knees." Morrel made another step back, +staggering, breathless, crushed; then all his strength give +way, and he fell prostrate at the feet of Monte Cristo. Then +his admirable nature underwent a complete and sudden +revulsion; he arose, rushed out of the room and to the +stairs, exclaiming energetically, "Julie, Julie -- Emmanuel, +Emmanuel!" + +Monte Cristo endeavored also to leave, but Maximilian would +have died rather than relax his hold of the handle of the +door, which he closed upon the count. Julie, Emmanuel, and +some of the servants, ran up in alarm on hearing the cries +of Maximilian. Morrel seized their hands, and opening the +door exclaimed in a voice choked with sobs, "On your knees +-- on your knees -- he is our benefactor -- the saviour of +our father! He is" -- + +He would have added "Edmond Dantes," but the count seized +his arm and prevented him. Julie threw herself into the arms +of the count; Emmanuel embraced him as a guardian angel; +Morrel again fell on his knees, and struck the ground with +his forehead. Then the iron-hearted man felt his heart swell +in his breast; a flame seemed to rush from his throat to his +eyes, he bent his head and wept. For a while nothing was +heard in the room but a succession of sobs, while the +incense from their grateful hearts mounted to heaven. Julie +had scarcely recovered from her deep emotion when she rushed +out of the room, descended to the next floor, ran into the +drawing-room with childlike joy and raised the crystal globe +which covered the purse given by the unknown of the Allees +de Meillan. Meanwhile, Emmanuel in a broken voice said to +the count, "Oh, count, how could you, hearing us so often +speak of our unknown benefactor, seeing us pay such homage +of gratitude and adoration to his memory, -- how could you +continue so long without discovering yourself to us? Oh, it +was cruel to us, and -- dare I say it? -- to you also." + +"Listen, my friends," said the count -- "I may call you so +since we have really been friends for the last eleven years +-- the discovery of this secret has been occasioned by a +great event which you must never know. I wish to bury it +during my whole life in my own bosom, but your brother +Maximilian wrested it from me by a violence he repents of +now, I am sure." Then turning around, and seeing that +Morrel, still on his knees, had thrown himself into an +arm-chair, be added in a low voice, pressing Emmanuel's hand +significantly, "Watch over him." + +"Why so?" asked the young man, surprised. + +"I cannot explain myself; but watch over him." Emmanuel +looked around the room and caught sight of the pistols; his +eyes rested on the weapons, and he pointed to them. Monte +Cristo bent his head. Emmanuel went towards the pistols. +"Leave them," said Monte Cristo. Then walking towards +Morrel, he took his hand; the tumultuous agitation of the +young man was succeeded by a profound stupor. Julie +returned, holding the silken purse in her hands, while tears +of joy rolled down her cheeks, like dewdrops on the rose. + +"Here is the relic," she said; "do not think it will be less +dear to us now we are acquainted with our benefactor!" + +"My child," said Monte Cristo, coloring, "allow me to take +back that purse? Since you now know my face, I wish to be +remembered alone through the affection I hope you will grant +me. + +"Oh," said Julie, pressing the purse to her heart, "no, no, +I beseech you do not take it, for some unhappy day you will +leave us, will you not?" + +"You have guessed rightly, madame," replied Monte Cristo, +smiling; "in a week I shall have left this country, where so +many persons who merit the vengeance of heaven lived +happily, while my father perished of hunger and grief." +While announcing his departure, the count fixed his eyes on +Morrel, and remarked that the words, "I shall have left this +country," had failed to rouse him from his lethargy. He then +saw that he must make another struggle against the grief of +his friend, and taking the hands of Emmanuel and Julie, +which he pressed within his own, he said with the mild +authority of a father, "My kind friends, leave me alone with +Maximilian." Julie saw the means offered of carrying off her +precious relic, which Monte Cristo had forgotten. She drew +her husband to the door. "Let us leave them," she said. The +count was alone with Morrel, who remained motionless as a +statue. + +"Come," said Monte-Cristo, touching his shoulder with his +finger, "are you a man again, Maximilian?" + +"Yes; for I begin to suffer again." + +The count frowned, apparently in gloomy hesitation. + +"Maximilian, Maximilian," he said, "the ideas you yield to +are unworthy of a Christian." + +"Oh, do not fear, my friend," said Morrel, raising his head, +and smiling with a sweet expression on the count; "I shall +no longer attempt my life." + +"Then we are to have no more pistols -- no more despair?" + +"No; I have found a better remedy for my grief than either a +bullet or a knife." + +"Poor fellow, what is it?" + +"My grief will kill me of itself." + +"My friend," said Monte Cristo, with an expression of +melancholy equal to his own, "listen to me. One day, in a +moment of despair like yours, since it led to a similar +resolution, I also wished to kill myself; one day your +father, equally desperate, wished to kill himself too. If +any one had said to your father, at the moment he raised the +pistol to his head -- if any one had told me, when in my +prison I pushed back the food I had not tasted for three +days -- if anyone had said to either of us then, `Live -- +the day will come when you will be happy, and will bless +life!' -- no matter whose voice had spoken, we should have +heard him with the smile of doubt, or the anguish of +incredulity, -- and yet how many times has your father +blessed life while embracing you -- how often have I myself" +-- + +"Ah," exclaimed Morrel, interrupting the count, "you had +only lost your liberty, my father had only lost his fortune, +but I have lost Valentine." + +"Look at me," said Monte Cristo, with that expression which +sometimes made him so eloquent and persuasive -- "look at +me. There are no tears in my eyes, nor is there fever in my +veins, yet I see you suffer -- you, Maximilian, whom I love +as my own son. Well, does not this tell you that in grief, +as in life, there is always something to look forward to +beyond? Now, if I entreat, if I order you to live, Morrel, +it is in the conviction that one day you will thank me for +having preserved your life." + +"Oh, heavens," said the young man, "oh, heavens -- what are +you saying, count? Take care. But perhaps you have never +loved!" + +"Child!" replied the count. + +"I mean, as I love. You see, I have been a soldier ever +since I attained manhood. I reached the age of twenty-nine +without loving, for none of the feelings I before then +experienced merit the apellation of love. Well, at +twenty-nine I saw Valentine; for two years I have loved her, +for two years I have seen written in her heart, as in a +book, all the virtues of a daughter and wife. Count, to +possess Valentine would have been a happiness too infinite, +too ecstatic, too complete, too divine for this world, since +it has been denied me; but without Valentine the earth is +desolate." + +"I have told you to hope," said the count. + +"Then have a care, I repeat, for you seek to persuade me, +and if you succeed I should lose my reason, for I should +hope that I could again behold Valentine." The count smiled. +"My friend, my father," said Morrel with excitement, "have a +care, I again repeat, for the power you wield over me alarms +me. Weigh your words before you speak, for my eyes have +already become brighter, and my heart beats strongly; be +cautious, or you will make me believe in supernatural +agencies. I must obey you, though you bade me call forth the +dead or walk upon the water." + +"Hope, my friend," repeated the count. + +"Ah," said Morrel, falling from the height of excitement to +the abyss of despair -- "ah, you are playing with me, like +those good, or rather selfish mothers who soothe their +children with honeyed words, because their screams annoy +them. No, my friend, I was wrong to caution you; do not +fear, I will bury my grief so deep in my heart, I will +disguise it so, that you shall not even care to sympathize +with me. Adieu, my friend, adieu!" + +"On the contrary," said the count, "after this time you must +live with me -- you must not leave me, and in a week we +shall have left France behind us." + +"And you still bid me hope?" + +"I tell you to hope, because I have a method of curing you." + +"Count, you render me sadder than before, if it be possible. +You think the result of this blow has been to produce an +ordinary grief, and you would cure it by an ordinary remedy +-- change of scene." And Morrel dropped his head with +disdainful incredulity. "What can I say more?" asked Monte +Cristo. "I have confidence in the remedy I propose, and only +ask you to permit me to assure you of its efficacy." + +"Count, you prolong my agony." + +"Then," said the count, "your feeble spirit will not even +grant me the trial I request? Come -- do you know of what +the Count of Monte Cristo is capable? do you know that he +holds terrestrial beings under his control? nay, that he can +almost work a miracle? Well, wait for the miracle I hope to +accomplish, or" -- + +"Or?" repeated Morrel. + +"Or, take care, Morrel, lest I call you ungrateful." + +"Have pity on me, count!" + +"I feel so much pity towards you, Maximilian, that -- listen +to me attentively -- if I do not cure you in a month, to the +day, to the very hour, mark my words, Morrel, I will place +loaded pistols before you, and a cup of the deadliest +Italian poison -- a poison more sure and prompt than that +which has killed Valentine." + +"Will you promise me?" + +"Yes; for I am a man, and have suffered like yourself, and +also contemplated suicide; indeed, often since misfortune +has left me I have longed for the delights of an eternal +sleep." + +"But you are sure you will promise me this?" said Morrel, +intoxicated. "I not only promise, but swear it!" said Monte +Cristo extending his hand. + +"In a month, then, on your honor, if I am not consoled, you +will let me take my life into my own hands, and whatever may +happen you will not call me ungrateful?" + +"In a month, to the day, the very hour and the date are +sacred, Maximilian. I do not know whether you remember that +this is the 5th of September; it is ten years to-day since I +saved your father's life, who wished to die." Morrel seized +the count's hand and kissed it; the count allowed him to pay +the homage he felt due to him. "In a month you will find on +the table, at which we shall be then sitting, good pistols +and a delicious draught; but, on the other hand, you must +promise me not to attempt your life before that time." + +"Oh, I also swear it!" Monte Cristo drew the young man +towards him, and pressed him for some time to his heart. +"And now," he said, "after to-day, you will come and live +with me; you can occupy Haidee's apartment, and my daughter +will at least be replaced by my son." + +"Haidee?" said Morrel, "what has become of her?" + +"She departed last night." + +"To leave you?" + +"To wait for me. Hold yourself ready then to join me at the +Champs Elysees, and lead me out of this house without any +one seeing my departure." Maximilian hung his head, and +obeyed with childlike reverence. + + + +Chapter 106 +Dividing the Proceeds. + +The apartment on the second floor of the house in the Rue +Saint-Germain-des-Pres, where Albert de Morcerf had selected +a home for his mother, was let to a very mysterious person. +This was a man whose face the concierge himself had never +seen, for in the winter his chin was buried in one of the +large red handkerchiefs worn by gentlemen's coachmen on a +cold night, and in the summer he made a point of always +blowing his nose just as he approached the door. Contrary to +custom, this gentleman had not been watched, for as the +report ran that he was a person of high rank, and one who +would allow no impertinent interference, his incognito was +strictly respected. + +His visits were tolerably regular, though occasionally he +appeared a little before or after his time, but generally, +both in summer and winter, he took possession of his +apartment about four o'clock, though he never spent the +night there. At half-past three in the winter the fire was +lighted by the discreet servant, who had the superintendence +of the little apartment, and in the summer ices were placed +on the table at the same hour. At four o'clock, as we have +already stated, the mysterious personage arrived. Twenty +minutes afterwards a carriage stopped at the house, a lady +alighted in a black or dark blue dress, and always thickly +veiled; she passed like a shadow through the lodge, and ran +up-stairs without a sound escaping under the touch of her +light foot. No one ever asked her where she was going. Her +face, therefore, like that of the gentleman, was perfectly +unknown to the two concierges, who were perhaps unequalled +throughout the capital for discretion. We need not say she +stopped at the second floor. Then she tapped in a peculiar +manner at a door, which after being opened to admit her was +again fastened, and curiosity penetrated no farther. They +used the same precautions in leaving as in entering the +house. The lady always left first, and as soon as she had +stepped into her carriage, it drove away, sometimes towards +the right hand, sometimes to the left; then about twenty +minutes afterwards the gentleman would also leave, buried in +his cravat or concealed by his handkerchief. + +The day after Monte Cristo had called upon Danglars, the +mysterious lodger entered at ten o'clock in the morning +instead of four in the afternoon. Almost directly +afterwards, without the usual interval of time, a cab +arrived, and the veiled lady ran hastily up-stairs. The door +opened, but before it could be closed, the lady exclaimed: +"Oh, Lucien -- oh, my friend!" The concierge therefore heard +for the first time that the lodger's name was Lucien; still, +as he was the very perfection of a door-keeper, he made up +his mind not to tell his wife. "Well, what is the matter, my +dear?" asked the gentleman whose name the lady's agitation +revealed; "tell me what is the matter." + +"Oh, Lucien, can I confide in you?" + +"Of course, you know you can do so. But what can be the +matter? Your note of this morning has completely bewildered +me. This precipitation -- this unusual appointment. Come, +ease me of my anxiety, or else frighten me at once." + +"Lucien, a great event has happened!" said the lady, +glancing inquiringly at Lucien, -- "M. Danglars left last +night!" + +"Left? -- M. Danglars left? Where has he gone?" + +"I do not know." + +"What do you mean? Has he gone intending not to return?" + +"Undoubtedly; -- at ten o'clock at night his horses took him +to the barrier of Charenton; there a post-chaise was waiting +for him -- he entered it with his valet de chambre, saying +that he was going to Fontainebleau." + +"Then what did you mean" -- + +"Stay -- he left a letter for me." + +"A letter?" + +"Yes; read it." And the baroness took from her pocket a +letter which she gave to Debray. Debray paused a moment +before reading, as if trying to guess its contents, or +perhaps while making up his mind how to act, whatever it +might contain. No doubt his ideas were arranged in a few +minutes, for he began reading the letter which caused so +much uneasiness in the heart of the baroness, and which ran +as follows: -- + +"Madame and most faithful wife." + +Debray mechanically stopped and looked at the baroness, +whose face became covered with blushes. "Read," she said. + +Debray continued: -- + +"When you receive this, you will no longer have a husband. +Oh, you need not be alarmed, you will only have lost him as +you have lost your daughter; I mean that I shall be +travelling on one of the thirty or forty roads leading out +of France. I owe you some explanations for my conduct, and +as you are a woman that can perfectly understand me, I will +give them. Listen, then. I received this morning five +millions which I paid away; almost directly afterwards +another demand for the same sum was presented to me; I put +this creditor off till to-morrow and I intend leaving +to-day, to escape that to-morrow, which would be rather too +unpleasant for me to endure. You understand this, do you +not, my most precious wife? I say you understand this, +because you are as conversant with my affairs as I am; +indeed, I think you understand them better, since I am +ignorant of what has become of a considerable portion of my +fortune, once very tolerable, while I am sure, madame, that +you know perfectly well. For women have infallible +instincts; they can even explain the marvellous by an +algebraic calculation they have invented; but I, who only +understand my own figures, know nothing more than that one +day these figures deceived me. Have you admired the rapidity +of my fall? Have you been slightly dazzled at the sudden +fusion of my ingots? I confess I have seen nothing but the +fire; let us hope you have found some gold among the ashes. +With this consoling idea, I leave you, madame, and most +prudent wife, without any conscientious reproach for +abandoning you; you have friends left, and the ashes I have +already mentioned, and above all the liberty I hasten to +restore to you. And here, madame, I must add another word of +explanation. So long as I hoped you were working for the +good of our house and for the fortune of our daughter, I +philosophically closed my eyes; but as you have transformed +that house into a vast ruin I will not be the foundation of +another man's fortune. You were rich when I married you, but +little respected. Excuse me for speaking so very candidly, +but as this is intended only for ourselves, I do not see why +I should weigh my words. I have augmented our fortune, and +it has continued to increase during the last fifteen years, +till extraordinary and unexpected catastrophes have suddenly +overturned it, -- without any fault of mine, I can honestly +declare. You, madame, have only sought to increase your own, +and I am convinced that you have succeeded. I leave you, +therefore, as I took you, -- rich, but little respected. +Adieu! I also intend from this time to work on my own +account. Accept my acknowledgments for the example you have +set me, and which I intend following. + +"Your very devoted husband, + +"Baron Danglars." + +The baroness had watched Debray while he read this long and +painful letter, and saw him, notwithstanding his +self-control, change color once or twice. When he had ended +the perusal, he folded the letter and resumed his pensive +attitude. "Well?" asked Madame Danglars, with an anxiety +easy to be understood. + +"Well, madame?" unhesitatingly repeated Debray. + +"With what ideas does that letter inspire you?" + +"Oh, it is simple enough, madame; it inspires me with the +idea that M. Danglars has left suspiciously." + +"Certainly; but is this all you have to say to me?" + +"I do not understand you," said Debray with freezing +coldness. + +"He is gone! Gone, never to return!" + +"Oh, madame, do not think that!" + +"I tell you he will never return. I know his character; he +is inflexible in any resolutions formed for his own +interests. If he could have made any use of me, he would +have taken me with him; he leaves me in Paris, as our +separation will conduce to his benefit; -- therefore he has +gone, and I am free forever," added Madame Danglars, in the +same supplicating tone. Debray, instead of answering, +allowed her to remain in an attitude of nervous inquiry. +"Well?" she said at length, "do you not answer me?" + +"I have but one question to ask you, -- what do you intend +to do?" + +"I was going to ask you," replied the baroness with a +beating heart. + +"Ah, then, you wish to ask advice of me?" + +"Yes; I do wish to ask your advice," said Madame Danglars +with anxious expectation. + +"Then if you wish to take my advice," said the young man +coldly, "I would recommend you to travel." + +"To travel!" she murmured. + +"Certainly; as M. Danglars says, you are rich, and perfectly +free. In my opinion, a withdrawal from Paris is absolutely +necessary after the double catastrophe of Mademoiselle +Danglars' broken contract and M. Danglars' disappearance. +The world will think you abandoned and poor, for the wife of +a bankrupt would never be forgiven, were she to keep up an +appearance of opulence. You have only to remain in Paris for +about a fortnight, telling the world you are abandoned, and +relating the details of this desertion to your best friends, +who will soon spread the report. Then you can quit your +house, leaving your jewels and giving up your jointure, and +every one's mouth will be filled with praises of your +disinterestedness. They will know you are deserted, and +think you also poor, for I alone know your real financial +position, and am quite ready to give up my accounts as an +honest partner." The dread with which the pale and +motionless baroness listened to this, was equalled by the +calm indifference with which Debray had spoken. "Deserted?" +she repeated; "ah, yes, I am, indeed, deserted! You are +right, sir, and no one can doubt my position." These were +the only words that this proud and violently enamoured woman +could utter in response to Debray. + +"But then you are rich, -- very rich, indeed," continued +Debray, taking out some papers from his pocket-book, which +he spread upon the table. Madame Danglars did not see them; +she was engaged in stilling the beatings of her heart, and +restraining the tears which were ready to gush forth. At +length a sense of dignity prevailed, and if she did not +entirely master her agitation, she at least succeeded in +preventing the fall of a single tear. "Madame," said Debray, +"it is nearly six months since we have been associated. You +furnished a principal of 100,000 francs. Our partnership +began in the month of April. In May we commenced operations, +and in the course of the month gained 450,000 francs. In +June the profit amounted to 900,000. In July we added +1,700,000 francs, -- it was, you know, the month of the +Spanish bonds. In August we lost 300,000 francs at the +beginning of the month, but on the 13th we made up for it, +and we now find that our accounts, reckoning from the first +day of partnership up to yesterday, when I closed them, +showed a capital of 2,400,000 francs, that is, 1,200,000 for +each of us. Now, madame," said Debray, delivering up his +accounts in the methodical manner of a stockbroker, "there +are still 80,000 francs, the interest of this money, in my +hands." + +"But," said the baroness, "I thought you never put the money +out to interest." + +"Excuse me, madame," said Debray coldly, "I had your +permission to do so, and I have made use of it. There are, +then, 40,000 francs for your share, besides the 100,000 you +furnished me to begin with, making in all 1,340,000 francs +for your portion. Now, madame, I took the precaution of +drawing out your money the day before yesterday; it is not +long ago, you see, and I was in continual expectation of +being called on to deliver up my accounts. There is your +money, -- half in bank-notes, the other half in checks +payable to bearer. I say there, for as I did not consider my +house safe enough, or lawyers sufficiently discreet, and as +landed property carries evidence with it, and moreover since +you have no right to possess anything independent of your +husband, I have kept this sum, now your whole fortune, in a +chest concealed under that closet, and for greater security +I myself concealed it there. + +"Now, madame," continued Debray, first opening the closet, +then the chest; -- "now, madame, here are 800 notes of 1,000 +francs each, resembling, as you see, a large book bound in +iron; to this I add a certificate in the funds of 25,000 +francs; then, for the odd cash, making I think about 110,000 +francs, here is a check upon my banker, who, not being M. +Danglars, will pay you the amount, you may rest assured." +Madame Danglars mechanically took the check, the bond, and +the heap of bank-notes. This enormous fortune made no great +appearance on the table. Madame Danglars, with tearless +eyes, but with her breast heaving with concealed emotion, +placed the bank-notes in her bag, put the certificate and +check into her pocket-book, and then, standing pale and +mute, awaited one kind word of consolation. But she waited +in vain. + +"Now, madame," said Debray, "you have a splendid fortune, an +income of about 60,000 livres a year, which is enormous for +a woman who cannot keep an establishment here for a year, at +least. You will be able to indulge all your fancies; +besides, should you find your income insufficient, you can, +for the sake of the past, madame, make use of mine; and I am +ready to offer you all I possess, on loan." + +"Thank you, sir -- thank you," replied the baroness; "you +forget that what you have just paid me is much more than a +poor woman requires, who intends for some time, at least, to +retire from the world." + +Debray was, for a moment, surprised, but immediately +recovering himself, he bowed with an air which seemed to +say, "As you please, madame." + +Madame Danglars had until then, perhaps, hoped for +something; but when she saw the careless bow of Debray, and +the glance by which it was accompanied, together with his +significant silence, she raised her head, and without +passion or violence or even hesitation, ran down-stairs, +disdaining to address a last farewell to one who could thus +part from her. "Bah," said Debray, when she had left, "these +are fine projects! She will remain at home, read novels, and +speculate at cards, since she can no longer do so on the +Bourse." Then taking up his account book, he cancelled with +the greatest care all the entries of the amounts he had just +paid away. "I have 1,060,000 francs remaining," he said. +"What a pity Mademoiselle de Villefort is dead! She suited +me in every respect, and I would have married her." And he +calmly waited until the twenty minutes had elapsed after +Madame Danglars' departure before he left the house. During +this time he occupied himself in making figures, with his +watch by his side. + +Asmodeus -- that diabolical personage, who would have been +created by every fertile imagination if Le Sage had not +acquired the priority in his great masterpiece -- would have +enjoyed a singular spectacle, if he had lifted up the roof +of the little house in the Rue Saint-Germain-des-Pres, while +Debray was casting up his figures. Above the room in which +Debray had been dividing two millions and a half with Madame +Danglars was another, inhabited by persons who have played +too prominent a part in the incidents we have related for +their appearance not to create some interest. Mercedes and +Albert were in that room. Mercedes was much changed within +the last few days; not that even in her days of fortune she +had ever dressed with the magnificent display which makes us +no longer able to recognize a woman when she appears in a +plain and simple attire; nor indeed, had she fallen into +that state of depression where it is impossible to conceal +the garb of misery; no, the change in Mercedes was that her +eye no longer sparkled, her lips no longer smiled, and there +was now a hesitation in uttering the words which formerly +sprang so fluently from her ready wit. + +It was not poverty which had broken her spirit; it was not a +want of courage which rendered her poverty burdensome. +Mercedes, although deposed from the exalted position she had +occupied, lost in the sphere she had now chosen, like a +person passing from a room splendidly lighted into utter +darkness, appeared like a queen, fallen from her palace to a +hovel, and who, reduced to strict necessity, could neither +become reconciled to the earthen vessels she was herself +forced to place upon the table, nor to the humble pallet +which had become her bed. The beautiful Catalane and noble +countess had lost both her proud glance and charming smile, +because she saw nothing but misery around her; the walls +were hung with one of the gray papers which economical +landlords choose as not likely to show the dirt; the floor +was uncarpeted; the furniture attracted the attention to the +poor attempt at luxury; indeed, everything offended eyes +accustomed to refinement and elegance. + +Madame de Morcerf had lived there since leaving her house; +the continual silence of the spot oppressed her; still, +seeing that Albert continually watched her countenance to +judge the state of her feelings, she constrained herself to +assume a monotonous smile of the lips alone, which, +contrasted with the sweet and beaming expression that +usually shone from her eyes, seemed like "moonlight on a +statue," -- yielding light without warmth. Albert, too, was +ill at ease; the remains of luxury prevented him from +sinking into his actual position. If he wished to go out +without gloves, his hands appeared too white; if he wished +to walk through the town, his boots seemed too highly +polished. Yet these two noble and intelligent creatures, +united by the indissoluble ties of maternal and filial love, +had succeeded in tacitly understanding one another, and +economizing their stores, and Albert had been able to tell +his mother without extorting a change of countenance, -- +"Mother, we have no more money." + +Mercedes had never known misery; she had often, in her +youth, spoken of poverty, but between want and necessity, +those synonymous words, there is a wide difference. Amongst +the Catalans, Mercedes wished for a thousand things, but +still she never really wanted any. So long as the nets were +good, they caught fish; and so long as they sold their fish, +they were able to buy twine for new nets. And then, shut out +from friendship, having but one affection, which could not +be mixed up with her ordinary pursuits, she thought of +herself -- of no one but herself. Upon the little she earned +she lived as well as she could; now there were two to be +supported, and nothing to live upon. + +Winter approached. Mercedes had no fire in that cold and +naked room -- she, who was accustomed to stoves which heated +the house from the hall to the boudoir; she had not even one +little flower -- she whose apartment had been a conservatory +of costly exotics. But she had her son. Hitherto the +excitement of fulfilling a duty had sustained them. +Excitement, like enthusiasm, sometimes renders us +unconscious to the things of earth. But the excitement had +calmed down, and they felt themselves obliged to descend +from dreams to reality; after having exhausted the ideal, +they found they must talk of the actual. + +"Mother," exclaimed Albert, just as Madame Danglars was +descending the stairs, "let us reckon our riches, if you +please; I want capital to build my plans upon." + +"Capital -- nothing!" replied Mercedes with a mournful +smile. + +"No, mother, -- capital 3,000 francs. And I have an idea of +our leading a delightful life upon this 3,000 francs." + +"Child!" sighed Mercedes. + +"Alas, dear mother," said the young man, "I have unhappily +spent too much of your money not to know the value of it. +These 3,000 francs are enormous, and I intend building upon +this foundation a miraculous certainty for the future." + +"You say this, my dear boy; but do you think we ought to +accept these 3,000 francs?" said Mercedes, coloring. + +"I think so," answered Albert in a firm tone. "We will +accept them the more readily, since we have them not here; +you know they are buried in the garden of the little house +in the Allees de Meillan, at Marseilles. With 200 francs we +can reach Marseilles." + +"With 200 francs? -- are you sure, Albert?" + +"Oh, as for that, I have made inquiries respecting the +diligences and steamboats, and my calculations are made. You +will take your place in the coupe to Chalons. You see, +mother, I treat you handsomely for thirty-five francs." +Albert then took a pen, and wrote: -- + + Frs. +Coupe, thirty-five francs ............................ 35 +From Chalons to Lyons you will go on by the steamboat +-- six francs ......................................... 6 +From Lyons to Avignon (still by steamboat), +sixteen francs ....................................... 16 +From Avignon to Marseilles, seven franc................ 7 +Expenses on the road, about fifty francs ............. 50 +Total................................................ 114 frs. + +"Let us put down 120," added Albert, smiling. "You see I am +generous, am I not, mother?" + +"But you, my poor child?" + +"I? do you not see that I reserve eighty francs for myself? +A young man does not require luxuries; besides, I know what +travelling is." + +"With a post-chaise and valet de chambre?" + +"Any way, mother." + +"Well, be it so. But these 200 francs?" + +"Here they are, and 200 more besides. See, I have sold my +watch for 100 francs, and the guard and seals for 300. How +fortunate that the ornaments were worth more than the watch. +Still the same story of superfluities! Now I think we are +rich, since instead of the 114 francs we require for the +journey we find ourselves in possession of 250." + +"But we owe something in this house?" + +"Thirty francs; but I pay that out of my 150 francs, -- that +is understood, -- and as I require only eighty francs for my +journey, you see I am overwhelmed with luxury. But that is +not all. What do you say to this, mother?" + +And Albert took out of a little pocket-book with golden +clasps, a remnant of his old fancies, or perhaps a tender +souvenir from one of the mysterious and veiled ladies who +used to knock at his little door, -- Albert took out of this +pocket-book a note of 1,000 francs. + +"What is this?" asked Mercedes. + +"A thousand francs." + +"But whence have you obtained them?" + +"Listen to me, mother, and do not yield too much to +agitation." And Albert, rising, kissed his mother on both +cheeks, then stood looking at her. "You cannot imagine, +mother, how beautiful I think you!" said the young man, +impressed with a profound feeling of filial love. "You are, +indeed, the most beautiful and most noble woman I ever saw!" + +"Dear child!" said Mercedes, endeavoring in vain to restrain +a tear which glistened in the corner of her eye. "Indeed, +you only wanted misfortune to change my love for you to +admiration. I am not unhappy while I possess my son!" + +"Ah, just so," said Albert; "here begins the trial. Do you +know the decision we have come to, mother?" + +"Have we come to any?" + +"Yes; it is decided that you are to live at Marseilles, and +that I am to leave for Africa, where I will earn for myself +the right to use the name I now bear, instead of the one I +have thrown aside." Mercedes sighed. "Well, mother, I +yesterday engaged myself as substitute in the Spahis,"* +added the young man, lowering his eyes with a certain +feeling of shame, for even he was unconscious of the +sublimity of his self-abasement. "I thought my body was my +own, and that I might sell it. I yesterday took the place of +another. I sold myself for more than I thought I was worth," +he added, attempting to smile; "I fetched 2,000 francs." + +* The Spahis are French cavalry reserved for service in +Africa. + +"Then these 1,000 francs" -- said Mercedes, shuddering -- + +"Are the half of the sum, mother; the other will be paid in +a year." + +Mercedes raised her eyes to heaven with an expression it +would be impossible to describe, and tears, which had +hitherto been restrained, now yielded to her emotion, and +ran down her cheeks. + +"The price of his blood!" she murmured. + +"Yes, if I am killed," said Albert, laughing. "But I assure +you, mother, I have a strong intention of defending my +person, and I never felt half so strong an inclination to +live as I do now." + +"Merciful heavens!" + +"Besides, mother, why should you make up your mind that I am +to be killed? Has Lamoriciere, that Ney of the South, been +killed? Has Changarnier been killed? Has Bedeau been killed? +Has Morrel, whom we know, been killed? Think of your joy, +mother, when you see me return with an embroidered uniform! +I declare, I expect to look magnificent in it, and chose +that regiment only from vanity." Mercedes sighed while +endeavoring to smile; the devoted mother felt that she ought +not to allow the whole weight of the sacrifice to fall upon +her son. "Well, now you understand, mother!" continued +Albert; "here are more than 4,000 francs settled on you; +upon these you can live at least two years." + +"Do you think so?" said Mercedes. These words were uttered +in so mournful a tone that their real meaning did not escape +Albert; he felt his heart beat, and taking his mother's hand +within his own he said, tenderly, -- + +"Yes, you will live!" + +"I shall live! -- then you will not leave me, Albert?" + +"Mother, I must go," said Albert in a firm, calm voice; "you +love me too well to wish me to remain useless and idle with +you; besides, I have signed." + +"You will obey your own wish and the will of heaven!" + +"Not my own wish, mother, but reason -- necessity. Are we +not two despairing creatures? What is life to you? -- +Nothing. What is life to me? -- Very little without you, +mother; for believe me, but for you I should have ceased to +live on the day I doubted my father and renounced his name. +Well, I will live, if you promise me still to hope; and if +you grant me the care of your future prospects, you will +redouble my strength. Then I will go to the governor of +Algeria; he has a royal heart, and is essentially a soldier; +I will tell him my gloomy story. I will beg him to turn his +eyes now and then towards me, and if he keep his word and +interest himself for me, in six months I shall be an +officer, or dead. If I am an officer, your fortune is +certain, for I shall have money enough for both, and, +moreover, a name we shall both be proud of, since it will be +our own. If I am killed -- well then mother, you can also +die, and there will be an end of our misfortunes." + +"It is well," replied Mercedes, with her eloquent glance; +"you are right, my love; let us prove to those who are +watching our actions that we are worthy of compassion." + +"But let us not yield to gloomy apprehensions," said the +young man; "I assure you we are, or rather we shall be, very +happy. You are a woman at once full of spirit and +resignation; I have become simple in my tastes, and am +without passion, I hope. Once in service, I shall be rich -- +once in M. Dantes' house, you will be at rest. Let us +strive, I beseech you, -- let us strive to be cheerful." + +"Yes, let us strive, for you ought to live, and to be happy, +Albert." + +"And so our division is made, mother," said the young man, +affecting ease of mind. "We can now part; come, I shall +engage your passage." + +"And you, my dear boy?" + +"I shall stay here for a few days longer; we must accustom +ourselves to parting. I want recommendations and some +information relative to Africa. I will join you again at +Marseilles." + +"Well, be it so -- let us part," said Mercedes, folding +around her shoulders the only shawl she had taken away, and +which accidentally happened to be a valuable black cashmere. +Albert gathered up his papers hastily, rang the bell to pay +the thirty francs he owed to the landlord, and offering his +arm to his mother, they descended the stairs. Some one was +walking down before them, and this person, hearing the +rustling of a silk dress, turned around. "Debray!" muttered +Albert. + +"You, Morcerf?" replied the secretary, resting on the +stairs. Curiosity had vanquished the desire of preserving +his incognito, and he was recognized. It was, indeed, +strange in this unknown spot to find the young man whose +misfortunes had made so much noise in Paris. + +"Morcerf!" repeated Debray. Then noticing in the dim light +the still youthful and veiled figure of Madame de Morcerf: +-- "Pardon me," he added with a smile, "I leave you, +Albert." Albert understood his thoughts. "Mother," he said, +turning towards Mercedes, "this is M. Debray, secretary of +the minister for the interior, once a friend of mine." + +"How once?" stammered Debray; "what do you mean?" + +"I say so, M. Debray, because I have no friends now, and I +ought not to have any. I thank you for having recognized me, +sir." Debray stepped forward, and cordially pressed the hand +of his interlocutor. "Believe me, dear Albert," he said, +with all the emotion he was capable of feeling, -- "believe +me, I feel deeply for your misfortunes, and if in any way I +can serve you, I am yours." + +"Thank you, sir," said Albert, smiling. "In the midst of our +misfortunes, we are still rich enough not to require +assistance from any one. We are leaving Paris, and when our +journey is paid, we shall have 5,000 francs left." The blood +mounted to the temples of Debray, who held a million in his +pocket-book, and unimaginative as he was he could not help +reflecting that the same house had contained two women, one +of whom, justly dishonored, had left it poor with 1,500,000 +francs under her cloak, while the other, unjustly stricken, +but sublime in her misfortune, was yet rich with a few +deniers. This parallel disturbed his usual politeness, the +philosophy he witnessed appalled him, he muttered a few +words of general civility and ran down-stairs. + +That day the minister's clerks and the subordinates had a +great deal to put up with from his ill-humor. But that same +night, he found himself the possessor of a fine house, +situated on the Boulevard de la Madeleine, and an income of +50,000 livres. The next day, just as Debray was signing the +deed, that is about five o'clock in the afternoon, Madame de +Morcerf, after having affectionately embraced her son, +entered the coupe of the diligence, which closed upon her. A +man was hidden in Lafitte's banking-house, behind one of the +little arched windows which are placed above each desk; he +saw Mercedes enter the diligence, and he also saw Albert +withdraw. Then he passed his hand across his forehead, which +was clouded with doubt. "Alas," he exclaimed, "how can I +restore the happiness I have taken away from these poor +innocent creatures? God help me!" + + + +Chapter 107 +The Lions' Den. + +One division of La Force, in which the most dangerous and +desperate prisoners are confined, is called the court of +Saint-Bernard. The prisoners, in their expressive language, +have named it the "Lions' Den," probably because the +captives possess teeth which frequently gnaw the bars, and +sometimes the keepers also. It is a prison within a prison; +the walls are double the thickness of the rest. The gratings +are every day carefully examined by jailers, whose herculean +proportions and cold pitiless expression prove them to have +been chosen to reign over their subjects for their superior +activity and intelligence. The court-yard of this quarter is +enclosed by enormous walls, over which the sun glances +obliquely, when it deigns to penetrate into this gulf of +moral and physical deformity. On this paved yard are to be +seen, -- pacing to and fro from morning till night, pale, +careworn, and haggard, like so many shadows, -- the men whom +justice holds beneath the steel she is sharpening. There, +crouched against the side of the wall which attracts and +retains the most heat, they may be seen sometimes talking to +one another, but more frequently alone, watching the door, +which sometimes opens to call forth one from the gloomy +assemblage, or to throw in another outcast from society. + +The court of Saint-Bernard has its own particular apartment +for the reception of guests; it is a long rectangle, divided +by two upright gratings placed at a distance of three feet +from one another to prevent a visitor from shaking hands +with or passing anything to the prisoners. It is a wretched, +damp, nay, even horrible spot, more especially when we +consider the agonizing conferences which have taken place +between those iron bars. And yet, frightful though this spot +may be, it is looked upon as a kind of paradise by the men +whose days are numbered; it is so rare for them to leave the +Lions' Den for any other place than the barrier +Saint-Jacques or the galleys! + +In the court which we have attempted to describe, and from +which a damp vapor was rising, a young man with his hands in +his pockets, who had excited much curiosity among the +inhabitants of the "Den," might be seen walking. The cut of +his clothes would have made him pass for an elegant man, if +those clothes had not been torn to shreds; still they did +not show signs of wear, and the fine cloth, beneath the +careful hands of the prisoner, soon recovered its gloss in +the parts which were still perfect, for the wearer tried his +best to make it assume the appearance of a new coat. He +bestowed the same attention upon the cambric front of a +shirt, which had considerably changed in color since his +entrance into the prison, and he polished his varnished +boots with the corner of a handkerchief embroidered with +initials surmounted by a coronet. Some of the inmates of the +"Lions' Den" were watching the operations of the prisoner's +toilet with considerable interest. "See, the prince is +pluming himself," said one of the thieves. "He's a fine +looking fellow," said another; "if he had only a comb and +hair-grease, he'd take the shine off the gentlemen in white +kids." + +"His coat looks almost new, and his boots shine like a +nigger's face. It's pleasant to have such well-dressed +comrades; but didn't those gendarmes behave shameful? -- +must 'a been jealous, to tear such clothes!" + +"He looks like a big-bug," said another; "dresses in fine +style. And, then, to be here so young! Oh, what larks!" +Meanwhile the object of this hideous admiration approached +the wicket, against which one of the keepers was leaning. +"Come, sir," he said, "lend me twenty francs; you will soon +be paid; you run no risks with me. Remember, I have +relations who possess more millions than you have deniers. +Come, I beseech you, lend me twenty francs, so that I may +buy a dressing-gown; it is intolerable always to be in a +coat and boots! And what a coat, sir, for a prince of the +Cavalcanti!" The keeper turned his back, and shrugged his +shoulders; he did not even laugh at what would have caused +any one else to do so; he had heard so many utter the same +things, -- indeed, he heard nothing else. + +"Come," said Andrea, "you are a man void of compassion; I'll +have you turned out." This made the keeper turn around, and +he burst into a loud laugh. The prisoners then approached +and formed a circle. "I tell you that with that wretched +sum," continued Andrea, "I could obtain a coat, and a room +in which to receive the illustrious visitor I am daily +expecting." + +"Of course -- of course," said the prisoners; -- "any one +can see he's a gentleman!" + +"Well, then, lend him the twenty francs," said the keeper, +leaning on the other shoulder; "surely you will not refuse a +comrade!" + +"I am no comrade of these people," said the young man, +proudly, "you have no right to insult me thus." + +The thieves looked at one another with low murmurs, and a +storm gathered over the head of the aristocratic prisoner, +raised less by his own words than by the manner of the +keeper. The latter, sure of quelling the tempest when the +waves became too violent, allowed them to rise to a certain +pitch that he might be revenged on the importunate Andrea, +and besides it would afford him some recreation during the +long day. The thieves had already approached Andrea, some +screaming, "La savate -- La savate!"* a cruel operation, +which consists in cuffing a comrade who may have fallen into +disgrace, not with an old shoe, but with an iron-heeled one. +Others proposed the "anguille," another kind of recreation, +in which a handkerchief is filled with sand, pebbles, and +two-sous pieces, when they have them, which the wretches +beat like a flail over the head and shoulders of the unhappy +sufferer. "Let us horsewhip the fine gentleman!" said +others. + +* Savate: an old shoe. + +But Andrea, turning towards them, winked his eyes, rolled +his tongue around his cheeks, and smacked his lips in a +manner equivalent to a hundred words among the bandits when +forced to be silent. It was a Masonic sign Caderousse had +taught him. He was immediately recognized as one of them; +the handkerchief was thrown down, and the iron-heeled shoe +replaced on the foot of the wretch to whom it belonged. Some +voices were heard to say that the gentleman was right; that +he intended to be civil, in his way, and that they would set +the example of liberty of conscience, -- and the mob +retired. The keeper was so stupefied at this scene that he +took Andrea by the hands and began examining his person, +attributing the sudden submission of the inmates of the +Lions' Den to something more substantial than mere +fascination. Andrea made no resistance, although he +protested against it. Suddenly a voice was heard at the +wicket. "Benedetto!" exclaimed an inspector. The keeper +relaxed his hold. "I am called," said Andrea. "To the +visitors' room!" said the same voice. + +"You see some one pays me a visit. Ah, my dear sir, you will +see whether a Cavalcanti is to be treated like a common +person!" And Andrea, gliding through the court like a black +shadow, rushed out through the wicket, leaving his comrades, +and even the keeper, lost in wonder. Certainly a call to the +visitors' room had scarcely astonished Andrea less than +themselves, for the wily youth, instead of making use of his +privilege of waiting to be claimed on his entry into La +Force, had maintained a rigid silence. "Everything," he +said, "proves me to be under the protection of some powerful +person, -- this sudden fortune, the facility with which I +have overcome all obstacles, an unexpected family and an +illustrious name awarded to me, gold showered down upon me, +and the most splendid alliances about to be entered into. An +unhappy lapse of fortune and the absence of my protector +have cast me down, certainly, but not forever. The hand +which has retreated for a while will be again stretched +forth to save me at the very moment when I shall think +myself sinking into the abyss. Why should I risk an +imprudent step? It might alienate my protector. He has two +means of extricating me from this dilemma, -- the one by a +mysterious escape, managed through bribery; the other by +buying off my judges with gold. I will say and do nothing +until I am convinced that he has quite abandoned me, and +then" -- + +Andrea had formed a plan which was tolerably clever. The +unfortunate youth was intrepid in the attack, and rude in +the defence. He had borne with the public prison, and with +privations of all sorts; still, by degrees nature, or rather +custom, had prevailed, and he suffered from being naked, +dirty, and hungry. It was at this moment of discomfort that +the inspector's voice called him to the visiting-room. +Andrea felt his heart leap with joy. It was too soon for a +visit from the examining magistrate, and too late for one +from the director of the prison, or the doctor; it must, +then, be the visitor he hoped for. Behind the grating of the +room into which Andrea had been led, he saw, while his eyes +dilated with surprise, the dark and intelligent face of M. +Bertuccio, who was also gazing with sad astonishment upon +the iron bars, the bolted doors, and the shadow which moved +behind the other grating. + +"Ah," said Andrea, deeply affected. + +"Good morning, Benedetto," said Bertuccio, with his deep, +hollow voice. + +"You -- you?" said the young man, looking fearfully around +him. + +"Do you not recognize me, unhappy child?" + +"Silence, -- be silent!" said Andrea, who knew the delicate +sense of hearing possessed by the walls; "for heaven's sake, +do not speak so loud!" + +"You wish to speak with me alone, do you not?" said +Bertuccio. + +"Oh, yes." + +"That is well." And Bertuccio, feeling in his pocket, signed +to a keeper whom he saw through the window of the wicket. + +"Read?" he said. + +"What is that?" asked Andrea. + +"An order to conduct you to a room, and to leave you there +to talk to me." + +"Oh," cried Andrea, leaping with joy. Then he mentally +added, -- "Still my unknown protector! I am not forgotten. +They wish for secrecy, since we are to converse in a private +room. I understand, Bertuccio has been sent by my +protector." + +The keeper spoke for a moment with an official, then opened +the iron gates and conducted Andrea to a room on the first +floor. The room was whitewashed, as is the custom in +prisons, but it looked quite brilliant to a prisoner, though +a stove, a bed, a chair, and a table formed the whole of its +sumptuous furniture. Bertuccio sat down upon the chair, +Andrea threw himself upon the bed; the keeper retired. + +"Now," said the steward, "what have you to tell me?" + +"And you?" said Andrea. + +"You speak first." + +"Oh, no. You must have much to tell me, since you have come +to seek me." + +"Well, be it so. You have continued your course of villany; +you have robbed -- you have assassinated." + +"Well, I should say! If you had me taken to a private room +only to tell me this, you might have saved yourself the +trouble. I know all these things. But there are some with +which, on the contrary, I am not acquainted. Let us talk of +those, if you please. Who sent you?" + +"Come, come, you are going on quickly, M. Benedetto!" + +"Yes, and to the point. Let us dispense with useless words. +Who sends you?" + +"No one." + +"How did you know I was in prison?" + +"I recognized you, some time since, as the insolent dandy +who so gracefully mounted his horse in the Champs Elysees." + +"Oh, the Champs Elysees? Ah, yes; we burn, as they say at +the game of pincette. The Champs Elysees? Come, let us talk +a little about my father." + +"Who, then, am I?" + +"You, sir? -- you are my adopted father. But it was not you, +I presume, who placed at my disposal 100,000 francs, which I +spent in four or five months; it was not you who +manufactured an Italian gentleman for my father; it was not +you who introduced me into the world, and had me invited to +a certain dinner at Auteuil, which I fancy I am eating at +this moment, in company with the most distinguished people +in Paris -- amongst the rest with a certain procureur, whose +acquaintance I did very wrong not to cultivate, for he would +have been very useful to me just now; -- it was not you, in +fact, who bailed me for one or two millions, when the fatal +discovery of my little secret took place. Come, speak, my +worthy Corsican, speak!" + +"What do you wish me to say?" + +"I will help you. You were speaking of the Champs Elysees +just now, worthy foster-father." + +"Well?" + +"Well, in the Champs Elysees there resides a very rich +gentleman." + +"At whose house you robbed and murdered, did you not?" + +"I believe I did." + +"The Count of Monte Cristo?" + +"'Tis you who have named him, as M. Racine says. Well, am I +to rush into his arms, and strain him to my heart, crying, +`My father, my father!' like Monsieur Pixerecourt."* + +"Do not let us jest," gravely replied Bertuccio, "and dare +not to utter that name again as you have pronounced it." + +* Guilbert de Pixerecourt, French dramatist (1775-1844). + +"Bah," said Andrea, a little overcome, by the solemnity of +Bertuccio's manner, "why not?" + +"Because the person who bears it is too highly favored by +heaven to be the father of such a wretch as you." + +"Oh, these are fine words." + +"And there will be fine doings, if you do not take care." + +"Menaces -- I do not fear them. I will say" -- + +"Do you think you are engaged with a pygmy like yourself?" +said Bertuccio, in so calm a tone, and with so steadfast a +look, that Andrea was moved to the very soul. "Do you think +you have to do with galley-slaves, or novices in the world? +Benedetto, you are fallen into terrible hands; they are +ready to open for you -- make use of them. Do not play with +the thunderbolt they have laid aside for a moment, but which +they can take up again instantly, if you attempt to +intercept their movements." + +"My father -- I will know who my father is," said the +obstinate youth; "I will perish if I must, but I will know +it. What does scandal signify to me? What possessions, what +reputation, what `pull,' as Beauchamp says, -- have I? You +great people always lose something by scandal, +notwithstanding your millions. Come, who is my father?" + +"I came to tell you." + +"Ah," cried Benedetto, his eyes sparkling with joy. Just +then the door opened, and the jailer, addressing himself to +Bertuccio, said, -- "Excuse me, sir, but the examining +magistrate is waiting for the prisoner." + +"And so closes our interview," said Andrea to the worthy +steward; "I wish the troublesome fellow were at the devil!" + +"I will return to-morrow," said Bertuccio. + +"Good! Gendarmes, I am at your service. Ah, sir, do leave a +few crowns for me at the gate that I may have some things I +am in need of!" + +"It shall be done," replied Bertuccio. Andrea extended his +hand; Bertuccio kept his own in his pocket, and merely +jingled a few pieces of money. "That's what I mean," said +Andrea, endeavoring to smile, quite overcome by the strange +tranquillity of Bertuccio. "Can I be deceived?" he murmured, +as he stepped into the oblong and grated vehicle which they +call "the salad basket." "Never mind, we shall see! +To-morrow, then!" he added, turning towards Bertuccio. + +"To-morrow!" replied the steward. + + + +Chapter 108 +The Judge. + +We remember that the Abbe Busoni remained alone with +Noirtier in the chamber of death, and that the old man and +the priest were the sole guardians of the young girl's body. +Perhaps it was the Christian exhortations of the abbe, +perhaps his kind charity, perhaps his persuasive words, +which had restored the courage of Noirtier, for ever since +he had conversed with the priest his violent despair had +yielded to a calm resignation which surprised all who knew +his excessive affection for Valentine. M. de Villefort had +not seen his father since the morning of the death. The +whole establishment had been changed; another valet was +engaged for himself, a new servant for Noirtier, two women +had entered Madame de Villefort's service, -- in fact, +everywhere, to the concierge and coachmen, new faces were +presented to the different masters of the house, thus +widening the division which had always existed between the +members of the same family. + +The assizes, also, were about to begin, and Villefort, shut +up in his room, exerted himself with feverish anxiety in +drawing up the case against the murderer of Caderousse. This +affair, like all those in which the Count of Monte Cristo +had interfered, caused a great sensation in Paris. The +proofs were certainly not convincing, since they rested upon +a few words written by an escaped galley-slave on his +death-bed, and who might have been actuated by hatred or +revenge in accusing his companion. But the mind of the +procureur was made up; he felt assured that Benedetto was +guilty, and he hoped by his skill in conducting this +aggravated case to flatter his self-love, which was about +the only vulnerable point left in his frozen heart. + +The case was therefore prepared owing to the incessant labor +of Villefort, who wished it to be the first on the list in +the coming assizes. He had been obliged to seclude himself +more than ever, to evade the enormous number of applications +presented to him for the purpose of obtaining tickets of +admission to the court on the day of trial. And then so +short a time had elapsed since the death of poor Valentine, +and the gloom which overshadowed the house was so recent, +that no one wondered to see the father so absorbed in his +professional duties, which were the only means he had of +dissipating his grief. + +Once only had Villefort seen his father; it was the day +after that upon which Bertuccio had paid his second visit to +Benedetto, when the latter was to learn his father's name. +The magistrate, harassed and fatigued, had descended to the +garden of his house, and in a gloomy mood, similar to that +in which Tarquin lopped off the tallest poppies, he began +knocking off with his cane the long and dying branches of +the rose-trees, which, placed along the avenue, seemed like +the spectres of the brilliant flowers which had bloomed in +the past season. More than once he had reached that part of +the garden where the famous boarded gate stood overlooking +the deserted enclosure, always returning by the same path, +to begin his walk again, at the same pace and with the same +gesture, when he accidentally turned his eyes towards the +house, whence he heard the noisy play of his son, who had +returned from school to spend the Sunday and Monday with his +mother. While doing so, he observed M. Noirtier at one of +the open windows, where the old man had been placed that he +might enjoy the last rays of the sun which yet yielded some +heat, and was now shining upon the dying flowers and red +leaves of the creeper which twined around the balcony. + +The eye of the old man was riveted upon a spot which +Villefort could scarcely distinguish. His glance was so full +of hate, of ferocity, and savage impatience, that Villefort +turned out of the path he had been pursuing, to see upon +what person this dark look was directed. Then he saw beneath +a thick clump of linden-trees, which were nearly divested of +foliage, Madame de Villefort sitting with a book in her +hand, the perusal of which she frequently interrupted to +smile upon her son, or to throw back his elastic ball, which +he obstinately threw from the drawing-room into the garden. +Villefort became pale; he understood the old man's meaning. +Noirtier continued to look at the same object, but suddenly +his glance was transferred from the wife to the husband, and +Villefort himself had to submit to the searching +investigation of eyes, which, while changing their direction +and even their language, had lost none of their menacing +expression. Madame de Villefort, unconscious of the passions +that exhausted their fire over her head, at that moment held +her son's ball, and was making signs to him to reclaim it +with a kiss. Edward begged for a long while, the maternal +kiss probably not offering sufficient recompense for the +trouble he must take to obtain it; however at length he +decided, leaped out of the window into a cluster of +heliotropes and daisies, and ran to his mother, his forehead +streaming with perspiration. Madame de Villefort wiped his +forehead, pressed her lips upon it, and sent him back with +the ball in one hand and some bonbons in the other. + +Villefort, drawn by an irresistible attraction, like that of +the bird to the serpent, walked towards the house. As he +approached it, Noirtier's gaze followed him, and his eyes +appeared of such a fiery brightness that Villefort felt them +pierce to the depths of his heart. In that earnest look +might be read a deep reproach, as well as a terrible menace. +Then Noirtier raised his eyes to heaven, as though to remind +his son of a forgotten oath. "It is well, sir," replied +Villefort from below, -- "it is well; have patience but one +day longer; what I have said I will do." Noirtier seemed to +be calmed by these words, and turned his eyes with +indifference to the other side. Villefort violently +unbuttoned his great-coat, which seemed to strangle him, and +passing his livid hand across his forehead, entered his +study. + +The night was cold and still; the family had all retired to +rest but Villefort, who alone remained up, and worked till +five o'clock in the morning, reviewing the last +interrogatories made the night before by the examining +magistrates, compiling the depositions of the witnesses, and +putting the finishing stroke to the deed of accusation, +which was one of the most energetic and best conceived of +any he had yet delivered. + +The next day, Monday, was the first sitting of the assizes. +The morning dawned dull and gloomy, and Villefort saw the +dim gray light shine upon the lines he had traced in red +ink. The magistrate had slept for a short time while the +lamp sent forth its final struggles; its flickerings awoke +him, and he found his fingers as damp and purple as though +they had been dipped in blood. He opened the window; a +bright yellow streak crossed the sky, and seemed to divide +in half the poplars, which stood out in black relief on the +horizon. In the clover-fields beyond the chestnut-trees, a +lark was mounting up to heaven, while pouring out her clear +morning song. The damps of the dew bathed the head of +Villefort, and refreshed his memory. "To-day," he said with +an effort, -- "to-day the man who holds the blade of justice +must strike wherever there is guilt." Involuntarily his eyes +wandered towards the window of Noirtier's room, where he had +seen him the preceding night. The curtain was drawn, and yet +the image of his father was so vivid to his mind that he +addressed the closed window as though it had been open, and +as if through the opening he had beheld the menacing old +man. "Yes," he murmured, -- "yes, be satisfied." + +His head dropped upon his chest, and in this position he +paced his study; then he threw himself, dressed as he was, +upon a sofa, less to sleep than to rest his limbs, cramped +with cold and study. By degrees every one awoke. Villefort, +from his study, heard the successive noises which accompany +the life of a house, -- the opening and shutting of doors, +the ringing of Madame de Villefort's bell, to summon the +waiting-maid, mingled with the first shouts of the child, +who rose full of the enjoyment of his age. Villefort also +rang; his new valet brought him the papers, and with them a +cup of chocolate. + +"What are you bringing me?" said he. + +"A cup of chocolate." + +"I did not ask for it. Who has paid me this attention?" + +"My mistress, sir. She said you would have to speak a great +deal in the murder case, and that you should take something +to keep up your strength;" and the valet placed the cup on +the table nearest to the sofa, which was, like all the rest, +covered with papers. The valet then left the room. Villefort +looked for an instant with a gloomy expression, then, +suddenly, taking it up with a nervous motion, he swallowed +its contents at one draught. It might have been thought that +he hoped the beverage would be mortal, and that he sought +for death to deliver him from a duty which he would rather +die than fulfil. He then rose, and paced his room with a +smile it would have been terrible to witness. The chocolate +was inoffensive, for M. de Villefort felt no effects. The +breakfast-hour arrived, but M. de Villefort was not at +table. The valet re-entered. + +"Madame de Villefort wishes to remind you, sir," he said, +"that eleven o'clock has just struck, and that the trial +commences at twelve." + +"Well," said Villefort, "what then?" + +"Madame de Villefort is dressed; she is quite ready, and +wishes to know if she is to accompany you, sir?" + +"Where to?" + +"To the Palais." + +"What to do?" + +"My mistress wishes much to be present at the trial." + +"Ah," said Villefort, with a startling accent; "does she +wish that?" -- The man drew back and said, "If you wish to +go alone, sir, I will go and tell my mistress." Villefort +remained silent for a moment, and dented his pale cheeks +with his nails. "Tell your mistress," he at length answered, +"that I wish to speak to her, and I beg she will wait for me +in her own room." + +"Yes, sir." + +"Then come to dress and shave me." + +"Directly, sir." The valet re-appeared almost instantly, +and, having shaved his master, assisted him to dress +entirely in black. When he had finished, he said, -- + +"My mistress said she should expect you, sir, as soon as you +had finished dressing." + +"I am going to her." And Villefort, with his papers under +his arm and hat in hand, directed his steps toward the +apartment of his wife. At the door he paused for a moment to +wipe his damp, pale brow. He then entered the room. Madame +de Villefort was sitting on an ottoman and impatiently +turning over the leaves of some newspapers and pamphlets +which young Edward, by way of amusing himself, was tearing +to pieces before his mother could finish reading them. She +was dressed to go out, her bonnet was placed beside her on a +chair, and her gloves were on her hands. + +"Ah, here you are, monsieur," she said in her naturally calm +voice; "but how pale you are! Have you been working all +night? Why did you not come down to breakfast? Well, will +you take me, or shall I take Edward?" Madame de Villefort +had multiplied her questions in order to gain one answer, +but to all her inquiries M. de Villefort remained mute and +cold as a statue. "Edward," said Villefort, fixing an +imperious glance on the child, "go and play in the +drawing-room, my dear; I wish to speak to your mamma." +Madame de Villefort shuddered at the sight of that cold +countenance, that resolute tone, and the awfully strange +preliminaries. Edward raised his head, looked at his mother, +and then, finding that she did not confirm the order, began +cutting off the heads of his leaden soldiers. + +"Edward," cried M. de Villefort, so harshly that the child +started up from the floor, "do you hear me? -- Go!" The +child, unaccustomed to such treatment, arose, pale and +trembling; it would be difficult to say whether his emotion +were caused by fear or passion. His father went up to him, +took him in his arms, and kissed his forehead. "Go," he +said: "go, my child." Edward ran out. M. de Villefort went +to the door, which he closed behind the child, and bolted. +"Dear me!" said the young woman, endeavoring to read her +husband's inmost thoughts, while a smile passed over her +countenance which froze the impassibility of Villefort; +"what is the matter?" + +"Madame, where do you keep the poison you generally use?" +said the magistrate, without any introduction, placing +himself between his wife and the door. + +Madame de Villefort must have experienced something of the +sensation of a bird which, looking up, sees the murderous +trap closing over its head. A hoarse, broken tone, which was +neither a cry nor a sigh, escaped from her, while she became +deadly pale. "Monsieur," she said, "I -- I do not understand +you." And, in her first paroxysm of terror, she had raised +herself from the sofa, in the next, stronger very likely +than the other, she fell down again on the cushions. "I +asked you," continued Villefort, in a perfectly calm tone, +"where you conceal the poison by the aid of which you have +killed my father-in-law, M. de Saint-Meran, my +mother-in-law, Madame de Saint-Meran, Barrois, and my +daughter Valentine." + +"Ah, sir," exclaimed Madame de Villefort, clasping her +hands, "what do you say?" + +"It is not for you to interrogate, but to answer." + +"Is it to the judge or to the husband?" stammered Madame de +Villefort. "To the judge -- to the judge, madame!" It was +terrible to behold the frightful pallor of that woman, the +anguish of her look, the trembling of her whole frame. "Ah, +sir," she muttered, "ah, sir," and this was all. + +"You do not answer, madame!" exclaimed the terrible +interrogator. Then he added, with a smile yet more terrible +than his anger, "It is true, then; you do not deny it!" She +moved forward. "And you cannot deny it!" added Villefort, +extending his hand toward her, as though to seize her in the +name of justice. "You have accomplished these different +crimes with impudent address, but which could only deceive +those whose affections for you blinded them. Since the death +of Madame de Saint-Meran, I have known that a poisoner lived +in my house. M. d'Avrigny warned me of it. After the death +of Barrois my suspicions were directed towards an angel, -- +those suspicions which, even when there is no crime, are +always alive in my heart; but after the death of Valentine, +there has been no doubt in my mind, madame, and not only in +mine, but in those of others; thus your crime, known by two +persons, suspected by many, will soon become public, and, as +I told you just now, you no longer speak to the husband, but +to the judge." + +The young woman hid her face in her hands. "Oh, sir," she +stammered, "I beseech you, do not believe appearances." + +"Are you, then, a coward?" cried Villefort, in a +contemptuous voice. "But I have always observed that +poisoners were cowards. Can you be a coward, -- you who have +had the courage to witness the death of two old men and a +young girl murdered by you?" + +"Sir! sir!" + +"Can you be a coward?" continued Villefort, with increasing +excitement, "you, who could count, one by one, the minutes +of four death agonies? You, who have arranged your infernal +plans, and removed the beverages with a talent and precision +almost miraculous? Have you, then, who have calculated +everything with such nicety, have you forgotten to calculate +one thing -- I mean where the revelation of your crimes will +lead you to? Oh, it is impossible -- you must have saved +some surer, more subtle and deadly poison than any other, +that you might escape the punishment that you deserve. You +have done this -- I hope so, at least." Madame de Villefort +stretched out her hands, and fell on her knees. + +"I understand," he said, "you confess; but a confession made +to the judges, a confession made at the last moment, +extorted when the crime cannot be denied, diminishes not the +punishment inflicted on the guilty!" + +"The punishment?" exclaimed Madame de Villefort, "the +punishment, monsieur? Twice you have pronounced that word!" + +"Certainly. Did you hope to escape it because you were four +times guilty? Did you think the punishment would be withheld +because you are the wife of him who pronounces it? -- No, +madame, no; the scaffold awaits the poisoner, whoever she +may be, unless, as I just said, the poisoner has taken the +precaution of keeping for herself a few drops of her +deadliest potion." Madame de Villefort uttered a wild cry, +and a hideous and uncontrollable terror spread over her +distorted features. "Oh, do not fear the scaffold, madame," +said the magistrate; "I will not dishonor you, since that +would be dishonor to myself; no, if you have heard me +distinctly, you will understand that you are not to die on +the scaffold." + +"No, I do not understand; what do you mean?" stammered the +unhappy woman, completely overwhelmed. "I mean that the wife +of the first magistrate in the capital shall not, by her +infamy, soil an unblemished name; that she shall not, with +one blow, dishonor her husband and her child." + +"No, no -- oh, no!" + +"Well, madame, it will be a laudable action on your part, +and I will thank you for it!" + +"You will thank me -- for what?" + +"For what you have just said." + +"What did I say? Oh, my brain whirls; I no longer understand +anything. Oh, my God, my God!" And she rose, with her hair +dishevelled, and her lips foaming. + +"Have you answered the question I put to you on entering the +room? -- where do you keep the poison you generally use, +madame?" Madame de Villefort raised her arms to heaven, and +convulsively struck one hand against the other. "No, no," +she vociferated, "no, you cannot wish that!" + +"What I do not wish, madame, is that you should perish on +the scaffold. Do you understand?" asked Villefort. + +"Oh, mercy, mercy, monsieur!" + +"What I require is, that justice be done. I am on the earth +to punish, madame," he added, with a flaming glance; "any +other woman, were it the queen herself, I would send to the +executioner; but to you I shall be merciful. To you I will +say, `Have you not, madame, put aside some of the surest, +deadliest, most speedy poison?'" + +"Oh, pardon me, sir; let me live!" + +"She is cowardly," said Villefort. + +"Reflect that I am your wife!" + +"You are a poisoner." + +"In the name of heaven!" + +"No!" + +"In the name of the love you once bore me!" + +"No, no!" + +"In the name of our child! Ah, for the sake of our child, +let me live!" + +"No, no, no, I tell you; one day, if I allow you to live, +you will perhaps kill him, as you have the others!" + +"I? -- I kill my boy?" cried the distracted mother, rushing +toward Villefort; "I kill my son? Ha, ha, ha!" and a +frightful, demoniac laugh finished the sentence, which was +lost in a hoarse rattle. Madame de Villefort fell at her +husband's feet. He approached her. "Think of it, madame," he +said; "if, on my return, justice his not been satisfied, I +will denounce you with my own mouth, and arrest you with my +own hands!" She listened, panting, overwhelmed, crushed; her +eye alone lived, and glared horribly. "Do you understand +me?" he said. "I am going down there to pronounce the +sentence of death against a murderer. If I find you alive on +my return, you shall sleep to-night in the conciergerie." +Madame de Villefort sighed; her nerves gave way, and she +sunk on the carpet. The king's attorney seemed to experience +a sensation of pity; he looked upon her less severely, and, +bowing to her, said slowly, "Farewell, madame, farewell!" +That farewell struck Madame de Villefort like the +executioner's knife. She fainted. The procureur went out, +after having double-locked the door. + + + +Chapter 109 +The Assizes. + +The Benedetto affair, as it was called at the Palais, and by +people in general, had produced a tremendous sensation. +Frequenting the Cafe de Paris, the Boulevard de Gand, and +the Bois de Boulogne, during his brief career of splendor, +the false Cavalcanti had formed a host of acquaintances. The +papers had related his various adventures, both as the man +of fashion and the galley-slave; and as every one who had +been personally acquainted with Prince Andrea Cavalcanti +experienced a lively curiosity in his fate, they all +determined to spare no trouble in endeavoring to witness the +trial of M. Benedetto for the murder of his comrade in +chains. In the eyes of many, Benedetto appeared, if not a +victim to, at least an instance of, the fallibility of the +law. M. Cavalcanti, his father, had been seen in Paris, and +it was expected that he would re-appear to claim the +illustrious outcast. Many, also, who were not aware of the +circumstances attending his withdrawal from Paris, were +struck with the worthy appearance, the gentlemanly bearing, +and the knowledge of the world displayed by the old +patrician, who certainly played the nobleman very well, so +long as he said nothing, and made no arithmetical +calculations. As for the accused himself, many remembered +him as being so amiable, so handsome, and so liberal, that +they chose to think him the victim of some conspiracy, since +in this world large fortunes frequently excite the +malevolence and jealousy of some unknown enemy. Every one, +therefore, ran to the court; some to witness the sight, +others to comment upon it. From seven o'clock in the morning +a crowd was stationed at the iron gates, and an hour before +the trial commenced the hall was full of the privileged. +Before the entrance of the magistrates, and indeed +frequently afterwards, a court of justice, on days when some +especial trial is to take place, resembles a drawing-room +where many persons recognize each other and converse if they +can do so without losing their seats; or, if they are +separated by too great a number of lawyers, communicate by +signs. + +It was one of the magnificent autumn days which make amends +for a short summer; the clouds which M. de Villefort had +perceived at sunrise had all disappeared as if by magic, and +one of the softest and most brilliant days of September +shone forth in all its splendor. + +Beauchamp, one of the kings of the press, and therefore +claiming the right of a throne everywhere, was eying +everybody through his monocle. He perceived Chateau-Renaud +and Debray, who had just gained the good graces of a +sergeant-at-arms, and who had persuaded the latter to let +them stand before, instead of behind him, as they ought to +have done. The worthy sergeant had recognized the minister's +secretary and the millionnaire, and, by way of paying extra +attention to his noble neighbors, promised to keep their +places while they paid a visit to Beauchamp. + +"Well," said Beauchamp, "we shall see our friend!" + +"Yes, indeed!" replied Debray. "That worthy prince. Deuce +take those Italian princes!" + +"A man, too, who could boast of Dante for a genealogist, and +could reckon back to the `Divine Comedy.'" + +"A nobility of the rope!" said Chateau-Renaud +phlegmatically. + +"He will be condemned, will he not?" asked Debray of +Beauchamp. + +"My dear fellow, I think we should ask you that question; +you know such news much better than we do. Did you see the +president at the minister's last night?" + +"Yes." + +"What did he say?" + +"Something which will surprise you." + +"Oh, make haste and tell me, then; it is a long time since +that has happened." + +"Well, he told me that Benedetto, who is considered a +serpent of subtlety and a giant of cunning, is really but a +very commonplace, silly rascal, and altogether unworthy of +the experiments that will be made on his phrenological +organs after his death." + +"Bah," said Beauchamp, "he played the prince very well." + +"Yes, for you who detest those unhappy princes, Beauchamp, +and are always delighted to find fault with them; but not +for me, who discover a gentleman by instinct, and who scent +out an aristocratic family like a very bloodhound of +heraldry." + +"Then you never believed in the principality?" + +"Yes. -- in the principality, but not in the prince." + +"Not so bad," said Beauchamp; "still, I assure you, he +passed very well with many people; I saw him at the +ministers' houses." + +"Ah, yes," said Chateau-Renaud. "The idea of thinking +ministers understand anything about princes!" + +"There is something in what you have just said," said +Beauchamp, laughing. + +"But," said Debray to Beauchamp, "if I spoke to the +president, you must have been with the procureur." + +"It was an impossibility; for the last week M. de Villefort +has secluded himself. It is natural enough; this strange +chain of domestic afflictions, followed by the no less +strange death of his daughter" -- + +"Strange? What do you mean, Beauchamp?" + +"Oh, yes; do you pretend that all this has been unobserved +at the minister's?" said Beauchamp, placing his eye-glass in +his eye, where he tried to make it remain. + +"My dear sir," said Chateau-Renaud, "allow me to tell you +that you do not understand that manoeuvre with the eye-glass +half so well as Debray. Give him a lesson, Debray." + +"Stay," said Beauchamp, "surely I am not deceived." + +"What is it?" + +"It is she!" + +"Whom do you mean?" + +"They said she had left." + +"Mademoiselle Eugenie?" said Chateau-Renaud; "has she +returned?" + +"No, but her mother." + +"Madame Danglars? Nonsense! Impossible!" said +Chateau-Renaud; "only ten days after the flight of her +daughter, and three days from the bankruptcy of her +husband?" + +Debray colored slightly, and followed with his eyes the +direction of Beauchamp's glance. "Come," he said, "it is +only a veiled lady, some foreign princess, perhaps the +mother of Cavalcanti. But you were just speaking on a very +interesting topic, Beauchamp." + +"I?" + +"Yes; you were telling us about the extraordinary death of +Valentine." + +"Ah, yes, so I was. But how is it that Madame de Villefort +is not here?" + +"Poor, dear woman," said Debray, "she is no doubt occupied +in distilling balm for the hospitals, or in making cosmetics +for herself or friends. Do you know she spends two or three +thousand crowns a year in this amusement? But I wonder she +is not here. I should have been pleased to see her, for I +like her very much." + +"And I hate her," said Chateau-Renaud. + +"Why?" + +"I do not know. Why do we love? Why do we hate? I detest +her, from antipathy." + +"Or, rather, by instinct." + +"Perhaps so. But to return to what you were saying, +Beauchamp." + +"Well, do you know why they die so multitudinously at M. de +Villefort's?" + +"`Multitudinously' [drv] is good," said Chateau-Renaud. + +"My good fellow, you'll find the word in Saint-Simon." + +"But the thing itself is at M. de Villefort's; but let's get +back to the subject." + +"Talking of that," said Debray, "Madame was making inquiries +about that house, which for the last three months has been +hung with black." + +"Who is Madame?" asked Chateau-Renaud. + +"The minister's wife, pardieu!" + +"Oh, your pardon! I never visit ministers; I leave that to +the princes." + +"Really, You were only before sparkling, but now you are +brilliant; take compassion on us, or, like Jupiter, you will +wither us up." + +"I will not speak again," said Chateau-Renaud; "pray have +compassion upon me, and do not take up every word I say." + +"Come, let us endeavor to get to the end of our story, +Beauchamp; I told you that yesterday Madame made inquiries +of me upon the subject; enlighten me, and I will then +communicate my information to her." + +"Well, gentlemen, the reason people die so multitudinously +(I like the word) at M. de Villefort's is that there is an +assassin in the house!" The two young men shuddered, for the +same idea had more than once occurred to them. "And who is +the assassin;" they asked together. + +"Young Edward!" A burst of laughter from the auditors did +not in the least disconcert the speaker, who continued, -- +"Yes, gentlemen; Edward, the infant phenomenon, who is quite +an adept in the art of killing." + +"You are jesting." + +"Not at all. I yesterday engaged a servant, who had just +left M. de Villefort -- I intend sending him away to-morrow, +for he eats so enormously, to make up for the fast imposed +upon him by his terror in that house. Well, now listen." + +"We are listening." + +"It appears the dear child has obtained possession of a +bottle containing some drug, which he every now and then +uses against those who have displeased him. First, M. and +Madame de Saint-Meran incurred his displeasure, so he poured +out three drops of his elixir -- three drops were +sufficient; then followed Barrois, the old servant of M. +Noirtier, who sometimes rebuffed this little wretch -- he +therefore received the same quantity of the elixir; the same +happened to Valentine, of whom he was jealous; he gave her +the same dose as the others, and all was over for her as +well as the rest." + +"Why, what nonsense are you telling us?" said +Chateau-Renaud. + +"Yes, it is an extraordinary story," said Beauchamp; "is it +not?" + +"It is absurd," said Debray. + +"Ah," said Beauchamp, "you doubt me? Well, you can ask my +servant, or rather him who will no longer be my servant +to-morrow, it was the talk of the house." + +"And this elixir, where is it? what is it?" + +"The child conceals it." + +"But where did he find it?" + +"In his mother's laboratory." + +"Does his mother then, keep poisons in her laboratory?" + +"How can I tell? You are questioning me like a king's +attorney. I only repeat what I have been told, and like my +informant I can do no more. The poor devil would eat +nothing, from fear." + +"It is incredible!" + +"No, my dear fellow, it is not at all incredible. You saw +the child pass through the Rue Richelieu last year, who +amused himself with killing his brothers and sisters by +sticking pins in their ears while they slept. The generation +who follow us are very precocious." + +"Come, Beauchamp," said Chateau-Renaud, "I will bet anything +you do not believe a word of all you have been telling us." + +"I do not see the Count of Monte Cristo here." + +"He is worn out," said Debray; "besides, he could not well +appear in public, since he has been the dupe of the +Cavalcanti, who, it appears, presented themselves to him +with false letters of credit, and cheated him out of 100,000 +francs upon the hypothesis of this principality." + +"By the way, M. de Chateau-Renaud," asked Beauchamp, "how is +Morrel?" + +"Ma foi, I have called three times without once seeing him. +Still, his sister did not seem uneasy, and told me that +though she had not seen him for two or three days, she was +sure he was well." + +"Ah, now I think of it, the Count of Monte Cristo cannot +appear in the hall," said Beauchamp. + +"Why not?" + +"Because he is an actor in the drama." + +"Has he assassinated any one, then?" + +"No, on the contrary, they wished to assassinate him. You +know that it was in leaving his house that M. de Caderousse +was murdered by his friend Benedetto. You know that the +famous waistcoat was found in his house, containing the +letter which stopped the signature of the marriage-contract. +Do you see the waistcoat? There it is, all blood-stained, on +the desk, as a testimony of the crime." + +"Ah, very good." + +"Hush, gentlemen, here is the court; let us go back to our +places." A noise was heard in the hall; the sergeant called +his two patrons with an energetic "hem!" and the door-keeper +appearing, called out with that shrill voice peculiar to his +order, ever since the days of Beaumarchais, "The court, +gentlemen!" + + + +Chapter 110 +The Indictment. + +The judges took their places in the midst of the most +profound silence; the jury took their seats; M. de +Villefort, the object of unusual attention, and we had +almost said of general admiration, sat in the arm-chair and +cast a tranquil glance around him. Every one looked with +astonishment on that grave and severe face, whose calm +expression personal griefs had been unable to disturb, and +the aspect of a man who was a stranger to all human emotions +excited something very like terror. + +"Gendarmes," said the president, "lead in the accused." + +At these words the public attention became more intense, and +all eyes were turned towards the door through which +Benedetto was to enter. The door soon opened and the accused +appeared. The same impression was experienced by all +present, and no one was deceived by the expression of his +countenance. His features bore no sign of that deep emotion +which stops the beating of the heart and blanches the cheek. +His hands, gracefully placed, one upon his hat, the other in +the opening of his white waistcoat, were not at all +tremulous; his eye was calm and even brilliant. Scarcely had +he entered the hall when he glanced at the whole body of +magistrates and assistants; his eye rested longer on the +president, and still more so on the king's attorney. By the +side of Andrea was stationed the lawyer who was to conduct +his defence, and who had been appointed by the court, for +Andrea disdained to pay any attention to those details, to +which he appeared to attach no importance. The lawyer was a +young man with light hair whose face expressed a hundred +times more emotion than that which characterized the +prisoner. + +The president called for the indictment, revised as we know, +by the clever and implacable pen of Villefort. During the +reading of this, which was long, the public attention was +continually drawn towards Andrea, who bore the inspection +with Spartan unconcern. Villefort had never been so concise +and eloquent. The crime was depicted in the most vivid +colors; the former life of the prisoner, his transformation, +a review of his life from the earliest period, were set +forth with all the talent that a knowledge of human life +could furnish to a mind like that of the procureur. +Benedetto was thus forever condemned in public opinion +before the sentence of the law could be pronounced. Andrea +paid no attention to the successive charges which were +brought against him. M. de Villefort, who examined him +attentively, and who no doubt practiced upon him all the +psychological studies he was accustomed to use, in vain +endeavored to make him lower his eyes, notwithstanding the +depth and profundity of his gaze. At length the reading of +the indictment was ended. + +"Accused," said the president, "your name and surname?" +Andrea arose. "Excuse me, Mr. President," he said, in a +clear voice, "but I see you are going to adopt a course of +questions through which I cannot follow you. I have an idea, +which I will explain by and by, of making an exception to +the usual form of accusation. Allow me, then, if you please, +to answer in different order, or I will not do so at all." +The astonished president looked at the jury, who in turn +looked at Villefort. The whole assembly manifested great +surprise, but Andrea appeared quite unmoved. "Your age?" +said the president; "will you answer that question?" + +"I will answer that question, as well as the rest, Mr. +President, but in its turn." + +"Your age?" repeated the president. + +"I am twenty-one years old, or rather I shall be in a few +days, as I was born the night of the 27th of September, +1817." M. de Villefort, who was busy taking down some notes, +raised his head at the mention of this date. "Where were you +born?" continued the president. + +"At Auteuil, near Paris." M. de Villefort a second time +raised his head, looked at Benedetto as if he had been +gazing at the head of Medusa, and became livid. As for +Benedetto, he gracefully wiped his lips with a fine cambric +pocket-handkerchief. "Your profession?" + +"First I was a forger," answered Andrea, as calmly as +possible; "then I became a thief, and lately have become an +assassin." A murmur, or rather storm, of indignation burst +from all parts of the assembly. The judges themselves +appeared to be stupefied, and the jury manifested tokens of +disgust for cynicism so unexpected in a man of fashion. M. +de Villefort pressed his hand upon his brow, which, at first +pale, had become red and burning; then he suddenly arose and +looked around as though he had lost his senses -- he wanted +air. + +"Are you looking for anything, Mr. Procureur?" asked +Benedetto, with his most ingratiating smile. M. de Villefort +answered nothing, but sat, or rather threw himself down +again upon his chair. "And now, prisoner, will you consent +to tell your name?" said the president. "The brutal +affectation with which you have enumerated and classified +your crimes calls for a severe reprimand on the part of the +court, both in the name of morality, and for the respect due +to humanity. You appear to consider this a point of honor, +and it may be for this reason, that you have delayed +acknowledging your name. You wished it to be preceded by all +these titles." + +"It is quite wonderful, Mr. President, how entirely you have +read my thoughts," said Benedetto, in his softest voice and +most polite manner. "This is, indeed, the reason why I +begged you to alter the order of the questions." The public +astonishment had reached its height. There was no longer any +deceit or bravado in the manner of the accused. The audience +felt that a startling revelation was to follow this ominous +prelude. + +"Well," said the president; "your name?" + +"I cannot tell you my name, since I do not know it; but I +know my father's, and can tell it to you." + +A painful giddiness overwhelmed Villefort; great drops of +acrid sweat fell from his face upon the papers which he held +in his convulsed hand. + +"Repeat your father's name," said the president. Not a +whisper, not a breath, was heard in that vast assembly; +every one waited anxiously. + +"My father is king's attorney," replied Andrea calmly. + +"King's attorney?" said the president, stupefied, and +without noticing the agitation which spread over the face of +M. de Villefort; "king's attorney?" + +"Yes; and if you wish to know his name, I will tell it, -- +he is named Villefort." The explosion, which had been so +long restrained from a feeling of respect to the court of +justice, now burst forth like thunder from the breasts of +all present; the court itself did not seek to restrain the +feelings of the audience. The exclamations, the insults +addressed to Benedetto, who remained perfectly unconcerned, +the energetic gestures, the movement of the gendarmes, the +sneers of the scum of the crowd always sure to rise to the +surface in case of any disturbance -- all this lasted five +minutes, before the door-keepers and magistrates were able +to restore silence. In the midst of this tumult the voice of +the president was heard to exclaim, -- "Are you playing with +justice, accused, and do you dare set your fellow-citizens +an example of disorder which even in these times his never +been equalled?" + +Several persons hurried up to M. de Villefort, who sat half +bowed over in his chair, offering him consolation, +encouragement, and protestations of zeal and sympathy. Order +was re-established in the hall, except that a few people +still moved about and whispered to one another. A lady, it +was said, had just fainted; they had supplied her with a +smelling-bottle, and she had recovered. During the scene of +tumult, Andrea had turned his smiling face towards the +assembly; then, leaning with one hand on the oaken rail of +the dock, in the most graceful attitude possible, he said: +"Gentlemen, I assure you I had no idea of insulting the +court, or of making a useless disturbance in the presence of +this honorable assembly. They ask my age; I tell it. They +ask where I was born; I answer. They ask my name, I cannot +give it, since my parents abandoned me. But though I cannot +give my own name, not possessing one, I can tell them my +father's. Now I repeat, my father is named M. de Villefort, +and I am ready to prove it." + +There was an energy, a conviction, and a sincerity in the +manner of the young man, which silenced the tumult. All eyes +were turned for a moment towards the procureur, who sat as +motionless as though a thunderbolt had changed him into a +corpse. "Gentlemen," said Andrea, commanding silence by his +voice and manner; "I owe you the proofs and explanations of +what I have said." + +"But," said the irritated president, "you called yourself +Benedetto, declared yourself an orphan, and claimed Corsica +as your country." + +"I said anything I pleased, in order that the solemn +declaration I have just made should not be withheld, which +otherwise would certainly have been the case. I now repeat +that I was born at Auteuil on the night of the 27th of +September, 1817, and that I am the son of the procureur, M. +de Villefort. Do you wish for any further details? I will +give them. I was born in No. 28, Rue de la Fontaine, in a +room hung with red damask; my father took me in his arms, +telling my mother I was dead, wrapped me in a napkin marked +with an H and an N, and carried me into a garden, where he +buried me alive." + +A shudder ran through the assembly when they saw that the +confidence of the prisoner increased in proportion to the +terror of M. de Villefort. "But how have you become +acquainted with all these details?" asked the president. + +"I will tell you, Mr. President. A man who had sworn +vengeance against my father, and had long watched his +opportunity to kill him, had introduced himself that night +into the garden in which my father buried me. He was +concealed in a thicket; he saw my father bury something in +the ground, and stabbed him; then thinking the deposit might +contain some treasure he turned up the ground, and found me +still living. The man carried me to the foundling asylum, +where I was registered under the number 37. Three months +afterwards, a woman travelled from Rogliano to Paris to +fetch me, and having claimed me as her son, carried me away. +Thus, you see, though born in Paris, I was brought up in +Corsica." + +There was a moment's silence, during which one could have +fancied the hall empty, so profound was the stillness. +"Proceed," said the president. + +"Certainly, I might have lived happily amongst those good +people, who adored me, but my perverse disposition prevailed +over the virtues which my adopted mother endeavored to +instil into my heart. I increased in wickedness till I +committed crime. One day when I cursed providence for making +me so wicked, and ordaining me to such a fate, my adopted +father said to me, `Do not blaspheme, unhappy child, the +crime is that of your father, not yours, -- of your father, +who consigned you to hell if you died, and to misery if a +miracle preserved you alive.' After that I ceased to +blaspheme, but I cursed my father. That is why I have +uttered the words for which you blame me; that is why I have +filled this whole assembly with horror. If I have committed +an additional crime, punish me, but if you will allow that +ever since the day of my birth my fate has been sad, bitter, +and lamentable, then pity me." + +"But your mother?" asked the president. + +"My mother thought me dead; she is not guilty. I did not +even wish to know her name, nor do I know it." Just then a +piercing cry, ending in a sob, burst from the centre of the +crowd, who encircled the lady who had before fainted, and +who now fell into a violent fit of hysterics. She was +carried out of the hall, the thick veil which concealed her +face dropped off, and Madame Danglars was recognized. +Notwithstanding his shattered nerves, the ringing sensation +in his ears, and the madness which turned his brain, +Villefort rose as he perceived her. "The proofs, the +proofs!" said the president; "remember this tissue of +horrors must be supported by the clearest proofs " + +"The proofs?" said Benedetto, laughing; "do you want +proofs?" + +"Yes." + +"Well, then, look at M. de Villefort, and then ask me for +proofs." + +Every one turned towards the procureur, who, unable to bear +the universal gaze now riveted on him alone, advanced +staggering into the midst of the tribunal, with his hair +dishevelled and his face indented with the mark of his +nails. The whole assembly uttered a long murmur of +astonishment. "Father," said Benedetto, "I am asked for +proofs, do you wish me to give them?" + +"No, no, it is useless," stammered M. de Villefort in a +hoarse voice; "no, it is useless!" + +"How useless?" cried the president, "what do you mean?" + +"I mean that I feel it impossible to struggle against this +deadly weight which crushes me. Gentlemen, I know I am in +the hands of an avenging God! We need no proofs; everything +relating to this young man is true." A dull, gloomy silence, +like that which precedes some awful phenomenon of nature, +pervaded the assembly, who shuddered in dismay. "What, M. de +Villefort," cried the president, "do you yield to an +hallucination? What, are you no longer in possession of your +senses? This strange, unexpected, terrible accusation has +disordered your reason. Come, recover." + +The procureur dropped his head; his teeth chattered like +those of a man under a violent attack of fever, and yet he +was deadly pale. + +"I am in possession of all my senses, sir," he said; "my +body alone suffers, as you may suppose. I acknowledge myself +guilty of all the young man has brought against me, and from +this hour hold myself under the authority of the procureur +who will succeed me." + +And as he spoke these words with a hoarse, choking voice, he +staggered towards the door, which was mechanically opened by +a door-keeper. The whole assembly were dumb with +astonishment at the revelation and confession which had +produced a catastrophe so different from that which had been +expected during the last fortnight by the Parisian world. + +"Well," said Beauchamp, "let them now say that drama is +unnatural!" + +"Ma foi!" said Chateau-Renaud, "I would rather end my career +like M. de Morcerf; a pistol-shot seems quite delightful +compared with this catastrophe." + +"And moreover, it kills," said Beauchamp. + +"And to think that I had an idea of marrying his daughter," +said Debray. "She did well to die, poor girl!" + +"The sitting is adjourned, gentlemen," said the president; +"fresh inquiries will be made, and the case will be tried +next session by another magistrate." As for Andrea, who was +calm and more interesting than ever, he left the hall, +escorted by gendarmes, who involuntarily paid him some +attention. "Well, what do you think of this, my fine +fellow?" asked Debray of the sergeant-at-arms, slipping a +louis into his hand. "There will be extenuating +circumstances," he replied. + + + +Chapter 111 +Expiation. + +Notwithstanding the density of the crowd, M. de Villefort +saw it open before him. There is something so awe-inspiring +in great afflictions that even in the worst times the first +emotion of a crowd has generally been to sympathize with the +sufferer in a great catastrophe. Many people have been +assassinated in a tumult, but even criminals have rarely +been insulted during trial. Thus Villefort passed through +the mass of spectators and officers of the Palais, and +withdrew. Though he had acknowledged his guilt, he was +protected by his grief. There are some situations which men +understand by instinct, but which reason is powerless to +explain; in such cases the greatest poet is he who gives +utterance to the most natural and vehement outburst of +sorrow. Those who hear the bitter cry are as much impressed +as if they listened to an entire poem, and when the sufferer +is sincere they are right in regarding his outburst as +sublime. + +It would be difficult to describe the state of stupor in +which Villefort left the Palais. Every pulse beat with +feverish excitement, every nerve was strained, every vein +swollen, and every part of his body seemed to suffer +distinctly from the rest, thus multiplying his agony a +thousand-fold. He made his way along the corridors through +force of habit; he threw aside his magisterial robe, not out +of deference to etiquette, but because it was an unbearable +burden, a veritable garb of Nessus, insatiate in torture. +Having staggered as far as the Rue Dauphine, he perceived +his carriage, awoke his sleeping coachman by opening the +door himself, threw himself on the cushions, and pointed +towards the Faubourg Saint-Honore; the carriage drove on. +The weight of his fallen fortunes seemed suddenly to crush +him; he could not foresee the consequences; he could not +contemplate the future with the indifference of the hardened +criminal who merely faces a contingency already familiar. +God was still in his heart. "God," he murmured, not knowing +what he said, -- "God -- God!" Behind the event that had +overwhelmed him he saw the hand of God. The carriage rolled +rapidly onward. Villefort, while turning restlessly on the +cushions, felt something press against him. He put out his +hand to remove the object; it was a fan which Madame de +Villefort had left in the carriage; this fan awakened a +recollection which darted through his mind like lightning. +He thought of his wife. + +"Oh!" he exclaimed, as though a redhot iron were piercing +his heart. During the last hour his own crime had alone been +presented to his mind; now another object, not less +terrible, suddenly presented itself. His wife! He had just +acted the inexorable judge with her, he had condemned her to +death, and she, crushed by remorse, struck with terror, +covered with the shame inspired by the eloquence of his +irreproachable virtue, -- she, a poor, weak woman, without +help or the power of defending herself against his absolute +and supreme will, -- she might at that very moment, perhaps, +be preparing to die! An hour had elapsed since her +condemnation; at that moment, doubtless, she was recalling +all her crimes to her memory; she was asking pardon for her +sins; perhaps she was even writing a letter imploring +forgiveness from her virtuous husband -- a forgiveness she +was purchasing with her death! Villefort again groaned with +anguish and despair. "Ah," he exclaimed, "that woman became +criminal only from associating with me! I carried the +infection of crime with me, and she has caught it as she +would the typhus fever, the cholera, the plague! And yet I +have punished her -- I have dared to tell her -- I have -- +`Repent and die!' But no, she must not die; she shall live, +and with me. We will flee from Paris and go as far as the +earth reaches. I told her of the scaffold; oh, heavens, I +forgot that it awaits me also! How could I pronounce that +word? Yes, we will fly; I will confess all to her, -- I will +tell her daily that I also have committed a crime! -- Oh, +what an alliance -- the tiger and the serpent; worthy wife +of such as I am! She must live that my infamy may diminish +hers." And Villefort dashed open the window in front of the +carriage. + +"Faster, faster!" he cried, in a tone which electrified the +coachman. The horses, impelled by fear, flew towards the +house. + +"Yes, yes," repeated Villefort, as he approached his home -- +"yes, that woman must live; she must repent, and educate my +son, the sole survivor, with the exception of the +indestructible old man, of the wreck of my house. She loves +him; it was for his sake she has committed these crimes. We +ought never to despair of softening the heart of a mother +who loves her child. She will repent, and no one will know +that she has been guilty. The events which have taken place +in my house, though they now occupy the public mind, will be +forgotten in time, or if, indeed, a few enemies should +persist in remembering them, why then I will add them to my +list of crimes. What will it signify if one, two, or three +more are added? My wife and child shall escape from this +gulf, carrying treasures with them; she will live and may +yet be happy, since her child, in whom all her love is +centred, will be with her. I shall have performed a good +action, and my heart will be lighter." And the procureur +breathed more freely than he had done for some time. + +The carriage stopped at the door of the house. Villefort +leaped out of the carriage, and saw that his servants were +surprised at his early return; he could read no other +expression on their features. Neither of them spoke to him; +they merely stood aside to let him pass by, as usual, +nothing more. As he passed by M. Noirtier's room, he +perceived two figures through the half-open door; but he +experienced no curiosity to know who was visiting his +father: anxiety carried him on further. + +"Come," he said, as he ascended the stairs leading to his +wife's room, "nothing is changed here." He then closed the +door of the landing. "No one must disturb us," he said; "I +must speak freely to her, accuse myself, and say" -- he +approached the door, touched the crystal handle, which +yielded to his hand. "Not locked," he cried; "that is well." +And he entered the little room in which Edward slept; for +though the child went to school during the day, his mother +could not allow him to be separated from her at night. With +a single glance Villefort's eye ran through the room. "Not +here," he said; "doubtless she is in her bedroom." He rushed +towards the door, found it bolted, and stopped, shuddering. +"Heloise!" he cried. He fancied he heard the sound of a +piece of furniture being removed. "Heloise!" he repeated. + +"Who is there?" answered the voice of her he sought. He +thought that voice more feeble than usual. + +"Open the door!" cried Villefort. "Open; it is I." But +notwithstanding this request, notwithstanding the tone of +anguish in which it was uttered, the door remained closed. +Villefort burst it open with a violent blow. At the entrance +of the room which led to her boudoir, Madame de Villefort +was standing erect, pale, her features contracted, and her +eyes glaring horribly. "Heloise, Heloise!" he said, "what is +the matter? Speak!" The young woman extended her stiff white +hands towards him. "It is done, monsieur," she said with a +rattling noise which seemed to tear her throat. "What more +do you want?" and she fell full length on the floor. +Villefort ran to her and seized her hand, which convulsively +clasped a crystal bottle with a golden stopper. Madame de +Villefort was dead. Villefort, maddened with horror, stepped +back to the threshhold of the door, fixing his eyes on the +corpse: "My son!" he exclaimed suddenly, "where is my son? +-- Edward, Edward!" and he rushed out of the room, still +crying, "Edward, Edward!" The name was pronounced in such a +tone of anguish that the servants ran up. + +"Where is my son?" asked Villefort; "let him be removed from +the house, that he may not see" -- + +"Master Edward is not down-stairs, sir," replied the valet. + +"Then he must be playing in the garden; go and see." + +"No, sir; Madame de Villefort sent for him half an hour ago; +he went into her room, and has not been down-stairs since." +A cold perspiration burst out on Villefort's brow; his legs +trembled, and his thoughts flew about madly in his brain +like the wheels of a disordered watch. "In Madame de +Villefort's room?" he murmured and slowly returned, with one +hand wiping his forehead, and with the other supporting +himself against the wall. To enter the room he must again +see the body of his unfortunate wife. To call Edward he must +reawaken the echo of that room which now appeared like a +sepulchre; to speak seemed like violating the silence of the +tomb. His tongue was paralyzed in his mouth. + +"Edward!" he stammered -- "Edward!" The child did not +answer. Where, then, could he be, if he had entered his +mother's room and not since returned? He stepped forward. +The corpse of Madame de Villefort was stretched across the +doorway leading to the room in which Edward must be; those +glaring eyes seemed to watch over the threshold, and the +lips bore the stamp of a terrible and mysterious irony. +Through the open door was visible a portion of the boudoir, +containing an upright piano and a blue satin couch. +Villefort stepped forward two or three paces, and beheld his +child lying -- no doubt asleep -- on the sofa. The unhappy +man uttered an exclamation of joy; a ray of light seemed to +penetrate the abyss of despair and darkness. He had only to +step over the corpse, enter the boudoir, take the child in +his arms, and flee far, far away. + +Villefort was no longer the civilized man; he was a tiger +hurt unto death, gnashing his teeth in his wound. He no +longer feared realities, but phantoms. He leaped over the +corpse as if it had been a burning brazier. He took the +child in his arms, embraced him, shook him, called him, but +the child made no response. He pressed his burning lips to +the cheeks, but they were icy cold and pale; he felt the +stiffened limbs; he pressed his hand upon the heart, but it +no longer beat, -- the child was dead. A folded paper fell +from Edward's breast. Villefort, thunderstruck, fell upon +his knees; the child dropped from his arms, and rolled on +the floor by the side of its mother. He picked up the paper, +and, recognizing his wife's writing, ran his eyes rapidly +over its contents; it ran as follows: -- + +"You know that I was a good mother, since it was for my +son's sake I became criminal. A good mother cannot depart +without her son." + +Villefort could not believe his eyes, -- he could not +believe his reason; he dragged himself towards the child's +body, and examined it as a lioness contemplates its dead +cub. Then a piercing cry escaped from his breast, and he +cried, "Still the hand of God." The presence of the two +victims alarmed him; he could not bear solitude shared only +by two corpses. Until then he had been sustained by rage, by +his strength of mind, by despair, by the supreme agony which +led the Titans to scale the heavens, and Ajax to defy the +gods. He now arose, his head bowed beneath the weight of +grief, and, shaking his damp, dishevelled hair, he who had +never felt compassion for any one determined to seek his +father, that he might have some one to whom he could relate +his misfortunes, -- some one by whose side he might weep. He +descended the little staircase with which we are acquainted, +and entered Noirtier's room. The old man appeared to be +listening attentively and as affectionately as his +infirmities would allow to the Abbe Busoni, who looked cold +and calm, as usual. Villefort, perceiving the abbe, passed +his hand across his brow. He recollected the call he had +made upon him after the dinner at Auteuil, and then the +visit the abbe had himself paid to his house on the day of +Valentine's death. "You here, sir!" he exclaimed; "do you, +then, never appear but to act as an escort to death?" + +Busoni turned around, and, perceiving the excitement +depicted on the magistrate's face, the savage lustre of his +eyes, he understood that the revelation had been made at the +assizes; but beyond this he was ignorant. "I came to pray +over the body of your daughter." + +"And now why are you here?" + +"I come to tell you that you have sufficiently repaid your +debt, and that from this moment I will pray to God to +forgive you, as I do." + +"Good heavens!" exclaimed Villefort, stepping back +fearfully, "surely that is not the voice of the Abbe +Busoni!" + +"No!" The abbe threw off his wig, shook his head, and his +hair, no longer confined, fell in black masses around his +manly face. + +"It is the face of the Count of Monte Cristo!" exclaimed the +procureur, with a haggard expression. + +"You are not exactly right, M. Procureur; you must go +farther back." + +"That voice, that voice! -- where did I first hear it?" + +"You heard it for the first time at Marseilles, twenty-three +years ago, the day of your marriage with Mademoiselle de +Saint-Meran. Refer to your papers." + +"You are not Busoni? -- you are not Monte Cristo? Oh, +heavens -- you are, then, some secret, implacable, and +mortal enemy! I must have wronged you in some way at +Marseilles. Oh, woe to me!" + +"Yes; you are now on the right path," said the count, +crossing his arms over his broad chest; "search -- search!" + +"But what have I done to you?" exclaimed Villefort, whose +mind was balancing between reason and insanity, in that +cloud which is neither a dream nor reality; "what have I +done to you? Tell me, then! Speak!" + +"You condemned me to a horrible, tedious death; you killed +my father; you deprived me of liberty, of love, and +happiness." + +"Who are you, then? Who are you?" + +"I am the spectre of a wretch you buried in the dungeons of +the Chateau d'If. God gave that spectre the form of the +Count of Monte Cristo when he at length issued from his +tomb, enriched him with gold and diamonds, and led him to +you!" + +"Ah, I recognize you -- I recognize you!" exclaimed the +king's attorney; "you are" -- + +"I am Edmond Dantes!" + +"You are Edmond Dantes," cried Villefort, seizing the count +by the wrist; "then come here!" And up the stairs he dragged +Monte Cristo; who, ignorant of what had happened, followed +him in astonishment, foreseeing some new catastrophe. +"There, Edmond Dantes!" he said, pointing to the bodies of +his wife and child, "see, are you well avenged?" Monte +Cristo became pale at this horrible sight; he felt that he +had passed beyond the bounds of vengeance, and that he could +no longer say, "God is for and with me." With an expression +of indescribable anguish he threw himself upon the body of +the child, reopened its eyes, felt its pulse, and then +rushed with him into Valentine's room, of which he +double-locked the door. "My child," cried Villefort, "he +carries away the body of my child! Oh, curses, woe, death to +you!" and he tried to follow Monte Cristo; but as though in +a dream he was transfixed to the spot, -- his eyes glared as +though they were starting through the sockets; he griped the +flesh on his chest until his nails were stained with blood; +the veins of his temples swelled and boiled as though they +would burst their narrow boundary, and deluge his brain with +living fire. This lasted several minutes, until the +frightful overturn of reason was accomplished; then uttering +a loud cry followed by a burst of laughter, he rushed down +the stairs. + +A quarter of an hour afterwards the door of Valentine's room +opened, and Monte Cristo reappeared. Pale, with a dull eye +and heavy heart, all the noble features of that face, +usually so calm and serene, were overcast by grief. In his +arms he held the child, whom no skill had been able to +recall to life. Bending on one knee, he placed it reverently +by the side of its mother, with its head upon her breast. +Then, rising, he went out, and meeting a servant on the +stairs, he asked, "Where is M. de Villefort?" + +The servant, instead of answering, pointed to the garden. +Monte Cristo ran down the steps, and advancing towards the +spot designated beheld Villefort, encircled by his servants, +with a spade in his hand, and digging the earth with fury. +"It is not here!" he cried. "It is not here!" And then he +moved farther on, and began again to dig. + +Monte Cristo approached him, and said in a low voice, with +an expression almost humble, "Sir, you have indeed lost a +son; but" -- + +Villefort interrupted him; he had neither listened nor +heard. "Oh, I will find it," he cried; "you may pretend he +is not here, but I will find him, though I dig forever!" +Monte Cristo drew back in horror. "Oh," he said, "he is +mad!" And as though he feared that the walls of the accursed +house would crumble around him, he rushed into the street, +for the first time doubting whether he had the right to do +as he had done. "Oh, enough of this, -- enough of this," he +cried; "let me save the last." On entering his house, he met +Morrel, who wandered about like a ghost awaiting the +heavenly mandate for return to the tomb. "Prepare yourself, +Maximilian," he said with a smile; "we leave Paris +to-morrow." + +"Have you nothing more to do there?" asked Morrel. + +"No," replied Monte Cristo; "God grant I may not have done +too much already." + +The next day they indeed left, accompanied only by +Baptistin. Haidee had taken away Ali, and Bertuccio remained +with Noirtier. + + + +Chapter 112 +The Departure. + +The recent event formed the theme of conversation throughout +all Paris. Emmanuel and his wife conversed with natural +astonishment in their little apartment in the Rue Meslay +upon the three successive, sudden, and most unexpected +catastrophes of Morcerf, Danglars, and Villefort. +Maximilian, who was paying them a visit, listened to their +conversation, or rather was present at it, plunged in his +accustomed state of apathy. "Indeed," said Julie, "might we +not almost fancy, Emmanuel, that those people, so rich, so +happy but yesterday, had forgotten in their prosperity that +an evil genius -- like the wicked fairies in Perrault's +stories who present themselves unbidden at a wedding or +baptism -- hovered over them, and appeared all at once to +revenge himself for their fatal neglect?" + +"What a dire misfortune!" said Emmanuel, thinking of Morcerf +and Danglars. + +"What dreadful sufferings!" said Julie, remembering +Valentine, but whom, with a delicacy natural to women, she +did not name before her brother. + +"If the Supreme Being has directed the fatal blow," said +Emmanuel, "it must be that he in his great goodness has +perceived nothing in the past lives of these people to merit +mitigation of their awful punishment." + +"Do you not form a very rash judgment, Emmanuel?" said +Julie. "When my father, with a pistol in his hand, was once +on the point of committing suicide, had any one then said, +`This man deserves his misery,' would not that person have +been deceived?" + +"Yes; but your father was not allowed to fall. A being was +commissioned to arrest the fatal hand of death about to +descend on him." + +Emmanuel had scarcely uttered these words when the sound of +the bell was heard, the well-known signal given by the +porter that a visitor had arrived. Nearly at the same +instant the door was opened and the Count of Monte Cristo +appeared on the threshold. The young people uttered a cry of +joy, while Maximilian raised his head, but let it fall again +immediately. "Maximilian," said the count, without appearing +to notice the different impressions which his presence +produced on the little circle, "I come to seek you." + +"To seek me?" repeated Morrel, as if awakening from a dream. + +"Yes," said Monte Cristo; "has it not been agreed that I +should take you with me, and did I not tell you yesterday to +prepare for departure?" + +"I am ready," said Maximilian; "I came expressly to wish +them farewell." + +"Whither are you going, count?" asked Julie. + +"In the first instance to Marseilles, madame." + +"To Marseilles!" exclaimed the young couple. + +"Yes, and I take your brother with me." + +"Oh, count." said Julie, "will you restore him to us cured +of his melancholy?" -- Morrel turned away to conceal the +confusion of his countenance. + +"You perceive, then, that he is not happy?" said the count. +"Yes," replied the young woman; "and fear much that he finds +our home but a dull one." + +"I will undertake to divert him," replied the count. + +"I am ready to accompany you, sir," said Maximilian. "Adieu, +my kind friends! Emmanuel -- Julie -- farewell!" + +"How farewell?" exclaimed Julie; "do you leave us thus, so +suddenly, without any preparations for your journey, without +even a passport?" + +"Needless delays but increase the grief of parting," said +Monte Cristo, "and Maximilian has doubtless provided himself +with everything requisite; at least, I advised him to do +so." + +"I have a passport, and my clothes are ready packed," said +Morrel in his tranquil but mournful manner. + +"Good," said Monte Cristo, smiling; "in these prompt +arrangements we recognize the order of a well-disciplined +soldier." + +"And you leave us," said Julie, "at a moment's warning? you +do not give us a day -- no, not even an hour before your +departure?" + +"My carriage is at the door, madame, and I must be in Rome +in five days." + +"But does Maximilian go to Rome?" exclaimed Emmanuel. + +"I am going wherever it may please the count to take me," +said Morrel, with a smile full of grief; "I am under his +orders for the next month." + +"Oh, heavens, how strangely he expresses himself, count!" +said Julie. + +"Maximilian goes with me," said the count, in his kindest +and most persuasive manner; "therefore do not make yourself +uneasy on your brother's account." + +"Once more farewell, my dear sister; Emmanuel, adieu!" +Morrel repeated. + +"His carelessness and indifference touch me to the heart," +said Julie. "Oh, Maximilian, Maximilian, you are certainly +concealing something from us." + +"Pshaw!" said Monte Cristo, "you will see him return to you +gay, smiling, and joyful." + +Maximilian cast a look of disdain, almost of anger, on the +count. + +"We must leave you," said Monte Cristo. + +"Before you quit us, count," said Julie, "will you permit us +to express to you all that the other day" -- + +"Madame," interrupted the count, taking her two hands in +his, "all that you could say in words would never express +what I read in your eyes; the thoughts of your heart are +fully understood by mine. Like benefactors in romances, I +should have left you without seeing you again, but that +would have been a virtue beyond my strength, because I am a +weak and vain man, fond of the tender, kind, and thankful +glances of my fellow-creatures. On the eve of departure I +carry my egotism so far as to say, `Do not forget me, my +kind friends, for probably you will never see me again.'" + +"Never see you again?" exclaimed Emmanuel, while two large +tears rolled down Julie's cheeks, "never behold you again? +It is not a man, then, but some angel that leaves us, and +this angel is on the point of returning to heaven after +having appeared on earth to do good." + +"Say not so," quickly returned Monte Cristo -- "say not so, +my friends; angels never err, celestial beings remain where +they wish to be. Fate is not more powerful than they; it is +they who, on the contrary, overcome fate. No, Emmanuel, I am +but a man, and your admiration is as unmerited as your words +are sacrilegious." And pressing his lips on the hand of +Julie, who rushed into his arms, he extended his other hand +to Emmanuel; then tearing himself from this abode of peace +and happiness, he made a sign to Maximilian, who followed +him passively, with the indifference which had been +perceptible in him ever since the death of Valentine had so +stunned him. "Restore my brother to peace and happiness," +whispered Julie to Monte Cristo. And the count pressed her +hand in reply, as he had done eleven years before on the +staircase leading to Morrel's study. + +"You still confide, then, in Sinbad the Sailor?" asked he, +smiling. + +"Oh, yes," was the ready answer. + +"Well, then, sleep in peace, and put your trust in heaven." +As we have before said, the postchaise was waiting; four +powerful horses were already pawing the ground with +impatience, while Ali, apparently just arrived from a long +walk, was standing at the foot of the steps, his face bathed +in perspiration. "Well," asked the count in Arabic, "have +you been to see the old man?" Ali made a sign in the +affirmative. + +"And have you placed the letter before him, as I ordered you +to do?" + +The slave respectfully signalized that he had. "And what did +he say, or rather do?" Ali placed himself in the light, so +that his master might see him distinctly, and then imitating +in his intelligent manner the countenance of the old man, he +closed his eyes, as Noirtier was in the custom of doing when +saying "Yes." + +"Good; he accepts," said Monte Cristo. "Now let us go." + +These words had scarcely escaped him, when the carriage was +on its way, and the feet of the horses struck a shower of +sparks from the pavement. Maximilian settled himself in his +corner without uttering a word. Half an hour had passed when +the carriage stopped suddenly; the count had just pulled the +silken check-string, which was fastened to Ali's finger. The +Nubian immediately descended and opened the carriage door. +It was a lovely starlight night -- they had just reached the +top of the hill Villejuif, from whence Paris appears like a +sombre sea tossing its millions of phosphoric waves into +light -- waves indeed more noisy, more passionate, more +changeable, more furious, more greedy, than those of the +tempestuous ocean, -- waves which never rest as those of the +sea sometimes do, -- waves ever dashing, ever foaming, ever +ingulfing what falls within their grasp. The count stood +alone, and at a sign from his hand, the carriage went on for +a short distance. With folded arms, he gazed for some time +upon the great city. When he had fixed his piercing look on +this modern Babylon, which equally engages the contemplation +of the religious enthusiast, the materialist, and the +scoffer, -- "Great city," murmured he, inclining his head, +and joining his hands as if in prayer, "less than six months +have elapsed since first I entered thy gates. I believe that +the Spirit of God led my steps to thee and that he also +enables me to quit thee in triumph; the secret cause of my +presence within thy walls I have confided alone to him who +only has had the power to read my heart. God only knows that +I retire from thee without pride or hatred, but not without +many regrets; he only knows that the power confided to me +has never been made subservient to my personal good or to +any useless cause. Oh, great city, it is in thy palpitating +bosom that I have found that which I sought; like a patient +miner, I have dug deep into thy very entrails to root out +evil thence. Now my work is accomplished, my mission is +terminated, now thou canst neither afford me pain nor +pleasure. Adieu, Paris, adieu!" + +His look wandered over the vast plain like that of some +genius of the night; he passed his hand over his brow, got +into the carriage, the door was closed on him, and the +vehicle quickly disappeared down the other side of the hill +in a whirlwind of noise and dust. + +Ten leagues were passed and not a single word was uttered. + +Morrel was dreaming, and Monte Cristo was looking at the +dreamer. + +"Morrel," said the count to him at length, "do you repent +having followed me?" + +"No, count; but to leave Paris" -- + +"If I thought happiness might await you in Paris, Morrel, I +would have left you there." + +"Valentine reposes within the walls of Paris, and to leave +Paris is like losing her a second time." + +"Maximilian," said the count, "the friends that we have lost +do not repose in the bosom of the earth, but are buried deep +in our hearts, and it has been thus ordained that we may +always be accompanied by them. I have two friends, who in +this way never depart from me; the one who gave me being, +and the other who conferred knowledge and intelligence on +me. Their spirits live in me. I consult them when doubtful, +and if I ever do any good, it is due to their beneficent +counsels. Listen to the voice of your heart, Morrel, and ask +it whether you ought to preserve this melancholy exterior +towards me." + +"My friend," said Maximilian, "the voice of my heart is very +sorrowful, and promises me nothing but misfortune." + +"It is the way of weakened minds to see everything through a +black cloud. The soul forms its own horizons; your soul is +darkened, and consequently the sky of the future appears +stormy and unpromising." + +"That may possibly be true," said Maximilian, and he again +subsided into his thoughtful mood. + +The journey was performed with that marvellous rapidity +which the unlimited power of the count ever commanded. Towns +fled from them like shadows on their path, and trees shaken +by the first winds of autumn seemed like giants madly +rushing on to meet them, and retreating as rapidly when once +reached. The following morning they arrived at Chalons, +where the count's steamboat waited for them. Without the +loss of an instant, the carriage was placed on board and the +two travellers embarked without delay. The boat was built +for speed; her two paddle-wheels were like two wings with +which she skimmed the water like a bird. Morrel was not +insensible to that sensation of delight which is generally +experienced in passing rapidly through the air, and the wind +which occasionally raised the hair from his forehead seemed +on the point of dispelling momentarily the clouds collected +there. + +As the distance increased between the travellers and Paris, +almost superhuman serenity appeared to surround the count; +he might have been taken for an exile about to revisit his +native land. Ere long Marseilles presented herself to view, +-- Marseilles, white, fervid, full of life and energy, -- +Marseilles, the younger sister of Tyre and Carthage, the +successor to them in the empire of the Mediterranean, -- +Marseilles, old, yet always young. Powerful memories were +stirred within them by the sight of the round tower, Fort +Saint-Nicolas, the City Hall designed by Puget,* the port +with its brick quays, where they had both played in +childhood, and it was with one accord that they stopped on +the Cannebiere. A vessel was setting sail for Algiers, on +board of which the bustle usually attending departure +prevailed. The passengers and their relations crowded on the +deck, friends taking a tender but sorrowful leave of each +other, some weeping, others noisy in their grief, the whole +forming a spectacle that might be exciting even to those who +witnessed similar sights daily, but which had no power to +disturb the current of thought that had taken possession of +the mind of Maximilian from the moment he had set foot on +the broad pavement of the quay. + +* Pierre Puget, the sculptor-architect, was born at +Marseilles in 1622. + +"Here," said he, leaning heavily on the arm of Monte Cristo, +-- "here is the spot where my father stopped, when the +Pharaon entered the port; it was here that the good old man, +whom you saved from death and dishonor, threw himself into +my arms. I yet feel his warm tears on my face, and his were +not the only tears shed, for many who witnessed our meeting +wept also." Monte Cristo gently smiled and said, -- "I was +there;" at the same time pointing to the corner of a street. +As he spoke, and in the very direction he indicated, a +groan, expressive of bitter grief, was heard, and a woman +was seen waving her hand to a passenger on board the vessel +about to sail. Monte Cristo looked at her with an emotion +that must have been remarked by Morrel had not his eyes been +fixed on the vessel. + +"Oh, heavens!" exclaimed Morrel, "I do not deceive myself -- +that young man who is waving his hat, that youth in the +uniform of a lieutenant, is Albert de Morcerf!" + +"Yes," said Monte Cristo, "I recognized him." + +"How so? -- you were looking the other way." the count +smiled, as he was in the habit of doing when he did not want +to make any reply, and he again turned towards the veiled +woman, who soon disappeared at the corner of the street. +Turning to his friend, -- "Dear Maximilian," said the count, +"have you nothing to do in this land?" + +"I have to weep over the grave of my father," replied Morrel +in a broken voice. + +"Well, then, go, -- wait for me there, and I will soon join +you." + +"You leave me, then?" + +"Yes; I also have a pious visit to pay." + +Morrel allowed his hand to fall into that which the count +extended to him; then with an inexpressibly sorrowful +inclination of the head he quitted the count and bent his +steps to the east of the city. Monte Cristo remained on the +same spot until Maximilian was out of sight; he then walked +slowly towards the Allees de Meillan to seek out a small +house with which our readers were made familiar at the +beginning of this story. It yet stood, under the shade of +the fine avenue of lime-trees, which forms one of the most +frequent walks of the idlers of Marseilles, covered by an +immense vine, which spreads its aged and blackened branches +over the stone front, burnt yellow by the ardent sun of the +south. Two stone steps worn away by the friction of many +feet led to the door, which was made of three planks; the +door had never been painted or varnished, so great cracks +yawned in it during the dry season to close again when the +rains came on. The house, with all its crumbling antiquity +and apparent misery, was yet cheerful and picturesque, and +was the same that old Dantes formerly inhabited -- the only +difference being that the old man occupied merely the +garret, while the whole house was now placed at the command +of Mercedes by the count. + +The woman whom the count had seen leave the ship with so +much regret entered this house; she had scarcely closed the +door after her when Monte Cristo appeared at the corner of a +street, so that he found and lost her again almost at the +same instant. The worn out steps were old acquaintances of +his; he knew better than any one else how to open that +weather-beaten door with the large headed nail which served +to raise the latch within. He entered without knocking, or +giving any other intimation of his presence, as if he had +been a friend or the master of the place. At the end of a +passage paved with bricks, was a little garden, bathed in +sunshine, and rich in warmth and light. In this garden +Mercedes had found, at the place indicated by the count, the +sum of money which he, through a sense of delicacy, had +described as having been placed there twenty-four years +previously. The trees of the garden were easily seen from +the steps of the street-door. Monte Cristo, on stepping into +the house, heard a sigh that was almost a deep sob; he +looked in the direction whence it came, and there under an +arbor of Virginia jessamine,* with its thick foliage and +beautiful long purple flowers, he saw Mercedes seated, with +her head bowed, and weeping bitterly. She had raised her +veil, and with her face hidden by her hands was giving free +scope to the sighs and tears which had been so long +restrained by the presence of her son. Monte Cristo advanced +a few steps, which were heard on the gravel. Mercedes raised +her head, and uttered a cry of terror on beholding a man +before her. + +* The Carolina -- not Virginia -- jessamine, gelsemium +sempervirens (properly speaking not a jessamine at all) has +yellow blossoms. The reference is no doubt to the Wistaria +frutescens. -- Ed. + +"Madame," said the count, "it is no longer in my power to +restore you to happiness, but I offer you consolation; will +you deign to accept it as coming from a friend?" + +"I am, indeed, most wretched," replied Mercedes. "Alone in +the world, I had but my son, and he has left me!" + +"He possesses a noble heart, madame," replied the count, +"and he has acted rightly. He feels that every man owes a +tribute to his country; some contribute their talents, +others their industry; these devote their blood, those their +nightly labors, to the same cause. Had he remained with you, +his life must have become a hateful burden, nor would he +have participated in your griefs. He will increase in +strength and honor by struggling with adversity, which he +will convert into prosperity. Leave him to build up the +future for you, and I venture to say you will confide it to +safe hands." + +"Oh," replied the wretched woman, mournfully shaking her +head, "the prosperity of which you speak, and which, from +the bottom of my heart, I pray God in his mercy to grant +him, I can never enjoy. The bitter cup of adversity has been +drained by me to the very dregs, and I feel that the grave +is not far distant. You have acted kindly, count, in +bringing me back to the place where I have enjoyed so much +bliss. I ought to meet death on the same spot where +happiness was once all my own." + +"Alas," said Monte Cristo, "your words sear and embitter my +heart, the more so as you have every reason to hate me. I +have been the cause of all your misfortunes; but why do you +pity, instead of blaming me? You render me still more +unhappy" -- + +"Hate you, blame you -- you, Edmond! Hate, reproach, the man +that has spared my son's life! For was it not your fatal and +sanguinary intention to destroy that son of whom M. de +Morcerf was so proud? Oh, look at me closely, and discover +if you can even the semblance of a reproach in me." The +count looked up and fixed his eyes on Mercedes, who arose +partly from her seat and extended both her hands towards +him. "Oh, look at me," continued she, with a feeling of +profound melancholy, "my eyes no longer dazzle by their +brilliancy, for the time has long fled since I used to smile +on Edmond Dantes, who anxiously looked out for me from the +window of yonder garret, then inhabited by his old father. +Years of grief have created an abyss between those days and +the present. I neither reproach you nor hate you, my friend. +Oh, no, Edmond, it is myself that I blame, myself that I +hate! Oh, miserable creature that I am!" cried she, clasping +her hands, and raising her eyes to heaven. "I once possessed +piety, innocence, and love, the three ingredients of the +happiness of angels, and now what am I?" Monte Cristo +approached her, and silently took her hand. "No," said she, +withdrawing it gently -- "no, my friend, touch me not. You +have spared me, yet of all those who have fallen under your +vengeance I was the most guilty. They were influenced by +hatred, by avarice, and by self-love; but I was base, and +for want of courage acted against my judgment. Nay, do not +press my hand, Edmond; you are thinking, I am sure, of some +kind speech to console me, but do not utter it to me, +reserve it for others more worthy of your kindness. See" +(and she exposed her face completely to view) -- "see, +misfortune has silvered my hair, my eyes have shed so many +tears that they are encircled by a rim of purple, and my +brow is wrinkled. You, Edmond, on the contrary, -- you are +still young, handsome, dignified; it is because you have had +faith; because you have had strength, because you have had +trust in God, and God has sustained you. But as for me, I +have been a coward; I have denied God and he has abandoned +me." + +Mercedes burst into tears; her woman's heart was breaking +under its load of memories. Monte Cristo took her hand and +imprinted a kiss on it; but she herself felt that it was a +kiss of no greater warmth than he would have bestowed on the +hand of some marble statue of a saint. "It often happens," +continued she, "that a first fault destroys the prospects of +a whole life. I believed you dead; why did I survive you? +What good has it done me to mourn for you eternally in the +secret recesses of my heart? -- only to make a woman of +thirty-nine look like a woman of fifty. Why, having +recognized you, and I the only one to do so -- why was I +able to save my son alone? Ought I not also to have rescued +the man that I had accepted for a husband, guilty though he +were? Yet I let him die! What do I say? Oh, merciful +heavens, was I not accessory to his death by my supine +insensibility, by my contempt for him, not remembering, or +not willing to remember, that it was for my sake he had +become a traitor and a perjurer? In what am I benefited by +accompanying my son so far, since I now abandon him, and +allow him to depart alone to the baneful climate of Africa? +Oh, I have been base, cowardly, I tell you; I have abjured +my affections, and like all renegades I am of evil omen to +those who surround me!" + +"No, Mercedes," said Monte Cristo, "no; you judge yourself +with too much severity. You are a noble-minded woman, and it +was your grief that disarmed me. Still I was but an agent, +led on by an invisible and offended Deity, who chose not to +withhold the fatal blow that I was destined to hurl. I take +that God to witness, at whose feet I have prostrated myself +daily for the last ten years, that I would have sacrificed +my life to you, and with my life the projects that were +indissolubly linked with it. But -- and I say it with some +pride, Mercedes -- God needed me, and I lived. Examine the +past and the present, and endeavor to dive into futurity, +and then say whether I am not a divine instrument. The most +dreadful misfortunes, the most frightful sufferings, the +abandonment of all those who loved me, the persecution of +those who did not know me, formed the trials of my youth; +when suddenly, from captivity, solitude, misery, I was +restored to light and liberty, and became the possessor of a +fortune so brilliant, so unbounded, so unheard-of, that I +must have been blind not to be conscious that God had +endowed me with it to work out his own great designs. From +that time I looked upon this fortune as something confided +to me for an especial purpose. Not a thought was given to a +life which you once, Mercedes, had the power to render +blissful; not one hour of peaceful calm was mine; but I felt +myself driven on like an exterminating angel. Like +adventurous captains about to embark on some enterprise full +of danger, I laid in my provisions, I loaded my weapons, I +collected every means of attack and defence; I inured my +body to the most violent exercises, my soul to the bitterest +trials; I taught my arm to slay, my eyes to behold +excruciating sufferings, and my mouth to smile at the most +horrid spectacles. Good-natured, confiding, and forgiving as +I had been, I became revengeful, cunning, and wicked, or +rather, immovable as fate. Then I launched out into the path +that was opened to me. I overcame every obstacle, and +reached the goal; but woe to those who stood in my pathway!" + +"Enough," said Mercedes; "enough, Edmond! Believe me, that +she who alone recognized you has been the only one to +comprehend you; and had she crossed your path, and you had +crushed her like glass, still, Edmond, still she must have +admired you! Like the gulf between me and the past, there is +an abyss between you, Edmond, and the rest of mankind; and I +tell you freely that the comparison I draw between you and +other men will ever be one of my greatest tortures. No, +there is nothing in the world to resemble you in worth and +goodness! But we must say farewell, Edmond, and let us +part." + +"Before I leave you, Mercedes, have you no request to make?" +said the count. + +"I desire but one thing in this world, Edmond, -- the +happiness of my son." + +"Pray to the Almighty to spare his life, and I will take +upon myself to promote his happiness." + +"Thank you, Edmond." + +"But have you no request to make for yourself, Mercedes?" + +"For myself I want nothing. I live, as it were, between two +graves. One is that of Edmond Dantes, lost to me long, long +since. He had my love! That word ill becomes my faded lip +now, but it is a memory dear to my heart, and one that I +would not lose for all that the world contains. The other +grave is that of the man who met his death from the hand of +Edmond Dantes. I approve of the deed, but I must pray for +the dead." + +"Your son shall be happy, Mercedes," repeated the count. + +"Then I shall enjoy as much happiness as this world can +possibly confer." + +"But what are your intentions?" + +"To say that I shall live here, like the Mercedes of other +times, gaining my bread by labor, would not be true, nor +would you believe me. I have no longer the strength to do +anything but to spend my days in prayer. However, I shall +have no occasion to work, for the little sum of money buried +by you, and which I found in the place you mentioned, will +be sufficient to maintain me. Rumor will probably be busy +respecting me, my occupations, my manner of living -- that +will signify but little." + +"Mercedes," said the count, "I do not say it to blame you, +but you made an unnecessary sacrifice in relinquishing the +whole of the fortune amassed by M. de Morcerf; half of it at +least by right belonged to you, in virtue of your vigilance +and economy." + +"I perceive what you are intending to propose to me; but I +cannot accept it, Edmond -- my son would not permit it." + +"Nothing shall be done without the full approbation of +Albert de Morcerf. I will make myself acquainted with his +intentions and will submit to them. But if he be willing to +accept my offers, will you oppose them?" + +"You well know, Edmond, that I am no longer a reasoning +creature; I have no will, unless it be the will never to +decide. I have been so overwhelmed by the many storms that +have broken over my head, that I am become passive in the +hands of the Almighty, like a sparrow in the talons of an +eagle. I live, because it is not ordained for me to die. If +succor be sent to me, I will accept it." + +"Ah, madame," said Monte Cristo, "you should not talk thus! +It is not so we should evince our resignation to the will of +heaven; on the contrary, we are all free agents." + +"Alas!" exclaimed Mercedes, "if it were so, if I possessed +free-will, but without the power to render that will +efficacious, it would drive me to despair." Monte Cristo +dropped his head and shrank from the vehemence of her grief. +"Will you not even say you will see me again?" he asked. + +"On the contrary, we shall meet again," said Mercedes, +pointing to heaven with solemnity. "I tell you so to prove +to you that I still hope." And after pressing her own +trembling hand upon that of the count, Mercedes rushed up +the stairs and disappeared. Monte Cristo slowly left the +house and turned towards the quay. But Mercedes did not +witness his departure, although she was seated at the little +window of the room which had been occupied by old Dantes. +Her eyes were straining to see the ship which was carrying +her son over the vast sea; but still her voice involuntarily +murmured softly, "Edmond, Edmond, Edmond!" + + + +Chapter 113 +The Past. + +The count departed with a sad heart from the house in which +he had left Mercedes, probably never to behold her again. +Since the death of little Edward a great change had taken +place in Monte Cristo. Having reached the summit of his +vengeance by a long and tortuous path, he saw an abyss of +doubt yawning before him. More than this, the conversation +which had just taken place between Mercedes and himself had +awakened so many recollections in his heart that he felt it +necessary to combat with them. A man of the count's +temperament could not long indulge in that melancholy which +can exist in common minds, but which destroys superior ones. +He thought he must have made an error in his calculations if +he now found cause to blame himself. + +"I cannot have deceived myself," he said; "I must look upon +the past in a false light. What!" he continued, "can I have +been following a false path? -- can the end which I proposed +be a mistaken end? -- can one hour have sufficed to prove to +an architect that the work upon which he founded all his +hopes was an impossible, if not a sacrilegious, undertaking? +I cannot reconcile myself to this idea -- it would madden +me. The reason why I am now dissatisfied is that I have not +a clear appreciation of the past. The past, like the country +through which we walk, becomes indistinct as we advance. My +position is like that of a person wounded in a dream; he +feels the wound, though he cannot recollect when he received +it. Come, then, thou regenerate man, thou extravagant +prodigal, thou awakened sleeper, thou all-powerful +visionary, thou invincible millionaire, -- once again review +thy past life of starvation and wretchedness, revisit the +scenes where fate and misfortune conducted, and where +despair received thee. Too many diamonds, too much gold and +splendor, are now reflected by the mirror in which Monte +Cristo seeks to behold Dantes. Hide thy diamonds, bury thy +gold, shroud thy splendor, exchange riches for poverty, +liberty for a prison, a living body for a corpse!" As he +thus reasoned, Monte Cristo walked down the Rue de la +Caisserie. It was the same through which, twenty-four years +ago, he had been conducted by a silent and nocturnal guard; +the houses, to-day so smiling and animated, were on that +night dark, mute, and closed. "And yet they were the same," +murmured Monte Cristo, "only now it is broad daylight +instead of night; it is the sun which brightens the place, +and makes it appear so cheerful." + +He proceeded towards the quay by the Rue Saint-Laurent, and +advanced to the Consigne; it was the point where he had +embarked. A pleasure-boat with striped awning was going by. +Monte Cristo called the owner, who immediately rowed up to +him with the eagerness of a boatman hoping for a good fare. +The weather was magnificent, and the excursion a treat. + +The sun, red and flaming, was sinking into the embrace of +the welcoming ocean. The sea, smooth as crystal, was now and +then disturbed by the leaping of fish, which were pursued by +some unseen enemy and sought for safety in another element; +while on the extreme verge of the horizon might be seen the +fishermen's boats, white and graceful as the sea-gull, or +the merchant vessels bound for Corsica or Spain. + +But notwithstanding the serene sky, the gracefully formed +boats, and the golden light in which the whole scene was +bathed, the Count of Monte Cristo, wrapped in his cloak, +could think only of this terrible voyage, the details of +which were one by one recalled to his memory. The solitary +light burning at the Catalans; that first sight of the +Chateau d'If, which told him whither they were leading him; +the struggle with the gendarmes when he wished to throw +himself overboard; his despair when he found himself +vanquished, and the sensation when the muzzle of the carbine +touched his forehead -- all these were brought before him in +vivid and frightful reality. Like the streams which the heat +of the summer has dried up, and which after the autumnal +storms gradually begin oozing drop by drop, so did the count +feel his heart gradually fill with the bitterness which +formerly nearly overwhelmed Edmond Dantes. Clear sky, +swift-flitting boats, and brilliant sunshine disappeared; +the heavens were hung with black, and the gigantic structure +of the Chateau d'If seemed like the phantom of a mortal +enemy. As they reached the shore, the count instinctively +shrunk to the extreme end of the boat, and the owner was +obliged to call out, in his sweetest tone of voice, "Sir, we +are at the landing." + +Monte Cristo remembered that on that very spot, on the same +rock, he had been violently dragged by the guards, who +forced him to ascend the slope at the points of their +bayonets. The journey had seemed very long to Dantes, but +Monte Cristo found it equally short. Each stroke of the oar +seemed to awaken a new throng of ideas, which sprang up with +the flying spray of the sea. + +There had been no prisoners confined in the Chateau d'If +since the revolution of July; it was only inhabited by a +guard, kept there for the prevention of smuggling. A +concierge waited at the door to exhibit to visitors this +monument of curiosity, once a scene of terror. The count +inquired whether any of the ancient jailers were still +there; but they had all been pensioned, or had passed on to +some other employment. The concierge who attended him had +only been there since 1830. He visited his own dungeon. He +again beheld the dull light vainly endeavoring to penetrate +the narrow opening. His eyes rested upon the spot where had +stood his bed, since then removed, and behind the bed the +new stones indicated where the breach made by the Abbe Faria +had been. Monte Cristo felt his limbs tremble; he seated +himself upon a log of wood. + +"Are there any stories connected with this prison besides +the one relating to the poisoning of Mirabeau?" asked the +count; "are there any traditions respecting these dismal +abodes, -- in which it is difficult to believe men can ever +have imprisoned their fellow-creatures?" + +"Yes, sir; indeed, the jailer Antoine told me one connected +with this very dungeon." + +Monte Cristo shuddered; Antoine had been his jailer. He had +almost forgotten his name and face, but at the mention of +the name he recalled his person as he used to see it, the +face encircled by a beard, wearing the brown jacket, the +bunch of keys, the jingling of which he still seemed to +hear. The count turned around, and fancied he saw him in the +corridor, rendered still darker by the torch carried by the +concierge. "Would you like to hear the story, sir?" + +"Yes; relate it," said Monte Cristo, pressing his hand to +his heart to still its violent beatings; he felt afraid of +hearing his own history. + +"This dungeon," said the concierge, "was, it appears, some +time ago occupied by a very dangerous prisoner, the more so +since he was full of industry. Another person was confined +in the Chateau at the same time, but he was not wicked, he +was only a poor mad priest." + +"Ah, indeed? -- mad!" repeated Monte Cristo; "and what was +his mania?" + +"He offered millions to any one who would set him at +liberty." + +Monte Cristo raised his eyes, but he could not see the +heavens; there was a stone veil between him and the +firmament. He thought that there had been no less thick a +veil before the eyes of those to whom Faria offered the +treasures. "Could the prisoners see each other?" he asked. + +"Oh, no, sir, it was expressly forbidden; but they eluded +the vigilance of the guards, and made a passage from one +dungeon to the other." + +"And which of them made this passage?" + +"Oh, it must have been the young man, certainly, for he was +strong and industrious, while the abbe was aged and weak; +besides, his mind was too vacillating to allow him to carry +out an idea." + +"Blind fools!" murmured the count. + +"However, be that as it may, the young man made a tunnel, +how or by what means no one knows; but he made it, and there +is the evidence yet remaining of his work. Do you see it?" +and the man held the torch to the wall. + +"Ah, yes; I see," said the count, in a voice hoarse from +emotion. + +"The result was that the two men communicated with one +another; how long they did so, nobody knows. One day the old +man fell ill and died. Now guess what the young one did?" + +"Tell me." + +"He carried off the corpse, which he placed in his own bed +with its face to the wall; then he entered the empty +dungeon, closed the entrance, and slipped into the sack +which had contained the dead body. Did you ever hear of such +an idea?" Monte Cristo closed his eyes, and seemed again to +experience all the sensations he had felt when the coarse +canvas, yet moist with the cold dews of death, had touched +his face. The jailer continued: "Now this was his project. +He fancied that they buried the dead at the Chateau d'If, +and imagining they would not expend much labor on the grave +of a prisoner, he calculated on raising the earth with his +shoulders, but unfortunately their arrangements at the +Chateau frustrated his projects. They never buried the dead; +they merely attached a heavy cannon-ball to the feet, and +then threw them into the sea. This is what was done. The +young man was thrown from the top of the rock; the corpse +was found on the bed next day, and the whole truth was +guessed, for the men who performed the office then mentioned +what they had not dared to speak of before, that at the +moment the corpse was thrown into the deep, they heard a +shriek, which was almost immediately stifled by the water in +which it disappeared." The count breathed with difficulty; +the cold drops ran down his forehead, and his heart was full +of anguish. + +"No," he muttered, "the doubt I felt was but the +commencement of forgetfulness; but here the wound reopens, +and the heart again thirsts for vengeance. And the +prisoner," he continued aloud, "was he ever heard of +afterwards?" + +"Oh, no; of course not. You can understand that one of two +things must have happened; he must either have fallen flat, +in which case the blow, from a height of ninety feet, must +have killed him instantly, or he must have fallen upright, +and then the weight would have dragged him to the bottom, +where he remained -- poor fellow!" + +"Then you pity him?" said the count. + +"Ma foi, yes; though he was in his own element." + +"What do you mean?" + +"The report was that he had been a naval officer, who had +been confined for plotting with the Bonapartists." + +"Great is truth," muttered the count, "fire cannot burn, nor +water drown it! Thus the poor sailor lives in the +recollection of those who narrate his history; his terrible +story is recited in the chimney-corner, and a shudder is +felt at the description of his transit through the air to be +swallowed by the deep." Then, the count added aloud, "Was +his name ever known?" + +"Oh, yes; but only as No. 34." + +"Oh, Villefort, Villefort," murmured the count, "this scene +must often have haunted thy sleepless hours!" + +"Do you wish to see anything more, sir?" said the concierge. + +"Yes, especially if you will show me the poor abbe's room." + +"Ah -- No. 27." + +"Yes; No. 27." repeated the count, who seemed to hear the +voice of the abbe answering him in those very words through +the wall when asked his name. + +"Come, sir." + +"Wait," said Monte Cristo, "I wish to take one final glance +around this room." + +"This is fortunate," said the guide; "I have forgotten the +other key." + +"Go and fetch it." + +"I will leave you the torch, sir." + +"No, take it away; I can see in the dark." + +"Why, you are like No. 34. They said he was so accustomed to +darkness that he could see a pin in the darkest corner of +his dungeon." + +"He spent fourteen years to arrive at that," muttered the +count. + +The guide carried away the torch. The count had spoken +correctly. Scarcely had a few seconds elapsed, ere he saw +everything as distinctly as by daylight. Then he looked +around him, and really recognized his dungeon. + +"Yes," he said, "there is the stone upon which I used to +sit; there is the impression made by my shoulders on the +wall; there is the mark of my blood made when one day I +dashed my head against the wall. Oh, those figures, how well +I remember them! I made them one day to calculate the age of +my father, that I might know whether I should find him still +living, and that of Mercedes, to know if I should find her +still free. After finishing that calculation, I had a +minute's hope. I did not reckon upon hunger and infidelity!" +and a bitter laugh escaped the count. He saw in fancy the +burial of his father, and the marriage of Mercedes. On the +other side of the dungeon he perceived an inscription, the +white letters of which were still visible on the green wall. +"`O God,'" he read, "`preserve my memory!' Oh, yes," he +cried, "that was my only prayer at last; I no longer begged +for liberty, but memory; I dreaded to become mad and +forgetful. O God, thou hast preserved my memory; I thank +thee, I thank thee!" At this moment the light of the torch +was reflected on the wall; the guide was coming; Monte +Cristo went to meet him. + +"Follow me, sir;" and without ascending the stairs the guide +conducted him by a subterraneous passage to another +entrance. There, again, Monte Cristo was assailed by a +multitude of thoughts. The first thing that met his eye was +the meridian, drawn by the abbe on the wall, by which he +calculated the time; then he saw the remains of the bed on +which the poor prisoner had died. The sight of this, instead +of exciting the anguish experienced by the count in the +dungeon, filled his heart with a soft and grateful +sentiment, and tears fell from his eyes. + +"This is where the mad abbe was kept, sir, and that is where +the young man entered; "and the guide pointed to the +opening, which had remained unclosed. "From the appearance +of the stone," he continued, "a learned gentleman discovered +that the prisoners might have communicated together for ten +years. Poor things! Those must have been ten weary years." + +Dantes took some louis from his pocket, and gave them to the +man who had twice unconsciously pitied him. The guide took +them, thinking them merely a few pieces of little value; but +the light of the torch revealed their true worth. "Sir," he +said, "you have made a mistake; you have given me gold." + +"I know it." The concierge looked upon the count with +surprise. "Sir," he cried, scarcely able to believe his good +fortune -- "sir, I cannot understand your generosity!" + +"Oh, it is very simple, my good fellow; I have been a +sailor, and your story touched me more than it would +others." + +"Then, sir, since you are so liberal, I ought to offer you +something." + +"What have you to offer to me, my friend? Shells? +Straw-work? Thank you!" + +"No, sir, neither of those; something connected with this +story." + +"Really? What is it?" + +"Listen," said the guide; "I said to myself, `Something is +always left in a cell inhabited by one prisoner for fifteen +years,' so I began to sound the wall." + +"Ah," cried Monte Cristo, remembering the abbe's two +hiding-places. + +"After some search, I found that the floor gave a hollow +sound near the head of the bed, and at the hearth." + +"Yes," said the count, "yes." + +"I raised the stones, and found" -- + +"A rope-ladder and some tools?" + +"How do you know that?" asked the guide in astonishment. + +"I do not know -- I only guess it, because that sort of +thing is generally found in prisoners' cells." + +"Yes, sir, a rope-ladder and tools." + +"And have you them yet?" + +"No, sir; I sold them to visitors, who considered them great +curiosities; but I have still something left." + +"What is it?" asked the count, impatiently. + +"A sort of book, written upon strips of cloth." + +"Go and fetch it, my good fellow; and if it be what I hope, +you will do well." + +"I will run for it, sir;" and the guide went out. Then the +count knelt down by the side of the bed, which death had +converted into an altar. "Oh, second father," he exclaimed, +"thou who hast given me liberty, knowledge, riches; thou +who, like beings of a superior order to ourselves, couldst +understand the science of good and evil; if in the depths of +the tomb there still remain something within us which can +respond to the voice of those who are left on earth; if +after death the soul ever revisit the places where we have +lived and suffered, -- then, noble heart, sublime soul, then +I conjure thee by the paternal love thou didst bear me, by +the filial obedience I vowed to thee, grant me some sign, +some revelation! Remove from me the remains of doubt, which, +if it change not to conviction, must become remorse!" The +count bowed his head, and clasped his hands together. + +"Here, sir," said a voice behind him. + +Monte Cristo shuddered, and arose. The concierge held out +the strips of cloth upon which the Abbe Faria had spread the +riches of his mind. The manuscript was the great work by the +Abbe Faria upon the kingdoms of Italy. The count seized it +hastily, his eyes immediately fell upon the epigraph, and he +read, "`Thou shalt tear out the dragons' teeth, and shall +trample the lions under foot, saith the Lord.'" + +"Ah," he exclaimed, "here is my answer. Thanks, father, +thanks." And feeling in his pocket, he took thence a small +pocket-book, which contained ten bank-notes, each of 1,000 +francs. + +"Here," he said, "take this pocket-book." + +"Do you give it to me?" + +"Yes; but only on condition that you will not open it till I +am gone;" and placing in his breast the treasure he had just +found, which was more valuable to him than the richest +jewel, he rushed out of the corridor, and reaching his boat, +cried, "To Marseilles!" Then, as he departed, he fixed his +eyes upon the gloomy prison. "Woe," he cried, "to those who +confined me in that wretched prison; and woe to those who +forgot that I was there!" As he repassed the Catalans, the +count turned around and burying his head in his cloak +murmured the name of a woman. The victory was complete; +twice he had overcome his doubts. The name he pronounced, in +a voice of tenderness, amounting almost to love, was that of +Haidee. + +On landing, the count turned towards the cemetery, where he +felt sure of finding Morrel. He, too, ten years ago, had +piously sought out a tomb, and sought it vainly. He, who +returned to France with millions, had been unable to find +the grave of his father, who had perished from hunger. +Morrel had indeed placed a cross over the spot, but it had +fallen down and the grave-digger had burnt it, as he did all +the old wood in the churchyard. The worthy merchant had been +more fortunate. Dying in the arms of his children, he had +been by them laid by the side of his wife, who had preceded +him in eternity by two years. Two large slabs of marble, on +which were inscribed their names, were placed on either side +of a little enclosure, railed in, and shaded by four +cypress-trees. Morrel was leaning against one of these, +mechanically fixing his eyes on the graves. His grief was so +profound that he was nearly unconscious. "Maximilian," said +the count, "you should not look on the graves, but there;" +and he pointed upwards. + +"The dead are everywhere," said Morrel; "did you not +yourself tell me so as we left Paris?" + +"Maximilian," said the count, "you asked me during the +journey to allow you to remain some days at Marseilles. Do +you still wish to do so?" + +"I have no wishes, count; only I fancy I could pass the time +less painfully here than anywhere else." + +"So much the better, for I must leave you; but I carry your +word with me, do I not?" + +"Ah, count, I shall forget it." + +"No, you will not forget it, because you are a man of honor, +Morrel, because you have taken an oath, and are about to do +so again." + +"Oh, count, have pity upon me. I am so unhappy." + +"I have known a man much more unfortunate than you, Morrel." + +"Impossible!" + +"Alas," said Monte Cristo, "it is the infirmity of our +nature always to believe ourselves much more unhappy than +those who groan by our sides!" + +"What can be more wretched than the man who has lost all he +loved and desired in the world?" + +"Listen, Morrel, and pay attention to what I am about to +tell you. I knew a man who like you had fixed all his hopes +of happiness upon a woman. He was young, he had an old +father whom he loved, a betrothed bride whom he adored. He +was about to marry her, when one of the caprices of fate, -- +which would almost make us doubt the goodness of providence, +if that providence did not afterwards reveal itself by +proving that all is but a means of conducting to an end, -- +one of those caprices deprived him of his mistress, of the +future of which he had dreamed (for in his blindness he +forgot he could only read the present), and cast him into a +dungeon." + +"Ah," said Morrel, "one quits a dungeon in a week, a month, +or a year." + +"He remained there fourteen years, Morrel," said the count, +placing his hand on the young man's shoulder. Maximilian +shuddered. + +"Fourteen years!" he muttered -- "Fourteen years!" repeated +the count. "During that time he had many moments of despair. +He also, Morrel, like you, considered himself the unhappiest +of men." + +"Well?" asked Morrel. + +"Well, at the height of his despair God assisted him through +human means. At first, perhaps, he did not recognize the +infinite mercy of the Lord, but at last he took patience and +waited. One day he miraculously left the prison, +transformed, rich, powerful. His first cry was for his +father; but that father was dead." + +"My father, too, is dead," said Morrel. + +"Yes; but your father died in your arms, happy, respected, +rich, and full of years; his father died poor, despairing, +almost doubtful of providence; and when his son sought his +grave ten years afterwards, his tomb had disappeared, and no +one could say, `There sleeps the father you so well loved.'" + +"Oh!" exclaimed Morrel. + +"He was, then, a more unhappy son than you, Morrel, for he +could not even find his father's grave." + +"But then he had the woman he loved still remaining?" + +"You are deceived, Morrel, that woman" -- + +"She was dead?" + +"Worse than that, she was faithless, and had married one of +the persecutors of her betrothed. You see, then, Morrel, +that he was a more unhappy lover than you." + +"And has he found consolation?" + +"He has at least found peace." + +"And does he ever expect to be happy?" + +"He hopes so, Maximilian." The young man's head fell on his +breast. + +"You have my promise," he said, after a minute's pause, +extending his hand to Monte Cristo. "Only remember" -- + +"On the 5th of October, Morrel, I shall expect you at the +Island of Monte Cristo. On the 4th a yacht will wait for you +in the port of Bastia, it will be called the Eurus. You will +give your name to the captain, who will bring you to me. It +is understood -- is it not?" + +"But, count, do you remember that the 5th of October" -- + +"Child," replied the count, "not to know the value of a +man's word! I have told you twenty times that if you wish to +die on that day, I will assist you. Morrel, farewell!" + +"Do you leave me?" + +"Yes; I have business in Italy. I leave you alone with your +misfortunes, and with hope, Maximilian." + +"When do you leave?" + +"Immediately; the steamer waits, and in an hour I shall be +far from you. Will you accompany me to the harbor, +Maximilian?" + +"I am entirely yours, count." Morrel accompanied the count +to the harbor. The white steam was ascending like a plume of +feathers from the black chimney. The steamer soon +disappeared, and in an hour afterwards, as the count had +said, was scarcely distinguishable in the horizon amidst the +fogs of the night. + + + +Chapter 114 +Peppino. + +At the same time that the steamer disappeared behind Cape +Morgion, a man travelling post on the road from Florence to +Rome had just passed the little town of Aquapendente. He was +travelling fast enough to cover a great deal of ground +without exciting suspicion. This man was dressed in a +greatcoat, or rather a surtout, a little worse for the +journey, but which exhibited the ribbon of the Legion of +Honor still fresh and brilliant, a decoration which also +ornamented the under coat. He might be recognized, not only +by these signs, but also from the accent with which he spoke +to the postilion, as a Frenchman. Another proof that he was +a native of the universal country was apparent in the fact +of his knowing no other Italian words than the terms used in +music, and which like the "goddam" of Figaro, served all +possible linguistic requirements. "Allegro!" he called out +to the postilions at every ascent. "Moderato!" he cried as +they descended. And heaven knows there are hills enough +between Rome and Florence by the way of Aquapendente! These +two words greatly amused the men to whom they were +addressed. On reaching La Storta, the point from whence Rome +is first visible, the traveller evinced none of the +enthusiastic curiosity which usually leads strangers to +stand up and endeavor to catch sight of the dome of St. +Peter's, which may be seen long before any other object is +distinguishable. No, he merely drew a pocketbook from his +pocket, and took from it a paper folded in four, and after +having examined it in a manner almost reverential, he said +-- "Good! I have it still!" + +The carriage entered by the Porto del Popolo, turned to the +left, and stopped at the Hotel d'Espagne. Old Pastrini, our +former acquaintance, received the traveller at the door, hat +in hand. The traveller alighted, ordered a good dinner, and +inquired the address of the house of Thomson & French, which +was immediately given to him, as it was one of the most +celebrated in Rome. It was situated in the Via dei Banchi, +near St. Peter's. In Rome, as everywhere else, the arrival +of a post-chaise is an event. Ten young descendants of +Marius and the Gracchi, barefooted and out at elbows, with +one hand resting on the hip and the other gracefully curved +above the head, stared at the traveller, the post-chaise, +and the horses; to these were added about fifty little +vagabonds from the Papal States, who earned a pittance by +diving into the Tiber at high water from the bridge of St. +Angelo. Now, as these street Arabs of Rome, more fortunate +than those of Paris, understand every language, more +especially the French, they heard the traveller order an +apartment, a dinner, and finally inquire the way to the +house of Thomson & French. The result was that when the +new-comer left the hotel with the cicerone, a man detached +himself from the rest of the idlers, and without having been +seen by the traveller, and appearing to excite no attention +from the guide, followed the stranger with as much skill as +a Parisian police agent would have used. + +The Frenchman had been so impatient to reach the house of +Thomson & French that he would not wait for the horses to be +harnessed, but left word for the carriage to overtake him on +the road, or to wait for him at the bankers' door. He +reached it before the carriage arrived. The Frenchman +entered, leaving in the anteroom his guide, who immediately +entered into conversation with two or three of the +industrious idlers who are always to be found in Rome at the +doors of banking-houses, churches, museums, or theatres. +With the Frenchman, the man who had followed him entered +too; the Frenchman knocked at the inner door, and entered +the first room; his shadow did the same. + +"Messrs. Thomson & French?" inquired the stranger. + +An attendant arose at a sign from a confidential clerk at +the first desk. "Whom shall I announce?" said the attendant. + +"Baron Danglars." + +"Follow me," said the man. A door opened, through which the +attendant and the baron disappeared. The man who had +followed Danglars sat down on a bench. The clerk continued +to write for the next five minutes; the man preserved +profound silence, and remained perfectly motionless. Then +the pen of the clerk ceased to move over the paper; he +raised his head, and appearing to be perfectly sure of +privacy, -- "Ah, ha," he said, "here you are, Peppino!" + +"Yes," was the laconic reply. "You have found out that there +is something worth having about this large gentleman?" + +"There is no great merit due to me, for we were informed of +it." + +"You know his business here, then." + +"Pardieu, he has come to draw, but I don't know how much!" + +"You will know presently, my friend." + +"Very well, only do not give me false information as you did +the other day." + +"What do you mean? -- of whom do you speak? Was it the +Englishman who carried off 3,000 crowns from here the other +day?" + +"No; he really had 3,000 crowns, and we found them. I mean +the Russian prince, who you said had 30,000 livres, and we +only found 22,000." + +"You must have searched badly." + +"Luigi Vampa himself searched." + +"Indeed? But you must let me make my observations, or the +Frenchman will transact his business without my knowing the +sum." Peppino nodded, and taking a rosary from his pocket +began to mutter a few prayers while the clerk disappeared +through the same door by which Danglars and the attendant +had gone out. At the expiration of ten minutes the clerk +returned with a beaming countenance. "Well?" asked Peppino +of his friend. + +"Joy, joy -- the sum is large!" + +"Five or six millions, is it not?" + +"Yes, you know the amount." + +"On the receipt of the Count of Monte Cristo?" + +"Why, how came you to be so well acquainted with all this?" + +"I told you we were informed beforehand." + +"Then why do you apply to me?" + +"That I may be sure I have the right man." + +"Yes, it is indeed he. Five millions -- a pretty sum, eh, +Peppino?" + +"Hush -- here is our man!" The clerk seized his pen, and +Peppino his beads; one was writing and the other praying +when the door opened. Danglars looked radiant with joy; the +banker accompanied him to the door. Peppino followed +Danglars. + +According to the arrangements, the carriage was waiting at +the door. The guide held the door open. Guides are useful +people, who will turn their hands to anything. Danglars +leaped into the carriage like a young man of twenty. The +cicerone reclosed the door, and sprang up by the side of the +coachman. Peppino mounted the seat behind. + +"Will your excellency visit St. Peter's?" asked the +cicerone. + +"I did not come to Rome to see," said Danglars aloud; then +he added softly, with an avaricious smile, "I came to +touch!" and he rapped his pocket-book, in which he had just +placed a letter. + +"Then your excellency is going" -- + +"To the hotel." + +"Casa Pastrini!" said the cicerone to the coachman, and the +carriage drove rapidly on. Ten minutes afterwards the baron +entered his apartment, and Peppino stationed himself on the +bench outside the door of the hotel, after having whispered +something in the ear of one of the descendants of Marius and +the Gracchi whom we noticed at the beginning of the chapter, +who immediately ran down the road leading to the Capitol at +his fullest speed. Danglars was tired and sleepy; he +therefore went to bed, placing his pocketbook under his +pillow. Peppino had a little spare time, so he had a game of +mora with the facchini, lost three crowns, and then to +console himself drank a bottle of Orvieto. + +The next morning Danglars awoke late, though he went to bed +so early; he had not slept well for five or six nights, even +if he had slept at all. He breakfasted heartily, and caring +little, as he said, for the beauties of the Eternal City, +ordered post-horses at noon. But Danglars had not reckoned +upon the formalities of the police and the idleness of the +posting-master. The horses only arrived at two o'clock, and +the cicerone did not bring the passport till three. All +these preparations had collected a number of idlers round +the door of Signor Pastrini's; the descendants of Marius and +the Gracchi were also not wanting. The baron walked +triumphantly through the crowd, who for the sake of gain +styled him "your excellency." As Danglars had hitherto +contented himself with being called a baron, he felt rather +flattered at the title of excellency, and distributed a +dozen silver coins among the beggars, who were ready, for +twelve more, to call him "your highness." + +"Which road?" asked the postilion in Italian. "The Ancona +road," replied the baron. Signor Pastrini interpreted the +question and answer, and the horses galloped off. Danglars +intended travelling to Venice, where he would receive one +part of his fortune, and then proceeding to Vienna, where he +would find the rest, he meant to take up his residence in +the latter town, which he had been told was a city of +pleasure. + +He had scarcely advanced three leagues out of Rome when +daylight began to disappear. Danglars had not intended +starting so late, or he would have remained; he put his head +out and asked the postilion how long it would be before they +reached the next town. "Non capisco" (do not understand), +was the reply. Danglars bent his head, which he meant to +imply, "Very well." The carriage again moved on. "I will +stop at the first posting-house," said Danglars to himself. + +He still felt the same self-satisfaction which he had +experienced the previous evening, and which had procured him +so good a night's rest. He was luxuriously stretched in a +good English calash, with double springs; he was drawn by +four good horses, at full gallop; he knew the relay to be at +a distance of seven leagues. What subject of meditation +could present itself to the banker, so fortunately become +bankrupt? + +Danglars thought for ten minutes about his wife in Paris; +another ten minutes about his daughter travelling with +Mademoiselle d'Armilly; the same period was given to his +creditors, and the manner in which he intended spending +their money; and then, having no subject left for +contemplation, he shut his eyes, and fell asleep. Now and +then a jolt more violent than the rest caused him to open +his eyes; then he felt that he was still being carried with +great rapidity over the same country, thickly strewn with +broken aqueducts, which looked like granite giants petrified +while running a race. But the night was cold, dull, and +rainy, and it was much more pleasant for a traveller to +remain in the warm carriage than to put his head out of the +window to make inquiries of a postilion whose only answer +was "Non capisco." + +Danglars therefore continued to sleep, saying to himself +that he would be sure to awake at the posting-house. The +carriage stopped. Danglars fancied that they had reached the +long-desired point; he opened his eyes and looked through +the window, expecting to find himself in the midst of some +town, or at least village; but he saw nothing except what +seemed like a ruin, where three or four men went and came +like shadows. Danglars waited a moment, expecting the +postilion to come and demand payment with the termination of +his stage. He intended taking advantage of the opportunity +to make fresh inquiries of the new conductor; but the horses +were unharnessed, and others put in their places, without +any one claiming money from the traveller. Danglars, +astonished, opened the door; but a strong hand pushed him +back, and the carriage rolled on. The baron was completely +roused. "Eh?" he said to the postilion, "eh, mio caro?" + +This was another little piece of Italian the baron had +learned from hearing his daughter sing Italian duets with +Cavalcanti. But mio caro did not reply. Danglars then opened +the window. + +"Come, my friend," he said, thrusting his hand through the +opening, "where are we going?" + +"Dentro la testa!" answered a solemn and imperious voice, +accompanied by a menacing gesture. Danglars thought dentro +la testa meant, "Put in your head!" He was making rapid +progress in Italian. He obeyed, not without some uneasiness, +which, momentarily increasing, caused his mind, instead of +being as unoccupied as it was when he began his journey, to +fill with ideas which were very likely to keep a traveller +awake, more especially one in such a situation as Danglars. +His eyes acquired that quality which in the first moment of +strong emotion enables them to see distinctly, and which +afterwards fails from being too much taxed. Before we are +alarmed, we see correctly; when we are alarmed, we see +double; and when we have been alarmed, we see nothing but +trouble. Danglars observed a man in a cloak galloping at the +right hand of the carriage. + +"Some gendarme!" he exclaimed. "Can I have been intercepted +by French telegrams to the pontifical authorities?" He +resolved to end his anxiety. "Where are you taking me?" he +asked. "Dentro la testa," replied the same voice, with the +same menacing accent. + +Danglars turned to the left; another man on horseback was +galloping on that side. "Decidedly," said Danglars, with the +perspiration on his forehead, "I must be under arrest." And +he threw himself back in the calash, not this time to sleep, +but to think. Directly afterwards the moon rose. He then saw +the great aqueducts, those stone phantoms which he had +before remarked, only then they were on the right hand, now +they were on the left. He understood that they had described +a circle, and were bringing him back to Rome. "Oh, +unfortunate!" he cried, "they must have obtained my arrest." +The carriage continued to roll on with frightful speed. An +hour of terror elapsed, for every spot they passed showed +that they were on the road back. At length he saw a dark +mass, against which it seemed as if the carriage was about +to dash; but the vehicle turned to one side, leaving the +barrier behind and Danglars saw that it was one of the +ramparts encircling Rome. + +"Mon dieu!" cried Danglars, "we are not returning to Rome; +then it is not justice which is pursuing me! Gracious +heavens; another idea presents itself -- what if they should +be" -- + +His hair stood on end. He remembered those interesting +stories, so little believed in Paris, respecting Roman +bandits; he remembered the adventures that Albert de Morcerf +had related when it was intended that he should marry +Mademoiselle Eugenie. "They are robbers, perhaps," he +muttered. Just then the carriage rolled on something harder +than gravel road. Danglars hazarded a look on both sides of +the road, and perceived monuments of a singular form, and +his mind now recalled all the details Morcerf had related, +and comparing them with his own situation, he felt sure that +he must be on the Appian Way. On the left, in a sort of +valley, he perceived a circular excavation. It was +Caracalla's circus. On a word from the man who rode at the +side of the carriage, it stopped. At the same time the door +was opened. "Scendi!" exclaimed a commanding voice. Danglars +instantly descended; although he did not yet speak Italian, +he understood it very well. More dead than alive, he looked +around him. Four men surrounded him, besides the postilion. + +"Di qua," said one of the men, descending a little path +leading out of the Appian Way. Danglars followed his guide +without opposition, and had no occasion to turn around to +see whether the three others were following him. Still it +appeared as though they were stationed at equal distances +from one another, like sentinels. After walking for about +ten minutes, during which Danglars did not exchange a single +word with his guide, he found himself between a hillock and +a clump of high weeds; three men, standing silent, formed a +triangle, of which he was the centre. He wished to speak, +but his tongue refused to move. "Avanti!" said the same +sharp and imperative voice. + +This time Danglars had double reason to understand, for if +the word and gesture had not explained the speaker's +meaning, it was clearly expressed by the man walking behind +him, who pushed him so rudely that he struck against the +guide. This guide was our friend Peppino, who dashed into +the thicket of high weeds, through a path which none but +lizards or polecats could have imagined to be an open road. +Peppino stopped before a pit overhung by thick hedges; the +pit, half open, afforded a passage to the young man, who +disappeared like the evil spirits in the fairy tales. The +voice and gesture of the man who followed Danglars ordered +him to do the same. There was no longer any doubt, the +bankrupt was in the hands of Roman banditti. Danglars +acquitted himself like a man placed between two dangerous +positions, and who is rendered brave by fear. +Notwithstanding his large stomach, certainly not intended to +penetrate the fissures of the Campagna, he slid down like +Peppino, and closing his eyes fell upon his feet. As he +touched the ground, he opened his eyes. The path was wide, +but dark. Peppino, who cared little for being recognized now +that he was in his own territories, struck a light and lit a +torch. Two other men descended after Danglars forming the +rearguard, and pushing Danglars whenever he happened to +stop, they came by a gentle declivity to the intersection of +two corridors. The walls were hollowed out in sepulchres, +one above the other, and which seemed in contrast with the +white stones to open their large dark eyes, like those which +we see on the faces of the dead. A sentinel struck the rings +of his carbine against his left hand. "Who comes there?" he +cried. + +"A friend, a friend!" said Peppino; "but where is the +captain?" + +"There," said the sentinel, pointing over his shoulder to a +spacious crypt, hollowed out of the rock, the lights from +which shone into the passage through the large arched +openings. "Fine spoil, captain, fine spoil!" said Peppino in +Italian, and taking Danglars by the collar of his coat he +dragged him to an opening resembling a door, through which +they entered the apartment which the captain appeared to +have made his dwelling-place. + +"Is this the man?" asked the captain, who was attentively +reading Plutarch's "Life of Alexander." + +"Himself, captain -- himself." + +"Very well, show him to me." At this rather impertinent +order, Peppino raised his torch to the face of Danglars, who +hastily withdrew that he might not have his eyelashes burnt. +His agitated features presented the appearance of pale and +hideous terror. "The man is tired," said the captain, +"conduct him to his bed." + +"Oh," murmured Danglars," that bed is probably one of the +coffins hollowed in the wall, and the sleep I shall enjoy +will be death from one of the poniards I see glistening in +the darkness." + +From their beds of dried leaves or wolf-skins at the back of +the chamber now arose the companions of the man who had been +found by Albert de Morcerf reading "Caesar's Commentaries," +and by Danglars studying the "Life of Alexander." The banker +uttered a groan and followed his guide; he neither +supplicated nor exclaimed. He no longer possessed strength, +will, power, or feeling; he followed where they led him. At +length he found himself at the foot of a staircase, and he +mechanically lifted his foot five or six times. Then a low +door was opened before him, and bending his head to avoid +striking his forehead he entered a small room cut out of the +rock. The cell was clean, though empty, and dry, though +situated at an immeasurable distance under the earth. A bed +of dried grass covered with goat-skins was placed in one +corner. Danglars brightened up on beholding it, fancying +that it gave some promise of safety. "Oh, God be praised," +he said; "it is a real bed!" + +"Ecco!" said the guide, and pushing Danglars into the cell, +he closed the door upon him. A bolt grated and Danglars was +a prisoner. If there had been no bolt, it would have been +impossible for him to pass through the midst of the garrison +who held the catacombs of St. Sebastian, encamped round a +master whom our readers must have recognized as the famous +Luigi Vampa. Danglars, too, had recognized the bandit, whose +existence he would not believe when Albert de Morcerf +mentioned him in Paris; and not only did he recognize him, +but the cell in which Albert had been confined, and which +was probably kept for the accommodation of strangers. These +recollections were dwelt upon with some pleasure by +Danglars, and restored him to some degree of tranquillity. +Since the bandits had not despatched him at once, he felt +that they would not kill him at all. They had arrested him +for the purpose of robbery, and as he had only a few louis +about him, he doubted not he would be ransomed. He +remembered that Morcerf had been taxed at 4,000 crowns, and +as he considered himself of much greater importance than +Morcerf he fixed his own price at 8,000 crowns. Eight +thousand crowns amounted to 48,000 livres; he would then +have about 5,050,000 francs left. With this sum he could +manage to keep out of difficulties. Therefore, tolerably +secure in being able to extricate himself from his position, +provided he were not rated at the unreasonable sum of +5,050,000 francs, he stretched himself on his bed, and after +turning over two or three times, fell asleep with the +tranquillity of the hero whose life Luigi Vampa was +studying. + + + +Chapter 115 +Luigi Vampa's Bill of Fare. + +We awake from every sleep except the one dreaded by +Danglars. He awoke. To a Parisian accustomed to silken +curtains, walls hung with velvet drapery, and the soft +perfume of burning wood, the white smoke of which diffuses +itself in graceful curves around the room, the appearance of +the whitewashed cell which greeted his eyes on awakening +seemed like the continuation of some disagreeable dream. But +in such a situation a single moment suffices to change the +strongest doubt into certainty. "Yes, yes," he murmured, "I +am in the hands of the brigands of whom Albert de Morcerf +spoke." His first idea was to breathe, that he might know +whether he was wounded. He borrowed this from "Don Quixote," +the only book he had ever read, but which he still slightly +remembered. + +"No," he cried, "they have not wounded, but perhaps they +have robbed me!" and he thrust his hands into his pockets. +They were untouched; the hundred louis he had reserved for +his journey from Rome to Venice were in his trousers pocket, +and in that of his great-coat he found the little note-case +containing his letter of credit for 5,050,000 francs. +"Singular bandits!" he exclaimed; "they have left me my +purse and pocket-book. As I was saying last night, they +intend me to be ransomed. Hallo, here is my watch! Let me +see what time it is." Danglars' watch, one of Breguet's +repeaters, which he had carefully wound up on the previous +night, struck half past five. Without this, Danglars would +have been quite ignorant of the time, for daylight did not +reach his cell. Should he demand an explanation from the +bandits, or should he wait patiently for them to propose it? +The last alternative seemed the most prudent, so he waited +until twelve o'clock. During all this time a sentinel, who +had been relieved at eight o'clock, had been watching his +door. Danglars suddenly felt a strong inclination to see the +person who kept watch over him. He had noticed that a few +rays, not of daylight, but from a lamp, penetrated through +the ill-joined planks of the door; he approached just as the +brigand was refreshing himself with a mouthful of brandy, +which, owing to the leathern bottle containing it, sent +forth an odor which was extremely unpleasant to Danglars. +"Faugh!" he exclaimed, retreating to the farther corner of +his cell. + +At twelve this man was replaced by another functionary, and +Danglars, wishing to catch sight of his new guardian, +approached the door again. He was an athletic, gigantic +bandit, with large eyes, thick lips, and a flat nose; his +red hair fell in dishevelled masses like snakes around his +shoulders. "Ah, ha," cried Danglars, "this fellow is more +like an ogre than anything else; however, I am rather too +old and tough to be very good eating!" We see that Danglars +was collected enough to jest; at the same time, as though to +disprove the ogreish propensities, the man took some black +bread, cheese, and onions from his wallet, which he began +devouring voraciously. "May I be hanged," said Danglars, +glancing at the bandit's dinner through the crevices of the +door, -- "may I be hanged if I can understand how people can +eat such filth!" and he withdrew to seat himself upon his +goat-skin, which reminded him of the smell of the brandy. + +But the mysteries of nature are incomprehensible, and there +are certain invitations contained in even the coarsest food +which appeal very irresistibly to a fasting stomach. +Danglars felt his own not to be very well supplied just +then, and gradually the man appeared less ugly, the bread +less black, and the cheese more fresh, while those dreadful +vulgar onions recalled to his mind certain sauces and +side-dishes, which his cook prepared in a very superior +manner whenever he said, "Monsieur Deniseau, let me have a +nice little fricassee to-day." He got up and knocked on the +door; the bandit raised his head. Danglars knew that he was +heard, so he redoubled his blows. "Che cosa?" asked the +bandit. "Come, come," said Danglars, tapping his fingers +against the door, "I think it is quite time to think of +giving me something to eat!" But whether he did not +understand him, or whether he had received no orders +respecting the nourishment of Danglars, the giant, without +answering, went on with his dinner. Danglars' feelings were +hurt, and not wishing to put himself under obligations to +the brute, the banker threw himself down again on his +goat-skin and did not breathe another word. + +Four hours passed by and the giant was replaced by another +bandit. Danglars, who really began to experience sundry +gnawings at the stomach, arose softly, again applied his eye +to the crack of the door, and recognized the intelligent +countenance of his guide. It was, indeed, Peppino who was +preparing to mount guard as comfortably as possible by +seating himself opposite to the door, and placing between +his legs an earthen pan, containing chick-pease stewed with +bacon. Near the pan he also placed a pretty little basket of +Villetri grapes and a flask of Orvieto. Peppino was +decidedly an epicure. Danglars watched these preparations +and his mouth watered. "Come," he said to himself, "let me +try if he will be more tractable than the other;" and he +tapped gently at the door. "On y va," (coming) exclaimed +Peppino, who from frequenting the house of Signor Pastrini +understood French perfectly in all its idioms. + +Danglars immediately recognized him as the man who had +called out in such a furious manner, "Put in your head!" But +this was not the time for recrimination, so he assumed his +most agreeable manner and said with a gracious smile, -- +"Excuse me, sir, but are they not going to give me any +dinner?" + +"Does your excellency happen to be hungry?" + +"Happen to be hungry, -- that's pretty good, when I haven't +eaten for twenty-four hours!" muttered Danglars. Then he +added aloud, "Yes, sir, I am hungry -- very hungry." + +"What would your excellency like?" and Peppino placed his +pan on the ground, so that the steam rose directly under the +nostrils of Danglars. "Give your orders." + +"Have you kitchens here?" + +"Kitchens? -- of course -- complete ones." + +"And cooks?" + +"Excellent!" + +"Well, a fowl, fish, game, -- it signifies little, so that I +eat." + +"As your excellency pleases. You mentioned a fowl, I think?" + +"Yes, a fowl." Peppino, turning around, shouted, "A fowl for +his excellency!" His voice yet echoed in the archway when a +handsome, graceful, and half-naked young man appeared, +bearing a fowl in a silver dish on his head, without the +assistance of his hands. "I could almost believe myself at +the Cafe de Paris," murmured Danglars. + +"Here, your excellency," said Peppino, taking the fowl from +the young bandit and placing it on the worm-eaten table, +which with the stool and the goat-skin bed formed the entire +furniture of the cell. Danglars asked for a knife and fork. +"Here, excellency," said Peppino, offering him a little +blunt knife and a boxwood fork. Danglars took the knife in +one hand and the fork in the other, and was about to cut up +the fowl. "Pardon me, excellency," said Peppino, placing his +hand on the banker's shoulder; "people pay here before they +eat. They might not be satisfied, and" -- + +"Ah, ha," thought Danglars, "this is not so much like Paris, +except that I shall probably be skinned! Never mind, I'll +fix that all right. I have always heard how cheap poultry is +in Italy; I should think a fowl is worth about twelve sous +at Rome. -- There," he said, throwing a louis down. Peppino +picked up the louis, and Danglars again prepared to carve +the fowl. "Stay a moment, your excellency," said Peppino, +rising; "you still owe me something." + +"I said they would skin me," thought Danglars; but resolving +to resist the extortion, he said, "Come, how much do I owe +you for this fowl?" + +"Your excellency has given me a louis on account." + +"A louis on account for a fowl?" + +"Certainly; and your excellency now owes me 4,999 louis." +Danglars opened his enormous eyes on hearing this gigantic +joke. "Come, come, this is very droll -- very amusing -- I +allow; but, as I am very hungry, pray allow me to eat. Stay, +here is another louis for you." + +"Then that will make only 4,998 louis more," said Peppino +with the same indifference. "I shall get them all in time." + +"Oh, as for that," said Danglars, angry at this prolongation +of the jest, -- "as for that you won't get them at all. Go +to the devil! You do not know with whom you have to deal!" +Peppino made a sign, and the youth hastily removed the fowl. +Danglars threw himself upon his goat-skin, and Peppino, +reclosing the door, again began eating his pease and bacon. +Though Danglars could not see Peppino, the noise of his +teeth allowed no doubt as to his occupation. He was +certainly eating, and noisily too, like an ill-bred man. +"Brute!" said Danglars. Peppino pretended not to hear him, +and without even turning his head continued to eat slowly. +Danglars' stomach felt so empty, that it seemed as if it +would be impossible ever to fill it again; still he had +patience for another half-hour, which appeared to him like a +century. He again arose and went to the door. "Come, sir, do +not keep me starving here any longer, but tell me what they +want." + +"Nay, your excellency, it is you who should tell us what you +want. Give your orders, and we will execute them." + +"Then open the door directly." Peppino obeyed. "Now look +here, I want something to eat! To eat -- do you hear?" + +"Are you hungry?" + +"Come, you understand me." + +"What would your excellency like to eat?" + +"A piece of dry bread, since the fowls are beyond all price +in this accursed place." + +"Bread? Very well. Hallo, there, some bread!" he called. The +youth brought a small loaf. "How much?" asked Danglars. + +"Four thousand nine hundred and ninety-eight louis," said +Peppino; "You have paid two louis in advance." + +"What? One hundred thousand francs for a loaf?" + +"One hundred thousand francs," repeated Peppino. + +"But you only asked 100,000 francs for a fowl!" + +"We have a fixed price for all our provisions. It signifies +nothing whether you eat much or little -- whether you have +ten dishes or one -- it is always the same price." + +"What, still keeping up this silly jest? My dear fellow, it +is perfectly ridiculous -- stupid! You had better tell me at +once that you intend starving me to death." + +"Oh, dear, no, your excellency, unless you intend to commit +suicide. Pay and eat." + +"And what am I to pay with, brute?" said Danglars, enraged. +"Do you suppose I carry 100,000 francs in my pocket?" + +"Your excellency has 5,050,000 francs in your pocket; that +will be fifty fowls at 100,000 francs apiece, and half a +fowl for the 50,000." + +Danglars shuddered. The bandage fell from his eyes, and he +understood the joke, which he did not think quite so stupid +as he had done just before. "Come," he said, "if I pay you +the 100,000 francs, will you be satisfied, and allow me to +eat at my ease?" + +"Certainly," said Peppino. + +"But how can I pay them?" + +"Oh, nothing easier; you have an account open with Messrs. +Thomson & French, Via dei Banchi, Rome; give me a draft for +4,998 louis on these gentlemen, and our banker shall take +it." Danglars thought it as well to comply with a good +grace, so he took the pen, ink, and paper Peppino offered +him, wrote the draft, and signed it. "Here," he said, "here +is a draft at sight." + +"And here is your fowl." Danglars sighed while he carved the +fowl; it appeared very thin for the price it had cost. As +for Peppino, he examined the paper attentively, put it into +his pocket, and continued eating his pease. + + + +Chapter 116 +The Pardon. + +The next day Danglars was again hungry; certainly the air of +that dungeon was very provocative of appetite. The prisoner +expected that he would be at no expense that day, for like +an economical man he had concealed half of his fowl and a +piece of the bread in the corner of his cell. But he had no +sooner eaten than he felt thirsty; he had forgotten that. He +struggled against his thirst till his tongue clave to the +roof of his mouth; then, no longer able to resist, he called +out. The sentinel opened the door; it was a new face. He +thought it would be better to transact business with his old +acquaintance, so he sent for Peppino. "Here I am, your +excellency," said Peppino, with an eagerness which Danglars +thought favorable to him. "What do you want?" + +"Something to drink." + +"Your excellency knows that wine is beyond all price near +Rome." + +"Then give me water," cried Danglars, endeavoring to parry +the blow. + +"Oh, water is even more scarce than wine, your excellency, +-- there has been such a drought." + +"Come," thought Danglars, "it is the same old story." And +while he smiled as he attempted to regard the affair as a +joke, he felt his temples get moist with perspiration. + +"Come, my friend," said Danglars, seeing that he made no +impression on Peppino, "you will not refuse me a glass of +wine?" + +"I have already told you that we do not sell at retail." + +"Well, then, let me have a bottle of the least expensive." + +"They are all the same price." + +"And what is that?" + +"Twenty-five thousand francs a bottle." + +"Tell me," cried Danglars, in a tone whose bitterness +Harpagon* alone has been capable of revealing -- "tell the +that you wish to despoil me of all; it will be sooner over +than devouring me piecemeal." + +* The miser in Moliere's comedy of "L'Avare." -- Ed. + +"It is possible such may be the master's intention." + +"The master? -- who is he?" + +"The person to whom you were conducted yesterday." + +"Where is he?" + +"Here." + +"Let me see him." + +"Certainly." And the next moment Luigi Vampa appeared before +Danglars. + +"You sent for me?" he said to the prisoner. + +"Are you, sir, the chief of the people who brought me here?" + +"Yes, your excellency. What then?" + +"How much do you require for my ransom?" + +"Merely the 5,000,000 you have about you." Danglars felt a +dreadful spasm dart through his heart. "But this is all I +have left in the world," he said, "out of an immense +fortune. If you deprive me of that, take away my life also." + +"We are forbidden to shed your blood." + +"And by whom are you forbidden?" + +"By him we obey." + +"You do, then, obey some one?" + +"Yes, a chief." + +"I thought you said you were the chief?" + +"So I am of these men; but there is another over me." + +"And did your superior order you to treat me in this way?" + +"Yes." + +"But my purse will be exhausted." + +"Probably." + +"Come," said Danglars, "will you take a million?" + +"No." + +"Two millions? -- three? -- four? Come, four? I will give +them to you on condition that you let me go." + +"Why do you offer me 4,000,000 for what is worth 5,000,000? +This is a kind of usury, banker, that I do not understand." + +"Take all, then -- take all, I tell you, and kill me!" + +"Come, come, calm yourself. You will excite your blood, and +that would produce an appetite it would require a million a +day to satisfy. Be more economical." + +"But when I have no more money left to pay you?" asked the +infuriated Danglars. + +"Then you must suffer hunger." + +"Suffer hunger?" said Danglars, becoming pale. + +"Most likely," replied Vampa coolly. + +"But you say you do not wish to kill me?" + +"No." + +"And yet you will let me perish with hunger?" + +"Ah, that is a different thing." + +"Well, then, wretches," cried Danglars, "I will defy your +infamous calculations -- I would rather die at once! You may +torture, torment, kill me, but you shall not have my +signature again!" + +"As your excellency pleases," said Vampa, as he left the +cell. Danglars, raving, threw himself on the goat-skin. Who +could these men be? Who was the invisible chief? What could +be his intentions towards him? And why, when every one else +was allowed to be ransomed, might he not also be? Oh, yes; +certainly a speedy, violent death would be a fine means of +deceiving these remorseless enemies, who appeared to pursue +him with such incomprehensible vengeance. But to die? For +the first time in his life, Danglars contemplated death with +a mixture of dread and desire; the time had come when the +implacable spectre, which exists in the mind of every human +creature, arrested his attention and called out with every +pulsation of his heart, "Thou shalt die!" + +Danglars resembled a timid animal excited in the chase; +first it flies, then despairs, and at last, by the very +force of desperation, sometimes succeeds in eluding its +pursuers. Danglars meditated an escape; but the walls were +solid rock, a man was sitting reading at the only outlet to +the cell, and behind that man shapes armed with guns +continually passed. His resolution not to sign lasted two +days, after which he offered a million for some food. They +sent him a magnificent supper, and took his million. + +From this time the prisoner resolved to suffer no longer, +but to have everything he wanted. At the end of twelve days, +after having made a splendid dinner, he reckoned his +accounts, and found that he had only 50,000 francs left. +Then a strange reaction took place; he who had just +abandoned 5,000,000 endeavored to save the 50,000 francs he +had left, and sooner than give them up he resolved to enter +again upon a life of privation -- he was deluded by the +hopefulness that is a premonition of madness. He who for so +long a time had forgotten God, began to think that miracles +were possible -- that the accursed cavern might be +discovered by the officers of the Papal States, who would +release him; that then he would have 50,000 remaining, which +would be sufficient to save him from starvation; and finally +he prayed that this sum might be preserved to him, and as he +prayed he wept. Three days passed thus, during which his +prayers were frequent, if not heartfelt. Sometimes he was +delirious, and fancied he saw an old man stretched on a +pallet; he, also, was dying of hunger. + +On the fourth, he was no longer a man, but a living corpse. +He had picked up every crumb that had been left from his +former meals, and was beginning to eat the matting which +covered the floor of his cell. Then he entreated Peppino, as +he would a guardian angel, to give him food; he offered him +1,000 francs for a mouthful of bread. But Peppino did not +answer. On the fifth day he dragged himself to the door of +the cell. + +"Are you not a Christian?" he said, falling on his knees. +"Do you wish to assassinate a man who, in the eyes of +heaven, is a brother? Oh, my former friends, my former +friends!" he murmured, and fell with his face to the ground. +Then rising in despair, he exclaimed, "The chief, the +chief!" + +"Here I am," said Vampa, instantly appearing; "what do you +want?" + +"Take my last gold," muttered Danglars, holding out his +pocket-book, "and let me live here; I ask no more for +liberty -- I only ask to live!" + +"Then you suffer a great deal?" + +"Oh, yes, yes, cruelly!" + +"Still, there have been men who suffered more than you." + +"I do not think so." + +"Yes; those who have died of hunger." + +Danglars thought of the old man whom, in his hours of +delirium, he had seen groaning on his bed. He struck his +forehead on the ground and groaned. "Yes," he said, "there +have been some who have suffered more than I have, but then +they must have been martyrs at least." + +"Do you repent?" asked a deep, solemn voice, which caused +Danglars' hair to stand on end. His feeble eyes endeavored +to distinguish objects, and behind the bandit he saw a man +enveloped in a cloak, half lost in the shadow of a stone +column. + +"Of what must I repent?" stammered Danglars. + +"Of the evil you have done," said the voice. + +"Oh, yes; oh, yes, I do indeed repent." And he struck his +breast with his emaciated fist. + +"Then I forgive you," said the man, dropping his cloak, and +advancing to the light. + +"The Count of Monte Cristo!" said Danglars, more pale from +terror than he had been just before from hunger and misery. + +"You are mistaken -- I am not the Count of Monte Cristo." + +"Then who are you?" + +"I am he whom you sold and dishonored -- I am he whose +betrothed you prostituted -- I am he upon whom you trampled +that you might raise yourself to fortune -- I am he whose +father you condemned to die of hunger -- I am he whom you +also condemned to starvation, and who yet forgives you, +because he hopes to be forgiven -- I am Edmond Dantes!" +Danglars uttered a cry, and fell prostrate. "Rise," said the +count, "your life is safe; the same good fortune has not +happened to your accomplices -- one is mad, the other dead. +Keep the 50,000 francs you have left -- I give them to you. +The 5,000,000 you stole from the hospitals has been restored +to them by an unknown hand. And now eat and drink; I will +entertain you to-night. Vampa, when this man is satisfied, +let him be free." Danglars remained prostrate while the +count withdrew; when he raised his head he saw disappearing +down the passage nothing but a shadow, before which the +bandits bowed. According to the count's directions, Danglars +was waited on by Vampa, who brought him the best wine and +fruits of Italy; then, having conducted him to the road, and +pointed to the post-chaise, left him leaning against a tree. +He remained there all night, not knowing where he was. When +daylight dawned he saw that he was near a stream; he was +thirsty, and dragged himself towards it. As he stooped down +to drink, he saw that his hair had become entirely white. + + + +Chapter 117 +The Fifth of October. + +It was about six o'clock in the evening; an opal-colored +light, through which an autumnal sun shed its golden rays, +descended on the blue ocean. The heat of the day had +gradually decreased, and a light breeze arose, seeming like +the respiration of nature on awakening from the burning +siesta of the south. A delicious zephyr played along the +coasts of the Mediterranean, and wafted from shore to shore +the sweet perfume of plants, mingled with the fresh smell of +the sea. + +A light yacht, chaste and elegant in its form, was gliding +amidst the first dews of night over the immense lake, +extending from Gibraltar to the Dardanelles, and from Tunis +to Venice. The vessel resembled a swan with its wings opened +towards the wind, gliding on the water. It advanced swiftly +and gracefully, leaving behind it a glittering stretch of +foam. By degrees the sun disappeared behind the western +horizon; but as though to prove the truth of the fanciful +ideas in heathen mythology, its indiscreet rays reappeared +on the summit of every wave, as if the god of fire had just +sunk upon the bosom of Amphitrite, who in vain endeavored to +hide her lover beneath her azure mantle. The yacht moved +rapidly on, though there did not appear to be sufficient +wind to ruffle the curls on the head of a young girl. +Standing on the prow was a tall man, of a dark complexion, +who saw with dilating eyes that they were approaching a dark +mass of land in the shape of a cone, which rose from the +midst of the waves like the hat of a Catalan. "Is that Monte +Cristo?" asked the traveller, to whose orders the yacht was +for the time submitted, in a melancholy voice. + +"Yes, your excellency," said the captain, "we have reached +it." + +"We have reached it!" repeated the traveller in an accent of +indescribable sadness. Then he added, in a low tone, "Yes; +that is the haven." And then he again plunged into a train +of thought, the character of which was better revealed by a +sad smile, than it would have been by tears. A few minutes +afterwards a flash of light, which was extinguished +instantly, was seen on the land, and the sound of firearms +reached the yacht. + +"Your excellency," said the captain, "that was the land +signal, will you answer yourself?" + +"What signal?" The captain pointed towards the island, up +the side of which ascended a volume of smoke, increasing as +it rose. "Ah, yes," he said, as if awaking from a dream. +"Give it to me." + +The captain gave him a loaded carbine; the traveller slowly +raised it, and fired in the air. Ten minutes afterwards, the +sails were furled, and they cast anchor about a hundred +fathoms from the little harbor. The gig was already lowered, +and in it were four oarsmen and a coxswain. The traveller +descended, and instead of sitting down at the stern of the +boat, which had been decorated with a blue carpet for his +accommodation, stood up with his arms crossed. The rowers +waited, their oars half lifted out of the water, like birds +drying their wings. + +"Give way," said the traveller. The eight oars fell into the +sea simultaneously without splashing a drop of water, and +the boat, yielding to the impulsion, glided forward. In an +instant they found themselves in a little harbor, formed in +a natural creek; the boat grounded on the fine sand. + +"Will your excellency be so good as to mount the shoulders +of two of our men, they will carry you ashore?" The young +man answered this invitation with a gesture of indifference, +and stepped out of the boat; the sea immediately rose to his +waist. "Ah, your excellency," murmured the pilot, "you +should not have done so; our master will scold us for it." +The young man continued to advance, following the sailors, +who chose a firm footing. Thirty strides brought them to dry +land; the young man stamped on the ground to shake off the +wet, and looked around for some one to show him his road, +for it was quite dark. Just as he turned, a hand rested on +his shoulder, and a voice which made him shudder exclaimed, +-- "Good-evening, Maximilian; you are punctual, thank you!" + +"Ah, is it you, count?" said the young man, in an almost +joyful accent, pressing Monte Cristo's hand with both his +own. + +"Yes; you see I am as exact as you are. But you are +dripping, my dear fellow; you must change your clothes, as +Calypso said to Telemachus. Come, I have a habitation +prepared for you in which you will soon forget fatigue and +cold." Monte Cristo perceived that the young man had turned +around; indeed, Morrel saw with surprise that the men who +had brought him had left without being paid, or uttering a +word. Already the sound of their oars might be heard as they +returned to the yacht. + +"Oh, yes," said the count, "you are looking for the +sailors." + +"Yes, I paid them nothing, and yet they are gone." + +"Never mind that, Maximilian," said Monte Cristo, smiling. +"I have made an agreement with the navy, that the access to +my island shall be free of all charge. I have made a +bargain." Morrel looked at the count with surprise. "Count," +he said, "you are not the same here as in Paris." + +"How so?" + +"Here you laugh." The count's brow became clouded. "You are +right to recall me to myself, Maximilian," he said; "I was +delighted to see you again, and forgot for the moment that +all happiness is fleeting." + +"Oh, no, no, count," cried Maximilian, seizing the count's +hands, "pray laugh; be happy, and prove to me, by your +indifference, that life is endurable to sufferers. Oh, how +charitable, kind, and good you are; you affect this gayety +to inspire me with courage." + +"You are wrong, Morrel; I was really happy." + +"Then you forget me, so much the better." + +"How so?" + +"Yes; for as the gladiator said to the emperor, when he +entered the arena, `He who is about to die salutes you.'" + +"Then you are not consoled?" asked the count, surprised. + +"Oh," exclaimed Morrel, with a glance full of bitter +reproach, "do you think it possible that I could be?" + +"Listen," said the count. "Do you understand the meaning of +my words? You cannot take me for a commonplace man, a mere +rattle, emitting a vague and senseless noise. When I ask you +if you are consoled, I speak to you as a man for whom the +human heart has no secrets. Well, Morrel, let us both +examine the depths of your heart. Do you still feel the same +feverish impatience of grief which made you start like a +wounded lion? Have you still that devouring thirst which can +only be appeased in the grave? Are you still actuated by the +regret which drags the living to the pursuit of death; or +are you only suffering from the prostration of fatigue and +the weariness of hope deferred? Has the loss of memory +rendered it impossible for you to weep? Oh, my dear friend, +if this be the case, -- if you can no longer weep, if your +frozen heart be dead, if you put all your trust in God, +then, Maximilian, you are consoled -- do not complain." + +"Count," said Morrel, in a firm and at the same time soft +voice, "listen to me, as to a man whose thoughts are raised +to heaven, though he remains on earth; I come to die in the +arms of a friend. Certainly, there are people whom I love. I +love my sister Julie, -- I love her husband Emmanuel; but I +require a strong mind to smile on my last moments. My sister +would be bathed in tears and fainting; I could not bear to +see her suffer. Emmanuel would tear the weapon from my hand, +and alarm the house with his cries. You, count, who are more +than mortal, will, I am sure, lead me to death by a pleasant +path, will you not?" + +"My friend," said the count, "I have still one doubt, -- are +you weak enough to pride yourself upon your sufferings?" + +"No, indeed, -- I am calm," said Morrel, giving his hand to +the count; "my pulse does not beat slower or faster than +usual. No, I feel that I have reached the goal, and I will +go no farther. You told me to wait and hope; do you know +what you did, unfortunate adviser? I waited a month, or +rather I suffered for a month! I did hope (man is a poor +wretched creature), I did hope. What I cannot tell, -- +something wonderful, an absurdity, a miracle, -- of what +nature he alone can tell who has mingled with our reason +that folly we call hope. Yes, I did wait -- yes, I did hope, +count, and during this quarter of an hour we have been +talking together, you have unconsciously wounded, tortured +my heart, for every word you have uttered proved that there +was no hope for me. Oh, count, I shall sleep calmly, +deliciously in the arms of death." Morrel uttered these +words with an energy which made the count shudder. "My +friend," continued Morrel, "you named the fifth of October +as the end of the period of waiting, -- to-day is the fifth +of October," he took out his watch, "it is now nine o'clock, +-- I have yet three hours to live." + +"Be it so," said the count, "come." Morrel mechanically +followed the count, and they had entered the grotto before +he perceived it. He felt a carpet under his feet, a door +opened, perfumes surrounded him, and a brilliant light +dazzled his eyes. Morrel hesitated to advance; he dreaded +the enervating effect of all that he saw. Monte Cristo drew +him in gently. "Why should we not spend the last three hours +remaining to us of life, like those ancient Romans, who when +condemned by Nero, their emperor and heir, sat down at a +table covered with flowers, and gently glided into death, +amid the perfume of heliotropes and roses?" Morrel smiled. +"As you please," he said; "death is always death, -- that is +forgetfulness, repose, exclusion from life, and therefore +from grief." He sat down, and Monte Cristo placed himself +opposite to him. They were in the marvellous dining-room +before described, where the statues had baskets on their +heads always filled with fruits and flowers. Morrel had +looked carelessly around, and had probably noticed nothing. + +"Let us talk like men," he said, looking at the count. + +"Go on!" + +"Count," said Morrel, "you are the epitome of all human +knowledge, and you seem like a being descended from a wiser +and more advanced world than ours." + +"There is something true in what you say," said the count, +with that smile which made him so handsome; "I have +descended from a planet called grief." + +"I believe all you tell me without questioning its meaning; +for instance, you told me to live, and I did live; you told +me to hope, and I almost did so. I am almost inclined to ask +you, as though you had experienced death, `is it painful to +die?'" + +Monte Cristo looked upon Morrel with indescribable +tenderness. "Yes," he said, "yes, doubtless it is painful, +if you violently break the outer covering which obstinately +begs for life. If you plunge a dagger into your flesh, if +you insinuate a bullet into your brain, which the least +shock disorders, -- then certainly, you will suffer pain, +and you will repent quitting a life for a repose you have +bought at so dear a price." + +"Yes; I know that there is a secret of luxury and pain in +death, as well as in life; the only thing is to understand +it." + +"You have spoken truly, Maximilian; according to the care we +bestow upon it, death is either a friend who rocks us gently +as a nurse, or an enemy who violently drags the soul from +the body. Some day, when the world is much older, and when +mankind will be masters of all the destructive powers in +nature, to serve for the general good of humanity; when +mankind, as you were just saying, have discovered the +secrets of death, then that death will become as sweet and +voluptuous as a slumber in the arms of your beloved." + +"And if you wished to die, you would choose this death, +count?" + +"Yes." + +Morrel extended his hand. "Now I understand," he said, "why +you had me brought here to this desolate spot, in the midst +of the ocean, to this subterranean palace; it was because +you loved me, was it not, count? It was because you loved me +well enough to give me one of those sweet means of death of +which we were speaking; a death without agony, a death which +allows me to fade away while pronouncing Valentine's name +and pressing your hand." + +"Yes, you have guessed rightly, Morrel," said the count, +"that is what I intended." + +"Thanks; the idea that tomorrow I shall no longer suffer, is +sweet to my heart." + +"Do you then regret nothing?" + +"No," replied Morrel. + +"Not even me?" asked the count with deep emotion. Morrel's +clear eye was for the moment clouded, then it shone with +unusual lustre, and a large tear rolled down his cheek. + +"What," said the count, "do you still regret anything in the +world, and yet die?" + +"Oh, I entreat you," exclaimed Morrel in a low voice, "do +not speak another word, count; do not prolong my +punishment." The count fancied that he was yielding, and +this belief revived the horrible doubt that had overwhelmed +him at the Chateau d'If. "I am endeavoring," he thought, "to +make this man happy; I look upon this restitution as a +weight thrown into the scale to balance the evil I have +wrought. Now, supposing I am deceived, supposing this man +has not been unhappy enough to merit happiness. Alas, what +would become of me who can only atone for evil by doing +good?" Then he said aloud: "Listen, Morrel, I see your grief +is great, but still you do not like to risk your soul." +Morrel smiled sadly. "Count," he said, "I swear to you my +soul is no longer my own." + +"Maximilian, you know I have no relation in the world. I +have accustomed myself to regard you as my son: well, then, +to save my son, I will sacrifice my life, nay, even my +fortune." + +"What do you mean?" + +"I mean, that you wish to quit life because you do not +understand all the enjoyments which are the fruits of a +large fortune. Morrel, I possess nearly a hundred millions +and I give them to you; with such a fortune you can attain +every wish. Are you ambitions? Every career is open to you. +Overturn the world, change its character, yield to mad +ideas, be even criminal -- but live." + +"Count, I have your word," said Morrel coldly; then taking +out his watch, he added, "It is half-past eleven." + +"Morrel, can you intend it in my house, under my very eyes?" + +"Then let me go," said Maximilian, "or I shall think you did +not love me for my own sake, but for yours; "and he arose. + +"It is well," said Monte Cristo whose countenance brightened +at these words; "you wish -- you are inflexible. Yes, as you +said, you are indeed wretched and a miracle alone can cure +you. Sit down, Morrel, and wait." + +Morrel obeyed; the count arose, and unlocking a closet with +a key suspended from his gold chain, took from it a little +silver casket, beautifully carved and chased, the corners of +which represented four bending figures, similar to the +Caryatides, the forms of women, symbols of the angels +aspiring to heaven. He placed the casket on the table; then +opening it took out a little golden box, the top of which +flew open when touched by a secret spring. This box +contained an unctuous substance partly solid, of which it +was impossible to discover the color, owing to the +reflection of the polished gold, sapphires, rubies, +emeralds, which ornamented the box. It was a mixed mass of +blue, red, and gold. The count took out a small quantity of +this with a gilt spoon, and offered it to Morrel, fixing a +long steadfast glance upon him. It was then observable that +the substance was greenish. + +"This is what you asked for," he said, "and what I promised +to give you." + +"I thank you from the depths of my heart," said the young +man, taking the spoon from the hands of Monte Cristo. The +count took another spoon, and again dipped it into the +golden box. "What are you going to do, my friend?" asked +Morrel, arresting his hand. + +"Well, the fact is, Morrel, I was thinking that I too am +weary of life, and since an opportunity presents itself" -- + +"Stay!" said the young man. "You who love, and are beloved; +you, who have faith and hope, -- oh, do not follow my +example. In your case it would be a crime. Adieu, my noble +and generous friend, adieu; I will go and tell Valentine +what you have done for me." And slowly, though without any +hesitation, only waiting to press the count's hand +fervently, he swallowed the mysterious substance offered by +Monte Cristo. Then they were both silent. Ali, mute and +attentive, brought the pipes and coffee, and disappeared. By +degrees, the light of the lamps gradually faded in the hands +of the marble statues which held them, and the perfumes +appeared less powerful to Morrel. Seated opposite to him, +Monte Cristo watched him in the shadow, and Morrel saw +nothing but the bright eyes of the count. An overpowering +sadness took possession of the young man, his hands relaxed +their hold, the objects in the room gradually lost their +form and color, and his disturbed vision seemed to perceive +doors and curtains open in the walls. + +"Friend," he cried, "I feel that I am dying; thanks!" He +made a last effort to extend his hand, but it fell powerless +beside him. Then it appeared to him that Monte Cristo +smiled, not with the strange and fearful expression which +had sometimes revealed to him the secrets of his heart, but +with the benevolent kindness of a father for a child. At the +same time the count appeared to increase in stature, his +form, nearly double its usual height, stood out in relief +against the red tapestry, his black hair was thrown back, +and he stood in the attitude of an avenging angel. Morrel, +overpowered, turned around in the arm-chair; a delicious +torpor permeated every vein. A change of ideas presented +themselves to his brain, like a new design on the +kaleidoscope. Enervated, prostrate, and breathless, he +became unconscious of outward objects; he seemed to be +entering that vague delirium preceding death. He wished once +again to press the count's hand, but his own was immovable. +He wished to articulate a last farewell, but his tongue lay +motionless and heavy in his throat, like a stone at the +mouth of a sepulchre. Involuntarily his languid eyes closed, +and still through his eyelashes a well-known form seemed to +move amid the obscurity with which he thought himself +enveloped. + +The count had just opened a door. Immediately a brilliant +light from the next room, or rather from the palace +adjoining, shone upon the room in which he was gently +gliding into his last sleep. Then he saw a woman of +marvellous beauty appear on the threshold of the door +separating the two rooms. Pale, and sweetly smiling, she +looked like an angel of mercy conjuring the angel of +vengeance. "Is it heaven that opens before me?" thought the +dying man; "that angel resembles the one I have lost." Monte +Cristo pointed out Morrel to the young woman, who advanced +towards him with clasped hands and a smile upon her lips. + +"Valentine, Valentine!" he mentally ejaculated; but his lips +uttered no sound, and as though all his strength were +centred in that internal emotion, he sighed and closed his +eyes. Valentine rushed towards him; his lips again moved. + +"He is calling you," said the count; "he to whom you have +confided your destiny -- he from whom death would have +separated you, calls you to him. Happily, I vanquished +death. Henceforth, Valentine, you will never again be +separated on earth, since he has rushed into death to find +you. Without me, you would both have died. May God accept my +atonement in the preservation of these two existences!" + +Valentine seized the count's hand, and in her irresistible +impulse of joy carried it to her lips. + +"Oh, thank me again!" said the count; "tell me till you are +weary, that I have restored you to happiness; you do not +know how much I require this assurance." + +"Oh, yes, yes, I thank you with all my heart," said +Valentine; "and if you doubt the sincerity of my gratitude, +oh, then, ask Haidee! ask my beloved sister Haidee, who ever +since our departure from France, has caused me to wait +patiently for this happy day, while talking to me of you." + +"You then love Haidee?" asked Monte Cristo with an emotion +he in vain endeavored to dissimulate. + +"Oh, yes, with all my soul." + +"Well, then, listen, Valentine," said the count; "I have a +favor to ask of you." + +"Of me? Oh, am I happy enough for that?" + +"Yes; you have called Haidee your sister, -- let her become +so indeed, Valentine; render her all the gratitude you fancy +that you owe to me; protect her, for" (the count's voice was +thick with emotion) "henceforth she will be alone in the +world." + +"Alone in the world!" repeated a voice behind the count, +"and why?" + +Monte Cristo turned around; Haidee was standing pale, +motionless, looking at the count with an expression of +fearful amazement. + +"Because to-morrow, Haidee, you will be free; you will then +assume your proper position in society, for I will not allow +my destiny to overshadow yours. Daughter of a prince, I +restore to you the riches and name of your father." + +Haidee became pale, and lifting her transparent hands to +heaven, exclaimed in a voice stifled with tears, "Then you +leave me, my lord?" + +"Haidee, Haidee, you are young and beautiful; forget even my +name, and be happy." + +"It is well," said Haidee; "your order shall be executed, my +lord; I will forget even your name, and be happy." And she +stepped back to retire. + +"Oh, heavens," exclaimed Valentine, who was supporting the +head of Morrel on her shoulder, "do you not see how pale she +is? Do you not see how she suffers?" + +Haidee answered with a heartrending expression, "Why should +he understand this, my sister? He is my master, and I am his +slave; he has the right to notice nothing." + +The count shuddered at the tones of a voice which penetrated +the inmost recesses of his heart; his eyes met those of the +young girl and he could not bear their brilliancy. "Oh, +heavens," exclaimed Monte Cristo, "can my suspicions be +correct? Haidee, would it please you not to leave me?" + +"I am young," gently replied Haidee; "I love the life you +have made so sweet to me, and I should be sorry to die." + +"You mean, then, that if I leave you, Haidee" -- + +"I should die; yes, my lord." + +"Do you then love me?" + +"Oh, Valentine, he asks if I love him. Valentine, tell him +if you love Maximilian." The count felt his heart dilate and +throb; he opened his arms, and Haidee, uttering a cry, +sprang into them. "Oh, yes," she cried, "I do love you! I +love you as one loves a father, brother, husband! I love you +as my life, for you are the best, the noblest of created +beings!" + +"Let it be, then, as you wish, sweet angel; God has +sustained me in my struggle with my enemies, and has given +me this reward; he will not let me end my triumph in +suffering; I wished to punish myself, but he has pardoned +me. Love me then, Haidee! Who knows? perhaps your love will +make me forget all that I do not wish to remember." + +"What do you mean, my lord?" + +"I mean that one word from you has enlightened me more than +twenty years of slow experience; I have but you in the +world, Haidee; through you I again take hold on life, +through you I shall suffer, through you rejoice." + +"Do you hear him, Valentine?" exclaimed Haidee; "he says +that through me he will suffer -- through me, who would +yield my life for his." The count withdrew for a moment. +"Have I discovered the truth?" he said; "but whether it be +for recompense or punishment, I accept my fate. Come, +Haidee, come!" and throwing his arm around the young girl's +waist, he pressed the hand of Valentine, and disappeared. + +An hour had nearly passed, during which Valentine, +breathless and motionless, watched steadfastly over Morrel. +At length she felt his heart beat, a faint breath played +upon his lips, a slight shudder, announcing the return of +life, passed through the young man's frame. At length his +eyes opened, but they were at first fixed and +expressionless; then sight returned, and with it feeling and +grief. "Oh," he cried, in an accent of despair, "the count +has deceived me; I am yet living; "and extending his hand +towards the table, he seized a knife. + +"Dearest," exclaimed Valentine, with her adorable smile, +"awake, and look at me!" Morrel uttered a loud exclamation, +and frantic, doubtful, dazzled, as though by a celestial +vision, he fell upon his knees. + +The next morning at daybreak, Valentine and Morrel were +walking arm-in-arm on the sea-shore, Valentine relating how +Monte Cristo had appeared in her room, explained everything, +revealed the crime, and, finally, how he had saved her life +by enabling her to simulate death. They had found the door +of the grotto opened, and gone forth; on the azure dome of +heaven still glittered a few remaining stars. Morrel soon +perceived a man standing among the rocks, apparently +awaiting a sign from them to advance, and pointed him out to +Valentine. "Ah, it is Jacopo," she said, "the captain of the +yacht; "and she beckoned him towards them. + +"Do you wish to speak to us?" asked Morrel. + +"I have a letter to give you from the count." + +"From the count!" murmured the two young people. + +"Yes; read it." Morrel opened the letter, and read: -- + +"My Dear Maximilian, -- + +"There is a felucca for you at anchor. Jacopo will carry you +to Leghorn, where Monsieur Noirtier awaits his +granddaughter, whom he wishes to bless before you lead her +to the altar. All that is in this grotto, my friend, my +house in the Champs Elysees, and my chateau at Treport, are +the marriage gifts bestowed by Edmond Dantes upon the son of +his old master, Morrel. Mademoiselle de Villefort will share +them with you; for I entreat her to give to the poor the +immense fortune reverting to her from her father, now a +madman, and her brother who died last September with his +mother. Tell the angel who will watch over your future +destiny, Morrel, to pray sometimes for a man, who like Satan +thought himself for an instant equal to God, but who now +acknowledges with Christian humility that God alone +possesses supreme power and infinite wisdom. Perhaps those +prayers may soften the remorse he feels in his heart. As for +you, Morrel, this is the secret of my conduct towards you. +There is neither happiness nor misery in the world; there is +only the comparison of one state with another, nothing more. +He who has felt the deepest grief is best able to experience +supreme happiness. We must have felt what it is to die, +Morrel, that we may appreciate the enjoyments of living. + +"Live, then, and be happy, beloved children of my heart, and +never forget that until the day when God shall deign to +reveal the future to man, all human wisdom is summed up in +these two words, -- `Wait and hope.' Your friend, + +"Edmond Dantes, Count of Monte Cristo." + +During the perusal of this letter, which informed Valentine +for the first time of the madness of her father and the +death of her brother, she became pale, a heavy sigh escaped +from her bosom, and tears, not the less painful because they +were silent, ran down her cheeks; her happiness cost her +very dear. Morrel looked around uneasily. "But," he said, +"the count's generosity is too overwhelming; Valentine will +be satisfied with my humble fortune. Where is the count, +friend? Lead me to him." Jacopo pointed towards the horizon. +"What do you mean?" asked Valentine. "Where is the count? -- +where is Haidee?" + +"Look!" said Jacopo. + +The eyes of both were fixed upon the spot indicated by the +sailor, and on the blue line separating the sky from the +Mediterranean Sea, they perceived a large white sail. +"Gone," said Morrel; "gone! -- adieu, my friend -- adieu, my +father!" + +"Gone," murmured Valentine; "adieu, my sweet Haidee -- +adieu, my sister!" + +"Who can say whether we shall ever see them again?" said +Morrel with tearful eyes. + +"Darling," replied Valentine, "has not the count just told +us that all human wisdom is summed up in two words? -- `Wait +and hope.'" + + + + + +End of The Project Gutenberg Etext of The Count of Monte Cristo by Dumas + diff --git a/corejava第9版/v1ch02/ImageViewer/Cay.gif b/corejava第9版/v1ch02/ImageViewer/Cay.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a8d0eb3b1ca1b9b56ec1f1d6deff1d42a4cac44 GIT binary patch literal 45724 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 HfdBwIT`JXN literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch02/ImageViewer/mug.png b/corejava第9版/v1ch02/ImageViewer/mug.png new file mode 100644 index 0000000000000000000000000000000000000000..f5273e9ce12ed223ae299a76b3186ce7d35deee4 GIT binary patch literal 21997 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 mgr?qoY3BK{9!{5om? literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch02/Welcome/Welcome.java b/corejava第9版/v1ch02/Welcome/Welcome.java new file mode 100644 index 0000000..d464bc8 --- /dev/null +++ b/corejava第9版/v1ch02/Welcome/Welcome.java @@ -0,0 +1,18 @@ +/** + * This program displays a greeting from the authors. + * @version 1.20 2004-02-28 + * @author Cay Horstmann + */ +public class Welcome +{ + public static void main(String[] args) + { + String[] greeting = new String[3]; + greeting[0] = "Welcome to Core Java"; + greeting[1] = "by Cay Horstmann"; + greeting[2] = "and Gary Cornell"; + + for (String g : greeting) + System.out.println(g); + } +} diff --git a/corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.html b/corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.html new file mode 100644 index 0000000..54901e9 --- /dev/null +++ b/corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.html @@ -0,0 +1,18 @@ + + + WelcomeApplet + + +
        +

        + This applet is from the book + Core Java + by Cay Horstmann and Gary Cornell. +

        + + + +
        +

        The source.

        + + diff --git a/corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.java b/corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.java new file mode 100644 index 0000000..9e0e15a --- /dev/null +++ b/corejava第9版/v1ch02/WelcomeApplet/WelcomeApplet.java @@ -0,0 +1,57 @@ +import java.awt.*; +import java.awt.event.*; +import java.net.*; +import javax.swing.*; + +/** + * This applet displays a greeting from the authors. + * @version 1.22 2007-04-08 + * @author Cay Horstmann + */ +public class WelcomeApplet extends JApplet +{ + public void init() + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + setLayout(new BorderLayout()); + + JLabel label = new JLabel(getParameter("greeting"), SwingConstants.CENTER); + label.setFont(new Font("Serif", Font.BOLD, 18)); + add(label, BorderLayout.CENTER); + + JPanel panel = new JPanel(); + + JButton cayButton = new JButton("Cay Horstmann"); + cayButton.addActionListener(makeAction("http://www.horstmann.com")); + panel.add(cayButton); + + JButton garyButton = new JButton("Gary Cornell"); + garyButton.addActionListener(makeAction("mailto:gary_cornell@apress.com")); + panel.add(garyButton); + + add(panel, BorderLayout.SOUTH); + } + }); + } + + private ActionListener makeAction(final String urlString) + { + return new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + try + { + getAppletContext().showDocument(new URL(urlString)); + } + catch (MalformedURLException e) + { + e.printStackTrace(); + } + } + }; + } +} diff --git a/corejava第9版/v1ch02/WelcomeApplet/java.policy.applet b/corejava第9版/v1ch02/WelcomeApplet/java.policy.applet new file mode 100644 index 0000000..ba9f51d --- /dev/null +++ b/corejava第9版/v1ch02/WelcomeApplet/java.policy.applet @@ -0,0 +1,7 @@ +/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/ +/* DO NOT EDIT */ + +grant { + permission java.security.AllPermission; +}; + diff --git a/corejava第9版/v1ch03/BigIntegerTest/BigIntegerTest.java b/corejava第9版/v1ch03/BigIntegerTest/BigIntegerTest.java new file mode 100644 index 0000000..ca72a4a --- /dev/null +++ b/corejava第9版/v1ch03/BigIntegerTest/BigIntegerTest.java @@ -0,0 +1,33 @@ +import java.math.*; +import java.util.*; + +/** + * This program uses big numbers to compute the odds of winning the grand prize in a lottery. + * @version 1.20 2004-02-10 + * @author Cay Horstmann + */ +public class BigIntegerTest +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + + System.out.print("How many numbers do you need to draw? "); + int k = in.nextInt(); + + System.out.print("What is the highest number you can draw? "); + int n = in.nextInt(); + + /* + * compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k) + */ + + BigInteger lotteryOdds = BigInteger.valueOf(1); + + for (int i = 1; i <= k; i++) + lotteryOdds = lotteryOdds.multiply(BigInteger.valueOf(n - i + 1)).divide( + BigInteger.valueOf(i)); + + System.out.println("Your odds are 1 in " + lotteryOdds + ". Good luck!"); + } +} diff --git a/corejava第9版/v1ch03/CompoundInterest/CompoundInterest.java b/corejava第9版/v1ch03/CompoundInterest/CompoundInterest.java new file mode 100644 index 0000000..66a0dd6 --- /dev/null +++ b/corejava第9版/v1ch03/CompoundInterest/CompoundInterest.java @@ -0,0 +1,57 @@ +/** + * This program shows how to store tabular data in a 2D array. + * @version 1.40 2004-02-10 + * @author Cay Horstmann + */ +public class CompoundInterest +{ + public static void main(String[] args) + { + final double STARTRATE = 10; + final int NRATES = 6; + final int NYEARS = 10; + + // set interest rates to 10 . . . 15% + double[] interestRate = new double[NRATES]; + for (int j = 0; j < interestRate.length; j++) + interestRate[j] = (STARTRATE + j) / 100.0; + + double[][] balances = new double[NYEARS][NRATES]; + + // set initial balances to 10000 + for (int j = 0; j < balances[0].length; j++) + balances[0][j] = 10000; + + // compute interest for future years + for (int i = 1; i < balances.length; i++) + { + for (int j = 0; j < balances[i].length; j++) + { + // get last year's balances from previous row + double oldBalance = balances[i - 1][j]; + + // compute interest + double interest = oldBalance * interestRate[j]; + + // compute this year's balances + balances[i][j] = oldBalance + interest; + } + } + + // print one row of interest rates + for (int j = 0; j < interestRate.length; j++) + System.out.printf("%9.0f%%", 100 * interestRate[j]); + + System.out.println(); + + // print balance table + for (double[] row : balances) + { + // print table row + for (double b : row) + System.out.printf("%10.2f", b); + + System.out.println(); + } + } +} diff --git a/corejava第9版/v1ch03/FirstSample/FirstSample.java b/corejava第9版/v1ch03/FirstSample/FirstSample.java new file mode 100644 index 0000000..0ff7e76 --- /dev/null +++ b/corejava第9版/v1ch03/FirstSample/FirstSample.java @@ -0,0 +1,12 @@ +/** + * This is the first sample program in Core Java Chapter 3 + * @version 1.01 1997-03-22 + * @author Gary Cornell + */ +public class FirstSample +{ + public static void main(String[] args) + { + System.out.println("We will not use 'Hello, World!'"); + } +} diff --git a/corejava第9版/v1ch03/InputTest/InputTest.java b/corejava第9版/v1ch03/InputTest/InputTest.java new file mode 100644 index 0000000..b2bb8fd --- /dev/null +++ b/corejava第9版/v1ch03/InputTest/InputTest.java @@ -0,0 +1,25 @@ +import java.util.*; + +/** + * This program demonstrates console input. + * @version 1.10 2004-02-10 + * @author Cay Horstmann + */ +public class InputTest +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + + // get first input + System.out.print("What is your name? "); + String name = in.nextLine(); + + // get second input + System.out.print("How old are you? "); + int age = in.nextInt(); + + // display output on console + System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1)); + } +} diff --git a/corejava第9版/v1ch03/LotteryArray/LotteryArray.java b/corejava第9版/v1ch03/LotteryArray/LotteryArray.java new file mode 100644 index 0000000..cbb2074 --- /dev/null +++ b/corejava第9版/v1ch03/LotteryArray/LotteryArray.java @@ -0,0 +1,39 @@ +/** + * This program demonstrates a triangular array. + * @version 1.20 2004-02-10 + * @author Cay Horstmann + */ +public class LotteryArray +{ + public static void main(String[] args) + { + final int NMAX = 10; + + // allocate triangular array + int[][] odds = new int[NMAX + 1][]; + for (int n = 0; n <= NMAX; n++) + odds[n] = new int[n + 1]; + + // fill triangular array + for (int n = 0; n < odds.length; n++) + for (int k = 0; k < odds[n].length; k++) + { + /* + * compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k) + */ + int lotteryOdds = 1; + for (int i = 1; i <= k; i++) + lotteryOdds = lotteryOdds * (n - i + 1) / i; + + odds[n][k] = lotteryOdds; + } + + // print triangular array + for (int[] row : odds) + { + for (int odd : row) + System.out.printf("%4d", odd); + System.out.println(); + } + } +} diff --git a/corejava第9版/v1ch03/LotteryDrawing/LotteryDrawing.java b/corejava第9版/v1ch03/LotteryDrawing/LotteryDrawing.java new file mode 100644 index 0000000..98f203c --- /dev/null +++ b/corejava第9版/v1ch03/LotteryDrawing/LotteryDrawing.java @@ -0,0 +1,46 @@ +import java.util.*; + +/** + * This program demonstrates array manipulation. + * @version 1.20 2004-02-10 + * @author Cay Horstmann + */ +public class LotteryDrawing +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + + System.out.print("How many numbers do you need to draw? "); + int k = in.nextInt(); + + System.out.print("What is the highest number you can draw? "); + int n = in.nextInt(); + + // fill an array with numbers 1 2 3 . . . n + int[] numbers = new int[n]; + for (int i = 0; i < numbers.length; i++) + numbers[i] = i + 1; + + // draw k numbers and put them into a second array + int[] result = new int[k]; + for (int i = 0; i < result.length; i++) + { + // make a random index between 0 and n - 1 + int r = (int) (Math.random() * n); + + // pick the element at the random location + result[i] = numbers[r]; + + // move the last element into the random location + numbers[r] = numbers[n - 1]; + n--; + } + + // print the sorted array + Arrays.sort(result); + System.out.println("Bet the following combination. It'll make you rich!"); + for (int r : result) + System.out.println(r); + } +} diff --git a/corejava第9版/v1ch03/LotteryOdds/LotteryOdds.java b/corejava第9版/v1ch03/LotteryOdds/LotteryOdds.java new file mode 100644 index 0000000..c315acd --- /dev/null +++ b/corejava第9版/v1ch03/LotteryOdds/LotteryOdds.java @@ -0,0 +1,30 @@ +import java.util.*; + +/** + * This program demonstrates a for loop. + * @version 1.20 2004-02-10 + * @author Cay Horstmann + */ +public class LotteryOdds +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + + System.out.print("How many numbers do you need to draw? "); + int k = in.nextInt(); + + System.out.print("What is the highest number you can draw? "); + int n = in.nextInt(); + + /* + * compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k) + */ + + int lotteryOdds = 1; + for (int i = 1; i <= k; i++) + lotteryOdds = lotteryOdds * (n - i + 1) / i; + + System.out.println("Your odds are 1 in " + lotteryOdds + ". Good luck!"); + } +} diff --git a/corejava第9版/v1ch03/Retirement/Retirement.java b/corejava第9版/v1ch03/Retirement/Retirement.java new file mode 100644 index 0000000..99c2e16 --- /dev/null +++ b/corejava第9版/v1ch03/Retirement/Retirement.java @@ -0,0 +1,39 @@ +import java.util.*; + +/** + * This program demonstrates a while loop. + * @version 1.20 2004-02-10 + * @author Cay Horstmann + */ +public class Retirement +{ + public static void main(String[] args) + { + // read inputs + Scanner in = new Scanner(System.in); + + System.out.print("How much money do you need to retire? "); + double goal = in.nextDouble(); + + System.out.print("How much money will you contribute every year? "); + double payment = in.nextDouble(); + + System.out.print("Interest rate in %: "); + double interestRate = in.nextDouble(); + + double balance = 0; + int years = 0; + + // update account balance while goal isn't reached + while (balance < goal) + { + // add this year's payment and interest + balance += payment; + double interest = balance * interestRate / 100; + balance += interest; + years++; + } + + System.out.println("You can retire in " + years + " years."); + } +} diff --git a/corejava第9版/v1ch03/Retirement2/Retirement2.java b/corejava第9版/v1ch03/Retirement2/Retirement2.java new file mode 100644 index 0000000..7efe4c2 --- /dev/null +++ b/corejava第9版/v1ch03/Retirement2/Retirement2.java @@ -0,0 +1,44 @@ +import java.util.*; + +/** + * This program demonstrates a do/while loop. + * @version 1.20 2004-02-10 + * @author Cay Horstmann + */ +public class Retirement2 +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + + System.out.print("How much money will you contribute every year? "); + double payment = in.nextDouble(); + + System.out.print("Interest rate in %: "); + double interestRate = in.nextDouble(); + + double balance = 0; + int year = 0; + + String input; + + // update account balance while user isn't ready to retire + do + { + // add this year's payment and interest + balance += payment; + double interest = balance * interestRate / 100; + balance += interest; + + year++; + + // print current balance + System.out.printf("After year %d, your balance is %,.2f%n", year, balance); + + // ask if ready to retire and get input + System.out.print("Ready to retire? (Y/N) "); + input = in.next(); + } + while (input.equals("N")); + } +} diff --git a/corejava第9版/v1ch04/CalendarTest/CalendarTest.java b/corejava第9版/v1ch04/CalendarTest/CalendarTest.java new file mode 100644 index 0000000..a9dd697 --- /dev/null +++ b/corejava第9版/v1ch04/CalendarTest/CalendarTest.java @@ -0,0 +1,74 @@ +import java.text.DateFormatSymbols; +import java.util.*; + +/** + * @version 1.4 2007-04-07 + * @author Cay Horstmann + */ + +public class CalendarTest +{ + public static void main(String[] args) + { + // construct d as current date + GregorianCalendar d = new GregorianCalendar(); + + int today = d.get(Calendar.DAY_OF_MONTH); + int month = d.get(Calendar.MONTH); + + // set d to start date of the month + d.set(Calendar.DAY_OF_MONTH, 1); + + int weekday = d.get(Calendar.DAY_OF_WEEK); + + // get first day of week (Sunday in the U.S.) + int firstDayOfWeek = d.getFirstDayOfWeek(); + + // determine the required indentation for the first line + int indent = 0; + while (weekday != firstDayOfWeek) + { + indent++; + d.add(Calendar.DAY_OF_MONTH, -1); + weekday = d.get(Calendar.DAY_OF_WEEK); + } + + // print weekday names + String[] weekdayNames = new DateFormatSymbols().getShortWeekdays(); + do + { + System.out.printf("%4s", weekdayNames[weekday]); + d.add(Calendar.DAY_OF_MONTH, 1); + weekday = d.get(Calendar.DAY_OF_WEEK); + } + while (weekday != firstDayOfWeek); + System.out.println(); + + for (int i = 1; i <= indent; i++) + System.out.print(" "); + + d.set(Calendar.DAY_OF_MONTH, 1); + do + { + // print day + int day = d.get(Calendar.DAY_OF_MONTH); + System.out.printf("%3d", day); + + // mark current day with * + if (day == today) System.out.print("*"); + else System.out.print(" "); + + // advance d to the next day + d.add(Calendar.DAY_OF_MONTH, 1); + weekday = d.get(Calendar.DAY_OF_WEEK); + + // start a new line at the start of the week + if (weekday == firstDayOfWeek) System.out.println(); + } + while (d.get(Calendar.MONTH) == month); + // the loop exits when d is day 1 of the next month + + // print final end of line if necessary + if (weekday != firstDayOfWeek) System.out.println(); + } +} diff --git a/corejava第9版/v1ch04/ConstructorTest/ConstructorTest.java b/corejava第9版/v1ch04/ConstructorTest/ConstructorTest.java new file mode 100644 index 0000000..d515e45 --- /dev/null +++ b/corejava第9版/v1ch04/ConstructorTest/ConstructorTest.java @@ -0,0 +1,83 @@ +import java.util.*; + +/** + * This program demonstrates object construction. + * @version 1.01 2004-02-19 + * @author Cay Horstmann + */ +public class ConstructorTest +{ + public static void main(String[] args) + { + // fill the staff array with three Employee objects + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Harry", 40000); + staff[1] = new Employee(60000); + staff[2] = new Employee(); + + // print out information about all Employee objects + for (Employee e : staff) + System.out.println("name=" + e.getName() + ",id=" + e.getId() + ",salary=" + + e.getSalary()); + } +} + +class Employee +{ + private static int nextId; + + private int id; + private String name = ""; // instance field initialization + private double salary; + + // static initialization block + static + { + Random generator = new Random(); + // set nextId to a random number between 0 and 9999 + nextId = generator.nextInt(10000); + } + + // object initialization block + { + id = nextId; + nextId++; + } + + // three overloaded constructors + public Employee(String n, double s) + { + name = n; + salary = s; + } + + public Employee(double s) + { + // calls the Employee(String, double) constructor + this("Employee #" + nextId, s); + } + + // the default constructor + public Employee() + { + // name initialized to ""--see above + // salary not explicitly set--initialized to 0 + // id initialized in initialization block + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public int getId() + { + return id; + } +} diff --git a/corejava第9版/v1ch04/EmployeeTest/EmployeeTest.java b/corejava第9版/v1ch04/EmployeeTest/EmployeeTest.java new file mode 100644 index 0000000..a2a9069 --- /dev/null +++ b/corejava第9版/v1ch04/EmployeeTest/EmployeeTest.java @@ -0,0 +1,65 @@ +import java.util.*; + +/** + * This program tests the Employee class. + * @version 1.11 2004-02-19 + * @author Cay Horstmann + */ +public class EmployeeTest +{ + public static void main(String[] args) + { + // fill the staff array with three Employee objects + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15); + staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1); + staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15); + + // raise everyone's salary by 5% + for (Employee e : staff) + e.raiseSalary(5); + + // print out information about all Employee objects + for (Employee e : staff) + System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay=" + + e.getHireDay()); + } +} + +class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + // GregorianCalendar uses 0 for January + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v1ch04/PackageTest/PackageTest.java b/corejava第9版/v1ch04/PackageTest/PackageTest.java new file mode 100644 index 0000000..adce5a0 --- /dev/null +++ b/corejava第9版/v1ch04/PackageTest/PackageTest.java @@ -0,0 +1,23 @@ +import com.horstmann.corejava.*; +// the Employee class is defined in that package + +import static java.lang.System.*; + +/** + * This program demonstrates the use of packages. + * @version 1.11 2004-02-19 + * @author Cay Horstmann + */ +public class PackageTest +{ + public static void main(String[] args) + { + // because of the import statement, we don't have to use com.horstmann.corejava.Employee here + Employee harry = new Employee("Harry Hacker", 50000, 1989, 10, 1); + + harry.raiseSalary(5); + + // because of the static import statement, we don't have to use System.out here + out.println("name=" + harry.getName() + ",salary=" + harry.getSalary()); + } +} diff --git a/corejava第9版/v1ch04/PackageTest/com/horstmann/corejava/Employee.java b/corejava第9版/v1ch04/PackageTest/com/horstmann/corejava/Employee.java new file mode 100644 index 0000000..0dde689 --- /dev/null +++ b/corejava第9版/v1ch04/PackageTest/com/horstmann/corejava/Employee.java @@ -0,0 +1,48 @@ +package com.horstmann.corejava; + +// the classes in this file are part of this package + +import java.util.*; + +// import statements come after the package statement + +/** + * @version 1.10 1999-12-18 + * @author Cay Horstmann + */ +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + // GregorianCalendar uses 0 for January + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v1ch04/ParamTest/ParamTest.java b/corejava第9版/v1ch04/ParamTest/ParamTest.java new file mode 100644 index 0000000..30488ed --- /dev/null +++ b/corejava第9版/v1ch04/ParamTest/ParamTest.java @@ -0,0 +1,89 @@ +/** + * This program demonstrates parameter passing in Java. + * @version 1.00 2000-01-27 + * @author Cay Horstmann + */ +public class ParamTest +{ + public static void main(String[] args) + { + /* + * Test 1: Methods can't modify numeric parameters + */ + System.out.println("Testing tripleValue:"); + double percent = 10; + System.out.println("Before: percent=" + percent); + tripleValue(percent); + System.out.println("After: percent=" + percent); + + /* + * Test 2: Methods can change the state of object parameters + */ + System.out.println("\nTesting tripleSalary:"); + Employee harry = new Employee("Harry", 50000); + System.out.println("Before: salary=" + harry.getSalary()); + tripleSalary(harry); + System.out.println("After: salary=" + harry.getSalary()); + + /* + * Test 3: Methods can't attach new objects to object parameters + */ + System.out.println("\nTesting swap:"); + Employee a = new Employee("Alice", 70000); + Employee b = new Employee("Bob", 60000); + System.out.println("Before: a=" + a.getName()); + System.out.println("Before: b=" + b.getName()); + swap(a, b); + System.out.println("After: a=" + a.getName()); + System.out.println("After: b=" + b.getName()); + } + + public static void tripleValue(double x) // doesn't work + { + x = 3 * x; + System.out.println("End of method: x=" + x); + } + + public static void tripleSalary(Employee x) // works + { + x.raiseSalary(200); + System.out.println("End of method: salary=" + x.getSalary()); + } + + public static void swap(Employee x, Employee y) + { + Employee temp = x; + x = y; + y = temp; + System.out.println("End of method: x=" + x.getName()); + System.out.println("End of method: y=" + y.getName()); + } +} + +class Employee // simplified Employee class +{ + private String name; + private double salary; + + public Employee(String n, double s) + { + name = n; + salary = s; + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v1ch04/StaticTest/StaticTest.java b/corejava第9版/v1ch04/StaticTest/StaticTest.java new file mode 100644 index 0000000..d1fd3f6 --- /dev/null +++ b/corejava第9版/v1ch04/StaticTest/StaticTest.java @@ -0,0 +1,76 @@ +/** + * This program demonstrates static methods. + * @version 1.01 2004-02-19 + * @author Cay Horstmann + */ +public class StaticTest +{ + public static void main(String[] args) + { + // fill the staff array with three Employee objects + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Tom", 40000); + staff[1] = new Employee("Dick", 60000); + staff[2] = new Employee("Harry", 65000); + + // print out information about all Employee objects + for (Employee e : staff) + { + e.setId(); + System.out.println("name=" + e.getName() + ",id=" + e.getId() + ",salary=" + + e.getSalary()); + } + + int n = Employee.getNextId(); // calls static method + System.out.println("Next available id=" + n); + } +} + +class Employee +{ + private static int nextId = 1; + + private String name; + private double salary; + private int id; + + public Employee(String n, double s) + { + name = n; + salary = s; + id = 0; + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public int getId() + { + return id; + } + + public void setId() + { + id = nextId; // set id to next available id + nextId++; + } + + public static int getNextId() + { + return nextId; // returns static field + } + + public static void main(String[] args) // unit test + { + Employee e = new Employee("Harry", 50000); + System.out.println(e.getName() + " " + e.getSalary()); + } +} diff --git a/corejava第9版/v1ch05/.settings/org.eclipse.jdt.core.prefs b/corejava第9版/v1ch05/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..65d1432 --- /dev/null +++ b/corejava第9版/v1ch05/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,281 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=3 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=3 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=3 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=3 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/corejava第9版/v1ch05/.settings/org.eclipse.jdt.ui.prefs b/corejava第9版/v1ch05/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000..90feb98 --- /dev/null +++ b/corejava第9版/v1ch05/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_Core Java +formatter_settings_version=12 diff --git a/corejava第9版/v1ch05/abstractClasses/Employee.java b/corejava第9版/v1ch05/abstractClasses/Employee.java new file mode 100644 index 0000000..7369553 --- /dev/null +++ b/corejava第9版/v1ch05/abstractClasses/Employee.java @@ -0,0 +1,39 @@ +package abstractClasses; + +import java.util.Date; +import java.util.GregorianCalendar; + +public class Employee extends Person +{ + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + super(n); + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public String getDescription() + { + return String.format("an employee with a salary of $%.2f", salary); + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v1ch05/abstractClasses/Person.java b/corejava第9版/v1ch05/abstractClasses/Person.java new file mode 100644 index 0000000..6fdc3bd --- /dev/null +++ b/corejava第9版/v1ch05/abstractClasses/Person.java @@ -0,0 +1,17 @@ +package abstractClasses; + +public abstract class Person +{ + public abstract String getDescription(); + private String name; + + public Person(String n) + { + name = n; + } + + public String getName() + { + return name; + } +} diff --git a/corejava第9版/v1ch05/abstractClasses/PersonTest.java b/corejava第9版/v1ch05/abstractClasses/PersonTest.java new file mode 100644 index 0000000..67733f0 --- /dev/null +++ b/corejava第9版/v1ch05/abstractClasses/PersonTest.java @@ -0,0 +1,22 @@ +package abstractClasses; + +/** + * This program demonstrates abstract classes. + * @version 1.01 2004-02-21 + * @author Cay Horstmann + */ +public class PersonTest +{ + public static void main(String[] args) + { + Person[] people = new Person[2]; + + // fill the people array with Student and Employee objects + people[0] = new Employee("Harry Hacker", 50000, 1989, 10, 1); + people[1] = new Student("Maria Morris", "computer science"); + + // print out names and descriptions of all Person objects + for (Person p : people) + System.out.println(p.getName() + ", " + p.getDescription()); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch05/abstractClasses/Student.java b/corejava第9版/v1ch05/abstractClasses/Student.java new file mode 100644 index 0000000..057094e --- /dev/null +++ b/corejava第9版/v1ch05/abstractClasses/Student.java @@ -0,0 +1,22 @@ +package abstractClasses; + +public class Student extends Person +{ + private String major; + + /** + * @param n the student's name + * @param m the student's major + */ + public Student(String n, String m) + { + // pass n to superclass constructor + super(n); + major = m; + } + + public String getDescription() + { + return "a student majoring in " + major; + } +} diff --git a/corejava第9版/v1ch05/arrayList/ArrayListTest.java b/corejava第9版/v1ch05/arrayList/ArrayListTest.java new file mode 100644 index 0000000..31484b1 --- /dev/null +++ b/corejava第9版/v1ch05/arrayList/ArrayListTest.java @@ -0,0 +1,30 @@ +package arrayList; + +import java.util.*; + +/** + * This program demonstrates the ArrayList class. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +public class ArrayListTest +{ + public static void main(String[] args) + { + // fill the staff array list with three Employee objects + ArrayList staff = new ArrayList<>(); + + staff.add(new Employee("Carl Cracker", 75000, 1987, 12, 15)); + staff.add(new Employee("Harry Hacker", 50000, 1989, 10, 1)); + staff.add(new Employee("Tony Tester", 40000, 1990, 3, 15)); + + // raise everyone's salary by 5% + for (Employee e : staff) + e.raiseSalary(5); + + // print out information about all Employee objects + for (Employee e : staff) + System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay=" + + e.getHireDay()); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch05/arrayList/Employee.java b/corejava第9版/v1ch05/arrayList/Employee.java new file mode 100644 index 0000000..fd9626b --- /dev/null +++ b/corejava第9版/v1ch05/arrayList/Employee.java @@ -0,0 +1,40 @@ +package arrayList; + +import java.util.Date; +import java.util.GregorianCalendar; + +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v1ch05/arrays/CopyOfTest.java b/corejava第9版/v1ch05/arrays/CopyOfTest.java new file mode 100644 index 0000000..afbd445 --- /dev/null +++ b/corejava第9版/v1ch05/arrays/CopyOfTest.java @@ -0,0 +1,58 @@ +package arrays; + +import java.lang.reflect.*; +import java.util.*; + +/** + * This program demonstrates the use of reflection for manipulating arrays. + * @version 1.2 2012-05-04 + * @author Cay Horstmann + */ +public class CopyOfTest +{ + public static void main(String[] args) + { + int[] a = { 1, 2, 3 }; + a = (int[]) goodCopyOf(a, 10); + System.out.println(Arrays.toString(a)); + + String[] b = { "Tom", "Dick", "Harry" }; + b = (String[]) goodCopyOf(b, 10); + System.out.println(Arrays.toString(b)); + + System.out.println("The following call will generate an exception."); + b = (String[]) badCopyOf(b, 10); + } + + /** + * This method attempts to grow an array by allocating a new array and copying all elements. + * @param a the array to grow + * @param newLength the new length + * @return a larger array that contains all elements of a. However, the returned array has + * type Object[], not the same type as a + */ + public static Object[] badCopyOf(Object[] a, int newLength) // not useful + { + Object[] newArray = new Object[newLength]; + System.arraycopy(a, 0, newArray, 0, Math.min(a.length, newLength)); + return newArray; + } + + /** + * This method grows an array by allocating a new array of the same type and + * copying all elements. + * @param a the array to grow. This can be an object array or a primitive + * type array + * @return a larger array that contains all elements of a. + */ + public static Object goodCopyOf(Object a, int newLength) + { + Class cl = a.getClass(); + if (!cl.isArray()) return null; + Class componentType = cl.getComponentType(); + int length = Array.getLength(a); + Object newArray = Array.newInstance(componentType, newLength); + System.arraycopy(a, 0, newArray, 0, Math.min(length, newLength)); + return newArray; + } +} diff --git a/corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.core.prefs b/corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..65d1432 --- /dev/null +++ b/corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,281 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=3 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=3 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=3 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=3 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.ui.prefs b/corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000..90feb98 --- /dev/null +++ b/corejava第9版/v1ch05/bin/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +formatter_profile=_Core Java +formatter_settings_version=12 diff --git a/corejava第9版/v1ch05/enums/EnumTest.java b/corejava第9版/v1ch05/enums/EnumTest.java new file mode 100644 index 0000000..180fc25 --- /dev/null +++ b/corejava第9版/v1ch05/enums/EnumTest.java @@ -0,0 +1,33 @@ +package enums; + +import java.util.*; + +/** + * This program demonstrates enumerated types. + * @version 1.0 2004-05-24 + * @author Cay Horstmann + */ +public class EnumTest +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + System.out.print("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE) "); + String input = in.next().toUpperCase(); + Size size = Enum.valueOf(Size.class, input); + System.out.println("size=" + size); + System.out.println("abbreviation=" + size.getAbbreviation()); + if (size == Size.EXTRA_LARGE) + System.out.println("Good job--you paid attention to the _."); + } +} + +enum Size +{ + SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL"); + + private Size(String abbreviation) { this.abbreviation = abbreviation; } + public String getAbbreviation() { return abbreviation; } + + private String abbreviation; +} diff --git a/corejava第9版/v1ch05/equals/Employee.java b/corejava第9版/v1ch05/equals/Employee.java new file mode 100644 index 0000000..1e015c8 --- /dev/null +++ b/corejava第9版/v1ch05/equals/Employee.java @@ -0,0 +1,70 @@ +package equals; + +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.Objects; + +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public boolean equals(Object otherObject) + { + // a quick test to see if the objects are identical + if (this == otherObject) return true; + + // must return false if the explicit parameter is null + if (otherObject == null) return false; + + // if the classes don't match, they can't be equal + if (getClass() != otherObject.getClass()) return false; + + // now we know otherObject is a non-null Employee + Employee other = (Employee) otherObject; + + // test whether the fields have identical values + return Objects.equals(name, other.name) && salary == other.salary && Objects.equals(hireDay, other.hireDay); + } + + public int hashCode() + { + return Objects.hash(name, salary, hireDay); + } + + public String toString() + { + return getClass().getName() + "[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + + "]"; + } +} diff --git a/corejava第9版/v1ch05/equals/EqualsTest.java b/corejava第9版/v1ch05/equals/EqualsTest.java new file mode 100644 index 0000000..f37d5b3 --- /dev/null +++ b/corejava第9版/v1ch05/equals/EqualsTest.java @@ -0,0 +1,37 @@ +package equals; + +/** + * This program demonstrates the equals method. + * @version 1.12 2012-01-26 + * @author Cay Horstmann + */ +public class EqualsTest +{ + public static void main(String[] args) + { + Employee alice1 = new Employee("Alice Adams", 75000, 1987, 12, 15); + Employee alice2 = alice1; + Employee alice3 = new Employee("Alice Adams", 75000, 1987, 12, 15); + Employee bob = new Employee("Bob Brandson", 50000, 1989, 10, 1); + + System.out.println("alice1 == alice2: " + (alice1 == alice2)); + + System.out.println("alice1 == alice3: " + (alice1 == alice3)); + + System.out.println("alice1.equals(alice3): " + alice1.equals(alice3)); + + System.out.println("alice1.equals(bob): " + alice1.equals(bob)); + + System.out.println("bob.toString(): " + bob); + + Manager carl = new Manager("Carl Cracker", 80000, 1987, 12, 15); + Manager boss = new Manager("Carl Cracker", 80000, 1987, 12, 15); + boss.setBonus(5000); + System.out.println("boss.toString(): " + boss); + System.out.println("carl.equals(boss): " + carl.equals(boss)); + System.out.println("alice1.hashCode(): " + alice1.hashCode()); + System.out.println("alice3.hashCode(): " + alice3.hashCode()); + System.out.println("bob.hashCode(): " + bob.hashCode()); + System.out.println("carl.hashCode(): " + carl.hashCode()); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch05/equals/Manager.java b/corejava第9版/v1ch05/equals/Manager.java new file mode 100644 index 0000000..b606e74 --- /dev/null +++ b/corejava第9版/v1ch05/equals/Manager.java @@ -0,0 +1,42 @@ +package equals; + +public class Manager extends Employee +{ + private double bonus; + + public Manager(String n, double s, int year, int month, int day) + { + super(n, s, year, month, day); + bonus = 0; + } + + public double getSalary() + { + double baseSalary = super.getSalary(); + return baseSalary + bonus; + } + + public void setBonus(double b) + { + bonus = b; + } + + public boolean equals(Object otherObject) + { + if (!super.equals(otherObject)) return false; + Manager other = (Manager) otherObject; + // super.equals checked that this and other belong to the same class + return bonus == other.bonus; + } + + public int hashCode() + { + return super.hashCode() + 17 * new Double(bonus).hashCode(); + } + + public String toString() + { + return super.toString() + "[bonus=" + bonus + "]"; + } +} + diff --git a/corejava第9版/v1ch05/inheritance/Employee.java b/corejava第9版/v1ch05/inheritance/Employee.java new file mode 100644 index 0000000..4e91a09 --- /dev/null +++ b/corejava第9版/v1ch05/inheritance/Employee.java @@ -0,0 +1,40 @@ +package inheritance; + +import java.util.Date; +import java.util.GregorianCalendar; + +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v1ch05/inheritance/Manager.java b/corejava第9版/v1ch05/inheritance/Manager.java new file mode 100644 index 0000000..f43c081 --- /dev/null +++ b/corejava第9版/v1ch05/inheritance/Manager.java @@ -0,0 +1,31 @@ +package inheritance; + +public class Manager extends Employee +{ + private double bonus; + + /** + * @param n the employee's name + * @param s the salary + * @param year the hire year + * @param month the hire month + * @param day the hire day + */ + public Manager(String n, double s, int year, int month, int day) + { + super(n, s, year, month, day); + bonus = 0; + } + + public double getSalary() + { + double baseSalary = super.getSalary(); + return baseSalary + bonus; + } + + public void setBonus(double b) + { + bonus = b; + } +} + diff --git a/corejava第9版/v1ch05/inheritance/ManagerTest.java b/corejava第9版/v1ch05/inheritance/ManagerTest.java new file mode 100644 index 0000000..3259d93 --- /dev/null +++ b/corejava第9版/v1ch05/inheritance/ManagerTest.java @@ -0,0 +1,29 @@ +package inheritance; + + +/** + * This program demonstrates inheritance. + * @version 1.21 2004-02-21 + * @author Cay Horstmann + */ +public class ManagerTest +{ + public static void main(String[] args) + { + // construct a Manager object + Manager boss = new Manager("Carl Cracker", 80000, 1987, 12, 15); + boss.setBonus(5000); + + Employee[] staff = new Employee[3]; + + // fill the staff array with Manager and Employee objects + + staff[0] = boss; + staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1); + staff[2] = new Employee("Tommy Tester", 40000, 1990, 3, 15); + + // print out information about all Employee objects + for (Employee e : staff) + System.out.println("name=" + e.getName() + ",salary=" + e.getSalary()); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch05/methods/MethodTableTest.java b/corejava第9版/v1ch05/methods/MethodTableTest.java new file mode 100644 index 0000000..c84666d --- /dev/null +++ b/corejava第9版/v1ch05/methods/MethodTableTest.java @@ -0,0 +1,61 @@ +package methods; + +import java.lang.reflect.*; + +/** + * This program shows how to invoke methods through reflection. + * @version 1.2 2012-05-04 + * @author Cay Horstmann + */ +public class MethodTableTest +{ + public static void main(String[] args) throws Exception + { + // get method pointers to the square and sqrt methods + Method square = MethodTableTest.class.getMethod("square", double.class); + Method sqrt = Math.class.getMethod("sqrt", double.class); + + // print tables of x- and y-values + + printTable(1, 10, 10, square); + printTable(1, 10, 10, sqrt); + } + + /** + * Returns the square of a number + * @param x a number + * @return x squared + */ + public static double square(double x) + { + return x * x; + } + + /** + * Prints a table with x- and y-values for a method + * @param from the lower bound for the x-values + * @param to the upper bound for the x-values + * @param n the number of rows in the table + * @param f a method with a double parameter and double return value + */ + public static void printTable(double from, double to, int n, Method f) + { + // print out the method as table header + System.out.println(f); + + double dx = (to - from) / (n - 1); + + for (double x = from; x <= to; x += dx) + { + try + { + double y = (Double) f.invoke(null, x); + System.out.printf("%10.4f | %10.4f%n", x, y); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + } +} diff --git a/corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzer.java b/corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzer.java new file mode 100644 index 0000000..85e81d0 --- /dev/null +++ b/corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzer.java @@ -0,0 +1,73 @@ +package objectAnalyzer; + +import java.lang.reflect.AccessibleObject; +import java.lang.reflect.Array; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; + +public class ObjectAnalyzer +{ + private ArrayList visited = new ArrayList<>(); + + /** + * Converts an object to a string representation that lists all fields. + * @param obj an object + * @return a string with the object's class name and all field names and + * values + */ + public String toString(Object obj) + { + if (obj == null) return "null"; + if (visited.contains(obj)) return "..."; + visited.add(obj); + Class cl = obj.getClass(); + if (cl == String.class) return (String) obj; + if (cl.isArray()) + { + String r = cl.getComponentType() + "[]{"; + for (int i = 0; i < Array.getLength(obj); i++) + { + if (i > 0) r += ","; + Object val = Array.get(obj, i); + if (cl.getComponentType().isPrimitive()) r += val; + else r += toString(val); + } + return r + "}"; + } + + String r = cl.getName(); + // inspect the fields of this class and all superclasses + do + { + r += "["; + Field[] fields = cl.getDeclaredFields(); + AccessibleObject.setAccessible(fields, true); + // get the names and values of all fields + for (Field f : fields) + { + if (!Modifier.isStatic(f.getModifiers())) + { + if (!r.endsWith("[")) r += ","; + r += f.getName() + "="; + try + { + Class t = f.getType(); + Object val = f.get(obj); + if (t.isPrimitive()) r += val; + else r += toString(val); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + } + r += "]"; + cl = cl.getSuperclass(); + } + while (cl != null); + + return r; + } +} diff --git a/corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzerTest.java b/corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzerTest.java new file mode 100644 index 0000000..dac6ee8 --- /dev/null +++ b/corejava第9版/v1ch05/objectAnalyzer/ObjectAnalyzerTest.java @@ -0,0 +1,19 @@ +package objectAnalyzer; + +import java.util.ArrayList; + +/** + * This program uses reflection to spy on objects. + * @version 1.12 2012-01-26 + * @author Cay Horstmann + */ +public class ObjectAnalyzerTest +{ + public static void main(String[] args) + { + ArrayList squares = new ArrayList<>(); + for (int i = 1; i <= 5; i++) + squares.add(i * i); + System.out.println(new ObjectAnalyzer().toString(squares)); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch05/reflection/ReflectionTest.java b/corejava第9版/v1ch05/reflection/ReflectionTest.java new file mode 100644 index 0000000..c7eb8a0 --- /dev/null +++ b/corejava第9版/v1ch05/reflection/ReflectionTest.java @@ -0,0 +1,126 @@ +package reflection; + +import java.util.*; +import java.lang.reflect.*; + +/** + * This program uses reflection to print all features of a class. + * @version 1.1 2004-02-21 + * @author Cay Horstmann + */ +public class ReflectionTest +{ + public static void main(String[] args) + { + // read class name from command line args or user input + String name; + if (args.length > 0) name = args[0]; + else + { + Scanner in = new Scanner(System.in); + System.out.println("Enter class name (e.g. java.util.Date): "); + name = in.next(); + } + + try + { + // print class name and superclass name (if != Object) + Class cl = Class.forName(name); + Class supercl = cl.getSuperclass(); + String modifiers = Modifier.toString(cl.getModifiers()); + if (modifiers.length() > 0) System.out.print(modifiers + " "); + System.out.print("class " + name); + if (supercl != null && supercl != Object.class) System.out.print(" extends " + + supercl.getName()); + + System.out.print("\n{\n"); + printConstructors(cl); + System.out.println(); + printMethods(cl); + System.out.println(); + printFields(cl); + System.out.println("}"); + } + catch (ClassNotFoundException e) + { + e.printStackTrace(); + } + System.exit(0); + } + + /** + * Prints all constructors of a class + * @param cl a class + */ + public static void printConstructors(Class cl) + { + Constructor[] constructors = cl.getDeclaredConstructors(); + + for (Constructor c : constructors) + { + String name = c.getName(); + System.out.print(" "); + String modifiers = Modifier.toString(c.getModifiers()); + if (modifiers.length() > 0) System.out.print(modifiers + " "); + System.out.print(name + "("); + + // print parameter types + Class[] paramTypes = c.getParameterTypes(); + for (int j = 0; j < paramTypes.length; j++) + { + if (j > 0) System.out.print(", "); + System.out.print(paramTypes[j].getName()); + } + System.out.println(");"); + } + } + + /** + * Prints all methods of a class + * @param cl a class + */ + public static void printMethods(Class cl) + { + Method[] methods = cl.getDeclaredMethods(); + + for (Method m : methods) + { + Class retType = m.getReturnType(); + String name = m.getName(); + + System.out.print(" "); + // print modifiers, return type and method name + String modifiers = Modifier.toString(m.getModifiers()); + if (modifiers.length() > 0) System.out.print(modifiers + " "); + System.out.print(retType.getName() + " " + name + "("); + + // print parameter types + Class[] paramTypes = m.getParameterTypes(); + for (int j = 0; j < paramTypes.length; j++) + { + if (j > 0) System.out.print(", "); + System.out.print(paramTypes[j].getName()); + } + System.out.println(");"); + } + } + + /** + * Prints all fields of a class + * @param cl a class + */ + public static void printFields(Class cl) + { + Field[] fields = cl.getDeclaredFields(); + + for (Field f : fields) + { + Class type = f.getType(); + String name = f.getName(); + System.out.print(" "); + String modifiers = Modifier.toString(f.getModifiers()); + if (modifiers.length() > 0) System.out.print(modifiers + " "); + System.out.println(type.getName() + " " + name + ";"); + } + } +} diff --git a/corejava第9版/v1ch06/anonymousInnerClass/AnonymousInnerClassTest.java b/corejava第9版/v1ch06/anonymousInnerClass/AnonymousInnerClassTest.java new file mode 100644 index 0000000..9bf91b8 --- /dev/null +++ b/corejava第9版/v1ch06/anonymousInnerClass/AnonymousInnerClassTest.java @@ -0,0 +1,51 @@ +package anonymousInnerClass; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; +import javax.swing.Timer; + +/** + * This program demonstrates anonymous inner classes. + * @version 1.10 2004-02-27 + * @author Cay Horstmann + */ +public class AnonymousInnerClassTest +{ + public static void main(String[] args) + { + TalkingClock clock = new TalkingClock(); + clock.start(1000, true); + + // keep program running until user selects "Ok" + JOptionPane.showMessageDialog(null, "Quit program?"); + System.exit(0); + } +} + +/** + * A clock that prints the time in regular intervals. + */ +class TalkingClock +{ + /** + * Starts the clock. + * @param interval the interval between messages (in milliseconds) + * @param beep true if the clock should beep + */ + public void start(int interval, final boolean beep) + { + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + Date now = new Date(); + System.out.println("At the tone, the time is " + now); + if (beep) Toolkit.getDefaultToolkit().beep(); + } + }; + Timer t = new Timer(interval, listener); + t.start(); + } +} diff --git a/corejava第9版/v1ch06/clone/CloneTest.java b/corejava第9版/v1ch06/clone/CloneTest.java new file mode 100644 index 0000000..6e940d1 --- /dev/null +++ b/corejava第9版/v1ch06/clone/CloneTest.java @@ -0,0 +1,27 @@ +package clone; + +/** + * This program demonstrates cloning. + * @version 1.10 2002-07-01 + * @author Cay Horstmann + */ +public class CloneTest +{ + public static void main(String[] args) + { + try + { + Employee original = new Employee("John Q. Public", 50000); + original.setHireDay(2000, 1, 1); + Employee copy = original.clone(); + copy.raiseSalary(10); + copy.setHireDay(2002, 12, 31); + System.out.println("original=" + original); + System.out.println("copy=" + copy); + } + catch (CloneNotSupportedException e) + { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch06/clone/Employee.java b/corejava第9版/v1ch06/clone/Employee.java new file mode 100644 index 0000000..6971df6 --- /dev/null +++ b/corejava第9版/v1ch06/clone/Employee.java @@ -0,0 +1,54 @@ +package clone; + +import java.util.Date; +import java.util.GregorianCalendar; + +public class Employee implements Cloneable +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s) + { + name = n; + salary = s; + hireDay = new Date(); + } + + public Employee clone() throws CloneNotSupportedException + { + // call Object.clone() + Employee cloned = (Employee) super.clone(); + + // clone mutable fields + cloned.hireDay = (Date) hireDay.clone(); + + return cloned; + } + + /** + * Set the hire day to a given date. + * @param year the year of the hire day + * @param month the month of the hire day + * @param day the day of the hire day + */ + public void setHireDay(int year, int month, int day) + { + Date newHireDay = new GregorianCalendar(year, month - 1, day).getTime(); + + // Example of instance field mutation + hireDay.setTime(newHireDay.getTime()); + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public String toString() + { + return "Employee[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + "]"; + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch06/innerClass/InnerClassTest.java b/corejava第9版/v1ch06/innerClass/InnerClassTest.java new file mode 100644 index 0000000..d88b24e --- /dev/null +++ b/corejava第9版/v1ch06/innerClass/InnerClassTest.java @@ -0,0 +1,65 @@ +package innerClass; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; +import javax.swing.Timer; + +/** + * This program demonstrates the use of inner classes. + * @version 1.10 2004-02-27 + * @author Cay Horstmann + */ +public class InnerClassTest +{ + public static void main(String[] args) + { + TalkingClock clock = new TalkingClock(1000, true); + clock.start(); + + // keep program running until user selects "Ok" + JOptionPane.showMessageDialog(null, "Quit program?"); + System.exit(0); + } +} + +/** + * A clock that prints the time in regular intervals. + */ +class TalkingClock +{ + private int interval; + private boolean beep; + + /** + * Constructs a talking clock + * @param interval the interval between messages (in milliseconds) + * @param beep true if the clock should beep + */ + public TalkingClock(int interval, boolean beep) + { + this.interval = interval; + this.beep = beep; + } + + /** + * Starts the clock. + */ + public void start() + { + ActionListener listener = new TimePrinter(); + Timer t = new Timer(interval, listener); + t.start(); + } + + public class TimePrinter implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + Date now = new Date(); + System.out.println("At the tone, the time is " + now); + if (beep) Toolkit.getDefaultToolkit().beep(); + } + } +} diff --git a/corejava第9版/v1ch06/interfaces/Employee.java b/corejava第9版/v1ch06/interfaces/Employee.java new file mode 100644 index 0000000..f44294d --- /dev/null +++ b/corejava第9版/v1ch06/interfaces/Employee.java @@ -0,0 +1,40 @@ +package interfaces; + +public class Employee implements Comparable +{ + private String name; + private double salary; + + public Employee(String n, double s) + { + name = n; + salary = s; + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + /** + * Compares employees by salary + * @param other another Employee object + * @return a negative value if this employee has a lower salary than + * otherObject, 0 if the salaries are the same, a positive value otherwise + */ + public int compareTo(Employee other) + { + return Double.compare(salary, other.salary); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch06/interfaces/EmployeeSortTest.java b/corejava第9版/v1ch06/interfaces/EmployeeSortTest.java new file mode 100644 index 0000000..43d0104 --- /dev/null +++ b/corejava第9版/v1ch06/interfaces/EmployeeSortTest.java @@ -0,0 +1,26 @@ +package interfaces; + +import java.util.*; + +/** + * This program demonstrates the use of the Comparable interface. + * @version 1.30 2004-02-27 + * @author Cay Horstmann + */ +public class EmployeeSortTest +{ + public static void main(String[] args) + { + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Harry Hacker", 35000); + staff[1] = new Employee("Carl Cracker", 75000); + staff[2] = new Employee("Tony Tester", 38000); + + Arrays.sort(staff); + + // print out information about all Employee objects + for (Employee e : staff) + System.out.println("name=" + e.getName() + ",salary=" + e.getSalary()); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch06/localInnerClass/LocalInnerClassTest.java b/corejava第9版/v1ch06/localInnerClass/LocalInnerClassTest.java new file mode 100644 index 0000000..685a669 --- /dev/null +++ b/corejava第9版/v1ch06/localInnerClass/LocalInnerClassTest.java @@ -0,0 +1,52 @@ +package localInnerClass; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; +import javax.swing.Timer; + +/** + * This program demonstrates the use of local inner classes. + * @version 1.00 2004-02-27 + * @author Cay Horstmann + */ +public class LocalInnerClassTest +{ + public static void main(String[] args) + { + TalkingClock clock = new TalkingClock(); + clock.start(1000, true); + + // keep program running until user selects "Ok" + JOptionPane.showMessageDialog(null, "Quit program?"); + System.exit(0); + } +} + +/** + * A clock that prints the time in regular intervals. + */ +class TalkingClock +{ + /** + * Starts the clock. + * @param interval the interval between messages (in milliseconds) + * @param beep true if the clock should beep + */ + public void start(int interval, final boolean beep) + { + class TimePrinter implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + Date now = new Date(); + System.out.println("At the tone, the time is " + now); + if (beep) Toolkit.getDefaultToolkit().beep(); + } + } + ActionListener listener = new TimePrinter(); + Timer t = new Timer(interval, listener); + t.start(); + } +} diff --git a/corejava第9版/v1ch06/proxy/ProxyTest.java b/corejava第9版/v1ch06/proxy/ProxyTest.java new file mode 100644 index 0000000..b3c1a3b --- /dev/null +++ b/corejava第9版/v1ch06/proxy/ProxyTest.java @@ -0,0 +1,74 @@ +package proxy; + +import java.lang.reflect.*; +import java.util.*; + +/** + * This program demonstrates the use of proxies. + * @version 1.00 2000-04-13 + * @author Cay Horstmann + */ +public class ProxyTest +{ + public static void main(String[] args) + { + Object[] elements = new Object[1000]; + + // fill elements with proxies for the integers 1 ... 1000 + for (int i = 0; i < elements.length; i++) + { + Integer value = i + 1; + InvocationHandler handler = new TraceHandler(value); + Object proxy = Proxy.newProxyInstance(null, new Class[] { Comparable.class } , handler); + elements[i] = proxy; + } + + // construct a random integer + Integer key = new Random().nextInt(elements.length) + 1; + + // search for the key + int result = Arrays.binarySearch(elements, key); + + // print match if found + if (result >= 0) System.out.println(elements[result]); + } +} + +/** + * An invocation handler that prints out the method name and parameters, then + * invokes the original method + */ +class TraceHandler implements InvocationHandler +{ + private Object target; + + /** + * Constructs a TraceHandler + * @param t the implicit parameter of the method call + */ + public TraceHandler(Object t) + { + target = t; + } + + public Object invoke(Object proxy, Method m, Object[] args) throws Throwable + { + // print implicit argument + System.out.print(target); + // print method name + System.out.print("." + m.getName() + "("); + // print explicit arguments + if (args != null) + { + for (int i = 0; i < args.length; i++) + { + System.out.print(args[i]); + if (i < args.length - 1) System.out.print(", "); + } + } + System.out.println(")"); + + // invoke actual method + return m.invoke(target, args); + } +} diff --git a/corejava第9版/v1ch06/staticInnerClass/StaticInnerClassTest.java b/corejava第9版/v1ch06/staticInnerClass/StaticInnerClassTest.java new file mode 100644 index 0000000..04586ac --- /dev/null +++ b/corejava第9版/v1ch06/staticInnerClass/StaticInnerClassTest.java @@ -0,0 +1,78 @@ +package staticInnerClass; + +/** + * This program demonstrates the use of static inner classes. + * @version 1.01 2004-02-27 + * @author Cay Horstmann + */ +public class StaticInnerClassTest +{ + public static void main(String[] args) + { + double[] d = new double[20]; + for (int i = 0; i < d.length; i++) + d[i] = 100 * Math.random(); + ArrayAlg.Pair p = ArrayAlg.minmax(d); + System.out.println("min = " + p.getFirst()); + System.out.println("max = " + p.getSecond()); + } +} + +class ArrayAlg +{ + /** + * A pair of floating-point numbers + */ + public static class Pair + { + private double first; + private double second; + + /** + * Constructs a pair from two floating-point numbers + * @param f the first number + * @param s the second number + */ + public Pair(double f, double s) + { + first = f; + second = s; + } + + /** + * Returns the first number of the pair + * @return the first number + */ + public double getFirst() + { + return first; + } + + /** + * Returns the second number of the pair + * @return the second number + */ + public double getSecond() + { + return second; + } + } + + /** + * Computes both the minimum and the maximum of an array + * @param values an array of floating-point numbers + * @return a pair whose first element is the minimum and whose second element + * is the maximum + */ + public static Pair minmax(double[] values) + { + double min = Double.MAX_VALUE; + double max = Double.MIN_VALUE; + for (double v : values) + { + if (min > v) min = v; + if (max < v) max = v; + } + return new Pair(min, max); + } +} diff --git a/corejava第9版/v1ch06/timer/TimerTest.java b/corejava第9版/v1ch06/timer/TimerTest.java new file mode 100644 index 0000000..db7a094 --- /dev/null +++ b/corejava第9版/v1ch06/timer/TimerTest.java @@ -0,0 +1,39 @@ +package timer; + +/** + @version 1.00 2000-04-13 + @author Cay Horstmann +*/ + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; +import javax.swing.Timer; +// to resolve conflict with java.util.Timer + +public class TimerTest +{ + public static void main(String[] args) + { + ActionListener listener = new TimePrinter(); + + // construct a timer that calls the listener + // once every 10 seconds + Timer t = new Timer(10000, listener); + t.start(); + + JOptionPane.showMessageDialog(null, "Quit program?"); + System.exit(0); + } +} + +class TimePrinter implements ActionListener +{ + public void actionPerformed(ActionEvent event) + { + Date now = new Date(); + System.out.println("At the tone, the time is " + now); + Toolkit.getDefaultToolkit().beep(); + } +} diff --git a/corejava第9版/v1ch07/blue-ball.gif b/corejava第9版/v1ch07/blue-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..edc29b786ce52736bf9f2a1ac38aaa78b1799e92 GIT binary patch literal 925 zcmdUu?@Lp06viLZxvN=zGbLXnxn4xmesCo!DJU;mb`4UqNy|#RHq=F?ixBS%%N9|N ziV~B$*jNmqw3M+H!DTYz_Ji$PHoJm>FZ#itU_uxX2H&oKM(5Rm1JCoE59jPZuy1E+ zQx>xD8(@q9h(scxP{`qMEG#SxhJE31IFU%Sx3?Q}pU+p2cT7HDkb(2MAd8c!3H|p(}ox{^0PDpsEsUa1^qp%-^D8l6;9WGRe zP!y3;$?3#353k7{DmW<-sU+(V7-|{Bc?cRxHMyUnlo31QWrGppY7-C?SeX&Zqci_J zBeg0@`(bqxo>?TF6Wp-ckv|6^2wpZFoMIOBlb65za78a8NwM%&)P0!cw7{(4R}(8!arG)0e@W2D=$^=?I!3g;gyB zYPzvmiX9LMaizhP4zWs9PD|9dsQ;xbf6`I_Gd3*+Uit}e-N@$FR*p3mmR(NI$gI0n zZ82qL6$s@mjlQ}}+j!fz%&Eua%S_f5Q}Muv5NP?Bv-5RzvF+K}Sof9UHC4x-ocGUG z+_@V|?RCU{{_5K>))?t7s4V}Hx4B`mYt?ew8Si-0WT)vCchA82$$Gynhq literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch07/draw/DrawTest.java b/corejava第9版/v1ch07/draw/DrawTest.java new file mode 100644 index 0000000..8000949 --- /dev/null +++ b/corejava第9版/v1ch07/draw/DrawTest.java @@ -0,0 +1,84 @@ +package draw; + +import java.awt.*; +import java.awt.geom.*; +import javax.swing.*; + +/** + * @version 1.32 2007-04-14 + * @author Cay Horstmann + */ +public class DrawTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new DrawFrame(); + frame.setTitle("DrawTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame that contains a panel with drawings + */ +class DrawFrame extends JFrame +{ + public DrawFrame() + { + add(new DrawComponent()); + pack(); + } +} + +/** + * A component that displays rectangles and ellipses. + */ +class DrawComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 400; + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + // draw a rectangle + + double leftX = 100; + double topY = 100; + double width = 200; + double height = 150; + + Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height); + g2.draw(rect); + + // draw the enclosed ellipse + + Ellipse2D ellipse = new Ellipse2D.Double(); + ellipse.setFrame(rect); + g2.draw(ellipse); + + // draw a diagonal line + + g2.draw(new Line2D.Double(leftX, topY, leftX + width, topY + height)); + + // draw a circle with the same center + + double centerX = rect.getCenterX(); + double centerY = rect.getCenterY(); + double radius = 150; + + Ellipse2D circle = new Ellipse2D.Double(); + circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius); + g2.draw(circle); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch07/fill/FillTest.java b/corejava第9版/v1ch07/fill/FillTest.java new file mode 100644 index 0000000..4c4e548 --- /dev/null +++ b/corejava第9版/v1ch07/fill/FillTest.java @@ -0,0 +1,74 @@ +package fill; + +import java.awt.*; +import java.awt.geom.*; +import javax.swing.*; + +/** + * @version 1.33 2007-04-14 + * @author Cay Horstmann + */ +public class FillTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new FillFrame(); + frame.setTitle("FillTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame that contains a component with drawings + */ +class FillFrame extends JFrame +{ + public FillFrame() + { + add(new FillComponent()); + pack(); + } +} + +/** + * A component that displays filled rectangles and ellipses + */ +class FillComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 400; + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + // draw a rectangle + + double leftX = 100; + double topY = 100; + double width = 200; + double height = 150; + + Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height); + g2.setPaint(Color.BLACK); + g2.draw(rect); + g2.setPaint(Color.RED); + g2.fill(rect); // Note that the right and bottom edge are not painted over + + // draw the enclosed ellipse + + Ellipse2D ellipse = new Ellipse2D.Double(); + ellipse.setFrame(rect); + g2.setPaint(new Color(0, 128, 128)); // a dull blue-green + g2.fill(ellipse); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch07/font/FontTest.java b/corejava第9版/v1ch07/font/FontTest.java new file mode 100644 index 0000000..0837eaa --- /dev/null +++ b/corejava第9版/v1ch07/font/FontTest.java @@ -0,0 +1,90 @@ +package font; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import javax.swing.*; + +/** + * @version 1.33 2007-04-14 + * @author Cay Horstmann + */ +public class FontTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new FontFrame(); + frame.setTitle("FontTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame with a text message component + */ +class FontFrame extends JFrame +{ + public FontFrame() + { + add(new FontComponent()); + pack(); + } +} + +/** + * A component that shows a centered message in a box. + */ +class FontComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + String message = "Hello, World!"; + + Font f = new Font("Serif", Font.BOLD, 36); + g2.setFont(f); + + // measure the size of the message + + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D bounds = f.getStringBounds(message, context); + + // set (x,y) = top left corner of text + + double x = (getWidth() - bounds.getWidth()) / 2; + double y = (getHeight() - bounds.getHeight()) / 2; + + // add ascent to y to reach the baseline + + double ascent = -bounds.getY(); + double baseY = y + ascent; + + // draw the message + + g2.drawString(message, (int) x, (int) baseY); + + g2.setPaint(Color.LIGHT_GRAY); + + // draw the baseline + + g2.draw(new Line2D.Double(x, baseY, x + bounds.getWidth(), baseY)); + + // draw the enclosing rectangle + + Rectangle2D rect = new Rectangle2D.Double(x, y, bounds.getWidth(), bounds.getHeight()); + g2.draw(rect); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch07/icon.gif b/corejava第9版/v1ch07/icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e76daf45adb181ded6a341b949a22b784ee8253 GIT binary patch literal 1438 zcmWNQdvFd{0L3ptmWZZaUBSo_WTS~}QI@Loj^`aEZiQMhO>;fFp-oqHSe;68($;xjMWa#6G+oDWO_S$18DoV3Dn?Y~5zm=CfGmRr zE@tZrkzy1^6`l$p^qtUBUCg+ONF~uiz^0NRLz{4zXH1<28gyhX7V%@A>FUH%L|x)6 z6}lSoEj4BnLl$g>^9;$QeAM6#!Um2OdNi;|%w&CA4Q(NeMFLasY&GU$hcbZyBEA{8 zGz@59!@vY#EHJ2m5g&MRG#ZJ;qQ371fggzkj$_-lrR$oiDj1_Mbi&ZW63}!45i3F# z%PE)$u5Sw>&kLO6*@mNuNDv_J`5rIu0urHwZO74c9U`Pq>cwJa5FlBmVF*MK$3i(8 zny#l<4x+khIf`i$-IO!~shUU)$qxacnis*Ar`fJ-I*J=XmJi*~@qF9$L~0^8(;4 zLZHQ+j%7O#6A{ahP-6H3R%AQmFy#~%V3Q>_LtG#SKn;oRAuT{gC?FZB4pMALqewPI zVi83rswEH~Kp(IYNP!|USY8F3%khL49bRw%W68222qMD}09XJZ04e}F&*=hBBusHU zKU6SMpeQqdmkGs!&4D;yL_(^-VJHyDD^%5qq+n4MSy@#m3xqg&x?;k(Aq5+{K~)Mx zs41FCRLDXWun>rrY8tYxNmPL{22hF@X0fANzUxT{n|d5c3;=jLuJ{wuKrR!4Gd+jQ zZa8qhoJmHz7B$>yq&+Tc3vN~P0$}a4mw42?B|m4Qp!lzDGvCU{ac?snhu0ivlz;Mz zYpUvY9@)El^2V;+>biVCZvUtf!YsHyapk1GXFCha?lxAo*1gJ{+>mg5-j81{s!!(^ zX5`neZtj~tXJ=a0ld9Ux{AWqo^FQw~{zA*q4U)mh#$tigs~%8%}-P{D4;WcHe(vK-P}- zb4ujs)jFrgAE~{P%NDcQ2Tzx@_0Kpq=%ed3xwDJAZ}|7nj6wTyOP}6ev+!NLcI@&^ z55jBaV?Aq~nO%^1CFRE8<2z69c{Tm-q?@nb8_9K;mvhLJjpJdL)P2Qve|HP=yE-P8hH@F}cf@q~Ywi)QNZ2zgV)m z_8X@mz2`8#G@*VO-a00s zruovKB$(j2_yGHD+=(}Z; z`~hqlc$$`&-39L8#6dF>Q s|K(ovTVqGbj^P6zKEGEKRww;Hz@t)Tt+~D|armQxGN!J!djgp9KaZ@JO8@`> literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch07/image/ImageTest.java b/corejava第9版/v1ch07/image/ImageTest.java new file mode 100644 index 0000000..5b98692 --- /dev/null +++ b/corejava第9版/v1ch07/image/ImageTest.java @@ -0,0 +1,73 @@ +package image; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-04-14 + * @author Cay Horstmann + */ +public class ImageTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ImageFrame(); + frame.setTitle("ImageTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame with an image component + */ +class ImageFrame extends JFrame +{ + public ImageFrame() + { + add(new ImageComponent()); + pack(); + } +} + +/** + * A component that displays a tiled image + */ +class ImageComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private Image image; + + public ImageComponent() + { + image = new ImageIcon("blue-ball.gif").getImage(); + } + + public void paintComponent(Graphics g) + { + if (image == null) return; + + int imageWidth = image.getWidth(this); + int imageHeight = image.getHeight(this); + + // draw the image in the upper-left corner + + g.drawImage(image, 0, 0, null); + // tile the image across the component + + for (int i = 0; i * imageWidth <= getWidth(); i++) + for (int j = 0; j * imageHeight <= getHeight(); j++) + if (i + j > 0) + g.copyArea(0, 0, imageWidth, imageHeight, i * imageWidth, j * imageHeight); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch07/listFonts/ListFonts.java b/corejava第9版/v1ch07/listFonts/ListFonts.java new file mode 100644 index 0000000..a534825 --- /dev/null +++ b/corejava第9版/v1ch07/listFonts/ListFonts.java @@ -0,0 +1,19 @@ +package listFonts; + +import java.awt.*; + +/** + * @version 1.11 2004-06-05 + * @author Cay Horstmann + */ +public class ListFonts +{ + public static void main(String[] args) + { + String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getAvailableFontFamilyNames(); + + for (String fontName : fontNames) + System.out.println(fontName); + } +} diff --git a/corejava第9版/v1ch07/notHelloWorld/NotHelloWorld.java b/corejava第9版/v1ch07/notHelloWorld/NotHelloWorld.java new file mode 100644 index 0000000..35363ca --- /dev/null +++ b/corejava第9版/v1ch07/notHelloWorld/NotHelloWorld.java @@ -0,0 +1,56 @@ +package notHelloWorld; + +import javax.swing.*; +import java.awt.*; + +/** + * @version 1.32 2007-06-12 + * @author Cay Horstmann + */ +public class NotHelloWorld +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new NotHelloWorldFrame(); + frame.setTitle("NotHelloWorld"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame that contains a message panel + */ +class NotHelloWorldFrame extends JFrame +{ + public NotHelloWorldFrame() + { + add(new NotHelloWorldComponent()); + pack(); + } +} + +/** + * A component that displays a message. + */ +class NotHelloWorldComponent extends JComponent +{ + public static final int MESSAGE_X = 75; + public static final int MESSAGE_Y = 100; + + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public void paintComponent(Graphics g) + { + g.drawString("Not a Hello, World program", MESSAGE_X, MESSAGE_Y); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch07/simpleFrame/SimpleFrameTest.java b/corejava第9版/v1ch07/simpleFrame/SimpleFrameTest.java new file mode 100644 index 0000000..7b0a2b1 --- /dev/null +++ b/corejava第9版/v1ch07/simpleFrame/SimpleFrameTest.java @@ -0,0 +1,35 @@ +package simpleFrame; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.32 2007-06-12 + * @author Cay Horstmann + */ +public class SimpleFrameTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + SimpleFrame frame = new SimpleFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +class SimpleFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public SimpleFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + } +} diff --git a/corejava第9版/v1ch07/sizedFrame/SizedFrameTest.java b/corejava第9版/v1ch07/sizedFrame/SizedFrameTest.java new file mode 100644 index 0000000..da314e6 --- /dev/null +++ b/corejava第9版/v1ch07/sizedFrame/SizedFrameTest.java @@ -0,0 +1,48 @@ +package sizedFrame; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.32 2007-04-14 + * @author Cay Horstmann + */ +public class SizedFrameTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SizedFrame(); + frame.setTitle("SizedFrame"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +class SizedFrame extends JFrame +{ + public SizedFrame() + { + // get screen dimensions + + Toolkit kit = Toolkit.getDefaultToolkit(); + Dimension screenSize = kit.getScreenSize(); + int screenHeight = screenSize.height; + int screenWidth = screenSize.width; + + // set frame width, height and let platform pick screen location + + setSize(screenWidth / 2, screenHeight / 2); + setLocationByPlatform(true); + + // set frame icon + + Image img = new ImageIcon("icon.gif").getImage(); + setIconImage(img); + } +} diff --git a/corejava第9版/v1ch08/action/ActionFrame.java b/corejava第9版/v1ch08/action/ActionFrame.java new file mode 100644 index 0000000..2fb5e03 --- /dev/null +++ b/corejava第9版/v1ch08/action/ActionFrame.java @@ -0,0 +1,71 @@ +package action; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a panel that demonstrates color change actions. + */ +public class ActionFrame extends JFrame +{ + private JPanel buttonPanel; + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public ActionFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + buttonPanel = new JPanel(); + + // define actions + Action yellowAction = new ColorAction("Yellow", new ImageIcon("yellow-ball.gif"), + Color.YELLOW); + Action blueAction = new ColorAction("Blue", new ImageIcon("blue-ball.gif"), Color.BLUE); + Action redAction = new ColorAction("Red", new ImageIcon("red-ball.gif"), Color.RED); + + // add buttons for these actions + buttonPanel.add(new JButton(yellowAction)); + buttonPanel.add(new JButton(blueAction)); + buttonPanel.add(new JButton(redAction)); + + // add panel to frame + add(buttonPanel); + + // associate the Y, B, and R keys with names + InputMap imap = buttonPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + imap.put(KeyStroke.getKeyStroke("ctrl Y"), "panel.yellow"); + imap.put(KeyStroke.getKeyStroke("ctrl B"), "panel.blue"); + imap.put(KeyStroke.getKeyStroke("ctrl R"), "panel.red"); + + // associate the names with actions + ActionMap amap = buttonPanel.getActionMap(); + amap.put("panel.yellow", yellowAction); + amap.put("panel.blue", blueAction); + amap.put("panel.red", redAction); + } + + public class ColorAction extends AbstractAction + { + /** + * Constructs a color action. + * @param name the name to show on the button + * @param icon the icon to display on the button + * @param c the background color + */ + public ColorAction(String name, Icon icon, Color c) + { + putValue(Action.NAME, name); + putValue(Action.SMALL_ICON, icon); + putValue(Action.SHORT_DESCRIPTION, "Set panel color to " + name.toLowerCase()); + putValue("color", c); + } + + public void actionPerformed(ActionEvent event) + { + Color c = (Color) getValue("color"); + buttonPanel.setBackground(c); + } + } +} diff --git a/corejava第9版/v1ch08/action/ActionTest.java b/corejava第9版/v1ch08/action/ActionTest.java new file mode 100644 index 0000000..5ecf4d1 --- /dev/null +++ b/corejava第9版/v1ch08/action/ActionTest.java @@ -0,0 +1,25 @@ +package action; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class ActionTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ActionFrame(); + frame.setTitle("ActionTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch08/blue-ball.gif b/corejava第9版/v1ch08/blue-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..edc29b786ce52736bf9f2a1ac38aaa78b1799e92 GIT binary patch literal 925 zcmdUu?@Lp06viLZxvN=zGbLXnxn4xmesCo!DJU;mb`4UqNy|#RHq=F?ixBS%%N9|N ziV~B$*jNmqw3M+H!DTYz_Ji$PHoJm>FZ#itU_uxX2H&oKM(5Rm1JCoE59jPZuy1E+ zQx>xD8(@q9h(scxP{`qMEG#SxhJE31IFU%Sx3?Q}pU+p2cT7HDkb(2MAd8c!3H|p(}ox{^0PDpsEsUa1^qp%-^D8l6;9WGRe zP!y3;$?3#353k7{DmW<-sU+(V7-|{Bc?cRxHMyUnlo31QWrGppY7-C?SeX&Zqci_J zBeg0@`(bqxo>?TF6Wp-ckv|6^2wpZFoMIOBlb65za78a8NwM%&)P0!cw7{(4R}(8!arG)0e@W2D=$^=?I!3g;gyB zYPzvmiX9LMaizhP4zWs9PD|9dsQ;xbf6`I_Gd3*+Uit}e-N@$FR*p3mmR(NI$gI0n zZ82qL6$s@mjlQ}}+j!fz%&Eua%S_f5Q}Muv5NP?Bv-5RzvF+K}Sof9UHC4x-ocGUG z+_@V|?RCU{{_5K>))?t7s4V}Hx4B`mYt?ew8Si-0WT)vCchA82$$Gynhq literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch08/button/ButtonFrame.java b/corejava第9版/v1ch08/button/ButtonFrame.java new file mode 100644 index 0000000..3ca0b2d --- /dev/null +++ b/corejava第9版/v1ch08/button/ButtonFrame.java @@ -0,0 +1,63 @@ +package button; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a button panel + */ +public class ButtonFrame extends JFrame +{ + private JPanel buttonPanel; + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public ButtonFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // create buttons + JButton yellowButton = new JButton("Yellow"); + JButton blueButton = new JButton("Blue"); + JButton redButton = new JButton("Red"); + + buttonPanel = new JPanel(); + + // add buttons to panel + buttonPanel.add(yellowButton); + buttonPanel.add(blueButton); + buttonPanel.add(redButton); + + // add panel to frame + add(buttonPanel); + + // create button actions + ColorAction yellowAction = new ColorAction(Color.YELLOW); + ColorAction blueAction = new ColorAction(Color.BLUE); + ColorAction redAction = new ColorAction(Color.RED); + + // associate actions with buttons + yellowButton.addActionListener(yellowAction); + blueButton.addActionListener(blueAction); + redButton.addActionListener(redAction); + } + + /** + * An action listener that sets the panel's background color. + */ + private class ColorAction implements ActionListener + { + private Color backgroundColor; + + public ColorAction(Color c) + { + backgroundColor = c; + } + + public void actionPerformed(ActionEvent event) + { + buttonPanel.setBackground(backgroundColor); + } + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch08/button/ButtonTest.java b/corejava第9版/v1ch08/button/ButtonTest.java new file mode 100644 index 0000000..b3b905c --- /dev/null +++ b/corejava第9版/v1ch08/button/ButtonTest.java @@ -0,0 +1,25 @@ +package button; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class ButtonTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ButtonFrame(); + frame.setTitle("ButtonTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch08/mouse/MouseComponent.java b/corejava第9版/v1ch08/mouse/MouseComponent.java new file mode 100644 index 0000000..ab7ef32 --- /dev/null +++ b/corejava第9版/v1ch08/mouse/MouseComponent.java @@ -0,0 +1,123 @@ +package mouse; + +import java.awt.*; +import java.awt.event.*; +import java.awt.geom.*; +import java.util.*; +import javax.swing.*; + +/** + * A component with mouse operations for adding and removing squares. + */ +public class MouseComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private static final int SIDELENGTH = 10; + private ArrayList squares; + private Rectangle2D current; // the square containing the mouse cursor + + public MouseComponent() + { + squares = new ArrayList<>(); + current = null; + + addMouseListener(new MouseHandler()); + addMouseMotionListener(new MouseMotionHandler()); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + // draw all squares + for (Rectangle2D r : squares) + g2.draw(r); + } + + /** + * Finds the first square containing a point. + * @param p a point + * @return the first square that contains p + */ + public Rectangle2D find(Point2D p) + { + for (Rectangle2D r : squares) + { + if (r.contains(p)) return r; + } + return null; + } + + /** + * Adds a square to the collection. + * @param p the center of the square + */ + public void add(Point2D p) + { + double x = p.getX(); + double y = p.getY(); + + current = new Rectangle2D.Double(x - SIDELENGTH / 2, y - SIDELENGTH / 2, SIDELENGTH, + SIDELENGTH); + squares.add(current); + repaint(); + } + + /** + * Removes a square from the collection. + * @param s the square to remove + */ + public void remove(Rectangle2D s) + { + if (s == null) return; + if (s == current) current = null; + squares.remove(s); + repaint(); + } + + private class MouseHandler extends MouseAdapter + { + public void mousePressed(MouseEvent event) + { + // add a new square if the cursor isn't inside a square + current = find(event.getPoint()); + if (current == null) add(event.getPoint()); + } + + public void mouseClicked(MouseEvent event) + { + // remove the current square if double clicked + current = find(event.getPoint()); + if (current != null && event.getClickCount() >= 2) remove(current); + } + } + + private class MouseMotionHandler implements MouseMotionListener + { + public void mouseMoved(MouseEvent event) + { + // set the mouse cursor to cross hairs if it is inside + // a rectangle + + if (find(event.getPoint()) == null) setCursor(Cursor.getDefaultCursor()); + else setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); + } + + public void mouseDragged(MouseEvent event) + { + if (current != null) + { + int x = event.getX(); + int y = event.getY(); + + // drag the current rectangle to center it at (x, y) + current.setFrame(x - SIDELENGTH / 2, y - SIDELENGTH / 2, SIDELENGTH, SIDELENGTH); + repaint(); + } + } + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch08/mouse/MouseFrame.java b/corejava第9版/v1ch08/mouse/MouseFrame.java new file mode 100644 index 0000000..b75cfdd --- /dev/null +++ b/corejava第9版/v1ch08/mouse/MouseFrame.java @@ -0,0 +1,15 @@ +package mouse; + +import javax.swing.*; + +/** + * A frame containing a panel for testing mouse operations + */ +public class MouseFrame extends JFrame +{ + public MouseFrame() + { + add(new MouseComponent()); + pack(); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch08/mouse/MouseTest.java b/corejava第9版/v1ch08/mouse/MouseTest.java new file mode 100644 index 0000000..e8eb310 --- /dev/null +++ b/corejava第9版/v1ch08/mouse/MouseTest.java @@ -0,0 +1,25 @@ +package mouse; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2012-01-26 + * @author Cay Horstmann + */ +public class MouseTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new MouseFrame(); + frame.setTitle("MouseTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch08/plaf/PlafFrame.java b/corejava第9版/v1ch08/plaf/PlafFrame.java new file mode 100644 index 0000000..014910a --- /dev/null +++ b/corejava第9版/v1ch08/plaf/PlafFrame.java @@ -0,0 +1,56 @@ +package plaf; + +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a button panel for changing look and feel + */ +public class PlafFrame extends JFrame +{ + private JPanel buttonPanel; + public PlafFrame() + { + buttonPanel = new JPanel(); + + UIManager.LookAndFeelInfo[] infos = UIManager.getInstalledLookAndFeels(); + for (UIManager.LookAndFeelInfo info : infos) + makeButton(info.getName(), info.getClassName()); + + add(buttonPanel); + pack(); + } + + /** + * Makes a button to change the pluggable look and feel. + * @param name the button name + * @param plafName the name of the look and feel class + */ + void makeButton(String name, final String plafName) + { + // add button to panel + + JButton button = new JButton(name); + buttonPanel.add(button); + + // set button action + + button.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // button action: switch to the new look and feel + try + { + UIManager.setLookAndFeel(plafName); + SwingUtilities.updateComponentTreeUI(PlafFrame.this); + pack(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + }); + } +} diff --git a/corejava第9版/v1ch08/plaf/PlafTest.java b/corejava第9版/v1ch08/plaf/PlafTest.java new file mode 100644 index 0000000..efbf94b --- /dev/null +++ b/corejava第9版/v1ch08/plaf/PlafTest.java @@ -0,0 +1,25 @@ +package plaf; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.32 2007-06-12 + * @author Cay Horstmann + */ +public class PlafTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new PlafFrame(); + frame.setTitle("PlafTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch08/red-ball.gif b/corejava第9版/v1ch08/red-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..dca92960148cb3751f9b2de8cf96f26293c15888 GIT binary patch literal 527 zcmcJMziSg=9L66(&J2aVi;%_P#(>K^^{z=xdQDRM#@aO1)Lefl7qX-fl+XW@ z`sd~iK*8Nv#q1N@I((tDJMPhfrt8|m(PBE2S-O{9?Btd+#!9}BE#}%)xIn!`b#FeO|s9b4wePPbBn*H=n%T~->M79@-tzUGr zgk@M-A&pDiD$Iko>IY+h7 z;uk)^$}` zsYCCFPT9nRx&>`_<=mB~>_lzjh5BeT`ry#|pyCRtW>sbVsu+o2h7g;?3k8bedZosL zS#xtU{pDwf8;jw#4EiR~c;_!-fdFoJ5DJAF+-!!7uOpn>jlEWU9>yad4vBcF1pEQq ze+cV-2m+i=cG`(N0kSNps%W?4s>CZUNj2M5Ca9t-0yDuv5GG+(kfXRfDsqTfiFXla ziNP$xL{fx0Cy7}C$nn7BW;_|i2xoS~WQBehW*>MFdLzbsrJOjr@WZj zXsA8&qsk~w&Wz{}U!Kc;=ufFZ#itU_uxX2H&oKM(5Rm1JCoE59jPZuy1E+ zQx>xD8(@q9h(scxP{`qMEG#SxhJE31IFU%Sx3?Q}pU+p2cT7HDkb(2MAd8c!3H|p(}ox{^0PDpsEsUa1^qp%-^D8l6;9WGRe zP!y3;$?3#353k7{DmW<-sU+(V7-|{Bc?cRxHMyUnlo31QWrGppY7-C?SeX&Zqci_J zBeg0@`(bqxo>?TF6Wp-ckv|6^2wpZFoMIOBlb65za78a8NwM%&)P0!cw7{(4R}(8!arG)0e@W2D=$^=?I!3g;gyB zYPzvmiX9LMaizhP4zWs9PD|9dsQ;xbf6`I_Gd3*+Uit}e-N@$FR*p3mmR(NI$gI0n zZ82qL6$s@mjlQ}}+j!fz%&Eua%S_f5Q}Muv5NP?Bv-5RzvF+K}Sof9UHC4x-ocGUG z+_@V|?RCU{{_5K>))?t7s4V}Hx4B`mYt?ew8Si-0WT)vCchA82$$Gynhq literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/border/BorderFrame.java b/corejava第9版/v1ch09/border/BorderFrame.java new file mode 100644 index 0000000..ddc8460 --- /dev/null +++ b/corejava第9版/v1ch09/border/BorderFrame.java @@ -0,0 +1,53 @@ +package border; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.border.*; + +/** + * A frame with radio buttons to pick a border style. + */ +public class BorderFrame extends JFrame +{ + private JPanel demoPanel; + private JPanel buttonPanel; + private ButtonGroup group; + + public BorderFrame() + { + demoPanel = new JPanel(); + buttonPanel = new JPanel(); + group = new ButtonGroup(); + + addRadioButton("Lowered bevel", BorderFactory.createLoweredBevelBorder()); + addRadioButton("Raised bevel", BorderFactory.createRaisedBevelBorder()); + addRadioButton("Etched", BorderFactory.createEtchedBorder()); + addRadioButton("Line", BorderFactory.createLineBorder(Color.BLUE)); + addRadioButton("Matte", BorderFactory.createMatteBorder(10, 10, 10, 10, Color.BLUE)); + addRadioButton("Empty", BorderFactory.createEmptyBorder()); + + Border etched = BorderFactory.createEtchedBorder(); + Border titled = BorderFactory.createTitledBorder(etched, "Border types"); + buttonPanel.setBorder(titled); + + setLayout(new GridLayout(2, 1)); + add(buttonPanel); + add(demoPanel); + pack(); + } + + public void addRadioButton(String buttonName, final Border b) + { + JRadioButton button = new JRadioButton(buttonName); + button.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + demoPanel.setBorder(b); + } + }); + group.add(button); + buttonPanel.add(button); + } +} diff --git a/corejava第9版/v1ch09/border/BorderTest.java b/corejava第9版/v1ch09/border/BorderTest.java new file mode 100644 index 0000000..fc1cef1 --- /dev/null +++ b/corejava第9版/v1ch09/border/BorderTest.java @@ -0,0 +1,25 @@ +package border; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class BorderTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new BorderFrame(); + frame.setTitle("BorderTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v1ch09/calculator/Calculator.java b/corejava第9版/v1ch09/calculator/Calculator.java new file mode 100644 index 0000000..c93254d --- /dev/null +++ b/corejava第9版/v1ch09/calculator/Calculator.java @@ -0,0 +1,25 @@ +package calculator; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class Calculator +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + CalculatorFrame frame = new CalculatorFrame(); + frame.setTitle("Calculator"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v1ch09/calculator/CalculatorFrame.java b/corejava第9版/v1ch09/calculator/CalculatorFrame.java new file mode 100644 index 0000000..15e35c9 --- /dev/null +++ b/corejava第9版/v1ch09/calculator/CalculatorFrame.java @@ -0,0 +1,15 @@ +package calculator; + +import javax.swing.*; + +/** + * A frame with a calculator panel. + */ +public class CalculatorFrame extends JFrame +{ + public CalculatorFrame() + { + add(new CalculatorPanel()); + pack(); + } +} diff --git a/corejava第9版/v1ch09/calculator/CalculatorPanel.java b/corejava第9版/v1ch09/calculator/CalculatorPanel.java new file mode 100644 index 0000000..3475d35 --- /dev/null +++ b/corejava第9版/v1ch09/calculator/CalculatorPanel.java @@ -0,0 +1,132 @@ +package calculator; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A panel with calculator buttons and a result display. + */ +public class CalculatorPanel extends JPanel +{ + private JButton display; + private JPanel panel; + private double result; + private String lastCommand; + private boolean start; + + public CalculatorPanel() + { + setLayout(new BorderLayout()); + + result = 0; + lastCommand = "="; + start = true; + + // add the display + + display = new JButton("0"); + display.setEnabled(false); + add(display, BorderLayout.NORTH); + + ActionListener insert = new InsertAction(); + ActionListener command = new CommandAction(); + + // add the buttons in a 4 x 4 grid + + panel = new JPanel(); + panel.setLayout(new GridLayout(4, 4)); + + addButton("7", insert); + addButton("8", insert); + addButton("9", insert); + addButton("/", command); + + addButton("4", insert); + addButton("5", insert); + addButton("6", insert); + addButton("*", command); + + addButton("1", insert); + addButton("2", insert); + addButton("3", insert); + addButton("-", command); + + addButton("0", insert); + addButton(".", insert); + addButton("=", command); + addButton("+", command); + + add(panel, BorderLayout.CENTER); + } + + /** + * Adds a button to the center panel. + * @param label the button label + * @param listener the button listener + */ + private void addButton(String label, ActionListener listener) + { + JButton button = new JButton(label); + button.addActionListener(listener); + panel.add(button); + } + + /** + * This action inserts the button action string to the end of the display text. + */ + private class InsertAction implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + String input = event.getActionCommand(); + if (start) + { + display.setText(""); + start = false; + } + display.setText(display.getText() + input); + } + } + + /** + * This action executes the command that the button action string denotes. + */ + private class CommandAction implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + String command = event.getActionCommand(); + + if (start) + { + if (command.equals("-")) + { + display.setText(command); + start = false; + } + else lastCommand = command; + } + else + { + calculate(Double.parseDouble(display.getText())); + lastCommand = command; + start = true; + } + } + } + + /** + * Carries out the pending calculation. + * @param x the value to be accumulated with the prior result. + */ + public void calculate(double x) + { + if (lastCommand.equals("+")) result += x; + else if (lastCommand.equals("-")) result -= x; + else if (lastCommand.equals("*")) result *= x; + else if (lastCommand.equals("/")) result /= x; + else if (lastCommand.equals("=")) result = x; + display.setText("" + result); + } +} diff --git a/corejava第9版/v1ch09/checkBox/CheckBoxFrame.java b/corejava第9版/v1ch09/checkBox/CheckBoxFrame.java new file mode 100644 index 0000000..47178a1 --- /dev/null +++ b/corejava第9版/v1ch09/checkBox/CheckBoxFrame.java @@ -0,0 +1,55 @@ +package checkBox; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a sample text label and check boxes for selecting font attributes. + */ +public class CheckBoxFrame extends JFrame +{ + private JLabel label; + private JCheckBox bold; + private JCheckBox italic; + private static final int FONTSIZE = 24; + + public CheckBoxFrame() + { + // add the sample text label + + label = new JLabel("The quick brown fox jumps over the lazy dog."); + label.setFont(new Font("Serif", Font.BOLD, FONTSIZE)); + add(label, BorderLayout.CENTER); + + // this listener sets the font attribute of + // the label to the check box state + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + int mode = 0; + if (bold.isSelected()) mode += Font.BOLD; + if (italic.isSelected()) mode += Font.ITALIC; + label.setFont(new Font("Serif", mode, FONTSIZE)); + } + }; + + // add the check boxes + + JPanel buttonPanel = new JPanel(); + + bold = new JCheckBox("Bold"); + bold.addActionListener(listener); + bold.setSelected(true); + buttonPanel.add(bold); + + italic = new JCheckBox("Italic"); + italic.addActionListener(listener); + buttonPanel.add(italic); + + add(buttonPanel, BorderLayout.SOUTH); + pack(); + } +} diff --git a/corejava第9版/v1ch09/checkBox/CheckBoxTest.java b/corejava第9版/v1ch09/checkBox/CheckBoxTest.java new file mode 100644 index 0000000..a0dae88 --- /dev/null +++ b/corejava第9版/v1ch09/checkBox/CheckBoxTest.java @@ -0,0 +1,26 @@ +package checkBox; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class CheckBoxTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new CheckBoxFrame(); + frame.setTitle("CheckBoxTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v1ch09/circleLayout/CircleLayout.java b/corejava第9版/v1ch09/circleLayout/CircleLayout.java new file mode 100644 index 0000000..5b3e050 --- /dev/null +++ b/corejava第9版/v1ch09/circleLayout/CircleLayout.java @@ -0,0 +1,115 @@ +package circleLayout; + +import java.awt.*; + +/** + * A layout manager that lays out components along a circle. + */ +public class CircleLayout implements LayoutManager +{ + private int minWidth = 0; + private int minHeight = 0; + private int preferredWidth = 0; + private int preferredHeight = 0; + private boolean sizesSet = false; + private int maxComponentWidth = 0; + private int maxComponentHeight = 0; + + public void addLayoutComponent(String name, Component comp) + { + } + + public void removeLayoutComponent(Component comp) + { + } + + public void setSizes(Container parent) + { + if (sizesSet) return; + int n = parent.getComponentCount(); + + preferredWidth = 0; + preferredHeight = 0; + minWidth = 0; + minHeight = 0; + maxComponentWidth = 0; + maxComponentHeight = 0; + + // compute the maximum component widths and heights + // and set the preferred size to the sum of the component sizes. + for (int i = 0; i < n; i++) + { + Component c = parent.getComponent(i); + if (c.isVisible()) + { + Dimension d = c.getPreferredSize(); + maxComponentWidth = Math.max(maxComponentWidth, d.width); + maxComponentHeight = Math.max(maxComponentHeight, d.height); + preferredWidth += d.width; + preferredHeight += d.height; + } + } + minWidth = preferredWidth / 2; + minHeight = preferredHeight / 2; + sizesSet = true; + } + + public Dimension preferredLayoutSize(Container parent) + { + setSizes(parent); + Insets insets = parent.getInsets(); + int width = preferredWidth + insets.left + insets.right; + int height = preferredHeight + insets.top + insets.bottom; + return new Dimension(width, height); + } + + public Dimension minimumLayoutSize(Container parent) + { + setSizes(parent); + Insets insets = parent.getInsets(); + int width = minWidth + insets.left + insets.right; + int height = minHeight + insets.top + insets.bottom; + return new Dimension(width, height); + } + + public void layoutContainer(Container parent) + { + setSizes(parent); + + // compute center of the circle + + Insets insets = parent.getInsets(); + int containerWidth = parent.getSize().width - insets.left - insets.right; + int containerHeight = parent.getSize().height - insets.top - insets.bottom; + + int xcenter = insets.left + containerWidth / 2; + int ycenter = insets.top + containerHeight / 2; + + // compute radius of the circle + + int xradius = (containerWidth - maxComponentWidth) / 2; + int yradius = (containerHeight - maxComponentHeight) / 2; + int radius = Math.min(xradius, yradius); + + // lay out components along the circle + + int n = parent.getComponentCount(); + for (int i = 0; i < n; i++) + { + Component c = parent.getComponent(i); + if (c.isVisible()) + { + double angle = 2 * Math.PI * i / n; + + // center point of component + int x = xcenter + (int) (Math.cos(angle) * radius); + int y = ycenter + (int) (Math.sin(angle) * radius); + + // move component so that its center is (x, y) + // and its size is its preferred size + Dimension d = c.getPreferredSize(); + c.setBounds(x - d.width / 2, y - d.height / 2, d.width, d.height); + } + } + } +} diff --git a/corejava第9版/v1ch09/circleLayout/CircleLayoutFrame.java b/corejava第9版/v1ch09/circleLayout/CircleLayoutFrame.java new file mode 100644 index 0000000..d37fb21 --- /dev/null +++ b/corejava第9版/v1ch09/circleLayout/CircleLayoutFrame.java @@ -0,0 +1,22 @@ +package circleLayout; + +import javax.swing.*; + +/** + * A frame that shows buttons arranged along a circle. + */ +public class CircleLayoutFrame extends JFrame +{ + public CircleLayoutFrame() + { + setLayout(new CircleLayout()); + add(new JButton("Yellow")); + add(new JButton("Blue")); + add(new JButton("Red")); + add(new JButton("Green")); + add(new JButton("Orange")); + add(new JButton("Fuchsia")); + add(new JButton("Indigo")); + pack(); + } +} diff --git a/corejava第9版/v1ch09/circleLayout/CircleLayoutTest.java b/corejava第9版/v1ch09/circleLayout/CircleLayoutTest.java new file mode 100644 index 0000000..e22bc5d --- /dev/null +++ b/corejava第9版/v1ch09/circleLayout/CircleLayoutTest.java @@ -0,0 +1,25 @@ +package circleLayout; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.32 2007-06-12 + * @author Cay Horstmann + */ +public class CircleLayoutTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new CircleLayoutFrame(); + frame.setTitle("CircleLayoutTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/colorChooser/ColorChooserFrame.java b/corejava第9版/v1ch09/colorChooser/ColorChooserFrame.java new file mode 100644 index 0000000..444a268 --- /dev/null +++ b/corejava第9版/v1ch09/colorChooser/ColorChooserFrame.java @@ -0,0 +1,22 @@ +package colorChooser; + +import javax.swing.*; + +/** + * A frame with a color chooser panel + */ +public class ColorChooserFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public ColorChooserFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // add color chooser panel to frame + + ColorChooserPanel panel = new ColorChooserPanel(); + add(panel); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/colorChooser/ColorChooserPanel.java b/corejava第9版/v1ch09/colorChooser/ColorChooserPanel.java new file mode 100644 index 0000000..1e062f1 --- /dev/null +++ b/corejava第9版/v1ch09/colorChooser/ColorChooserPanel.java @@ -0,0 +1,103 @@ +package colorChooser; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * A panel with buttons to pop up three types of color choosers + */ +public class ColorChooserPanel extends JPanel +{ + public ColorChooserPanel() + { + JButton modalButton = new JButton("Modal"); + modalButton.addActionListener(new ModalListener()); + add(modalButton); + + JButton modelessButton = new JButton("Modeless"); + modelessButton.addActionListener(new ModelessListener()); + add(modelessButton); + + JButton immediateButton = new JButton("Immediate"); + immediateButton.addActionListener(new ImmediateListener()); + add(immediateButton); + } + + /** + * This listener pops up a modal color chooser + */ + private class ModalListener implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + Color defaultColor = getBackground(); + Color selected = JColorChooser.showDialog(ColorChooserPanel.this, "Set background", + defaultColor); + if (selected != null) setBackground(selected); + } + } + + /** + * This listener pops up a modeless color chooser. The panel color is changed when the user + * clicks the OK button. + */ + private class ModelessListener implements ActionListener + { + private JDialog dialog; + private JColorChooser chooser; + + public ModelessListener() + { + chooser = new JColorChooser(); + dialog = JColorChooser.createDialog(ColorChooserPanel.this, "Background Color", + false /* not modal */, chooser, + new ActionListener() // OK button listener + { + public void actionPerformed(ActionEvent event) + { + setBackground(chooser.getColor()); + } + }, null /* no Cancel button listener */); + } + + public void actionPerformed(ActionEvent event) + { + chooser.setColor(getBackground()); + dialog.setVisible(true); + } + } + + /** + * This listener pops up a modeless color chooser. The panel color is changed immediately when + * the user picks a new color. + */ + private class ImmediateListener implements ActionListener + { + private JDialog dialog; + private JColorChooser chooser; + + public ImmediateListener() + { + chooser = new JColorChooser(); + chooser.getSelectionModel().addChangeListener(new ChangeListener() + { + public void stateChanged(ChangeEvent event) + { + setBackground(chooser.getColor()); + } + }); + + dialog = new JDialog((Frame) null, false /* not modal */); + dialog.add(chooser); + dialog.pack(); + } + + public void actionPerformed(ActionEvent event) + { + chooser.setColor(getBackground()); + dialog.setVisible(true); + } + } +} diff --git a/corejava第9版/v1ch09/colorChooser/ColorChooserTest.java b/corejava第9版/v1ch09/colorChooser/ColorChooserTest.java new file mode 100644 index 0000000..a978767 --- /dev/null +++ b/corejava第9版/v1ch09/colorChooser/ColorChooserTest.java @@ -0,0 +1,28 @@ +package colorChooser; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.03 2007-06-12 + * @author Cay Horstmann + */ +public class ColorChooserTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ColorChooserFrame(); + frame.setTitle("ColorChooserTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + + + diff --git a/corejava第9版/v1ch09/comboBox/ComboBoxFrame.java b/corejava第9版/v1ch09/comboBox/ComboBoxFrame.java new file mode 100644 index 0000000..3d9008d --- /dev/null +++ b/corejava第9版/v1ch09/comboBox/ComboBoxFrame.java @@ -0,0 +1,51 @@ +package comboBox; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a sample text label and a combo box for selecting font faces. + */ +public class ComboBoxFrame extends JFrame +{ + private JComboBox faceCombo; + private JLabel label; + private static final int DEFAULT_SIZE = 24; + + public ComboBoxFrame() + { + // add the sample text label + + label = new JLabel("The quick brown fox jumps over the lazy dog."); + label.setFont(new Font("Serif", Font.PLAIN, DEFAULT_SIZE)); + add(label, BorderLayout.CENTER); + + // make a combo box and add face names + + faceCombo = new JComboBox<>(); + faceCombo.addItem("Serif"); + faceCombo.addItem("SansSerif"); + faceCombo.addItem("Monospaced"); + faceCombo.addItem("Dialog"); + faceCombo.addItem("DialogInput"); + + // the combo box listener changes the label font to the selected face name + + faceCombo.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + label.setFont(new Font(faceCombo.getItemAt(faceCombo.getSelectedIndex()), Font.PLAIN, + DEFAULT_SIZE)); + } + }); + + // add combo box to a panel at the frame's southern border + + JPanel comboPanel = new JPanel(); + comboPanel.add(faceCombo); + add(comboPanel, BorderLayout.SOUTH); + pack(); + } +} diff --git a/corejava第9版/v1ch09/comboBox/ComboBoxTest.java b/corejava第9版/v1ch09/comboBox/ComboBoxTest.java new file mode 100644 index 0000000..074c4bb --- /dev/null +++ b/corejava第9版/v1ch09/comboBox/ComboBoxTest.java @@ -0,0 +1,25 @@ +package comboBox; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.34 2012-05-06 + * @author Cay Horstmann + */ +public class ComboBoxTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ComboBoxFrame(); + frame.setTitle("ComboBoxTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/copy.gif b/corejava第9版/v1ch09/copy.gif new file mode 100644 index 0000000000000000000000000000000000000000..0adba2254d0e806f159ea7cc011bc6ae187436bf GIT binary patch literal 145 zcmZ?wbhEHb0fhJuWTmAsDE?&O z2S05NSe`~Uy| literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/cut.gif b/corejava第9版/v1ch09/cut.gif new file mode 100644 index 0000000000000000000000000000000000000000..00e7f0dab9f56572f9badcd59ab507e12a304e36 GIT binary patch literal 130 zcmZ?wbhEHb0fhJuWTmAsDE?&O z!FuXVs)8sw9%s9dt%pr QzxA_Y>g}A)4h9Bm03fa}xBvhE literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/dataExchange/DataExchangeFrame.java b/corejava第9版/v1ch09/dataExchange/DataExchangeFrame.java new file mode 100644 index 0000000..e17f194 --- /dev/null +++ b/corejava第9版/v1ch09/dataExchange/DataExchangeFrame.java @@ -0,0 +1,74 @@ +package dataExchange; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a menu whose File->Connect action shows a password dialog. + */ +public class DataExchangeFrame extends JFrame +{ + public static final int TEXT_ROWS = 20; + public static final int TEXT_COLUMNS = 40; + private PasswordChooser dialog = null; + private JTextArea textArea; + + public DataExchangeFrame() + { + // construct a File menu + + JMenuBar mbar = new JMenuBar(); + setJMenuBar(mbar); + JMenu fileMenu = new JMenu("File"); + mbar.add(fileMenu); + + // add Connect and Exit menu items + + JMenuItem connectItem = new JMenuItem("Connect"); + connectItem.addActionListener(new ConnectAction()); + fileMenu.add(connectItem); + + // The Exit item exits the program + + JMenuItem exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + + textArea = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + add(new JScrollPane(textArea), BorderLayout.CENTER); + pack(); + } + + /** + * The Connect action pops up the password dialog. + */ + + private class ConnectAction implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + // if first time, construct dialog + + if (dialog == null) dialog = new PasswordChooser(); + + // set default values + dialog.setUser(new User("yourname", null)); + + // pop up dialog + if (dialog.showDialog(DataExchangeFrame.this, "Connect")) + { + // if accepted, retrieve user input + User u = dialog.getUser(); + textArea.append("user name = " + u.getName() + ", password = " + + (new String(u.getPassword())) + "\n"); + } + } + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/dataExchange/DataExchangeTest.java b/corejava第9版/v1ch09/dataExchange/DataExchangeTest.java new file mode 100644 index 0000000..f5d8de7 --- /dev/null +++ b/corejava第9版/v1ch09/dataExchange/DataExchangeTest.java @@ -0,0 +1,26 @@ +package dataExchange; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class DataExchangeTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new DataExchangeFrame(); + frame.setTitle("DataExchangeTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v1ch09/dataExchange/PasswordChooser.java b/corejava第9版/v1ch09/dataExchange/PasswordChooser.java new file mode 100644 index 0000000..df2567e --- /dev/null +++ b/corejava第9版/v1ch09/dataExchange/PasswordChooser.java @@ -0,0 +1,110 @@ +package dataExchange; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A password chooser that is shown inside a dialog + */ +public class PasswordChooser extends JPanel +{ + private JTextField username; + private JPasswordField password; + private JButton okButton; + private boolean ok; + private JDialog dialog; + + public PasswordChooser() + { + setLayout(new BorderLayout()); + + // construct a panel with user name and password fields + + JPanel panel = new JPanel(); + panel.setLayout(new GridLayout(2, 2)); + panel.add(new JLabel("User name:")); + panel.add(username = new JTextField("")); + panel.add(new JLabel("Password:")); + panel.add(password = new JPasswordField("")); + add(panel, BorderLayout.CENTER); + + // create Ok and Cancel buttons that terminate the dialog + + okButton = new JButton("Ok"); + okButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + ok = true; + dialog.setVisible(false); + } + }); + + JButton cancelButton = new JButton("Cancel"); + cancelButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + dialog.setVisible(false); + } + }); + + // add buttons to southern border + + JPanel buttonPanel = new JPanel(); + buttonPanel.add(okButton); + buttonPanel.add(cancelButton); + add(buttonPanel, BorderLayout.SOUTH); + } + + /** + * Sets the dialog defaults. + * @param u the default user information + */ + public void setUser(User u) + { + username.setText(u.getName()); + } + + /** + * Gets the dialog entries. + * @return a User object whose state represents the dialog entries + */ + public User getUser() + { + return new User(username.getText(), password.getPassword()); + } + + /** + * Show the chooser panel in a dialog + * @param parent a component in the owner frame or null + * @param title the dialog window title + */ + public boolean showDialog(Component parent, String title) + { + ok = false; + + // locate the owner frame + + Frame owner = null; + if (parent instanceof Frame) owner = (Frame) parent; + else owner = (Frame) SwingUtilities.getAncestorOfClass(Frame.class, parent); + + // if first time, or if owner has changed, make new dialog + + if (dialog == null || dialog.getOwner() != owner) + { + dialog = new JDialog(owner, true); + dialog.add(this); + dialog.getRootPane().setDefaultButton(okButton); + dialog.pack(); + } + + // set title and show dialog + + dialog.setTitle(title); + dialog.setVisible(true); + return ok; + } +} diff --git a/corejava第9版/v1ch09/dataExchange/User.java b/corejava第9版/v1ch09/dataExchange/User.java new file mode 100644 index 0000000..d01cb95 --- /dev/null +++ b/corejava第9版/v1ch09/dataExchange/User.java @@ -0,0 +1,37 @@ +package dataExchange; + +/** + * A user has a name and password. For security reasons, the password is stored as a char[], not a + * String. + */ +public class User +{ + private String name; + private char[] password; + + public User(String aName, char[] aPassword) + { + name = aName; + password = aPassword; + } + + public String getName() + { + return name; + } + + public char[] getPassword() + { + return password; + } + + public void setName(String aName) + { + name = aName; + } + + public void setPassword(char[] aPassword) + { + password = aPassword; + } +} diff --git a/corejava第9版/v1ch09/dialog/AboutDialog.java b/corejava第9版/v1ch09/dialog/AboutDialog.java new file mode 100644 index 0000000..d26bcff --- /dev/null +++ b/corejava第9版/v1ch09/dialog/AboutDialog.java @@ -0,0 +1,42 @@ +package dialog; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A sample modal dialog that displays a message and waits for the user to click the OK button. + */ +public class AboutDialog extends JDialog +{ + public AboutDialog(JFrame owner) + { + super(owner, "About DialogTest", true); + + // add HTML label to center + + add( + new JLabel( + "

        Core Java


        By Cay Horstmann and Gary Cornell"), + BorderLayout.CENTER); + + // OK button closes the dialog + + JButton ok = new JButton("OK"); + ok.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setVisible(false); + } + }); + + // add OK button to southern border + + JPanel panel = new JPanel(); + panel.add(ok); + add(panel, BorderLayout.SOUTH); + + pack(); + } +} diff --git a/corejava第9版/v1ch09/dialog/DialogFrame.java b/corejava第9版/v1ch09/dialog/DialogFrame.java new file mode 100644 index 0000000..70ef92e --- /dev/null +++ b/corejava第9版/v1ch09/dialog/DialogFrame.java @@ -0,0 +1,54 @@ +package dialog; + +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a menu whose File->About action shows a dialog. + */ +public class DialogFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + private AboutDialog dialog; + + public DialogFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // Construct a File menu. + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + JMenu fileMenu = new JMenu("File"); + menuBar.add(fileMenu); + + // Add About and Exit menu items. + + // The About item shows the About dialog. + + JMenuItem aboutItem = new JMenuItem("About"); + aboutItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + if (dialog == null) // first time + dialog = new AboutDialog(DialogFrame.this); + dialog.setVisible(true); // pop up dialog + } + }); + fileMenu.add(aboutItem); + + // The Exit item exits the program. + + JMenuItem exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + } +} diff --git a/corejava第9版/v1ch09/dialog/DialogTest.java b/corejava第9版/v1ch09/dialog/DialogTest.java new file mode 100644 index 0000000..8313764 --- /dev/null +++ b/corejava第9版/v1ch09/dialog/DialogTest.java @@ -0,0 +1,25 @@ +package dialog; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class DialogTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new DialogFrame(); + frame.setTitle("DialogTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/exit.gif b/corejava第9版/v1ch09/exit.gif new file mode 100644 index 0000000000000000000000000000000000000000..0213cd22faaa807cc867f221a0e5c5ee277b3e7b GIT binary patch literal 865 zcmdUu-Afc<6viLZ+!2=cB^A6Va-|}*l94DaDI4&k@xs@B1w^DD;QR`8Y|YfWMu>|gg#)Qi(Lpq!r*QEGdfoX4m{6uewqQPi1noK5pdU~vRFc{pK->PX^b8|B=eZnDoJf2pd zuh;87)8gy@RN@?dFrMId&GuZM0K?PUonZZzuFIu1xMrTsEQjY7BjK>G`tVX>>4Ib1 z_+#zl-s191`@LH?U$h^I8FHKol#-8BGEHnSB-40nz%b-_YRQn%(NXr7-(cMLBpzyD zKUMZ4w9bgGV zDV4ll+);T$R;l2nM5K~zLSSfO5YrG0R2p)CqLL9e<7JBxBXG!!!{lxnh2nvo_Q zl>rnhglA643ugoEpOZN_a|@I#xNTU?M%V@^sv9}bv#rfC z+<-`kKMVeBhz+84S)$fO{V(PGla&G3uzxe~=1+h-j@+E8>gkE getWidth()) icon = new ImageIcon(icon.getImage() + .getScaledInstance(getWidth(), -1, Image.SCALE_DEFAULT)); + + setIcon(icon); + } + } + }); + } +} diff --git a/corejava第9版/v1ch09/fileChooser/ImageViewerFrame.java b/corejava第9版/v1ch09/fileChooser/ImageViewerFrame.java new file mode 100644 index 0000000..401ab37 --- /dev/null +++ b/corejava第9版/v1ch09/fileChooser/ImageViewerFrame.java @@ -0,0 +1,82 @@ +package fileChooser; + +import java.awt.event.*; +import java.io.*; +import javax.swing.*; +import javax.swing.filechooser.*; + +/** + * A frame that has a menu for loading an image and a display area for the loaded image. + */ +public class ImageViewerFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 400; + private JLabel label; + private JFileChooser chooser; + + public ImageViewerFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // set up menu bar + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu menu = new JMenu("File"); + menuBar.add(menu); + + JMenuItem openItem = new JMenuItem("Open"); + menu.add(openItem); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + chooser.setCurrentDirectory(new File(".")); + + // show file chooser dialog + int result = chooser.showOpenDialog(ImageViewerFrame.this); + + // if image file accepted, set it as icon of the label + if (result == JFileChooser.APPROVE_OPTION) + { + String name = chooser.getSelectedFile().getPath(); + label.setIcon(new ImageIcon(name)); + pack(); + } + } + }); + + JMenuItem exitItem = new JMenuItem("Exit"); + menu.add(exitItem); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + + // use a label to display the images + label = new JLabel(); + add(label); + + // set up file chooser + chooser = new JFileChooser(); + + // accept all image files ending with .jpg, .jpeg, .gif + /* + final ExtensionFileFilter filter = new ExtensionFileFilter(); + filter.addExtension("jpg"); + filter.addExtension("jpeg"); + filter.addExtension("gif"); + filter.setDescription("Image files"); + */ + FileNameExtensionFilter filter = new FileNameExtensionFilter("Image files", "jpg", "jpeg", "gif"); + chooser.setFileFilter(filter); + + chooser.setAccessory(new ImagePreviewer(chooser)); + + chooser.setFileView(new FileIconView(filter, new ImageIcon("palette.gif"))); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/gridbag/FontFrame.java b/corejava第9版/v1ch09/gridbag/FontFrame.java new file mode 100644 index 0000000..c82cd5e --- /dev/null +++ b/corejava第9版/v1ch09/gridbag/FontFrame.java @@ -0,0 +1,79 @@ +package gridbag; + +import java.awt.*; +import java.awt.event.*; +import java.beans.*; +import javax.swing.*; + +/** + * A frame that uses a grid bag layout to arrange font selection components. + */ +public class FontFrame extends JFrame +{ + public static final int TEXT_ROWS = 10; + public static final int TEXT_COLUMNS = 20; + + private JComboBox face; + private JComboBox size; + private JCheckBox bold; + private JCheckBox italic; + private JTextArea sample; + + public FontFrame() + { + GridBagLayout layout = new GridBagLayout(); + setLayout(layout); + + ActionListener listener = EventHandler.create(ActionListener.class, this, "updateSample"); + + // construct components + + JLabel faceLabel = new JLabel("Face: "); + + face = new JComboBox<>(new String[] { "Serif", "SansSerif", "Monospaced", "Dialog", + "DialogInput" }); + + face.addActionListener(listener); + + JLabel sizeLabel = new JLabel("Size: "); + + size = new JComboBox<>(new Integer[] { 8, 10, 12, 15, 18, 24, 36, 48 }); + + size.addActionListener(listener); + + bold = new JCheckBox("Bold"); + bold.addActionListener(listener); + + italic = new JCheckBox("Italic"); + italic.addActionListener(listener); + + sample = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + sample.setText("The quick brown fox jumps over the lazy dog"); + sample.setEditable(false); + sample.setLineWrap(true); + sample.setBorder(BorderFactory.createEtchedBorder()); + + // add components to grid, using GBC convenience class + + add(faceLabel, new GBC(0, 0).setAnchor(GBC.EAST)); + add(face, new GBC(1, 0).setFill(GBC.HORIZONTAL).setWeight(100, 0).setInsets(1)); + add(sizeLabel, new GBC(0, 1).setAnchor(GBC.EAST)); + add(size, new GBC(1, 1).setFill(GBC.HORIZONTAL).setWeight(100, 0).setInsets(1)); + add(bold, new GBC(0, 2, 2, 1).setAnchor(GBC.CENTER).setWeight(100, 100)); + add(italic, new GBC(0, 3, 2, 1).setAnchor(GBC.CENTER).setWeight(100, 100)); + add(sample, new GBC(2, 0, 1, 4).setFill(GBC.BOTH).setWeight(100, 100)); + pack(); + updateSample(); + } + + public void updateSample() + { + String fontFace = (String) face.getSelectedItem(); + int fontStyle = (bold.isSelected() ? Font.BOLD : 0) + + (italic.isSelected() ? Font.ITALIC : 0); + int fontSize = size.getItemAt(size.getSelectedIndex()); + Font font = new Font(fontFace, fontStyle, fontSize); + sample.setFont(font); + sample.repaint(); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/gridbag/GBC.java b/corejava第9版/v1ch09/gridbag/GBC.java new file mode 100644 index 0000000..6336e14 --- /dev/null +++ b/corejava第9版/v1ch09/gridbag/GBC.java @@ -0,0 +1,112 @@ +package gridbag; + +import java.awt.*; + +/** + * This class simplifies the use of the GridBagConstraints class. + * @version 1.01 2004-05-06 + * @author Cay Horstmann + */ +public class GBC extends GridBagConstraints +{ + /** + * Constructs a GBC with a given gridx and gridy position and all other grid + * bag constraint values set to the default. + * @param gridx the gridx position + * @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + * Constructs a GBC with given gridx, gridy, gridwidth, gridheight and all + * other grid bag constraint values set to the default. + * @param gridx the gridx position + * @param gridy the gridy position + * @param gridwidth the cell span in x-direction + * @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + * Sets the anchor. + * @param anchor the anchor value + * @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + * Sets the fill direction. + * @param fill the fill direction + * @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + * Sets the cell weights. + * @param weightx the cell weight in x-direction + * @param weighty the cell weight in y-direction + * @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + * Sets the insets of this cell. + * @param distance the spacing to use in all directions + * @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + * Sets the insets of this cell. + * @param top the spacing to use on top + * @param left the spacing to use to the left + * @param bottom the spacing to use on the bottom + * @param right the spacing to use to the right + * @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + * Sets the internal padding + * @param ipadx the internal padding in x-direction + * @param ipady the internal padding in y-direction + * @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v1ch09/gridbag/GridBagLayoutTest.java b/corejava第9版/v1ch09/gridbag/GridBagLayoutTest.java new file mode 100644 index 0000000..d70dd2d --- /dev/null +++ b/corejava第9版/v1ch09/gridbag/GridBagLayoutTest.java @@ -0,0 +1,25 @@ +package gridbag; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.34 2012-05-05 + * @author Cay Horstmann + */ +public class GridBagLayoutTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new FontFrame(); + frame.setTitle("GridBagLayoutTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/groupLayout/FontFrame.java b/corejava第9版/v1ch09/groupLayout/FontFrame.java new file mode 100644 index 0000000..c64f3ff --- /dev/null +++ b/corejava第9版/v1ch09/groupLayout/FontFrame.java @@ -0,0 +1,110 @@ +package groupLayout; + +import java.awt.*; +import java.awt.event.*; +import java.beans.*; +import javax.swing.*; + +/** + * A frame that uses a group layout to arrange font selection components. + */ +public class FontFrame extends JFrame +{ + public static final int TEXT_ROWS = 10; + public static final int TEXT_COLUMNS = 20; + + private JComboBox face; + private JComboBox size; + private JCheckBox bold; + private JCheckBox italic; + private JScrollPane pane; + private JTextArea sample; + + public FontFrame() + { + ActionListener listener = EventHandler.create(ActionListener.class, this, "updateSample"); + + // construct components + + JLabel faceLabel = new JLabel("Face: "); + + face = new JComboBox<>(new String[] { "Serif", "SansSerif", "Monospaced", "Dialog", + "DialogInput" }); + + face.addActionListener(listener); + + JLabel sizeLabel = new JLabel("Size: "); + + size = new JComboBox<>(new Integer[] { 8, 10, 12, 15, 18, 24, 36, 48 }); + + size.addActionListener(listener); + + bold = new JCheckBox("Bold"); + bold.addActionListener(listener); + + italic = new JCheckBox("Italic"); + italic.addActionListener(listener); + + sample = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + sample.setText("The quick brown fox jumps over the lazy dog"); + sample.setEditable(false); + sample.setLineWrap(true); + sample.setBorder(BorderFactory.createEtchedBorder()); + + pane = new JScrollPane(sample); + + GroupLayout layout = new GroupLayout(getContentPane()); + setLayout(layout); + layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup( + layout.createSequentialGroup().addContainerGap().addGroup( + layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup( + GroupLayout.Alignment.TRAILING, + layout.createSequentialGroup().addGroup( + layout.createParallelGroup(GroupLayout.Alignment.TRAILING) + .addComponent(faceLabel).addComponent(sizeLabel)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addGroup( + layout.createParallelGroup( + GroupLayout.Alignment.LEADING, false) + .addComponent(size).addComponent(face))) + .addComponent(italic).addComponent(bold)).addPreferredGap( + LayoutStyle.ComponentPlacement.RELATED).addComponent(pane) + .addContainerGap())); + + layout.linkSize(SwingConstants.HORIZONTAL, new java.awt.Component[] { face, size }); + + layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) + .addGroup( + layout.createSequentialGroup().addContainerGap().addGroup( + layout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent( + pane, GroupLayout.Alignment.TRAILING).addGroup( + layout.createSequentialGroup().addGroup( + layout.createParallelGroup(GroupLayout.Alignment.BASELINE) + .addComponent(face).addComponent(faceLabel)) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addGroup( + layout.createParallelGroup( + GroupLayout.Alignment.BASELINE).addComponent(size) + .addComponent(sizeLabel)).addPreferredGap( + LayoutStyle.ComponentPlacement.RELATED).addComponent( + italic, GroupLayout.DEFAULT_SIZE, + GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) + .addComponent(bold, GroupLayout.DEFAULT_SIZE, + GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addContainerGap())); + pack(); + } + + public void updateSample() + { + String fontFace = (String) face.getSelectedItem(); + int fontStyle = (bold.isSelected() ? Font.BOLD : 0) + + (italic.isSelected() ? Font.ITALIC : 0); + int fontSize = size.getItemAt(size.getSelectedIndex()); + Font font = new Font(fontFace, fontStyle, fontSize); + sample.setFont(font); + sample.repaint(); + } +} diff --git a/corejava第9版/v1ch09/groupLayout/GroupLayoutTest.java b/corejava第9版/v1ch09/groupLayout/GroupLayoutTest.java new file mode 100644 index 0000000..eddee5e --- /dev/null +++ b/corejava第9版/v1ch09/groupLayout/GroupLayoutTest.java @@ -0,0 +1,25 @@ +package groupLayout; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.0 2012-05-05 + * @author Cay Horstmann + */ +public class GroupLayoutTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new FontFrame(); + frame.setTitle("GroupLayoutTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/jack.gif b/corejava第9版/v1ch09/jack.gif new file mode 100644 index 0000000000000000000000000000000000000000..63f6ad473cbb4f20f553decf8f693f6808fd46a2 GIT binary patch literal 388 zcmZ?wbhEHbRA5kG*vtR|XMlJn!_1i=3P=M9AUJd8%zvQ3e}?~H3P=N4K%n@Og^_`Q zi9rV_2{b{0!GYypK!fM%y%HU~ai7>H)tvu0=lp^)=7dF3?b8kl>hLG%oJ=a=j#FZ} z?UA-En8{gcs(|avbhoup{u`BFEjT1spxTu6U~a1Q?E{&n95XxATRKbj-CA3cobIyg z_iI0w07hG_R%Y(3qO>YG^BxJwX%uI@#Dbc{u0Tn3+zGnwVv7ZR=>unWZ_Q zG}B^oiY0${rr)NC?ECf~IJl2ZDWbRTMBuWM^~Y<^gl&>Pbmh>}jG2CNKI)8Y*ZZ73 zBC?bDJ2#$F4arwc&RBBlhH8egjpO%K{H6iNW|*x0w(`?Lw<)TX9t=D$51tg(U^ZuJ zyxo-MGh3K@(h`XeyoyJQjHYbc@Obj$2o;8ufVLhM)eG(Xd*;32Zdx&6Lg8+oN4Gea Ys-K_l^+&hatog}I9*@b#Iv5zN0n7=V*8l(j literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/king.gif b/corejava第9版/v1ch09/king.gif new file mode 100644 index 0000000000000000000000000000000000000000..6b9b8fd2e374f5cbd335b0bd9ef6bf520b6cecf3 GIT binary patch literal 393 zcmZ?wbhEHbRA5kG*vtR|XMlJn!_1i=3P=M9AUJd8%zvQ3e}?~H3P=N4K%n@Og^_`Q zi9rV_2{b{0!GYypK!fM%y%HU~ai7>H)%bs()1O#!xM;yswS$T5IQ z{-0)CmFmmLt;cMY$j!*l;iz6Jr#vA(I9GS-qzLm^6~~1+#xScU zVj&yLMAZ=X?CSI)_I>*g9Ngc#JG|le#EmD8PpUdyaaQ5b<%3I4IZSr7vXz z)oHsXTg=@?HTl$lZO@c-S+DJJFb|Bi<@EiS^5xhKwI3f2tYGPjPTj|7Gr{dXr@#BI z2ObiO7L?fH)abU~K2^Ag zTh!g+()k-)7bhKAwtj{{&4L4Wy}iA@l^n?Yq4LIL`XhbIr@{+!?{2CP-FtHC2eY-D zrSell9CJ)tJjz=;;=&TL>Vle_74idnYfDU%vyFmcj4NkZR@YBSp5_-nw||0V^kTJT yex-Tq+n2BEo4U1U=I#Xk4IL%nyY^}I>n)qS!`lDI+^Ws{Qzfrl)evN0um%7&qHu-) literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/optionDialog/ButtonPanel.java b/corejava第9版/v1ch09/optionDialog/ButtonPanel.java new file mode 100644 index 0000000..4e11bbb --- /dev/null +++ b/corejava第9版/v1ch09/optionDialog/ButtonPanel.java @@ -0,0 +1,43 @@ +package optionDialog; + +import javax.swing.*; + +/** + * A panel with radio buttons inside a titled border. + */ +public class ButtonPanel extends JPanel +{ + private ButtonGroup group; + + /** + * Constructs a button panel. + * @param title the title shown in the border + * @param options an array of radio button labels + */ + public ButtonPanel(String title, String... options) + { + setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), title)); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + group = new ButtonGroup(); + + // make one radio button for each option + for (String option : options) + { + JRadioButton b = new JRadioButton(option); + b.setActionCommand(option); + add(b); + group.add(b); + b.setSelected(option == options[0]); + } + } + + /** + * Gets the currently selected option. + * @return the label of the currently selected radio button. + */ + public String getSelection() + { + return group.getSelection().getActionCommand(); + } +} + diff --git a/corejava第9版/v1ch09/optionDialog/OptionDialogFrame.java b/corejava第9版/v1ch09/optionDialog/OptionDialogFrame.java new file mode 100644 index 0000000..b4f0f69 --- /dev/null +++ b/corejava第9版/v1ch09/optionDialog/OptionDialogFrame.java @@ -0,0 +1,155 @@ +package optionDialog; + +import java.awt.*; +import java.awt.event.*; +import java.awt.geom.*; +import java.util.*; +import javax.swing.*; + +/** + * A frame that contains settings for selecting various option dialogs. + */ +public class OptionDialogFrame extends JFrame +{ + private ButtonPanel typePanel; + private ButtonPanel messagePanel; + private ButtonPanel messageTypePanel; + private ButtonPanel optionTypePanel; + private ButtonPanel optionsPanel; + private ButtonPanel inputPanel; + private String messageString = "Message"; + private Icon messageIcon = new ImageIcon("blue-ball.gif"); + private Object messageObject = new Date(); + private Component messageComponent = new SampleComponent(); + + public OptionDialogFrame() + { + JPanel gridPanel = new JPanel(); + gridPanel.setLayout(new GridLayout(2, 3)); + + typePanel = new ButtonPanel("Type", "Message", "Confirm", "Option", "Input"); + messageTypePanel = new ButtonPanel("Message Type", "ERROR_MESSAGE", "INFORMATION_MESSAGE", + "WARNING_MESSAGE", "QUESTION_MESSAGE", "PLAIN_MESSAGE"); + messagePanel = new ButtonPanel("Message", "String", "Icon", "Component", "Other", "Object[]"); + optionTypePanel = new ButtonPanel("Confirm", "DEFAULT_OPTION", "YES_NO_OPTION", + "YES_NO_CANCEL_OPTION", "OK_CANCEL_OPTION"); + optionsPanel = new ButtonPanel("Option", "String[]", "Icon[]", "Object[]"); + inputPanel = new ButtonPanel("Input", "Text field", "Combo box"); + + gridPanel.add(typePanel); + gridPanel.add(messageTypePanel); + gridPanel.add(messagePanel); + gridPanel.add(optionTypePanel); + gridPanel.add(optionsPanel); + gridPanel.add(inputPanel); + + // add a panel with a Show button + + JPanel showPanel = new JPanel(); + JButton showButton = new JButton("Show"); + showButton.addActionListener(new ShowAction()); + showPanel.add(showButton); + + add(gridPanel, BorderLayout.CENTER); + add(showPanel, BorderLayout.SOUTH); + pack(); + } + + /** + * Gets the currently selected message. + * @return a string, icon, component, or object array, depending on the Message panel selection + */ + public Object getMessage() + { + String s = messagePanel.getSelection(); + if (s.equals("String")) return messageString; + else if (s.equals("Icon")) return messageIcon; + else if (s.equals("Component")) return messageComponent; + else if (s.equals("Object[]")) return new Object[] { messageString, messageIcon, + messageComponent, messageObject }; + else if (s.equals("Other")) return messageObject; + else return null; + } + + /** + * Gets the currently selected options. + * @return an array of strings, icons, or objects, depending on the Option panel selection + */ + public Object[] getOptions() + { + String s = optionsPanel.getSelection(); + if (s.equals("String[]")) return new String[] { "Yellow", "Blue", "Red" }; + else if (s.equals("Icon[]")) return new Icon[] { new ImageIcon("yellow-ball.gif"), + new ImageIcon("blue-ball.gif"), new ImageIcon("red-ball.gif") }; + else if (s.equals("Object[]")) return new Object[] { messageString, messageIcon, + messageComponent, messageObject }; + else return null; + } + + /** + * Gets the selected message or option type + * @param panel the Message Type or Confirm panel + * @return the selected XXX_MESSAGE or XXX_OPTION constant from the JOptionPane class + */ + public int getType(ButtonPanel panel) + { + String s = panel.getSelection(); + try + { + return JOptionPane.class.getField(s).getInt(null); + } + catch (Exception e) + { + return -1; + } + } + + /** + * The action listener for the Show button shows a Confirm, Input, Message, or Option dialog + * depending on the Type panel selection. + */ + private class ShowAction implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + if (typePanel.getSelection().equals("Confirm")) JOptionPane.showConfirmDialog( + OptionDialogFrame.this, getMessage(), "Title", getType(optionTypePanel), + getType(messageTypePanel)); + else if (typePanel.getSelection().equals("Input")) + { + if (inputPanel.getSelection().equals("Text field")) JOptionPane.showInputDialog( + OptionDialogFrame.this, getMessage(), "Title", getType(messageTypePanel)); + else JOptionPane.showInputDialog(OptionDialogFrame.this, getMessage(), "Title", + getType(messageTypePanel), null, new String[] { "Yellow", "Blue", "Red" }, + "Blue"); + } + else if (typePanel.getSelection().equals("Message")) JOptionPane.showMessageDialog( + OptionDialogFrame.this, getMessage(), "Title", getType(messageTypePanel)); + else if (typePanel.getSelection().equals("Option")) JOptionPane.showOptionDialog( + OptionDialogFrame.this, getMessage(), "Title", getType(optionTypePanel), + getType(messageTypePanel), null, getOptions(), getOptions()[0]); + } + } +} + +/** + * A component with a painted surface + */ + +class SampleComponent extends JComponent +{ + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + Rectangle2D rect = new Rectangle2D.Double(0, 0, getWidth() - 1, getHeight() - 1); + g2.setPaint(Color.YELLOW); + g2.fill(rect); + g2.setPaint(Color.BLUE); + g2.draw(rect); + } + + public Dimension getPreferredSize() + { + return new Dimension(10, 10); + } +} diff --git a/corejava第9版/v1ch09/optionDialog/OptionDialogTest.java b/corejava第9版/v1ch09/optionDialog/OptionDialogTest.java new file mode 100644 index 0000000..77e8c60 --- /dev/null +++ b/corejava第9版/v1ch09/optionDialog/OptionDialogTest.java @@ -0,0 +1,26 @@ +package optionDialog; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-04-28 + * @author Cay Horstmann + */ +public class OptionDialogTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new OptionDialogFrame(); + frame.setTitle("OptionDialogTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v1ch09/palette.gif b/corejava第9版/v1ch09/palette.gif new file mode 100644 index 0000000000000000000000000000000000000000..a1f0347ef3b07df39f75a770db664b3056d62284 GIT binary patch literal 152 zcmZ?wbhEHb6krf!*v!H3|Ns961_p)(h6XSNq=76TIB?*=f1o%6PyvMa4`ijKF)03I zVPs(7V9)`{fy{7VaTPe}sU5`qWX+sQ3zB-TY-jXJ&Pqz{l88RG{8C)Z#-c;lZ*2)U ol+Ib?=Aa;SB=Miqg=dGvTwN2@SC+oIbtEn}tar*5UnK@>0OR#KO8@`> literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/paste.gif b/corejava第9版/v1ch09/paste.gif new file mode 100644 index 0000000000000000000000000000000000000000..80961b8b5980f578bf4d873284a35ff02d8bf633 GIT binary patch literal 159 zcmZ?wbhEHb6krfw*v!E2|Ns961_p)(h6XSNq=76TIB?*=f1o%>0fhJuWTmAsDE?&O zTDc{_H)jUX^cVI`$3$?lD4Rt*os#n=Euw-Y++(>lv zF6o8bVT%{BX8zQZ598h$O;kg&J{$;G%+?5qJQ(phl z``qBCuk7vHmeR(~n4s-zUu%&PBpktRWYp1=p_U!T+>)W0#KLS>;}~J1rOd3B%q{Ge zI?G8(*v>t0PRsJ}InxdtJamxJv%K-dmXjyTt4~*)RXBY4P}+nD3$K{lnmO9n{FOI* zdCb{p_#j+9axFg#OI|^gN!R1Ovkf)ll8RSz#(nE6{N%EjV+t!{&K<9I{nOTFj81~L z4AmZNja~nz@Z+V%4$Ve$!xTn_XC0R~S-Pe*$QUu**Aw=>Cb3(hnPXw0(Nck53_^_y b=kwRF$yQ~ktx6BBn0xZT7R?D93=Gx)J4BhF literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/radioButton/RadioButtonFrame.java b/corejava第9版/v1ch09/radioButton/RadioButtonFrame.java new file mode 100644 index 0000000..db164f7 --- /dev/null +++ b/corejava第9版/v1ch09/radioButton/RadioButtonFrame.java @@ -0,0 +1,65 @@ +package radioButton; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a sample text label and radio buttons for selecting font sizes. + */ +public class RadioButtonFrame extends JFrame +{ + private JPanel buttonPanel; + private ButtonGroup group; + private JLabel label; + private static final int DEFAULT_SIZE = 36; + + public RadioButtonFrame() + { + // add the sample text label + + label = new JLabel("The quick brown fox jumps over the lazy dog."); + label.setFont(new Font("Serif", Font.PLAIN, DEFAULT_SIZE)); + add(label, BorderLayout.CENTER); + + // add the radio buttons + + buttonPanel = new JPanel(); + group = new ButtonGroup(); + + addRadioButton("Small", 8); + addRadioButton("Medium", 12); + addRadioButton("Large", 18); + addRadioButton("Extra large", 36); + + add(buttonPanel, BorderLayout.SOUTH); + pack(); + } + + /** + * Adds a radio button that sets the font size of the sample text. + * @param name the string to appear on the button + * @param size the font size that this button sets + */ + public void addRadioButton(String name, final int size) + { + boolean selected = size == DEFAULT_SIZE; + JRadioButton button = new JRadioButton(name, selected); + group.add(button); + buttonPanel.add(button); + + // this listener sets the label font size + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // size refers to the final parameter of the addRadioButton + // method + label.setFont(new Font("Serif", Font.PLAIN, size)); + } + }; + + button.addActionListener(listener); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/radioButton/RadioButtonTest.java b/corejava第9版/v1ch09/radioButton/RadioButtonTest.java new file mode 100644 index 0000000..916e523 --- /dev/null +++ b/corejava第9版/v1ch09/radioButton/RadioButtonTest.java @@ -0,0 +1,25 @@ +package radioButton; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class RadioButtonTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new RadioButtonFrame(); + frame.setTitle("RadioButtonTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/red-ball.gif b/corejava第9版/v1ch09/red-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..dca92960148cb3751f9b2de8cf96f26293c15888 GIT binary patch literal 527 zcmcJMziSg=9L66(&J2aVi;%_P#(>K^^{z=xdQDRM#@aO1)Lefl7qX-fl+XW@ z`sd~iK*8Nv#q1N@I((tDJMPhfrt8|m(PBE2S-O{9?Btd+#!9}BE#}% labelTable = new Hashtable<>(); + labelTable.put(0, new JLabel("A")); + labelTable.put(20, new JLabel("B")); + labelTable.put(40, new JLabel("C")); + labelTable.put(60, new JLabel("D")); + labelTable.put(80, new JLabel("E")); + labelTable.put(100, new JLabel("F")); + + slider.setLabelTable(labelTable); + addSlider(slider, "Custom labels"); + + // add a slider with icon labels + + slider = new JSlider(); + slider.setPaintTicks(true); + slider.setPaintLabels(true); + slider.setSnapToTicks(true); + slider.setMajorTickSpacing(20); + slider.setMinorTickSpacing(20); + + labelTable = new Hashtable(); + + // add card images + + labelTable.put(0, new JLabel(new ImageIcon("nine.gif"))); + labelTable.put(20, new JLabel(new ImageIcon("ten.gif"))); + labelTable.put(40, new JLabel(new ImageIcon("jack.gif"))); + labelTable.put(60, new JLabel(new ImageIcon("queen.gif"))); + labelTable.put(80, new JLabel(new ImageIcon("king.gif"))); + labelTable.put(100, new JLabel(new ImageIcon("ace.gif"))); + + slider.setLabelTable(labelTable); + addSlider(slider, "Icon labels"); + + // add the text field that displays the slider value + + textField = new JTextField(); + add(sliderPanel, BorderLayout.CENTER); + add(textField, BorderLayout.SOUTH); + pack(); + } + + /** + * Adds a slider to the slider panel and hooks up the listener + * @param s the slider + * @param description the slider description + */ + public void addSlider(JSlider s, String description) + { + s.addChangeListener(listener); + JPanel panel = new JPanel(); + panel.add(s); + panel.add(new JLabel(description)); + panel.setAlignmentX(Component.LEFT_ALIGNMENT); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.gridy = sliderPanel.getComponentCount(); + gbc.anchor = GridBagConstraints.WEST; + sliderPanel.add(panel, gbc); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/slider/SliderTest.java b/corejava第9版/v1ch09/slider/SliderTest.java new file mode 100644 index 0000000..7f6b1f7 --- /dev/null +++ b/corejava第9版/v1ch09/slider/SliderTest.java @@ -0,0 +1,25 @@ +package slider; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.14 2012-01-26 + * @author Cay Horstmann + */ +public class SliderTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + SliderFrame frame = new SliderFrame(); + frame.setTitle("SliderTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/ten.gif b/corejava第9版/v1ch09/ten.gif new file mode 100644 index 0000000000000000000000000000000000000000..6052fd26ed7579140990a685d4c666402348baa9 GIT binary patch literal 262 zcmZ?wbhEHbRA5kG*vtR|XMlJn!_1i=3P=M9AUJd8%zvQ3e}?~H3P=N4K%n@Og^_`Q zi9rV_2{b{0!GUFSK!fM%y%HU~ai9D(syu)8zF1tC`Fh#vEAy6UUP|Vfvf$)$yE$3P z(yZxrQ}{}GF3wuM)R5Ds&TH3e-Y1u|I<50^fB$)UAo<05%}GY_=cfHmTgTPD<~!%9 zt!J}KOU%MK>kHZ|TsyiWqjG}H(q(K~Ci;ZrW;isZm3PWcjH@XRs-BTLO|fm|^d+;p yJKB literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch09/text/TextComponentFrame.java b/corejava第9版/v1ch09/text/TextComponentFrame.java new file mode 100644 index 0000000..7d927e8 --- /dev/null +++ b/corejava第9版/v1ch09/text/TextComponentFrame.java @@ -0,0 +1,52 @@ +package text; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with sample text components. + */ +public class TextComponentFrame extends JFrame +{ + public static final int TEXTAREA_ROWS = 8; + public static final int TEXTAREA_COLUMNS = 20; + + public TextComponentFrame() + { + final JTextField textField = new JTextField(); + final JPasswordField passwordField = new JPasswordField(); + + JPanel northPanel = new JPanel(); + northPanel.setLayout(new GridLayout(2, 2)); + northPanel.add(new JLabel("User name: ", SwingConstants.RIGHT)); + northPanel.add(textField); + northPanel.add(new JLabel("Password: ", SwingConstants.RIGHT)); + northPanel.add(passwordField); + + add(northPanel, BorderLayout.NORTH); + + final JTextArea textArea = new JTextArea(TEXTAREA_ROWS, TEXTAREA_COLUMNS); + JScrollPane scrollPane = new JScrollPane(textArea); + + add(scrollPane, BorderLayout.CENTER); + + // add button to append text into the text area + + JPanel southPanel = new JPanel(); + + JButton insertButton = new JButton("Insert"); + southPanel.add(insertButton); + insertButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + textArea.append("User name: " + textField.getText() + " Password: " + + new String(passwordField.getPassword()) + "\n"); + } + }); + + add(southPanel, BorderLayout.SOUTH); + pack(); + } +} diff --git a/corejava第9版/v1ch09/text/TextComponentTest.java b/corejava第9版/v1ch09/text/TextComponentTest.java new file mode 100644 index 0000000..a0ee111 --- /dev/null +++ b/corejava第9版/v1ch09/text/TextComponentTest.java @@ -0,0 +1,26 @@ +package text; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.40 2007-04-27 + * @author Cay Horstmann + */ +public class TextComponentTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new TextComponentFrame(); + frame.setTitle("TextComponentTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v1ch09/toolBar/ToolBarFrame.java b/corejava第9版/v1ch09/toolBar/ToolBarFrame.java new file mode 100644 index 0000000..0d790c7 --- /dev/null +++ b/corejava第9版/v1ch09/toolBar/ToolBarFrame.java @@ -0,0 +1,82 @@ +package toolBar; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a toolbar and menu for color changes. + */ +public class ToolBarFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + private JPanel panel; + + public ToolBarFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // add a panel for color change + + panel = new JPanel(); + add(panel, BorderLayout.CENTER); + + // set up actions + + Action blueAction = new ColorAction("Blue", new ImageIcon("blue-ball.gif"), Color.BLUE); + Action yellowAction = new ColorAction("Yellow", new ImageIcon("yellow-ball.gif"), + Color.YELLOW); + Action redAction = new ColorAction("Red", new ImageIcon("red-ball.gif"), Color.RED); + + Action exitAction = new AbstractAction("Exit", new ImageIcon("exit.gif")) + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }; + exitAction.putValue(Action.SHORT_DESCRIPTION, "Exit"); + + // populate tool bar + + JToolBar bar = new JToolBar(); + bar.add(blueAction); + bar.add(yellowAction); + bar.add(redAction); + bar.addSeparator(); + bar.add(exitAction); + add(bar, BorderLayout.NORTH); + + // populate menu + + JMenu menu = new JMenu("Color"); + menu.add(yellowAction); + menu.add(blueAction); + menu.add(redAction); + menu.add(exitAction); + JMenuBar menuBar = new JMenuBar(); + menuBar.add(menu); + setJMenuBar(menuBar); + } + + /** + * The color action sets the background of the frame to a given color. + */ + class ColorAction extends AbstractAction + { + public ColorAction(String name, Icon icon, Color c) + { + putValue(Action.NAME, name); + putValue(Action.SMALL_ICON, icon); + putValue(Action.SHORT_DESCRIPTION, name + " background"); + putValue("Color", c); + } + + public void actionPerformed(ActionEvent event) + { + Color c = (Color) getValue("Color"); + panel.setBackground(c); + } + } +} diff --git a/corejava第9版/v1ch09/toolBar/ToolBarTest.java b/corejava第9版/v1ch09/toolBar/ToolBarTest.java new file mode 100644 index 0000000..701a4ab --- /dev/null +++ b/corejava第9版/v1ch09/toolBar/ToolBarTest.java @@ -0,0 +1,25 @@ +package toolBar; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.13 2007-06-12 + * @author Cay Horstmann + */ +public class ToolBarTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + ToolBarFrame frame = new ToolBarFrame(); + frame.setTitle("ToolBarTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch09/yellow-ball.gif b/corejava第9版/v1ch09/yellow-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b8c0bb3d6baad5fdb28a878b33c265daeafe9d4 GIT binary patch literal 925 zcmdUu?@Lp06viLZ+znRy1_>)xIn!`b#FeO|s9b4wePPbBn*H=n%T~->M79@-tzUGr zgk@M-A&pDiD$Iko>IY+h7 z;uk)^$}` zsYCCFPT9nRx&>`_<=mB~>_lzjh5BeT`ry#|pyCRtW>sbVsu+o2h7g;?3k8bedZosL zS#xtU{pDwf8;jw#4EiR~c;_!-fdFoJ5DJAF+-!!7uOpn>jlEWU9>yad4vBcF1pEQq ze+cV-2m+i=cG`(N0kSNps%W?4s>CZUNj2M5Ca9t-0yDuv5GG+(kfXRfDsqTfiFXla ziNP$xL{fx0Cy7}C$nn7BW;_|i2xoS~WQBehW*>MFdLzbsrJOjr@WZj zXsA8&qsk~w&Wz{}U!Kc;=uf + diff --git a/corejava第9版/v1ch10/applet/NotHelloWorld.java b/corejava第9版/v1ch10/applet/NotHelloWorld.java new file mode 100644 index 0000000..82ef19f --- /dev/null +++ b/corejava第9版/v1ch10/applet/NotHelloWorld.java @@ -0,0 +1,23 @@ +package applet; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.23 2012-05-14 + * @author Cay Horstmann + */ +public class NotHelloWorld extends JApplet +{ + public void init() + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JLabel label = new JLabel("Not a Hello, World applet", SwingConstants.CENTER); + add(label); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch10/chart/Chart.html b/corejava第9版/v1ch10/chart/Chart.html new file mode 100644 index 0000000..656662d --- /dev/null +++ b/corejava第9版/v1ch10/chart/Chart.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/corejava第9版/v1ch10/chart/Chart.java b/corejava第9版/v1ch10/chart/Chart.java new file mode 100644 index 0000000..a640314 --- /dev/null +++ b/corejava第9版/v1ch10/chart/Chart.java @@ -0,0 +1,132 @@ +package chart; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import javax.swing.*; + +/** + * @version 1.33 2007-06-12 + * @author Cay Horstmann + */ +public class Chart extends JApplet +{ + public void init() + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + String v = getParameter("values"); + if (v == null) return; + int n = Integer.parseInt(v); + double[] values = new double[n]; + String[] names = new String[n]; + for (int i = 0; i < n; i++) + { + values[i] = Double.parseDouble(getParameter("value." + (i + 1))); + names[i] = getParameter("name." + (i + 1)); + } + + add(new ChartComponent(values, names, getParameter("title"))); + } + }); + } +} + +/** + * A component that draws a bar chart. + */ +class ChartComponent extends JComponent +{ + private double[] values; + private String[] names; + private String title; + + /** + * Constructs a ChartComponent. + * @param v the array of values for the chart + * @param n the array of names for the values + * @param t the title of the chart + */ + public ChartComponent(double[] v, String[] n, String t) + { + values = v; + names = n; + title = t; + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + // compute the minimum and maximum values + if (values == null) return; + double minValue = 0; + double maxValue = 0; + for (double v : values) + { + if (minValue > v) minValue = v; + if (maxValue < v) maxValue = v; + } + if (maxValue == minValue) return; + + int panelWidth = getWidth(); + int panelHeight = getHeight(); + + Font titleFont = new Font("SansSerif", Font.BOLD, 20); + Font labelFont = new Font("SansSerif", Font.PLAIN, 10); + + // compute the extent of the title + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D titleBounds = titleFont.getStringBounds(title, context); + double titleWidth = titleBounds.getWidth(); + double top = titleBounds.getHeight(); + + // draw the title + double y = -titleBounds.getY(); // ascent + double x = (panelWidth - titleWidth) / 2; + g2.setFont(titleFont); + g2.drawString(title, (float) x, (float) y); + + // compute the extent of the bar labels + LineMetrics labelMetrics = labelFont.getLineMetrics("", context); + double bottom = labelMetrics.getHeight(); + + y = panelHeight - labelMetrics.getDescent(); + g2.setFont(labelFont); + + // get the scale factor and width for the bars + double scale = (panelHeight - top - bottom) / (maxValue - minValue); + int barWidth = panelWidth / values.length; + + // draw the bars + for (int i = 0; i < values.length; i++) + { + // get the coordinates of the bar rectangle + double x1 = i * barWidth + 1; + double y1 = top; + double height = values[i] * scale; + if (values[i] >= 0) y1 += (maxValue - values[i]) * scale; + else + { + y1 += maxValue * scale; + height = -height; + } + + // fill the bar and draw the bar outline + Rectangle2D rect = new Rectangle2D.Double(x1, y1, barWidth - 2, height); + g2.setPaint(Color.RED); + g2.fill(rect); + g2.setPaint(Color.BLACK); + g2.draw(rect); + + // draw the centered label below the bar + Rectangle2D labelBounds = labelFont.getStringBounds(names[i], context); + + double labelWidth = labelBounds.getWidth(); + x = x1 + (barWidth - labelWidth) / 2; + g2.drawString(names[i], (float) x, (float) y); + } + } +} diff --git a/corejava第9版/v1ch10/java.policy.applet b/corejava第9版/v1ch10/java.policy.applet new file mode 100644 index 0000000..ba9f51d --- /dev/null +++ b/corejava第9版/v1ch10/java.policy.applet @@ -0,0 +1,7 @@ +/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/ +/* DO NOT EDIT */ + +grant { + permission java.security.AllPermission; +}; + diff --git a/corejava第9版/v1ch10/preferences/PreferencesTest.java b/corejava第9版/v1ch10/preferences/PreferencesTest.java new file mode 100644 index 0000000..3132895 --- /dev/null +++ b/corejava第9版/v1ch10/preferences/PreferencesTest.java @@ -0,0 +1,142 @@ +package preferences; + +import java.awt.EventQueue; +import java.awt.event.*; +import java.io.*; +import java.util.prefs.*; +import javax.swing.*; + +/** + * A program to test preference settings. The program remembers the frame position, size, and title. + * @version 1.02 2007-06-12 + * @author Cay Horstmann + */ +public class PreferencesTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + PreferencesFrame frame = new PreferencesFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame that restores position and size from user preferences and updates the preferences upon + * exit. + */ +class PreferencesFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public PreferencesFrame() + { + // get position, size, title from preferences + + Preferences root = Preferences.userRoot(); + final Preferences node = root.node("/com/horstmann/corejava"); + int left = node.getInt("left", 0); + int top = node.getInt("top", 0); + int width = node.getInt("width", DEFAULT_WIDTH); + int height = node.getInt("height", DEFAULT_HEIGHT); + setBounds(left, top, width, height); + + // if no title given, ask user + + String title = node.get("title", ""); + if (title.equals("")) title = JOptionPane.showInputDialog("Please supply a frame title:"); + if (title == null) title = ""; + setTitle(title); + + // set up file chooser that shows XML files + + final JFileChooser chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + + // accept all files ending with .xml + chooser.setFileFilter(new javax.swing.filechooser.FileFilter() + { + public boolean accept(File f) + { + return f.getName().toLowerCase().endsWith(".xml") || f.isDirectory(); + } + + public String getDescription() + { + return "XML files"; + } + }); + + // set up menus + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + JMenu menu = new JMenu("File"); + menuBar.add(menu); + + JMenuItem exportItem = new JMenuItem("Export preferences"); + menu.add(exportItem); + exportItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + if (chooser.showSaveDialog(PreferencesFrame.this) == JFileChooser.APPROVE_OPTION) + { + try + { + OutputStream out = new FileOutputStream(chooser.getSelectedFile()); + node.exportSubtree(out); + out.close(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + } + }); + + JMenuItem importItem = new JMenuItem("Import preferences"); + menu.add(importItem); + importItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + if (chooser.showOpenDialog(PreferencesFrame.this) == JFileChooser.APPROVE_OPTION) + { + try + { + InputStream in = new FileInputStream(chooser.getSelectedFile()); + Preferences.importPreferences(in); + in.close(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + } + }); + + JMenuItem exitItem = new JMenuItem("Exit"); + menu.add(exitItem); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + node.putInt("left", getX()); + node.putInt("top", getY()); + node.putInt("width", getWidth()); + node.putInt("height", getHeight()); + node.put("title", getTitle()); + System.exit(0); + } + }); + } +} diff --git a/corejava第9版/v1ch10/properties/PropertiesTest.java b/corejava第9版/v1ch10/properties/PropertiesTest.java new file mode 100644 index 0000000..74c10e7 --- /dev/null +++ b/corejava第9版/v1ch10/properties/PropertiesTest.java @@ -0,0 +1,105 @@ +package properties; + +import java.awt.EventQueue; +import java.awt.event.*; +import java.io.*; +import java.util.Properties; + +import javax.swing.*; + +/** + * A program to test properties. The program remembers the frame position, size, and title. + * @version 1.00 2007-04-29 + * @author Cay Horstmann + */ +public class PropertiesTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + PropertiesFrame frame = new PropertiesFrame(); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame that restores position and size from a properties file and updates the properties upon + * exit. + */ +class PropertiesFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private File propertiesFile; + private Properties settings; + + public PropertiesFrame() + { + // get position, size, title from properties + + String userDir = System.getProperty("user.home"); + File propertiesDir = new File(userDir, ".corejava"); + if (!propertiesDir.exists()) propertiesDir.mkdir(); + propertiesFile = new File(propertiesDir, "program.properties"); + + Properties defaultSettings = new Properties(); + defaultSettings.put("left", "0"); + defaultSettings.put("top", "0"); + defaultSettings.put("width", "" + DEFAULT_WIDTH); + defaultSettings.put("height", "" + DEFAULT_HEIGHT); + defaultSettings.put("title", ""); + + settings = new Properties(defaultSettings); + + if (propertiesFile.exists()) try + { + FileInputStream in = new FileInputStream(propertiesFile); + settings.load(in); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + + int left = Integer.parseInt(settings.getProperty("left")); + int top = Integer.parseInt(settings.getProperty("top")); + int width = Integer.parseInt(settings.getProperty("width")); + int height = Integer.parseInt(settings.getProperty("height")); + setBounds(left, top, width, height); + + // if no title given, ask user + + String title = settings.getProperty("title"); + if (title.equals("")) title = JOptionPane.showInputDialog("Please supply a frame title:"); + if (title == null) title = ""; + setTitle(title); + + addWindowListener(new WindowAdapter() + { + public void windowClosing(WindowEvent event) + { + settings.put("left", "" + getX()); + settings.put("top", "" + getY()); + settings.put("width", "" + getWidth()); + settings.put("height", "" + getHeight()); + settings.put("title", getTitle()); + try + { + FileOutputStream out = new FileOutputStream(propertiesFile); + settings.store(out, "Program Properties"); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + System.exit(0); + } + }); + } +} diff --git a/corejava第9版/v1ch10/resource/ResourceTest.jar b/corejava第9版/v1ch10/resource/ResourceTest.jar new file mode 100644 index 0000000000000000000000000000000000000000..3dc8a56b26d5eb0ef0eb7e4b8e6d96a1247bd6df GIT binary patch literal 2847 zcmZ{m2{_c-8^?zkYmCvDv5iWhh_QvSOSrZ{W6#py&RDYzDTB&LcPy#UBno9I3JK-b za7BxKjgY0$V3IA#&YijUe`{|4=f3AT&vSmy@BNufj9c`VDF)DrPjMQ(s-Llb0EC>CBT-06guwUWK!u1ms<1b0HLJTB{ z%Z>Aszx_a^ELz5}jzWQp!~phMZff$wR#e8u1k^uI4Gi;~w@19I7%+`*KM9eSQ)h{fHN*BkW}&SqD+T`>hEz)}9fjnm0WjMcF#) z=?)kZb3_;p;0(Ee5S-IxXcqn8&3P;^dk0K%P%I$9zagp~b&hXR)y@RoJ&vN-pQu*P zI@x^ixXD>VOEvB2>-XO{8aF>Z=P|j@EKhA2I#fRoLd9F0%gf~`B0z?YNMUderLPZH zI0uLYB;acw2)8%%D=()MaKD|@O?d`WXe_G*&3}wKsI@4Qew zl_yjmK)B@d%7{CCsJ3(m)^p=+r}i!N@?GyIT*fQJqkX3)eVvjzdNqjsu2`(Z;Z@JP zgkmRC{ft`xNng}EIb_@53LKF*H(WMV;-6>}7?dgPxKMg6zkE76Ts|lR*D6fck*3PZ zDk#HE)xS;Dt!VG*0wGL$+OZj%6^>Vz%8FK$Tlbxo62I4sUc}r$UF;RWt6{x`t>pI5 zv@ZW5cm23GYF|s-J-NU+?n^%2T&0LWxwzNAlV7hkHs!7+dzn+-w{VramtTK2|3*op z_ZrQrX6Vk4?LtO^pEuGWSl_vXw=-Qy>0=h(1+~Vjs1u?N1qCM@W`d{tOK;jAeVfq4 zJ=>#le0bS>hVXQwC_9AAjm{aoJFV{bYFYn&_~BO5p}5aU&I-O-CaE-_>iD|$aA0DR zjCnWKoCl*_)XHv?i#qr6qxITpAN`Dpjb%}!#$2(&=xs-Cp|6= z5$m=aD(BWE2yHL=S|R{7bXu6@>nlCJjWnT}Wb*$Coq%te^{x~YUkhC4_s%d7I`9?! z=?|6569-jtexs&;Oq*L|B+Qgrd=rqK?asa_915oZyeg>!b@mSnSCVH6A|VmGuJT~o;5k^Gvk^DHi6)7;7O z@bA+kYjgWDn69aqKod`xQ@@UPpBVXG8$7~+)3EB0HbArl1GLpSBcO zTixMO2LD15zsP%x@4PETKAVrEnrVzT@z#9~$=TNi=jBThitrfH6eN{cx)#a6ID|q0 zP{{dsjP3Q)NoMf@DV2F5(nI_HF7KslRi znxF@gs=9Fn6w_j@xPR^_0iq!c=RE{dyyKEE)ewfg3E{N7e=tPdr^`_rsqTu`H&mgx zX3LZKGF7vTy+JS_fiYAiD52n(RcUfR{-WZD$Sf#T%<-tUG4n}pMBo(V73!@Fu2gZu zaMuGd7p`3wjio8Ag}n?incUsoou4n=TDiWlF|l|iB&58^-^0VB+pp^G-2({llj>?N z&I{}7(e+~|Jv`d$mw-Ug2#?(D&x#&ew_M6B7e757bTooF*@V3KYJ>IUcsxl}j56#Y zPAUek`<;CX>~z1q>AxD<-iHrq?zs9$tcQ5c#s*)n?YR`USqi+^aNEb~z;?%8 zPNHT`$i^I+9yMv6CzrB+X;J=0wi=# z5|`#`>TTRVSBz3|+e;lr6Qssx^D7T~wx4Dgd~KH4sjoYT)-BW0YfDwqu3hpR^L6}` zE0jj9({S7%M$RWUZ_X(XAYHahhDW;$`nT4$o#SHt$3Cv?ecru zXDK@nvB2zy=`)AlrEHkSJ_8G!*#Gz}aQb0m%;EoI)X#eMQpMteA7;ed6T6;`64)nU zRWo4Cw0S?q~ AdH?_b literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch10/resource/ResourceTest.java b/corejava第9版/v1ch10/resource/ResourceTest.java new file mode 100644 index 0000000..0297ac9 --- /dev/null +++ b/corejava第9版/v1ch10/resource/ResourceTest.java @@ -0,0 +1,52 @@ +package resource; + +import java.awt.*; +import java.io.*; +import java.net.*; +import java.util.*; +import javax.swing.*; + +/** + * @version 1.4 2007-04-30 + * @author Cay Horstmann + */ +public class ResourceTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ResourceTestFrame(); + frame.setTitle("ResourceTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A frame that loads image and text resources. + */ +class ResourceTestFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 300; + + public ResourceTestFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + URL aboutURL = getClass().getResource("about.gif"); + Image img = new ImageIcon(aboutURL).getImage(); + setIconImage(img); + + JTextArea textArea = new JTextArea(); + InputStream stream = getClass().getResourceAsStream("about.txt"); + Scanner in = new Scanner(stream); + while (in.hasNext()) + textArea.append(in.nextLine() + "\n"); + add(textArea); + } +} diff --git a/corejava第9版/v1ch10/resource/ResourceTest.mf b/corejava第9版/v1ch10/resource/ResourceTest.mf new file mode 100644 index 0000000..71689c8 --- /dev/null +++ b/corejava第9版/v1ch10/resource/ResourceTest.mf @@ -0,0 +1 @@ +Main-Class: ResourceTest diff --git a/corejava第9版/v1ch10/resource/about.gif b/corejava第9版/v1ch10/resource/about.gif new file mode 100644 index 0000000000000000000000000000000000000000..ec1c176043940c05ff6ba232e49ed7ef2539940b GIT binary patch literal 1044 zcmZvbU1$_n9K}ztQd=Z7Z9#XD5~-6kQERf5#wr`y2X%J)HCB@qX+;-(kO?v6s_2L? z7>Ez0v$EPLP1`h*Vr90VQ%l@=P}0<7r9uoc_^}RXcgsSN+Rfqze(iCRH{Bfg-^2g% zhs*Dtd)Gu(FK^jWi(1?#eCboAPnqs_x<2H~8#?w^kwup|o36o8m1&ulLL56Vu2Nb zRbZi1DisQaY&JVKHa0vwJUBRLSyo?PUox5O>FLolt+TT;9*?)Tw@0JV*4EZgC{$Nh z7YqigtE>5_*x&!NuIrPJo&Ir?=DWZ6TJYe7DxeCB{ayb@)B>|gm@#X<+;vm$p7~ni z=WliC-TPle(+|hT|2})LW@4>3Z}ZSd0@>~Vq{s7r9`i4^jpY*=FZ{yB6HPC0&Z^?CR|NY-g|3Y!L<7K_!;@6+uUpw>WtBoT^=bpZ_ z{^2*r+N~95%*XHbH(Wiq^-Av&?anXR13NwlJ_+1w+;pn`dSPVVx0^5b?y6GnUO%*S zU1sk8)jhM*#jQtHzw-V)Z9{$ANY~!oZ`^u)=lF$B-|4=c`f}N}^Gy>+H-%evugRWx q>8o=szx{Xl#?a~8g^y4EIFUbpcu~vP_j~>*j1PSH)7wq8Sosu~{17z& literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch10/resource/about.txt b/corejava第9版/v1ch10/resource/about.txt new file mode 100644 index 0000000..f94034c --- /dev/null +++ b/corejava第9版/v1ch10/resource/about.txt @@ -0,0 +1,5 @@ +Core Java: Fundamentals +9th Edition +Cay Horstmann and Gary Cornell +Copyright (C) 2012 +Sun Microsystems Press diff --git a/corejava第9版/v1ch10/systemInfo/SystemInfo.java b/corejava第9版/v1ch10/systemInfo/SystemInfo.java new file mode 100644 index 0000000..6a2a446 --- /dev/null +++ b/corejava第9版/v1ch10/systemInfo/SystemInfo.java @@ -0,0 +1,25 @@ +package systemInfo; + +import java.io.*; +import java.util.*; + +/** + * This program prints out all system properties. + * @version 1.10 2002-07-06 + * @author Cay Horstmann + */ +public class SystemInfo +{ + public static void main(String args[]) + { + try + { + Properties sysprops = System.getProperties(); + sysprops.store(System.out, "System Properties"); + } + catch (IOException e) + { + e.printStackTrace(); + } + } +} diff --git a/corejava第9版/v1ch10/webstart/Calculator.jar b/corejava第9版/v1ch10/webstart/Calculator.jar new file mode 100644 index 0000000000000000000000000000000000000000..b8e4e65443ab6c062a00f8f46ec0e4ae283fbfe1 GIT binary patch literal 7895 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 E0YGYwKmY&$ literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch10/webstart/Calculator.java b/corejava第9版/v1ch10/webstart/Calculator.java new file mode 100644 index 0000000..caec7af --- /dev/null +++ b/corejava第9版/v1ch10/webstart/Calculator.java @@ -0,0 +1,25 @@ +package webstart; + +import java.awt.*; +import javax.swing.*; + +/** + * A calculator with a calculation history that can be deployed as a Java Web Start application. + * @version 1.03 2012-05-14 + * @author Cay Horstmann + */ +public class Calculator +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + CalculatorFrame frame = new CalculatorFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch10/webstart/Calculator.jnlp b/corejava第9版/v1ch10/webstart/Calculator.jnlp new file mode 100644 index 0000000..1bb3ccb --- /dev/null +++ b/corejava第9版/v1ch10/webstart/Calculator.jnlp @@ -0,0 +1,20 @@ + + + + Calculator Demo Application + Cay S. Horstmann + Web Start Calculator + + + + + + + + + + + + + + diff --git a/corejava第9版/v1ch10/webstart/CalculatorFrame.java b/corejava第9版/v1ch10/webstart/CalculatorFrame.java new file mode 100644 index 0000000..4a0af00 --- /dev/null +++ b/corejava第9版/v1ch10/webstart/CalculatorFrame.java @@ -0,0 +1,145 @@ +package webstart; + +import java.awt.event.*; +import java.beans.*; +import java.io.*; +import java.net.*; +import javax.jnlp.*; +import javax.swing.*; + +/** + * A frame with a calculator panel and a menu to load and save the calculator history. + */ +public class CalculatorFrame extends JFrame +{ + private CalculatorPanel panel; + + public CalculatorFrame() + { + setTitle(); + panel = new CalculatorPanel(); + add(panel); + + JMenu fileMenu = new JMenu("File"); + JMenuBar menuBar = new JMenuBar(); + menuBar.add(fileMenu); + setJMenuBar(menuBar); + + JMenuItem openItem = fileMenu.add("Open"); + openItem.addActionListener(EventHandler.create(ActionListener.class, this, "open")); + JMenuItem saveItem = fileMenu.add("Save"); + saveItem.addActionListener(EventHandler.create(ActionListener.class, this, "save")); + + pack(); + } + + /** + * Gets the title from the persistent store or asks the user for the title if there is no prior + * entry. + */ + public void setTitle() + { + try + { + String title = null; + + BasicService basic = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService"); + URL codeBase = basic.getCodeBase(); + + PersistenceService service = (PersistenceService) ServiceManager + .lookup("javax.jnlp.PersistenceService"); + URL key = new URL(codeBase, "title"); + + try + { + FileContents contents = service.get(key); + InputStream in = contents.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + title = reader.readLine(); + } + catch (FileNotFoundException e) + { + title = JOptionPane.showInputDialog("Please supply a frame title:"); + if (title == null) return; + + service.create(key, 100); + FileContents contents = service.get(key); + OutputStream out = contents.getOutputStream(true); + PrintStream printOut = new PrintStream(out); + printOut.print(title); + } + setTitle(title); + } + catch (UnavailableServiceException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (MalformedURLException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + /** + * Opens a history file and updates the display. + */ + public void open() + { + try + { + FileOpenService service = (FileOpenService) ServiceManager + .lookup("javax.jnlp.FileOpenService"); + FileContents contents = service.openFileDialog(".", new String[] { "txt" }); + + JOptionPane.showMessageDialog(this, contents.getName()); + if (contents != null) + { + InputStream in = contents.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + String line; + while ((line = reader.readLine()) != null) + { + panel.append(line); + panel.append("\n"); + } + } + } + catch (UnavailableServiceException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + /** + * Saves the calculator history to a file. + */ + public void save() + { + try + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + PrintStream printOut = new PrintStream(out); + printOut.print(panel.getText()); + InputStream data = new ByteArrayInputStream(out.toByteArray()); + FileSaveService service = (FileSaveService) ServiceManager + .lookup("javax.jnlp.FileSaveService"); + service.saveFileDialog(".", new String[] { "txt" }, data, "calc.txt"); + } + catch (UnavailableServiceException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + } +} diff --git a/corejava第9版/v1ch10/webstart/CalculatorPanel.java b/corejava第9版/v1ch10/webstart/CalculatorPanel.java new file mode 100644 index 0000000..b9e462f --- /dev/null +++ b/corejava第9版/v1ch10/webstart/CalculatorPanel.java @@ -0,0 +1,168 @@ +package webstart; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.text.*; + +/** + A panel with calculator buttons and a result display. +*/ +public class CalculatorPanel extends JPanel +{ + private JTextArea display; + private JPanel panel; + private double result; + private String lastCommand; + private boolean start; + + /** + Lays out the panel. + */ + public CalculatorPanel() + { + setLayout(new BorderLayout()); + + result = 0; + lastCommand = "="; + start = true; + + // add the display + + display = new JTextArea(10, 20); + + add(new JScrollPane(display), BorderLayout.NORTH); + + ActionListener insert = new InsertAction(); + ActionListener command = new CommandAction(); + + // add the buttons in a 4 x 4 grid + + panel = new JPanel(); + panel.setLayout(new GridLayout(4, 4)); + + addButton("7", insert); + addButton("8", insert); + addButton("9", insert); + addButton("/", command); + + addButton("4", insert); + addButton("5", insert); + addButton("6", insert); + addButton("*", command); + + addButton("1", insert); + addButton("2", insert); + addButton("3", insert); + addButton("-", command); + + addButton("0", insert); + addButton(".", insert); + addButton("=", command); + addButton("+", command); + + add(panel, BorderLayout.CENTER); + } + + /** + Gets the history text. + @return the calculator history + */ + public String getText() + { + return display.getText(); + } + + /** + Appends a string to the history text. + @param s the string to append + */ + public void append(String s) + { + display.append(s); + } + + /** + Adds a button to the center panel. + @param label the button label + @param listener the button listener + */ + private void addButton(String label, ActionListener listener) + { + JButton button = new JButton(label); + button.addActionListener(listener); + panel.add(button); + } + + /** + This action inserts the button action string to the + end of the display text. + */ + private class InsertAction implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + String input = event.getActionCommand(); + start = false; + display.append(input); + } + } + + /** + This action executes the command that the button + action string denotes. + */ + private class CommandAction implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + String command = event.getActionCommand(); + + if (start) + { + if (command.equals("-")) + { + display.append(command); + start = false; + } + else + lastCommand = command; + } + else + { + try + { + int lines = display.getLineCount(); + int lineStart = display.getLineStartOffset(lines - 1); + int lineEnd = display.getLineEndOffset(lines - 1); + String value = display.getText(lineStart, lineEnd - lineStart); + display.append(" "); + display.append(command); + calculate(Double.parseDouble(value)); + if (command.equals("=")) + display.append("\n" + result); + lastCommand = command; + display.append("\n"); + start = true; + } + catch (BadLocationException e) + { + e.printStackTrace(); + } + } + } + } + + /** + Carries out the pending calculation. + @param x the value to be accumulated with the prior result. + */ + public void calculate(double x) + { + if (lastCommand.equals("+")) result += x; + else if (lastCommand.equals("-")) result -= x; + else if (lastCommand.equals("*")) result *= x; + else if (lastCommand.equals("/")) result /= x; + else if (lastCommand.equals("=")) result = x; + } +} diff --git a/corejava第9版/v1ch10/webstart/calc_icon32.png b/corejava第9版/v1ch10/webstart/calc_icon32.png new file mode 100644 index 0000000000000000000000000000000000000000..b4cdb4809af64747d02452355579adc810959f66 GIT binary patch literal 1825 zcmV++2j2LJP)yM~ZyU)G$AA5p8FKh0^`K~3kyZi}AkHnwC3nNwt9=OIz&YlUd;(*?L%u|iFW~s# zTMjW`0}JfI_687a$$C(-9P#~_;XFDAa>gWAvKPB4pfJgkG~lXhkbsGJb3Wnk7s9R=J@#7ynXxD zeEj&)bUGc=>-9{(-#3H7zzl~&GaL@hcsw?q=NaGk&15n$K@gZQ3{4b8#`k>_$FT{+ z&^&$m^a-GrZOLowTleqZ|8p3I6pKZSF+@?sWHQ0`eI}DhszDGeXc&fsVMr83L{Wq> zCXLA5yLZ3d+}!+X*_gftfU~o+bITZmF@_)rc=P5BQcASeD5Vy3d2W83$z*UG2O$K; z7*VU$woXq^555Gz%H?v!IF2#KFdB{c?(hY<^)mTP4og{RZDDB(OKEhZr(-pp)5b!_ zir5ROh3k|`C4>-D&m5=nVq>v~nkz!HR{8&mZx~CX# z>O>-IYis2%0w@-Xc`2o>)RZqm2<(i-DDViPaAsVgghI*0aPqE@v!_5HBqY zF9Rr-%Qa&RNd&ak*pAJAUVV>15PAXmLY{Gd#I0X!GVYDY<#R|Rwq@bi4y*Mw5CS2m zJW4d5&zAuKm>U7uwq3O>3){AlQc^4yaeSLzZ$jvY5F4~_5k?VV6fy}W*rAP*8Uio| z2K@mU*Fsq`H76-G#6p%79{*Q7)Ug^`LF z$Xb;&1)k?&j47~G{C*Gt*LBND=#4RSyIm@U+lY8t-=&lYBalXZs`=*nXW+%?>@=0F zRx9DaX90*>t(F3aZb#BsdPAK12?6GB+?<#`!^T3ubOBp(4NrMSAfqTB6aSr(g{n;ah>2|xU ztgPU=F5BDNL{UVe(LhQ`uh+wI9P;@*`}_NhMk6*hHc}2rDM|L!T32oakjv%rT5DTt zou)uaNvG4H)9ElCk8xd>R;z`Wm08DeXf~Tb7UNRgGX}8+|oSmI$(hw zL-zLe7CZ-%lTu;sMwCkcDwbuDkZ``;_I-b$yYYQL-85-Z6HjM#e<6y=Nw96ZG;ebO zK&e!!B>?7;9~>M|sZ@CP?j4@z(Q37DU6-SyqjW8bBF@jxIXF0=TCH+)bd+Aj^ExYZ zY0aKbfv_yAnlvJbH$n&+jRxIrm#wWWve|4}1GcudP)c!revWP1)a!M$)^xjF8jS{) zWu?tXvR}DeF3lW|f4~8)b$&D&5k=9o*_ffeef##pS>4~?Ul7|IF0-QfKI3L-;0Y2UcGw7-rgRL(82AXh14i=;pY!nl=KV~}b(8-C=PUnSx$xm_ P00000NkvXXu0mjfluKnM literal 0 HcmV?d00001 diff --git a/corejava第9版/v1ch10/webstart/calc_icon64.png b/corejava第9版/v1ch10/webstart/calc_icon64.png new file mode 100644 index 0000000000000000000000000000000000000000..fd6e439c9afa50712a72508be39d612a80e57caf GIT binary patch literal 4980 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 s = new Stack<>(); + long s1; + long s2; + + // test a stack for emptiness ntry times + System.out.println("Testing for empty stack"); + s1 = new Date().getTime(); + for (i = 0; i <= ntry; i++) + if (!s.empty()) s.pop(); + s2 = new Date().getTime(); + System.out.println((s2 - s1) + " milliseconds"); + + // pop an empty stack ntry times and catch the resulting exception + System.out.println("Catching EmptyStackException"); + s1 = new Date().getTime(); + for (i = 0; i <= ntry; i++) + { + try + { + s.pop(); + } + catch (EmptyStackException e) + { + } + } + s2 = new Date().getTime(); + System.out.println((s2 - s1) + " milliseconds"); + } +} diff --git a/corejava第9版/v1ch11/logging/LoggingImageViewer.java b/corejava第9版/v1ch11/logging/LoggingImageViewer.java new file mode 100644 index 0000000..c75db12 --- /dev/null +++ b/corejava第9版/v1ch11/logging/LoggingImageViewer.java @@ -0,0 +1,173 @@ +package logging; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.util.logging.*; +import javax.swing.*; + +/** + * A modification of the image viewer program that logs various events. + * @version 1.02 2007-05-31 + * @author Cay Horstmann + */ +public class LoggingImageViewer +{ + public static void main(String[] args) + { + if (System.getProperty("java.util.logging.config.class") == null + && System.getProperty("java.util.logging.config.file") == null) + { + try + { + Logger.getLogger("com.horstmann.corejava").setLevel(Level.ALL); + final int LOG_ROTATION_COUNT = 10; + Handler handler = new FileHandler("%h/LoggingImageViewer.log", 0, LOG_ROTATION_COUNT); + Logger.getLogger("com.horstmann.corejava").addHandler(handler); + } + catch (IOException e) + { + Logger.getLogger("com.horstmann.corejava").log(Level.SEVERE, + "Can't create log file handler", e); + } + } + + EventQueue.invokeLater(new Runnable() + { + public void run() + { + Handler windowHandler = new WindowHandler(); + windowHandler.setLevel(Level.ALL); + Logger.getLogger("com.horstmann.corejava").addHandler(windowHandler); + + JFrame frame = new ImageViewerFrame(); + frame.setTitle("LoggingImageViewer"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Logger.getLogger("com.horstmann.corejava").fine("Showing frame"); + frame.setVisible(true); + } + }); + } +} + +/** + * The frame that shows the image. + */ +class ImageViewerFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 400; + + private JLabel label; + private static Logger logger = Logger.getLogger("com.horstmann.corejava"); + + public ImageViewerFrame() + { + logger.entering("ImageViewerFrame", ""); + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // set up menu bar + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu menu = new JMenu("File"); + menuBar.add(menu); + + JMenuItem openItem = new JMenuItem("Open"); + menu.add(openItem); + openItem.addActionListener(new FileOpenListener()); + + JMenuItem exitItem = new JMenuItem("Exit"); + menu.add(exitItem); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + logger.fine("Exiting."); + System.exit(0); + } + }); + + // use a label to display the images + label = new JLabel(); + add(label); + logger.exiting("ImageViewerFrame", ""); + } + + private class FileOpenListener implements ActionListener + { + public void actionPerformed(ActionEvent event) + { + logger.entering("ImageViewerFrame.FileOpenListener", "actionPerformed", event); + + // set up file chooser + JFileChooser chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + + // accept all files ending with .gif + chooser.setFileFilter(new javax.swing.filechooser.FileFilter() + { + public boolean accept(File f) + { + return f.getName().toLowerCase().endsWith(".gif") || f.isDirectory(); + } + + public String getDescription() + { + return "GIF Images"; + } + }); + + // show file chooser dialog + int r = chooser.showOpenDialog(ImageViewerFrame.this); + + // if image file accepted, set it as icon of the label + if (r == JFileChooser.APPROVE_OPTION) + { + String name = chooser.getSelectedFile().getPath(); + logger.log(Level.FINE, "Reading file {0}", name); + label.setIcon(new ImageIcon(name)); + } + else logger.fine("File open dialog canceled."); + logger.exiting("ImageViewerFrame.FileOpenListener", "actionPerformed"); + } + } +} + +/** + * A handler for displaying log records in a window. + */ +class WindowHandler extends StreamHandler +{ + private JFrame frame; + + public WindowHandler() + { + frame = new JFrame(); + final JTextArea output = new JTextArea(); + output.setEditable(false); + frame.setSize(200, 200); + frame.add(new JScrollPane(output)); + frame.setFocusableWindowState(false); + frame.setVisible(true); + setOutputStream(new OutputStream() + { + public void write(int b) + { + } // not called + + public void write(byte[] b, int off, int len) + { + output.append(new String(b, off, len)); + } + }); + } + + public void publish(LogRecord record) + { + if (!frame.isVisible()) return; + super.publish(record); + flush(); + } +} diff --git a/corejava第9版/v1ch11/robot/ButtonFrame.java b/corejava第9版/v1ch11/robot/ButtonFrame.java new file mode 100644 index 0000000..8c609ca --- /dev/null +++ b/corejava第9版/v1ch11/robot/ButtonFrame.java @@ -0,0 +1,63 @@ +package robot; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame with a button panel + */ +public class ButtonFrame extends JFrame +{ + private JPanel buttonPanel; + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public ButtonFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // create buttons + JButton yellowButton = new JButton("Yellow"); + JButton blueButton = new JButton("Blue"); + JButton redButton = new JButton("Red"); + + buttonPanel = new JPanel(); + + // add buttons to panel + buttonPanel.add(yellowButton); + buttonPanel.add(blueButton); + buttonPanel.add(redButton); + + // add panel to frame + add(buttonPanel); + + // create button actions + ColorAction yellowAction = new ColorAction(Color.YELLOW); + ColorAction blueAction = new ColorAction(Color.BLUE); + ColorAction redAction = new ColorAction(Color.RED); + + // associate actions with buttons + yellowButton.addActionListener(yellowAction); + blueButton.addActionListener(blueAction); + redButton.addActionListener(redAction); + } + + /** + * An action listener that sets the panel's background color. + */ + private class ColorAction implements ActionListener + { + private Color backgroundColor; + + public ColorAction(Color c) + { + backgroundColor = c; + } + + public void actionPerformed(ActionEvent event) + { + buttonPanel.setBackground(backgroundColor); + } + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch11/robot/RobotTest.java b/corejava第9版/v1ch11/robot/RobotTest.java new file mode 100644 index 0000000..90a686f --- /dev/null +++ b/corejava第9版/v1ch11/robot/RobotTest.java @@ -0,0 +1,103 @@ +package robot; + +import java.awt.*; +import java.awt.event.*; +import java.awt.image.*; +import javax.swing.*; + +/** + * @version 1.04 2012-05-17 + * @author Cay Horstmann + */ +public class RobotTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + // make frame with a button panel + + ButtonFrame frame = new ButtonFrame(); + frame.setTitle("ButtonTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + + // attach a robot to the screen device + + GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice screen = environment.getDefaultScreenDevice(); + + try + { + final Robot robot = new Robot(screen); + robot.waitForIdle(); + new Thread() + { + public void run() + { + runTest(robot); + }; + }.start(); + } + catch (AWTException e) + { + e.printStackTrace(); + } + } + + /** + * Runs a sample test procedure + * @param robot the robot attached to the screen device + */ + public static void runTest(Robot robot) + { + // simulate a space bar press + robot.keyPress(' '); + robot.keyRelease(' '); + + // simulate a tab key followed by a space + robot.delay(2000); + robot.keyPress(KeyEvent.VK_TAB); + robot.keyRelease(KeyEvent.VK_TAB); + robot.keyPress(' '); + robot.keyRelease(' '); + + // simulate a mouse click over the rightmost button + robot.delay(2000); + robot.mouseMove(220, 40); + robot.mousePress(InputEvent.BUTTON1_MASK); + robot.mouseRelease(InputEvent.BUTTON1_MASK); + + // capture the screen and show the resulting image + robot.delay(2000); + BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, 400, 300)); + + ImageFrame frame = new ImageFrame(image); + frame.setVisible(true); + } +} + +/** + * A frame to display a captured image + */ +class ImageFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 450; + private static final int DEFAULT_HEIGHT = 350; + + /** + * @param image the image to display + */ + public ImageFrame(Image image) + { + setTitle("Capture"); + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + JLabel label = new JLabel(new ImageIcon(image)); + add(label); + } +} diff --git a/corejava第9版/v1ch11/stackTrace/StackTraceTest.java b/corejava第9版/v1ch11/stackTrace/StackTraceTest.java new file mode 100644 index 0000000..873ecaa --- /dev/null +++ b/corejava第9版/v1ch11/stackTrace/StackTraceTest.java @@ -0,0 +1,38 @@ +package stackTrace; + +import java.util.*; + +/** + * A program that displays a trace feature of a recursive method call. + * @version 1.01 2004-05-10 + * @author Cay Horstmann + */ +public class StackTraceTest +{ + /** + * Computes the factorial of a number + * @param n a non-negative integer + * @return n! = 1 * 2 * . . . * n + */ + public static int factorial(int n) + { + System.out.println("factorial(" + n + "):"); + Throwable t = new Throwable(); + StackTraceElement[] frames = t.getStackTrace(); + for (StackTraceElement f : frames) + System.out.println(f); + int r; + if (n <= 1) r = 1; + else r = n * factorial(n - 1); + System.out.println("return " + r); + return r; + } + + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + System.out.print("Enter n: "); + int n = in.nextInt(); + factorial(n); + } +} diff --git a/corejava第9版/v1ch12/genericReflection/GenericReflectionTest.java b/corejava第9版/v1ch12/genericReflection/GenericReflectionTest.java new file mode 100644 index 0000000..142ca35 --- /dev/null +++ b/corejava第9版/v1ch12/genericReflection/GenericReflectionTest.java @@ -0,0 +1,121 @@ +package genericReflection; + +import java.lang.reflect.*; +import java.util.*; + +/** + * @version 1.10 2007-05-15 + * @author Cay Horstmann + */ +public class GenericReflectionTest +{ + public static void main(String[] args) + { + // read class name from command line args or user input + String name; + if (args.length > 0) name = args[0]; + else + { + Scanner in = new Scanner(System.in); + System.out.println("Enter class name (e.g. java.util.Collections): "); + name = in.next(); + } + + try + { + // print generic info for class and public methods + Class cl = Class.forName(name); + printClass(cl); + for (Method m : cl.getDeclaredMethods()) + printMethod(m); + } + catch (ClassNotFoundException e) + { + e.printStackTrace(); + } + } + + public static void printClass(Class cl) + { + System.out.print(cl); + printTypes(cl.getTypeParameters(), "<", ", ", ">", true); + Type sc = cl.getGenericSuperclass(); + if (sc != null) + { + System.out.print(" extends "); + printType(sc, false); + } + printTypes(cl.getGenericInterfaces(), " implements ", ", ", "", false); + System.out.println(); + } + + public static void printMethod(Method m) + { + String name = m.getName(); + System.out.print(Modifier.toString(m.getModifiers())); + System.out.print(" "); + printTypes(m.getTypeParameters(), "<", ", ", "> ", true); + + printType(m.getGenericReturnType(), false); + System.out.print(" "); + System.out.print(name); + System.out.print("("); + printTypes(m.getGenericParameterTypes(), "", ", ", "", false); + System.out.println(")"); + } + + public static void printTypes(Type[] types, String pre, String sep, String suf, + boolean isDefinition) + { + if (pre.equals(" extends ") && Arrays.equals(types, new Type[] { Object.class })) return; + if (types.length > 0) System.out.print(pre); + for (int i = 0; i < types.length; i++) + { + if (i > 0) System.out.print(sep); + printType(types[i], isDefinition); + } + if (types.length > 0) System.out.print(suf); + } + + public static void printType(Type type, boolean isDefinition) + { + if (type instanceof Class) + { + Class t = (Class) type; + System.out.print(t.getName()); + } + else if (type instanceof TypeVariable) + { + TypeVariable t = (TypeVariable) type; + System.out.print(t.getName()); + if (isDefinition) + printTypes(t.getBounds(), " extends ", " & ", "", false); + } + else if (type instanceof WildcardType) + { + WildcardType t = (WildcardType) type; + System.out.print("?"); + printTypes(t.getUpperBounds(), " extends ", " & ", "", false); + printTypes(t.getLowerBounds(), " super ", " & ", "", false); + } + else if (type instanceof ParameterizedType) + { + ParameterizedType t = (ParameterizedType) type; + Type owner = t.getOwnerType(); + if (owner != null) + { + printType(owner, false); + System.out.print("."); + } + printType(t.getRawType(), false); + printTypes(t.getActualTypeArguments(), "<", ", ", ">", false); + } + else if (type instanceof GenericArrayType) + { + GenericArrayType t = (GenericArrayType) type; + System.out.print(""); + printType(t.getGenericComponentType(), isDefinition); + System.out.print("[]"); + } + } +} diff --git a/corejava第9版/v1ch12/pair1/Pair.java b/corejava第9版/v1ch12/pair1/Pair.java new file mode 100644 index 0000000..c7c5ce3 --- /dev/null +++ b/corejava第9版/v1ch12/pair1/Pair.java @@ -0,0 +1,20 @@ +package pair1; + +/** + * @version 1.00 2004-05-10 + * @author Cay Horstmann + */ +public class Pair +{ + private T first; + private T second; + + public Pair() { first = null; second = null; } + public Pair(T first, T second) { this.first = first; this.second = second; } + + public T getFirst() { return first; } + public T getSecond() { return second; } + + public void setFirst(T newValue) { first = newValue; } + public void setSecond(T newValue) { second = newValue; } +} diff --git a/corejava第9版/v1ch12/pair1/PairTest1.java b/corejava第9版/v1ch12/pair1/PairTest1.java new file mode 100644 index 0000000..c43d9ea --- /dev/null +++ b/corejava第9版/v1ch12/pair1/PairTest1.java @@ -0,0 +1,37 @@ +package pair1; + +/** + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class PairTest1 +{ + public static void main(String[] args) + { + String[] words = { "Mary", "had", "a", "little", "lamb" }; + Pair mm = ArrayAlg.minmax(words); + System.out.println("min = " + mm.getFirst()); + System.out.println("max = " + mm.getSecond()); + } +} + +class ArrayAlg +{ + /** + * Gets the minimum and maximum of an array of strings. + * @param a an array of strings + * @return a pair with the min and max value, or null if a is null or empty + */ + public static Pair minmax(String[] a) + { + if (a == null || a.length == 0) return null; + String min = a[0]; + String max = a[0]; + for (int i = 1; i < a.length; i++) + { + if (min.compareTo(a[i]) > 0) min = a[i]; + if (max.compareTo(a[i]) < 0) max = a[i]; + } + return new Pair<>(min, max); + } +} diff --git a/corejava第9版/v1ch12/pair2/Pair.java b/corejava第9版/v1ch12/pair2/Pair.java new file mode 100644 index 0000000..b7f6387 --- /dev/null +++ b/corejava第9版/v1ch12/pair2/Pair.java @@ -0,0 +1,20 @@ +package pair2; + +/** + * @version 1.00 2004-05-10 + * @author Cay Horstmann + */ +public class Pair +{ + private T first; + private T second; + + public Pair() { first = null; second = null; } + public Pair(T first, T second) { this.first = first; this.second = second; } + + public T getFirst() { return first; } + public T getSecond() { return second; } + + public void setFirst(T newValue) { first = newValue; } + public void setSecond(T newValue) { second = newValue; } +} diff --git a/corejava第9版/v1ch12/pair2/PairTest2.java b/corejava第9版/v1ch12/pair2/PairTest2.java new file mode 100644 index 0000000..8c68cdc --- /dev/null +++ b/corejava第9版/v1ch12/pair2/PairTest2.java @@ -0,0 +1,46 @@ +package pair2; + +import java.util.*; + +/** + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class PairTest2 +{ + public static void main(String[] args) + { + GregorianCalendar[] birthdays = + { + new GregorianCalendar(1906, Calendar.DECEMBER, 9), // G. Hopper + new GregorianCalendar(1815, Calendar.DECEMBER, 10), // A. Lovelace + new GregorianCalendar(1903, Calendar.DECEMBER, 3), // J. von Neumann + new GregorianCalendar(1910, Calendar.JUNE, 22), // K. Zuse + }; + Pair mm = ArrayAlg.minmax(birthdays); + System.out.println("min = " + mm.getFirst().getTime()); + System.out.println("max = " + mm.getSecond().getTime()); + } +} + +class ArrayAlg +{ + /** + Gets the minimum and maximum of an array of objects of type T. + @param a an array of objects of type T + @return a pair with the min and max value, or null if a is + null or empty + */ + public static Pair minmax(T[] a) + { + if (a == null || a.length == 0) return null; + T min = a[0]; + T max = a[0]; + for (int i = 1; i < a.length; i++) + { + if (min.compareTo(a[i]) > 0) min = a[i]; + if (max.compareTo(a[i]) < 0) max = a[i]; + } + return new Pair<>(min, max); + } +} diff --git a/corejava第9版/v1ch12/pair3/Employee.java b/corejava第9版/v1ch12/pair3/Employee.java new file mode 100644 index 0000000..2bec38a --- /dev/null +++ b/corejava第9版/v1ch12/pair3/Employee.java @@ -0,0 +1,40 @@ +package pair3; + +import java.util.*; + +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} + diff --git a/corejava第9版/v1ch12/pair3/Manager.java b/corejava第9版/v1ch12/pair3/Manager.java new file mode 100644 index 0000000..7043ed6 --- /dev/null +++ b/corejava第9版/v1ch12/pair3/Manager.java @@ -0,0 +1,35 @@ +package pair3; + +public class Manager extends Employee +{ + private double bonus; + + /** + @param n the employee's name + @param s the salary + @param year the hire year + @param month the hire month + @param day the hire day + */ + public Manager(String n, double s, int year, int month, int day) + { + super(n, s, year, month, day); + bonus = 0; + } + + public double getSalary() + { + double baseSalary = super.getSalary(); + return baseSalary + bonus; + } + + public void setBonus(double b) + { + bonus = b; + } + + public double getBonus() + { + return bonus; + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch12/pair3/Pair.java b/corejava第9版/v1ch12/pair3/Pair.java new file mode 100644 index 0000000..e69599a --- /dev/null +++ b/corejava第9版/v1ch12/pair3/Pair.java @@ -0,0 +1,20 @@ +package pair3; + +/** + * @version 1.00 2004-05-10 + * @author Cay Horstmann + */ +public class Pair +{ + private T first; + private T second; + + public Pair() { first = null; second = null; } + public Pair(T first, T second) { this.first = first; this.second = second; } + + public T getFirst() { return first; } + public T getSecond() { return second; } + + public void setFirst(T newValue) { first = newValue; } + public void setSecond(T newValue) { second = newValue; } +} diff --git a/corejava第9版/v1ch12/pair3/PairTest3.java b/corejava第9版/v1ch12/pair3/PairTest3.java new file mode 100644 index 0000000..a23d12b --- /dev/null +++ b/corejava第9版/v1ch12/pair3/PairTest3.java @@ -0,0 +1,74 @@ +package pair3; + +/** + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class PairTest3 +{ + public static void main(String[] args) + { + Manager ceo = new Manager("Gus Greedy", 800000, 2003, 12, 15); + Manager cfo = new Manager("Sid Sneaky", 600000, 2003, 12, 15); + Pair buddies = new Pair<>(ceo, cfo); + printBuddies(buddies); + + ceo.setBonus(1000000); + cfo.setBonus(500000); + Manager[] managers = { ceo, cfo }; + + Pair result = new Pair<>(); + minmaxBonus(managers, result); + System.out.println("first: " + result.getFirst().getName() + + ", second: " + result.getSecond().getName()); + maxminBonus(managers, result); + System.out.println("first: " + result.getFirst().getName() + + ", second: " + result.getSecond().getName()); + } + + public static void printBuddies(Pair p) + { + Employee first = p.getFirst(); + Employee second = p.getSecond(); + System.out.println(first.getName() + " and " + second.getName() + " are buddies."); + } + + public static void minmaxBonus(Manager[] a, Pair result) + { + if (a == null || a.length == 0) return; + Manager min = a[0]; + Manager max = a[0]; + for (int i = 1; i < a.length; i++) + { + if (min.getBonus() > a[i].getBonus()) min = a[i]; + if (max.getBonus() < a[i].getBonus()) max = a[i]; + } + result.setFirst(min); + result.setSecond(max); + } + + public static void maxminBonus(Manager[] a, Pair result) + { + minmaxBonus(a, result); + PairAlg.swapHelper(result); // OK--swapHelper captures wildcard type + } +} + +class PairAlg +{ + public static boolean hasNulls(Pair p) + { + return p.getFirst() == null || p.getSecond() == null; + } + + public static void swap(Pair p) { swapHelper(p); } + + public static void swapHelper(Pair p) + { + T t = p.getFirst(); + p.setFirst(p.getSecond()); + p.setSecond(t); + } +} + + diff --git a/corejava第9版/v1ch13/circularArrayQueue/CircularArrayQueueTest.java b/corejava第9版/v1ch13/circularArrayQueue/CircularArrayQueueTest.java new file mode 100644 index 0000000..53e353a --- /dev/null +++ b/corejava第9版/v1ch13/circularArrayQueue/CircularArrayQueueTest.java @@ -0,0 +1,124 @@ +package circularArrayQueue; + +import java.util.*; + +/** + * This program demonstrates how to extend the collections framework. + * @version 1.21 2012-01-26 + * @author Cay Horstmann + */ +public class CircularArrayQueueTest +{ + public static void main(String[] args) + { + Queue q = new CircularArrayQueue<>(5); + q.add("Amy"); + q.add("Bob"); + q.add("Carl"); + q.add("Deedee"); + q.add("Emile"); + q.remove(); + q.add("Fifi"); + q.remove(); + for (String s : q) System.out.println(s); + } +} + +/** + A first-in, first-out bounded collection. +*/ +class CircularArrayQueue extends AbstractQueue +{ + private Object[] elements; + private int head; + private int tail; + private int count; + private int modcount; + + /** + Constructs an empty queue. + @param capacity the maximum capacity of the queue + */ + public CircularArrayQueue(int capacity) + { + elements = new Object[capacity]; + count = 0; + head = 0; + tail = 0; + } + + public boolean offer(E newElement) + { + assert newElement != null; + if (count < elements.length) + { + elements[tail] = newElement; + tail = (tail + 1) % elements.length; + count++; + modcount++; + return true; + } + else + return false; + } + + public E poll() + { + if (count == 0) return null; + E r = peek(); + head = (head + 1) % elements.length; + count--; + modcount++; + return r; + } + + @SuppressWarnings("unchecked") + public E peek() + { + if (count == 0) return null; + return (E) elements[head]; + } + + public int size() + { + return count; + } + + public Iterator iterator() + { + return new QueueIterator(); + + } + + private class QueueIterator implements Iterator + { + private int offset; + private int modcountAtConstruction; + + public QueueIterator() + { + modcountAtConstruction = modcount; + } + + @SuppressWarnings("unchecked") + public E next() + { + if (!hasNext()) throw new NoSuchElementException(); + E r = (E) elements[(head + offset) % elements.length]; + offset++; + return r; + } + + public boolean hasNext() + { + if (modcount != modcountAtConstruction) + throw new ConcurrentModificationException(); + return offset < count; + } + + public void remove() + { + throw new UnsupportedOperationException(); + } + } +} diff --git a/corejava第9版/v1ch13/linkedList/LinkedListTest.java b/corejava第9版/v1ch13/linkedList/LinkedListTest.java new file mode 100644 index 0000000..9895a01 --- /dev/null +++ b/corejava第9版/v1ch13/linkedList/LinkedListTest.java @@ -0,0 +1,59 @@ +package linkedList; + +import java.util.*; + +/** + * This program demonstrates operations on linked lists. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +public class LinkedListTest +{ + public static void main(String[] args) + { + List a = new LinkedList<>(); + a.add("Amy"); + a.add("Carl"); + a.add("Erica"); + + List b = new LinkedList<>(); + b.add("Bob"); + b.add("Doug"); + b.add("Frances"); + b.add("Gloria"); + + // merge the words from b into a + + ListIterator aIter = a.listIterator(); + Iterator bIter = b.iterator(); + + while (bIter.hasNext()) + { + if (aIter.hasNext()) aIter.next(); + aIter.add(bIter.next()); + } + + System.out.println(a); + + // remove every second word from b + + bIter = b.iterator(); + while (bIter.hasNext()) + { + bIter.next(); // skip one element + if (bIter.hasNext()) + { + bIter.next(); // skip next element + bIter.remove(); // remove that element + } + } + + System.out.println(b); + + // bulk operation: remove all words in b from a + + a.removeAll(b); + + System.out.println(a); + } +} diff --git a/corejava第9版/v1ch13/map/Employee.java b/corejava第9版/v1ch13/map/Employee.java new file mode 100644 index 0000000..837afd4 --- /dev/null +++ b/corejava第9版/v1ch13/map/Employee.java @@ -0,0 +1,25 @@ +package map; + +/** + * A minimalist employee class for testing purposes. + */ +public class Employee +{ + private String name; + private double salary; + + /** + * Constructs an employee with $0 salary. + * @param n the employee name + */ + public Employee(String n) + { + name = n; + salary = 0; + } + + public String toString() + { + return "[name=" + name + ", salary=" + salary + "]"; + } +} diff --git a/corejava第9版/v1ch13/map/MapTest.java b/corejava第9版/v1ch13/map/MapTest.java new file mode 100644 index 0000000..f14e09b --- /dev/null +++ b/corejava第9版/v1ch13/map/MapTest.java @@ -0,0 +1,46 @@ +package map; + +import java.util.*; + +/** + * This program demonstrates the use of a map with key type String and value type Employee. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +public class MapTest +{ + public static void main(String[] args) + { + Map staff = new HashMap<>(); + staff.put("144-25-5464", new Employee("Amy Lee")); + staff.put("567-24-2546", new Employee("Harry Hacker")); + staff.put("157-62-7935", new Employee("Gary Cooper")); + staff.put("456-62-5527", new Employee("Francesca Cruz")); + + // print all entries + + System.out.println(staff); + + // remove an entry + + staff.remove("567-24-2546"); + + // replace an entry + + staff.put("456-62-5527", new Employee("Francesca Miller")); + + // look up a value + + System.out.println(staff.get("157-62-7935")); + + // iterate through all entries + + for (Map.Entry entry : staff.entrySet()) + { + String key = entry.getKey(); + Employee value = entry.getValue(); + System.out.println("key=" + key + ", value=" + value); + } + } +} + diff --git a/corejava第9版/v1ch13/priorityQueue/PriorityQueueTest.java b/corejava第9版/v1ch13/priorityQueue/PriorityQueueTest.java new file mode 100644 index 0000000..60c8c0b --- /dev/null +++ b/corejava第9版/v1ch13/priorityQueue/PriorityQueueTest.java @@ -0,0 +1,27 @@ +package priorityQueue; + +import java.util.*; + +/** + * This program demonstrates the use of a priority queue. + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class PriorityQueueTest +{ + public static void main(String[] args) + { + PriorityQueue pq = new PriorityQueue<>(); + pq.add(new GregorianCalendar(1906, Calendar.DECEMBER, 9)); // G. Hopper + pq.add(new GregorianCalendar(1815, Calendar.DECEMBER, 10)); // A. Lovelace + pq.add(new GregorianCalendar(1903, Calendar.DECEMBER, 3)); // J. von Neumann + pq.add(new GregorianCalendar(1910, Calendar.JUNE, 22)); // K. Zuse + + System.out.println("Iterating over elements..."); + for (GregorianCalendar date : pq) + System.out.println(date.get(Calendar.YEAR)); + System.out.println("Removing elements..."); + while (!pq.isEmpty()) + System.out.println(pq.remove().get(Calendar.YEAR)); + } +} diff --git a/corejava第9版/v1ch13/set/SetTest.java b/corejava第9版/v1ch13/set/SetTest.java new file mode 100644 index 0000000..962dbf1 --- /dev/null +++ b/corejava第9版/v1ch13/set/SetTest.java @@ -0,0 +1,33 @@ +package set; + +import java.util.*; + +/** + * This program uses a set to print all unique words in System.in. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +public class SetTest +{ + public static void main(String[] args) + { + Set words = new HashSet<>(); // HashSet implements Set + long totalTime = 0; + + Scanner in = new Scanner(System.in); + while (in.hasNext()) + { + String word = in.next(); + long callTime = System.currentTimeMillis(); + words.add(word); + callTime = System.currentTimeMillis() - callTime; + totalTime += callTime; + } + + Iterator iter = words.iterator(); + for (int i = 1; i <= 20 && iter.hasNext(); i++) + System.out.println(iter.next()); + System.out.println(". . ."); + System.out.println(words.size() + " distinct words. " + totalTime + " milliseconds."); + } +} diff --git a/corejava第9版/v1ch13/shuffle/ShuffleTest.java b/corejava第9版/v1ch13/shuffle/ShuffleTest.java new file mode 100644 index 0000000..d83580d --- /dev/null +++ b/corejava第9版/v1ch13/shuffle/ShuffleTest.java @@ -0,0 +1,22 @@ +package shuffle; + +import java.util.*; + +/** + * This program demonstrates the random shuffle and sort algorithms. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +public class ShuffleTest +{ + public static void main(String[] args) + { + List numbers = new ArrayList<>(); + for (int i = 1; i <= 49; i++) + numbers.add(i); + Collections.shuffle(numbers); + List winningCombination = numbers.subList(0, 6); + Collections.sort(winningCombination); + System.out.println(winningCombination); + } +} diff --git a/corejava第9版/v1ch13/sieve/Sieve.java b/corejava第9版/v1ch13/sieve/Sieve.java new file mode 100644 index 0000000..75a1634 --- /dev/null +++ b/corejava第9版/v1ch13/sieve/Sieve.java @@ -0,0 +1,45 @@ +package sieve; + +import java.util.*; + +/** + * This program runs the Sieve of Erathostenes benchmark. It computes all primes up to 2,000,000. + * @version 1.21 2004-08-03 + * @author Cay Horstmann + */ +public class Sieve +{ + public static void main(String[] s) + { + int n = 2000000; + long start = System.currentTimeMillis(); + BitSet b = new BitSet(n + 1); + int count = 0; + int i; + for (i = 2; i <= n; i++) + b.set(i); + i = 2; + while (i * i <= n) + { + if (b.get(i)) + { + count++; + int k = 2 * i; + while (k <= n) + { + b.clear(k); + k += i; + } + } + i++; + } + while (i <= n) + { + if (b.get(i)) count++; + i++; + } + long end = System.currentTimeMillis(); + System.out.println(count + " primes"); + System.out.println((end - start) + " milliseconds"); + } +} diff --git a/corejava第9版/v1ch13/sieve/sieve.cpp b/corejava第9版/v1ch13/sieve/sieve.cpp new file mode 100644 index 0000000..63029ab --- /dev/null +++ b/corejava第9版/v1ch13/sieve/sieve.cpp @@ -0,0 +1,50 @@ +/** + @version 1.21 2004-08-03 + @author Cay Horstmann +*/ + +#include +#include +#include + +using namespace std; + +int main() +{ + const int N = 2000000; + clock_t cstart = clock(); + + bitset b; + int count = 0; + int i; + for (i = 2; i <= N; i++) + b.set(i); + i = 2; + while (i * i <= N) + { + if (b.test(i)) + { + count++; + int k = 2 * i; + while (k <= N) + { + b.reset(k); + k += i; + } + } + i++; + } + while (i <= N) + { + if (b.test(i)) + count++; + i++; + } + + clock_t cend = clock(); + double millis = 1000.0 * (cend - cstart) / CLOCKS_PER_SEC; + + cout << count << " primes\n" << millis << " milliseconds\n"; + + return 0; +} diff --git a/corejava第9版/v1ch13/treeSet/Item.java b/corejava第9版/v1ch13/treeSet/Item.java new file mode 100644 index 0000000..45e89b6 --- /dev/null +++ b/corejava第9版/v1ch13/treeSet/Item.java @@ -0,0 +1,61 @@ +package treeSet; + +import java.util.*; + +/** + * An item with a description and a part number. + */ +public class Item implements Comparable +{ + private String description; + private int partNumber; + + /** + * Constructs an item. + * + * @param aDescription + * the item's description + * @param aPartNumber + * the item's part number + */ + public Item(String aDescription, int aPartNumber) + { + description = aDescription; + partNumber = aPartNumber; + } + + /** + * Gets the description of this item. + * + * @return the description + */ + public String getDescription() + { + return description; + } + + public String toString() + { + + return "[descripion=" + description + ", partNumber=" + partNumber + "]"; + } + + public boolean equals(Object otherObject) + { + if (this == otherObject) return true; + if (otherObject == null) return false; + if (getClass() != otherObject.getClass()) return false; + Item other = (Item) otherObject; + return Objects.equals(description, other.description) && partNumber == other.partNumber; + } + + public int hashCode() + { + return Objects.hash(description, partNumber); + } + + public int compareTo(Item other) + { + return Integer.compare(partNumber, other.partNumber); + } +} diff --git a/corejava第9版/v1ch13/treeSet/TreeSetTest.java b/corejava第9版/v1ch13/treeSet/TreeSetTest.java new file mode 100644 index 0000000..0cc5bf2 --- /dev/null +++ b/corejava第9版/v1ch13/treeSet/TreeSetTest.java @@ -0,0 +1,38 @@ +package treeSet; + +/** + @version 1.12 2012-01-26 + @author Cay Horstmann +*/ + +import java.util.*; + +/** + This program sorts a set of item by comparing + their descriptions. +*/ +public class TreeSetTest +{ + public static void main(String[] args) + { + SortedSet parts = new TreeSet<>(); + parts.add(new Item("Toaster", 1234)); + parts.add(new Item("Widget", 4562)); + parts.add(new Item("Modem", 9912)); + System.out.println(parts); + + SortedSet sortByDescription = new TreeSet<>(new + Comparator() + { + public int compare(Item a, Item b) + { + String descrA = a.getDescription(); + String descrB = b.getDescription(); + return descrA.compareTo(descrB); + } + }); + + sortByDescription.addAll(parts); + System.out.println(sortByDescription); + } +} \ No newline at end of file diff --git a/corejava第9版/v1ch14/blockingQueue/BlockingQueueTest.java b/corejava第9版/v1ch14/blockingQueue/BlockingQueueTest.java new file mode 100644 index 0000000..bd9f9a8 --- /dev/null +++ b/corejava第9版/v1ch14/blockingQueue/BlockingQueueTest.java @@ -0,0 +1,142 @@ +package blockingQueue; + +import java.io.*; +import java.util.*; +import java.util.concurrent.*; + +/** + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class BlockingQueueTest +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + System.out.print("Enter base directory (e.g. /usr/local/jdk1.6.0/src): "); + String directory = in.nextLine(); + System.out.print("Enter keyword (e.g. volatile): "); + String keyword = in.nextLine(); + + final int FILE_QUEUE_SIZE = 10; + final int SEARCH_THREADS = 100; + + BlockingQueue queue = new ArrayBlockingQueue<>(FILE_QUEUE_SIZE); + + FileEnumerationTask enumerator = new FileEnumerationTask(queue, new File(directory)); + new Thread(enumerator).start(); + for (int i = 1; i <= SEARCH_THREADS; i++) + new Thread(new SearchTask(queue, keyword)).start(); + } +} + +/** + * This task enumerates all files in a directory and its subdirectories. + */ +class FileEnumerationTask implements Runnable +{ + public static File DUMMY = new File(""); + private BlockingQueue queue; + private File startingDirectory; + + /** + * Constructs a FileEnumerationTask. + * @param queue the blocking queue to which the enumerated files are added + * @param startingDirectory the directory in which to start the enumeration + */ + public FileEnumerationTask(BlockingQueue queue, File startingDirectory) + { + this.queue = queue; + this.startingDirectory = startingDirectory; + } + + public void run() + { + try + { + enumerate(startingDirectory); + queue.put(DUMMY); + } + catch (InterruptedException e) + { + } + } + + /** + * Recursively enumerates all files in a given directory and its subdirectories. + * @param directory the directory in which to start + */ + public void enumerate(File directory) throws InterruptedException + { + File[] files = directory.listFiles(); + for (File file : files) + { + if (file.isDirectory()) enumerate(file); + else queue.put(file); + } + } +} + +/** + * This task searches files for a given keyword. + */ +class SearchTask implements Runnable +{ + private BlockingQueue queue; + private String keyword; + + /** + * Constructs a SearchTask. + * @param queue the queue from which to take files + * @param keyword the keyword to look for + */ + public SearchTask(BlockingQueue queue, String keyword) + { + this.queue = queue; + this.keyword = keyword; + } + + public void run() + { + try + { + boolean done = false; + while (!done) + { + File file = queue.take(); + if (file == FileEnumerationTask.DUMMY) + { + queue.put(file); + done = true; + } + else search(file); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + catch (InterruptedException e) + { + } + } + + /** + * Searches a file for a given keyword and prints all matching lines. + * @param file the file to search + */ + public void search(File file) throws IOException + { + try (Scanner in = new Scanner(file)) + { + int lineNumber = 0; + while (in.hasNextLine()) + { + lineNumber++; + String line = in.nextLine(); + if (line.contains(keyword)) + System.out.printf("%s:%d:%s%n", file.getPath(), lineNumber, line); + } + } + } +} diff --git a/corejava第9版/v1ch14/bounce/Ball.java b/corejava第9版/v1ch14/bounce/Ball.java new file mode 100644 index 0000000..1a7c987 --- /dev/null +++ b/corejava第9版/v1ch14/bounce/Ball.java @@ -0,0 +1,55 @@ +package bounce; + +import java.awt.geom.*; + +/** + * A ball that moves and bounces off the edges of a rectangle + * @version 1.33 2007-05-17 + * @author Cay Horstmann + */ +public class Ball +{ + private static final int XSIZE = 15; + private static final int YSIZE = 15; + private double x = 0; + private double y = 0; + private double dx = 1; + private double dy = 1; + + /** + * Moves the ball to the next position, reversing direction if it hits one of the edges + */ + public void move(Rectangle2D bounds) + { + x += dx; + y += dy; + if (x < bounds.getMinX()) + { + x = bounds.getMinX(); + dx = -dx; + } + if (x + XSIZE >= bounds.getMaxX()) + { + x = bounds.getMaxX() - XSIZE; + dx = -dx; + } + if (y < bounds.getMinY()) + { + y = bounds.getMinY(); + dy = -dy; + } + if (y + YSIZE >= bounds.getMaxY()) + { + y = bounds.getMaxY() - YSIZE; + dy = -dy; + } + } + + /** + * Gets the shape of the ball at its current position. + */ + public Ellipse2D getShape() + { + return new Ellipse2D.Double(x, y, XSIZE, YSIZE); + } +} diff --git a/corejava第9版/v1ch14/bounce/BallComponent.java b/corejava第9版/v1ch14/bounce/BallComponent.java new file mode 100644 index 0000000..0ebf36e --- /dev/null +++ b/corejava第9版/v1ch14/bounce/BallComponent.java @@ -0,0 +1,39 @@ +package bounce; + +import java.awt.*; +import java.util.*; +import javax.swing.*; + +/** + * The component that draws the balls. + * @version 1.34 2012-01-26 + * @author Cay Horstmann + */ +public class BallComponent extends JPanel +{ + private static final int DEFAULT_WIDTH = 450; + private static final int DEFAULT_HEIGHT = 350; + + private java.util.List balls = new ArrayList<>(); + + /** + * Add a ball to the component. + * @param b the ball to add + */ + public void add(Ball b) + { + balls.add(b); + } + + public void paintComponent(Graphics g) + { + super.paintComponent(g); // erase background + Graphics2D g2 = (Graphics2D) g; + for (Ball b : balls) + { + g2.fill(b.getShape()); + } + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch14/bounce/Bounce.java b/corejava第9版/v1ch14/bounce/Bounce.java new file mode 100644 index 0000000..731d0a8 --- /dev/null +++ b/corejava第9版/v1ch14/bounce/Bounce.java @@ -0,0 +1,101 @@ +package bounce; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * Shows an animated bouncing ball. + * @version 1.33 2007-05-17 + * @author Cay Horstmann + */ +public class Bounce +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new BounceFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * The frame with ball component and buttons. + */ +class BounceFrame extends JFrame +{ + private BallComponent comp; + public static final int STEPS = 1000; + public static final int DELAY = 3; + + /** + * Constructs the frame with the component for showing the bouncing ball and Start and Close + * buttons + */ + public BounceFrame() + { + setTitle("Bounce"); + + comp = new BallComponent(); + add(comp, BorderLayout.CENTER); + JPanel buttonPanel = new JPanel(); + addButton(buttonPanel, "Start", new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + addBall(); + } + }); + + addButton(buttonPanel, "Close", new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + add(buttonPanel, BorderLayout.SOUTH); + pack(); + } + + /** + * Adds a button to a container. + * @param c the container + * @param title the button title + * @param listener the action listener for the button + */ + public void addButton(Container c, String title, ActionListener listener) + { + JButton button = new JButton(title); + c.add(button); + button.addActionListener(listener); + } + + /** + * Adds a bouncing ball to the panel and makes it bounce 1,000 times. + */ + public void addBall() + { + try + { + Ball ball = new Ball(); + comp.add(ball); + + for (int i = 1; i <= STEPS; i++) + { + ball.move(comp.getBounds()); + comp.paint(comp.getGraphics()); + Thread.sleep(DELAY); + } + } + catch (InterruptedException e) + { + } + } +} diff --git a/corejava第9版/v1ch14/bounceThread/Ball.java b/corejava第9版/v1ch14/bounceThread/Ball.java new file mode 100644 index 0000000..d1545fc --- /dev/null +++ b/corejava第9版/v1ch14/bounceThread/Ball.java @@ -0,0 +1,57 @@ +package bounceThread; + +import java.awt.geom.*; + +/** + A ball that moves and bounces off the edges of a + rectangle + * @version 1.33 2007-05-17 + * @author Cay Horstmann +*/ +public class Ball +{ + private static final int XSIZE = 15; + private static final int YSIZE = 15; + private double x = 0; + private double y = 0; + private double dx = 1; + private double dy = 1; + + /** + Moves the ball to the next position, reversing direction + if it hits one of the edges + */ + public void move(Rectangle2D bounds) + { + x += dx; + y += dy; + if (x < bounds.getMinX()) + { + x = bounds.getMinX(); + dx = -dx; + } + if (x + XSIZE >= bounds.getMaxX()) + { + x = bounds.getMaxX() - XSIZE; + dx = -dx; + } + if (y < bounds.getMinY()) + { + y = bounds.getMinY(); + dy = -dy; + } + if (y + YSIZE >= bounds.getMaxY()) + { + y = bounds.getMaxY() - YSIZE; + dy = -dy; + } + } + + /** + Gets the shape of the ball at its current position. + */ + public Ellipse2D getShape() + { + return new Ellipse2D.Double(x, y, XSIZE, YSIZE); + } +} diff --git a/corejava第9版/v1ch14/bounceThread/BallComponent.java b/corejava第9版/v1ch14/bounceThread/BallComponent.java new file mode 100644 index 0000000..6643b1a --- /dev/null +++ b/corejava第9版/v1ch14/bounceThread/BallComponent.java @@ -0,0 +1,38 @@ +package bounceThread; + +import java.awt.*; +import java.util.*; +import javax.swing.*; + +/** + * The component that draws the balls. + * @version 1.34 2012-01-26 + * @author Cay Horstmann + */ +public class BallComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 450; + private static final int DEFAULT_HEIGHT = 350; + + private java.util.List balls = new ArrayList<>(); + + /** + * Add a ball to the panel. + * @param b the ball to add + */ + public void add(Ball b) + { + balls.add(b); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + for (Ball b : balls) + { + g2.fill(b.getShape()); + } + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v1ch14/bounceThread/BounceThread.java b/corejava第9版/v1ch14/bounceThread/BounceThread.java new file mode 100644 index 0000000..140e9f6 --- /dev/null +++ b/corejava第9版/v1ch14/bounceThread/BounceThread.java @@ -0,0 +1,127 @@ +package bounceThread; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * Shows animated bouncing balls. + * @version 1.33 2007-05-17 + * @author Cay Horstmann + */ +public class BounceThread +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new BounceFrame(); + frame.setTitle("BounceThread"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * A runnable that animates a bouncing ball. + */ +class BallRunnable implements Runnable +{ + private Ball ball; + private Component component; + public static final int STEPS = 1000; + public static final int DELAY = 5; + + /** + * Constructs the runnable. + * @param aBall the ball to bounce + * @param aComponent the component in which the ball bounces + */ + public BallRunnable(Ball aBall, Component aComponent) + { + ball = aBall; + component = aComponent; + } + + public void run() + { + try + { + for (int i = 1; i <= STEPS; i++) + { + ball.move(component.getBounds()); + component.repaint(); + Thread.sleep(DELAY); + } + } + catch (InterruptedException e) + { + } + } + +} + +/** + * The frame with panel and buttons. + */ +class BounceFrame extends JFrame +{ + private BallComponent comp; + + /** + * Constructs the frame with the component for showing the bouncing ball and Start and Close + * buttons + */ + public BounceFrame() + { + comp = new BallComponent(); + add(comp, BorderLayout.CENTER); + JPanel buttonPanel = new JPanel(); + addButton(buttonPanel, "Start", new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + addBall(); + } + }); + + addButton(buttonPanel, "Close", new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + add(buttonPanel, BorderLayout.SOUTH); + pack(); + } + + /** + * Adds a button to a container. + * @param c the container + * @param title the button title + * @param listener the action listener for the button + */ + public void addButton(Container c, String title, ActionListener listener) + { + JButton button = new JButton(title); + c.add(button); + button.addActionListener(listener); + } + + /** + * Adds a bouncing ball to the canvas and starts a thread to make it bounce + */ + public void addBall() + { + Ball b = new Ball(); + comp.add(b); + Runnable r = new BallRunnable(b, comp); + Thread t = new Thread(r); + t.start(); + } +} diff --git a/corejava第9版/v1ch14/forkJoin/ForkJoinTest.java b/corejava第9版/v1ch14/forkJoin/ForkJoinTest.java new file mode 100644 index 0000000..675b56a --- /dev/null +++ b/corejava第9版/v1ch14/forkJoin/ForkJoinTest.java @@ -0,0 +1,69 @@ +package forkJoin; + +import java.util.concurrent.*; + +/** + * This program demonstrates the fork-join framework. + * @version 1.00 2012-05-20 + * @author Cay Horstmann + */ +public class ForkJoinTest +{ + public static void main(String[] args) + { + final int SIZE = 10000000; + double[] numbers = new double[SIZE]; + for (int i = 0; i < SIZE; i++) numbers[i] = Math.random(); + Counter counter = new Counter(numbers, 0, numbers.length, + new Filter() + { + public boolean accept(double x) { return x > 0.5; } + }); + ForkJoinPool pool = new ForkJoinPool(); + pool.invoke(counter); + System.out.println(counter.join()); + } +} + +interface Filter +{ + boolean accept(double t); +} + +class Counter extends RecursiveTask +{ + public static final int THRESHOLD = 1000; + private double[] values; + private int from; + private int to; + private Filter filter; + + public Counter(double[] values, int from, int to, Filter filter) + { + this.values = values; + this.from = from; + this.to = to; + this.filter = filter; + } + + protected Integer compute() + { + if (to - from < THRESHOLD) + { + int count = 0; + for (int i = from; i < to; i++) + { + if (filter.accept(values[i])) count++; + } + return count; + } + else + { + int mid = (from + to) / 2; + Counter first = new Counter(values, from, mid, filter); + Counter second = new Counter(values, mid, to, filter); + invokeAll(first, second); + return first.join() + second.join(); + } + } +} diff --git a/corejava第9版/v1ch14/future/FutureTest.java b/corejava第9版/v1ch14/future/FutureTest.java new file mode 100644 index 0000000..e151536 --- /dev/null +++ b/corejava第9版/v1ch14/future/FutureTest.java @@ -0,0 +1,122 @@ +package future; + +import java.io.*; +import java.util.*; +import java.util.concurrent.*; + +/** + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class FutureTest +{ + public static void main(String[] args) + { + Scanner in = new Scanner(System.in); + System.out.print("Enter base directory (e.g. /usr/local/jdk5.0/src): "); + String directory = in.nextLine(); + System.out.print("Enter keyword (e.g. volatile): "); + String keyword = in.nextLine(); + + MatchCounter counter = new MatchCounter(new File(directory), keyword); + FutureTask task = new FutureTask<>(counter); + Thread t = new Thread(task); + t.start(); + try + { + System.out.println(task.get() + " matching files."); + } + catch (ExecutionException e) + { + e.printStackTrace(); + } + catch (InterruptedException e) + { + } + } +} + +/** + * This task counts the files in a directory and its subdirectories that contain a given keyword. + */ +class MatchCounter implements Callable +{ + private File directory; + private String keyword; + private int count; + + /** + * Constructs a MatchCounter. + * @param directory the directory in which to start the search + * @param keyword the keyword to look for + */ + public MatchCounter(File directory, String keyword) + { + this.directory = directory; + this.keyword = keyword; + } + + public Integer call() + { + count = 0; + try + { + File[] files = directory.listFiles(); + List> results = new ArrayList<>(); + + for (File file : files) + if (file.isDirectory()) + { + MatchCounter counter = new MatchCounter(file, keyword); + FutureTask task = new FutureTask<>(counter); + results.add(task); + Thread t = new Thread(task); + t.start(); + } + else + { + if (search(file)) count++; + } + + for (Future result : results) + try + { + count += result.get(); + } + catch (ExecutionException e) + { + e.printStackTrace(); + } + } + catch (InterruptedException e) + { + } + return count; + } + + /** + * Searches a file for a given keyword. + * @param file the file to search + * @return true if the keyword is contained in the file + */ + public boolean search(File file) + { + try + { + try (Scanner in = new Scanner(file)) + { + boolean found = false; + while (!found && in.hasNextLine()) + { + String line = in.nextLine(); + if (line.contains(keyword)) found = true; + } + return found; + } + } + catch (IOException e) + { + return false; + } + } +} diff --git a/corejava第9版/v1ch14/swing/SwingThreadTest.java b/corejava第9版/v1ch14/swing/SwingThreadTest.java new file mode 100644 index 0000000..85c2978 --- /dev/null +++ b/corejava第9版/v1ch14/swing/SwingThreadTest.java @@ -0,0 +1,144 @@ +package swing; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; + +/** + * This program demonstrates that a thread that runs in parallel with the event dispatch thread can + * cause errors in Swing components. + * @version 1.23 2007-05-17 + * @author Cay Horstmann + */ +public class SwingThreadTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SwingThreadFrame(); + frame.setTitle("SwingThreadTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame has two buttons to fill a combo box from a separate thread. The "Good" button uses the + * event queue, the "Bad" button modifies the combo box directly. + */ +class SwingThreadFrame extends JFrame +{ + public SwingThreadFrame() + { + final JComboBox combo = new JComboBox<>(); + combo.insertItemAt(Integer.MAX_VALUE, 0); + combo.setPrototypeDisplayValue(combo.getItemAt(0)); + combo.setSelectedIndex(0); + + JPanel panel = new JPanel(); + + JButton goodButton = new JButton("Good"); + goodButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + new Thread(new GoodWorkerRunnable(combo)).start(); + } + }); + panel.add(goodButton); + JButton badButton = new JButton("Bad"); + badButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + new Thread(new BadWorkerRunnable(combo)).start(); + } + }); + panel.add(badButton); + + panel.add(combo); + add(panel); + pack(); + } +} + +/** + * This runnable modifies a combo box by randomly adding and removing numbers. This can result in + * errors because the combo box methods are not synchronized and both the worker thread and the + * event dispatch thread access the combo box. + */ +class BadWorkerRunnable implements Runnable +{ + private JComboBox combo; + private Random generator; + + public BadWorkerRunnable(JComboBox aCombo) + { + combo = aCombo; + generator = new Random(); + } + + public void run() + { + try + { + while (true) + { + int i = Math.abs(generator.nextInt()); + if (i % 2 == 0) combo.insertItemAt(i, 0); + else if (combo.getItemCount() > 0) combo.removeItemAt(i % combo.getItemCount()); + Thread.sleep(1); + } + } + catch (InterruptedException e) + { + } + } +} + +/** + * This runnable modifies a combo box by randomly adding and removing numbers. In order to ensure + * that the combo box is not corrupted, the editing operations are forwarded to the event dispatch + * thread. + */ +class GoodWorkerRunnable implements Runnable +{ + private JComboBox combo; + private Random generator; + + public GoodWorkerRunnable(JComboBox aCombo) + { + combo = aCombo; + generator = new Random(); + } + + public void run() + { + try + { + while (true) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + int i = Math.abs(generator.nextInt()); + if (i % 2 == 0) combo.insertItemAt(i, 0); + else if (combo.getItemCount() > 0) combo.removeItemAt(i + % combo.getItemCount()); + } + }); + Thread.sleep(1); + } + } + catch (InterruptedException e) + { + } + } +} diff --git a/corejava第9版/v1ch14/swingWorker/SwingWorkerTest.java b/corejava第9版/v1ch14/swingWorker/SwingWorkerTest.java new file mode 100644 index 0000000..df3cb91 --- /dev/null +++ b/corejava第9版/v1ch14/swingWorker/SwingWorkerTest.java @@ -0,0 +1,182 @@ +package swingWorker; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.util.*; +import java.util.List; +import java.util.concurrent.*; + +import javax.swing.*; + +/** + * This program demonstrates a worker thread that runs a potentially time-consuming task. + * @version 1.1 2007-05-18 + * @author Cay Horstmann + */ +public class SwingWorkerTest +{ + public static void main(String[] args) throws Exception + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SwingWorkerFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame has a text area to show the contents of a text file, a menu to open a file and cancel + * the opening process, and a status line to show the file loading progress. + */ +class SwingWorkerFrame extends JFrame +{ + private JFileChooser chooser; + private JTextArea textArea; + private JLabel statusLine; + private JMenuItem openItem; + private JMenuItem cancelItem; + private SwingWorker textReader; + public static final int TEXT_ROWS = 20; + public static final int TEXT_COLUMNS = 60; + + public SwingWorkerFrame() + { + chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + + textArea = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + add(new JScrollPane(textArea)); + + statusLine = new JLabel(" "); + add(statusLine, BorderLayout.SOUTH); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu menu = new JMenu("File"); + menuBar.add(menu); + + openItem = new JMenuItem("Open"); + menu.add(openItem); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // show file chooser dialog + int result = chooser.showOpenDialog(null); + + // if file selected, set it as icon of the label + if (result == JFileChooser.APPROVE_OPTION) + { + textArea.setText(""); + openItem.setEnabled(false); + textReader = new TextReader(chooser.getSelectedFile()); + textReader.execute(); + cancelItem.setEnabled(true); + } + } + }); + + cancelItem = new JMenuItem("Cancel"); + menu.add(cancelItem); + cancelItem.setEnabled(false); + cancelItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + textReader.cancel(true); + } + }); + pack(); + } + + private class ProgressData + { + public int number; + public String line; + } + + private class TextReader extends SwingWorker + { + private File file; + private StringBuilder text = new StringBuilder(); + + public TextReader(File file) + { + this.file = file; + } + + // The following method executes in the worker thread; it doesn't touch Swing components. + + @Override + public StringBuilder doInBackground() throws IOException, InterruptedException + { + int lineNumber = 0; + try (Scanner in = new Scanner(new FileInputStream(file))) + { + while (in.hasNextLine()) + { + String line = in.nextLine(); + lineNumber++; + text.append(line); + text.append("\n"); + ProgressData data = new ProgressData(); + data.number = lineNumber; + data.line = line; + publish(data); + Thread.sleep(1); // to test cancellation; no need to do this in your programs + } + } + return text; + } + + // The following methods execute in the event dispatch thread. + + @Override + public void process(List data) + { + if (isCancelled()) return; + StringBuilder b = new StringBuilder(); + statusLine.setText("" + data.get(data.size() - 1).number); + for (ProgressData d : data) + { + b.append(d.line); + b.append("\n"); + } + textArea.append(b.toString()); + } + + @Override + public void done() + { + try + { + StringBuilder result = get(); + textArea.setText(result.toString()); + statusLine.setText("Done"); + } + catch (InterruptedException ex) + { + } + catch (CancellationException ex) + { + textArea.setText(""); + statusLine.setText("Cancelled"); + } + catch (ExecutionException ex) + { + statusLine.setText("" + ex.getCause()); + } + + cancelItem.setEnabled(false); + openItem.setEnabled(true); + } + + }; +} diff --git a/corejava第9版/v1ch14/synch/Bank.java b/corejava第9版/v1ch14/synch/Bank.java new file mode 100644 index 0000000..a54e7e6 --- /dev/null +++ b/corejava第9版/v1ch14/synch/Bank.java @@ -0,0 +1,86 @@ +package synch; + +import java.util.concurrent.locks.*; + +/** + * A bank with a number of bank accounts that uses locks for serializing access. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class Bank +{ + private final double[] accounts; + private Lock bankLock; + private Condition sufficientFunds; + + /** + * Constructs the bank. + * @param n the number of accounts + * @param initialBalance the initial balance for each account + */ + public Bank(int n, double initialBalance) + { + accounts = new double[n]; + for (int i = 0; i < accounts.length; i++) + accounts[i] = initialBalance; + bankLock = new ReentrantLock(); + sufficientFunds = bankLock.newCondition(); + } + + /** + * Transfers money from one account to another. + * @param from the account to transfer from + * @param to the account to transfer to + * @param amount the amount to transfer + */ + public void transfer(int from, int to, double amount) throws InterruptedException + { + bankLock.lock(); + try + { + while (accounts[from] < amount) + sufficientFunds.await(); + System.out.print(Thread.currentThread()); + accounts[from] -= amount; + System.out.printf(" %10.2f from %d to %d", amount, from, to); + accounts[to] += amount; + System.out.printf(" Total Balance: %10.2f%n", getTotalBalance()); + sufficientFunds.signalAll(); + } + finally + { + bankLock.unlock(); + } + } + + /** + * Gets the sum of all account balances. + * @return the total balance + */ + public double getTotalBalance() + { + bankLock.lock(); + try + { + double sum = 0; + + for (double a : accounts) + sum += a; + + return sum; + } + finally + { + bankLock.unlock(); + } + } + + /** + * Gets the number of accounts in the bank. + * @return the number of accounts + */ + public int size() + { + return accounts.length; + } +} diff --git a/corejava第9版/v1ch14/synch/SynchBankTest.java b/corejava第9版/v1ch14/synch/SynchBankTest.java new file mode 100644 index 0000000..7ba9423 --- /dev/null +++ b/corejava第9版/v1ch14/synch/SynchBankTest.java @@ -0,0 +1,24 @@ +package synch; + +/** + * This program shows how multiple threads can safely access a data structure. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class SynchBankTest +{ + public static final int NACCOUNTS = 100; + public static final double INITIAL_BALANCE = 1000; + + public static void main(String[] args) + { + Bank b = new Bank(NACCOUNTS, INITIAL_BALANCE); + int i; + for (i = 0; i < NACCOUNTS; i++) + { + TransferRunnable r = new TransferRunnable(b, i, INITIAL_BALANCE); + Thread t = new Thread(r); + t.start(); + } + } +} diff --git a/corejava第9版/v1ch14/synch/TransferRunnable.java b/corejava第9版/v1ch14/synch/TransferRunnable.java new file mode 100644 index 0000000..b3da054 --- /dev/null +++ b/corejava第9版/v1ch14/synch/TransferRunnable.java @@ -0,0 +1,44 @@ +package synch; + +/** + * A runnable that transfers money from an account to other accounts in a bank. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class TransferRunnable implements Runnable +{ + private Bank bank; + private int fromAccount; + private double maxAmount; + private int DELAY = 10; + + /** + * Constructs a transfer runnable. + * @param b the bank between whose account money is transferred + * @param from the account to transfer money from + * @param max the maximum amount of money in each transfer + */ + public TransferRunnable(Bank b, int from, double max) + { + bank = b; + fromAccount = from; + maxAmount = max; + } + + public void run() + { + try + { + while (true) + { + int toAccount = (int) (bank.size() * Math.random()); + double amount = maxAmount * Math.random(); + bank.transfer(fromAccount, toAccount, amount); + Thread.sleep((int) (DELAY * Math.random())); + } + } + catch (InterruptedException e) + { + } + } +} diff --git a/corejava第9版/v1ch14/synch2/Bank.java b/corejava第9版/v1ch14/synch2/Bank.java new file mode 100644 index 0000000..e72bda6 --- /dev/null +++ b/corejava第9版/v1ch14/synch2/Bank.java @@ -0,0 +1,64 @@ +package synch2; + +/** + * A bank with a number of bank accounts that uses synchronization primitives. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class Bank +{ + private final double[] accounts; + + /** + * Constructs the bank. + * @param n the number of accounts + * @param initialBalance the initial balance for each account + */ + public Bank(int n, double initialBalance) + { + accounts = new double[n]; + for (int i = 0; i < accounts.length; i++) + accounts[i] = initialBalance; + } + + /** + * Transfers money from one account to another. + * @param from the account to transfer from + * @param to the account to transfer to + * @param amount the amount to transfer + */ + public synchronized void transfer(int from, int to, double amount) throws InterruptedException + { + while (accounts[from] < amount) + wait(); + System.out.print(Thread.currentThread()); + accounts[from] -= amount; + System.out.printf(" %10.2f from %d to %d", amount, from, to); + accounts[to] += amount; + System.out.printf(" Total Balance: %10.2f%n", getTotalBalance()); + notifyAll(); + } + + /** + * Gets the sum of all account balances. + * @return the total balance + */ + public synchronized double getTotalBalance() + { + double sum = 0; + + for (double a : accounts) + sum += a; + + return sum; + } + + /** + * Gets the number of accounts in the bank. + * @return the number of accounts + */ + public int size() + { + return accounts.length; + } +} diff --git a/corejava第9版/v1ch14/synch2/SynchBankTest2.java b/corejava第9版/v1ch14/synch2/SynchBankTest2.java new file mode 100644 index 0000000..1e62c53 --- /dev/null +++ b/corejava第9版/v1ch14/synch2/SynchBankTest2.java @@ -0,0 +1,25 @@ +package synch2; + +/** + * This program shows how multiple threads can safely access a data structure, using synchronized + * methods. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class SynchBankTest2 +{ + public static final int NACCOUNTS = 100; + public static final double INITIAL_BALANCE = 1000; + + public static void main(String[] args) + { + Bank b = new Bank(NACCOUNTS, INITIAL_BALANCE); + int i; + for (i = 0; i < NACCOUNTS; i++) + { + TransferRunnable r = new TransferRunnable(b, i, INITIAL_BALANCE); + Thread t = new Thread(r); + t.start(); + } + } +} diff --git a/corejava第9版/v1ch14/synch2/TransferRunnable.java b/corejava第9版/v1ch14/synch2/TransferRunnable.java new file mode 100644 index 0000000..10f0a93 --- /dev/null +++ b/corejava第9版/v1ch14/synch2/TransferRunnable.java @@ -0,0 +1,44 @@ +package synch2; + +/** + * A runnable that transfers money from an account to other accounts in a bank. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class TransferRunnable implements Runnable +{ + private Bank bank; + private int fromAccount; + private double maxAmount; + private int DELAY = 10; + + /** + * Constructs a transfer runnable. + * @param b the bank between whose account money is transferred + * @param from the account to transfer money from + * @param max the maximum amount of money in each transfer + */ + public TransferRunnable(Bank b, int from, double max) + { + bank = b; + fromAccount = from; + maxAmount = max; + } + + public void run() + { + try + { + while (true) + { + int toAccount = (int) (bank.size() * Math.random()); + double amount = maxAmount * Math.random(); + bank.transfer(fromAccount, toAccount, amount); + Thread.sleep((int) (DELAY * Math.random())); + } + } + catch (InterruptedException e) + { + } + } +} diff --git a/corejava第9版/v1ch14/threadPool/ThreadPoolTest.java b/corejava第9版/v1ch14/threadPool/ThreadPoolTest.java new file mode 100644 index 0000000..f27e013 --- /dev/null +++ b/corejava第9版/v1ch14/threadPool/ThreadPoolTest.java @@ -0,0 +1,128 @@ +package threadPool; + +import java.io.*; +import java.util.*; +import java.util.concurrent.*; + +/** + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class ThreadPoolTest +{ + public static void main(String[] args) throws Exception + { + Scanner in = new Scanner(System.in); + System.out.print("Enter base directory (e.g. /usr/local/jdk5.0/src): "); + String directory = in.nextLine(); + System.out.print("Enter keyword (e.g. volatile): "); + String keyword = in.nextLine(); + + ExecutorService pool = Executors.newCachedThreadPool(); + + MatchCounter counter = new MatchCounter(new File(directory), keyword, pool); + Future result = pool.submit(counter); + + try + { + System.out.println(result.get() + " matching files."); + } + catch (ExecutionException e) + { + e.printStackTrace(); + } + catch (InterruptedException e) + { + } + pool.shutdown(); + + int largestPoolSize = ((ThreadPoolExecutor) pool).getLargestPoolSize(); + System.out.println("largest pool size=" + largestPoolSize); + } +} + +/** + * This task counts the files in a directory and its subdirectories that contain a given keyword. + */ +class MatchCounter implements Callable +{ + private File directory; + private String keyword; + private ExecutorService pool; + private int count; + + /** + * Constructs a MatchCounter. + * @param directory the directory in which to start the search + * @param keyword the keyword to look for + * @param pool the thread pool for submitting subtasks + */ + public MatchCounter(File directory, String keyword, ExecutorService pool) + { + this.directory = directory; + this.keyword = keyword; + this.pool = pool; + } + + public Integer call() + { + count = 0; + try + { + File[] files = directory.listFiles(); + List> results = new ArrayList<>(); + + for (File file : files) + if (file.isDirectory()) + { + MatchCounter counter = new MatchCounter(file, keyword, pool); + Future result = pool.submit(counter); + results.add(result); + } + else + { + if (search(file)) count++; + } + + for (Future result : results) + try + { + count += result.get(); + } + catch (ExecutionException e) + { + e.printStackTrace(); + } + } + catch (InterruptedException e) + { + } + return count; + } + + /** + * Searches a file for a given keyword. + * @param file the file to search + * @return true if the keyword is contained in the file + */ + public boolean search(File file) + { + try + { + try (Scanner in = new Scanner(file)) + { + boolean found = false; + while (!found && in.hasNextLine()) + { + String line = in.nextLine(); + if (line.contains(keyword)) found = true; + } + return found; + } + } + catch (IOException e) + { + return false; + } + } +} diff --git a/corejava第9版/v1ch14/unsynch/Bank.java b/corejava第9版/v1ch14/unsynch/Bank.java new file mode 100644 index 0000000..f5c2392 --- /dev/null +++ b/corejava第9版/v1ch14/unsynch/Bank.java @@ -0,0 +1,62 @@ +package unsynch; + +/** + * A bank with a number of bank accounts. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class Bank +{ + private final double[] accounts; + + /** + * Constructs the bank. + * @param n the number of accounts + * @param initialBalance the initial balance for each account + */ + public Bank(int n, double initialBalance) + { + accounts = new double[n]; + for (int i = 0; i < accounts.length; i++) + accounts[i] = initialBalance; + } + + /** + * Transfers money from one account to another. + * @param from the account to transfer from + * @param to the account to transfer to + * @param amount the amount to transfer + */ + public void transfer(int from, int to, double amount) + { + if (accounts[from] < amount) return; + System.out.print(Thread.currentThread()); + accounts[from] -= amount; + System.out.printf(" %10.2f from %d to %d", amount, from, to); + accounts[to] += amount; + System.out.printf(" Total Balance: %10.2f%n", getTotalBalance()); + } + + /** + * Gets the sum of all account balances. + * @return the total balance + */ + public double getTotalBalance() + { + double sum = 0; + + for (double a : accounts) + sum += a; + + return sum; + } + + /** + * Gets the number of accounts in the bank. + * @return the number of accounts + */ + public int size() + { + return accounts.length; + } +} diff --git a/corejava第9版/v1ch14/unsynch/TransferRunnable.java b/corejava第9版/v1ch14/unsynch/TransferRunnable.java new file mode 100644 index 0000000..a04a524 --- /dev/null +++ b/corejava第9版/v1ch14/unsynch/TransferRunnable.java @@ -0,0 +1,44 @@ +package unsynch; + +/** + * A runnable that transfers money from an account to other accounts in a bank. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class TransferRunnable implements Runnable +{ + private Bank bank; + private int fromAccount; + private double maxAmount; + private int DELAY = 10; + + /** + * Constructs a transfer runnable. + * @param b the bank between whose account money is transferred + * @param from the account to transfer money from + * @param max the maximum amount of money in each transfer + */ + public TransferRunnable(Bank b, int from, double max) + { + bank = b; + fromAccount = from; + maxAmount = max; + } + + public void run() + { + try + { + while (true) + { + int toAccount = (int) (bank.size() * Math.random()); + double amount = maxAmount * Math.random(); + bank.transfer(fromAccount, toAccount, amount); + Thread.sleep((int) (DELAY * Math.random())); + } + } + catch (InterruptedException e) + { + } + } +} diff --git a/corejava第9版/v1ch14/unsynch/UnsynchBankTest.java b/corejava第9版/v1ch14/unsynch/UnsynchBankTest.java new file mode 100644 index 0000000..b018274 --- /dev/null +++ b/corejava第9版/v1ch14/unsynch/UnsynchBankTest.java @@ -0,0 +1,24 @@ +package unsynch; + +/** + * This program shows data corruption when multiple threads access a data structure. + * @version 1.30 2004-08-01 + * @author Cay Horstmann + */ +public class UnsynchBankTest +{ + public static final int NACCOUNTS = 100; + public static final double INITIAL_BALANCE = 1000; + + public static void main(String[] args) + { + Bank b = new Bank(NACCOUNTS, INITIAL_BALANCE); + int i; + for (i = 0; i < NACCOUNTS; i++) + { + TransferRunnable r = new TransferRunnable(b, i, INITIAL_BALANCE); + Thread t = new Thread(r); + t.start(); + } + } +} diff --git a/corejava第9版/v2ch01/employee.dat b/corejava第9版/v2ch01/employee.dat new file mode 100644 index 0000000..47cf2ff --- /dev/null +++ b/corejava第9版/v2ch01/employee.dat @@ -0,0 +1,4 @@ +3 +Carl Cracker|75000.0|1987|12|15 +Harry Hacker|50000.0|1989|10|1 +Tony Tester|40000.0|1990|3|15 diff --git a/corejava第9版/v2ch01/employee2.dat b/corejava第9版/v2ch01/employee2.dat new file mode 100644 index 0000000000000000000000000000000000000000..ccbb9931fc096ed7726c69daf3e5476d4ab6fbae GIT binary patch literal 300 zcmZQ@W=LcxV#r}oU~mS~i44gM*$k;b7MZ}|lYaw5EBj#}%>%^z3?5)RiWn+^wt(1_ x+VLU_Vg&>HQ6Pg0h#46|81fnNz&3;c-CxX5LWwUJ7#tpV!0b2%WH19UKLAn86zl*1 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch01/employee3.dat b/corejava第9版/v2ch01/employee3.dat new file mode 100644 index 0000000..e69de29 diff --git a/corejava第9版/v2ch01/findDirectories/FindDirectories.java b/corejava第9版/v2ch01/findDirectories/FindDirectories.java new file mode 100644 index 0000000..351cc4c --- /dev/null +++ b/corejava第9版/v2ch01/findDirectories/FindDirectories.java @@ -0,0 +1,30 @@ +package findDirectories; + +import java.io.*; +import java.nio.file.*; +import java.nio.file.attribute.*; + +/** + * @version 1.1 2012-05-31 + * @author Cay Horstmann + */ +public class FindDirectories +{ + public static void main(String[] args) throws IOException + { + Path dir = Paths.get(args.length == 0 ? System.getProperty("user.home") : args[0]); + Files.walkFileTree(dir, new SimpleFileVisitor() + { + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException + { + if (attrs.isDirectory()) + System.out.println(file); + return FileVisitResult.CONTINUE; + } + public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException + { + return FileVisitResult.CONTINUE; + } + }); + } +} diff --git a/corejava第9版/v2ch01/match/HrefMatch.java b/corejava第9版/v2ch01/match/HrefMatch.java new file mode 100644 index 0000000..9aba0f1 --- /dev/null +++ b/corejava第9版/v2ch01/match/HrefMatch.java @@ -0,0 +1,56 @@ +package match; + +import java.io.*; +import java.net.*; +import java.util.regex.*; + +/** + * This program displays all URLs in a web page by matching a regular expression that describes the + * HTML tag. Start the program as
        + * java match.HrefMatch URL + * @version 1.01 2004-06-04 + * @author Cay Horstmann + */ +public class HrefMatch +{ + public static void main(String[] args) + { + try + { + // get URL string from command line or use default + String urlString; + if (args.length > 0) urlString = args[0]; + else urlString = "http://java.sun.com"; + + // open reader for URL + InputStreamReader in = new InputStreamReader(new URL(urlString).openStream()); + + // read contents into string builder + StringBuilder input = new StringBuilder(); + int ch; + while ((ch = in.read()) != -1) + input.append((char) ch); + + // search for all occurrences of pattern + String patternString = "]*)\\s*>"; + Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + + while (matcher.find()) + { + int start = matcher.start(); + int end = matcher.end(); + String match = input.substring(start, end); + System.out.println(match); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + catch (PatternSyntaxException e) + { + e.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch01/memoryMap/MemoryMapTest.java b/corejava第9版/v2ch01/memoryMap/MemoryMapTest.java new file mode 100644 index 0000000..e6e0cb3 --- /dev/null +++ b/corejava第9版/v2ch01/memoryMap/MemoryMapTest.java @@ -0,0 +1,108 @@ +package memoryMap; + +import java.io.*; +import java.nio.*; +import java.nio.channels.*; +import java.nio.file.*; +import java.util.zip.*; + +/** + * This program computes the CRC checksum of a file in four ways.
        + * Usage: java memoryMap.MemoryMapTest filename + * @version 1.01 2012-05-30 + * @author Cay Horstmann + */ +public class MemoryMapTest +{ + public static long checksumInputStream(Path filename) throws IOException + { + try (InputStream in = Files.newInputStream(filename)) + { + CRC32 crc = new CRC32(); + + int c; + while ((c = in.read()) != -1) + crc.update(c); + return crc.getValue(); + } + } + + public static long checksumBufferedInputStream(Path filename) throws IOException + { + try (InputStream in = new BufferedInputStream(Files.newInputStream(filename))) + { + CRC32 crc = new CRC32(); + + int c; + while ((c = in.read()) != -1) + crc.update(c); + return crc.getValue(); + } + } + + public static long checksumRandomAccessFile(Path filename) throws IOException + { + try (RandomAccessFile file = new RandomAccessFile(filename.toFile(), "r")) + { + long length = file.length(); + CRC32 crc = new CRC32(); + + for (long p = 0; p < length; p++) + { + file.seek(p); + int c = file.readByte(); + crc.update(c); + } + return crc.getValue(); + } + } + + public static long checksumMappedFile(Path filename) throws IOException + { + try (FileChannel channel = FileChannel.open(filename)) + { + CRC32 crc = new CRC32(); + int length = (int) channel.size(); + MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, length); + + for (int p = 0; p < length; p++) + { + int c = buffer.get(p); + crc.update(c); + } + return crc.getValue(); + } + } + + public static void main(String[] args) throws IOException + { + System.out.println("Input Stream:"); + long start = System.currentTimeMillis(); + Path filename = Paths.get(args[0]); + long crcValue = checksumInputStream(filename); + long end = System.currentTimeMillis(); + System.out.println(Long.toHexString(crcValue)); + System.out.println((end - start) + " milliseconds"); + + System.out.println("Buffered Input Stream:"); + start = System.currentTimeMillis(); + crcValue = checksumBufferedInputStream(filename); + end = System.currentTimeMillis(); + System.out.println(Long.toHexString(crcValue)); + System.out.println((end - start) + " milliseconds"); + + System.out.println("Random Access File:"); + start = System.currentTimeMillis(); + crcValue = checksumRandomAccessFile(filename); + end = System.currentTimeMillis(); + System.out.println(Long.toHexString(crcValue)); + System.out.println((end - start) + " milliseconds"); + + System.out.println("Mapped File:"); + start = System.currentTimeMillis(); + crcValue = checksumMappedFile(filename); + end = System.currentTimeMillis(); + System.out.println(Long.toHexString(crcValue)); + System.out.println((end - start) + " milliseconds"); + } +} diff --git a/corejava第9版/v2ch01/objectStream/Employee.java b/corejava第9版/v2ch01/objectStream/Employee.java new file mode 100644 index 0000000..d675ab8 --- /dev/null +++ b/corejava第9版/v2ch01/objectStream/Employee.java @@ -0,0 +1,50 @@ +package objectStream; + +import java.io.*; +import java.util.*; + +public class Employee implements Serializable +{ + private String name; + private double salary; + private Date hireDay; + + public Employee() + { + } + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public String toString() + { + return getClass().getName() + "[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + + "]"; + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch01/objectStream/Manager.java b/corejava第9版/v2ch01/objectStream/Manager.java new file mode 100644 index 0000000..bcecdf0 --- /dev/null +++ b/corejava第9版/v2ch01/objectStream/Manager.java @@ -0,0 +1,34 @@ +package objectStream; + +public class Manager extends Employee +{ + private Employee secretary; + + /** + * Constructs a Manager without a secretary + * @param n the employee's name + * @param s the salary + * @param year the hire year + * @param month the hire month + * @param day the hire day + */ + public Manager(String n, double s, int year, int month, int day) + { + super(n, s, year, month, day); + secretary = null; + } + + /** + * Assigns a secretary to the manager. + * @param s the secretary + */ + public void setSecretary(Employee s) + { + secretary = s; + } + + public String toString() + { + return super.toString() + "[secretary=" + secretary + "]"; + } +} diff --git a/corejava第9版/v2ch01/objectStream/ObjectStreamTest.java b/corejava第9版/v2ch01/objectStream/ObjectStreamTest.java new file mode 100644 index 0000000..8fea29f --- /dev/null +++ b/corejava第9版/v2ch01/objectStream/ObjectStreamTest.java @@ -0,0 +1,45 @@ +package objectStream; + +import java.io.*; + +/** + * @version 1.10 17 Aug 1998 + * @author Cay Horstmann + */ +class ObjectStreamTest +{ + public static void main(String[] args) throws IOException, ClassNotFoundException + { + Employee harry = new Employee("Harry Hacker", 50000, 1989, 10, 1); + Manager carl = new Manager("Carl Cracker", 80000, 1987, 12, 15); + carl.setSecretary(harry); + Manager tony = new Manager("Tony Tester", 40000, 1990, 3, 15); + tony.setSecretary(harry); + + Employee[] staff = new Employee[3]; + + staff[0] = carl; + staff[1] = harry; + staff[2] = tony; + + // save all employee records to the file employee.dat + try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("employee.dat"))) + { + out.writeObject(staff); + } + + try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("employee.dat"))) + { + // retrieve all records into a new array + + Employee[] newStaff = (Employee[]) in.readObject(); + + // raise secretary's salary + newStaff[1].raiseSalary(10); + + // print the newly read employee records + for (Employee e : newStaff) + System.out.println(e); + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch01/objectStream/employee.dat b/corejava第9版/v2ch01/objectStream/employee.dat new file mode 100644 index 0000000000000000000000000000000000000000..4f639902824423fb96a83dc8ec6903d01b0af54b GIT binary patch literal 340 zcmZ4UmVvdjh=DuW$2GSgC%-Z^)%wqVGr^-11&=c^FjN#UFfcF|7csE=Cgvrkrxuy9 ztrJe}kKE40!05xkS)7_&lvw>KIrYUSvUx0r5D%swYbOZEOIk_DC!$s#Nd*s|HDPgS9X@Jcing&@v_0 W?hVKS?vVVvN`;Wr;*!)NunquOJZKRB literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch01/randomAccess/DataIO.java b/corejava第9版/v2ch01/randomAccess/DataIO.java new file mode 100644 index 0000000..2a8b3a2 --- /dev/null +++ b/corejava第9版/v2ch01/randomAccess/DataIO.java @@ -0,0 +1,34 @@ +package randomAccess; + +import java.io.*; + +public class DataIO +{ + public static String readFixedString(int size, DataInput in) + throws IOException + { + StringBuilder b = new StringBuilder(size); + int i = 0; + boolean more = true; + while (more && i < size) + { + char ch = in.readChar(); + i++; + if (ch == 0) more = false; + else b.append(ch); + } + in.skipBytes(2 * (size - i)); + return b.toString(); + } + + public static void writeFixedString(String s, int size, DataOutput out) + throws IOException + { + for (int i = 0; i < size; i++) + { + char ch = 0; + if (i < s.length()) ch = s.charAt(i); + out.writeChar(ch); + } + } +} diff --git a/corejava第9版/v2ch01/randomAccess/Employee.java b/corejava第9版/v2ch01/randomAccess/Employee.java new file mode 100644 index 0000000..0c92305 --- /dev/null +++ b/corejava第9版/v2ch01/randomAccess/Employee.java @@ -0,0 +1,57 @@ +package randomAccess; + +import java.util.*; + +public class Employee +{ + public static final int NAME_SIZE = 40; + public static final int RECORD_SIZE = 2 * NAME_SIZE + 8 + 4 + 4 + 4; + + private String name; + private double salary; + private Date hireDay; + + public Employee() {} + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + /** + Raises the salary of this employee. + @byPercent the percentage of the raise + */ + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public String toString() + { + return getClass().getName() + + "[name=" + name + + ",salary=" + salary + + ",hireDay=" + hireDay + + "]"; + } +} diff --git a/corejava第9版/v2ch01/randomAccess/RandomAccessTest.java b/corejava第9版/v2ch01/randomAccess/RandomAccessTest.java new file mode 100644 index 0000000..6147fe9 --- /dev/null +++ b/corejava第9版/v2ch01/randomAccess/RandomAccessTest.java @@ -0,0 +1,81 @@ +package randomAccess; + +import java.io.*; +import java.util.*; + +/** + * @version 1.12 2012-05-30 + * @author Cay Horstmann + */ +public class RandomAccessTest +{ + public static void main(String[] args) throws IOException + { + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15); + staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1); + staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15); + + try (DataOutputStream out = new DataOutputStream(new FileOutputStream("employee.dat"))) + { + // save all employee records to the file employee.dat + for (Employee e : staff) + writeData(out, e); + } + + try (RandomAccessFile in = new RandomAccessFile("employee.dat", "r")) + { + // retrieve all records into a new array + + // compute the array size + int n = (int)(in.length() / Employee.RECORD_SIZE); + Employee[] newStaff = new Employee[n]; + + // read employees in reverse order + for (int i = n - 1; i >= 0; i--) + { + newStaff[i] = new Employee(); + in.seek(i * Employee.RECORD_SIZE); + newStaff[i] = readData(in); + } + + // print the newly read employee records + for (Employee e : newStaff) + System.out.println(e); + } + } + + + /** + Writes employee data to a data output + @param out the data output + @param e the employee + */ + public static void writeData(DataOutput out, Employee e) throws IOException + { + DataIO.writeFixedString(e.getName(), Employee.NAME_SIZE, out); + out.writeDouble(e.getSalary()); + + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(e.getHireDay()); + out.writeInt(calendar.get(Calendar.YEAR)); + out.writeInt(calendar.get(Calendar.MONTH) + 1); + out.writeInt(calendar.get(Calendar.DAY_OF_MONTH)); + } + + /** + Reads employee data from a data input + @param in the data input + @return the employee + */ + public static Employee readData(DataInput in) throws IOException + { + String name = DataIO.readFixedString(Employee.NAME_SIZE, in); + double salary = in.readDouble(); + int y = in.readInt(); + int m = in.readInt(); + int d = in.readInt(); + return new Employee(name, salary, y, m - 1, d); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch01/randomAccess2/Employee.java b/corejava第9版/v2ch01/randomAccess2/Employee.java new file mode 100644 index 0000000..6258571 --- /dev/null +++ b/corejava第9版/v2ch01/randomAccess2/Employee.java @@ -0,0 +1,57 @@ +package randomAccess2; + +import java.util.*; + +public class Employee +{ + public static final int NAME_SIZE = 40; + public static final int RECORD_SIZE = 2 * NAME_SIZE + 8 + 4 + 4 + 4; + + private String name; + private double salary; + private Date hireDay; + + public Employee() {} + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + /** + Raises the salary of this employee. + @byPercent the percentage of the raise + */ + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public String toString() + { + return getClass().getName() + + "[name=" + name + + ",salary=" + salary + + ",hireDay=" + hireDay + + "]"; + } +} diff --git a/corejava第9版/v2ch01/randomAccess2/RandomAccessTest.java b/corejava第9版/v2ch01/randomAccess2/RandomAccessTest.java new file mode 100644 index 0000000..511afa5 --- /dev/null +++ b/corejava第9版/v2ch01/randomAccess2/RandomAccessTest.java @@ -0,0 +1,100 @@ +package randomAccess2; + +import java.io.*; +import java.nio.*; +import java.nio.channels.*; +import java.nio.file.*; +import java.util.*; + +/** + * @version 1.12 2012-05-30 + * @author Cay Horstmann + */ +public class RandomAccessTest +{ + public static void main(String[] args) throws IOException + { + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15); + staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1); + staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15); + + Path path = Paths.get("employee.dat"); + ByteBuffer buffer = ByteBuffer.allocate(Employee.RECORD_SIZE); + + try (FileChannel channel = FileChannel.open(path, + StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING)) + { + // save all employee records to the file employee.dat + for (Employee e : staff) + { + buffer.clear(); + writeData(buffer, e); + buffer.flip(); + channel.write(buffer); + } + } + + try (FileChannel channel = FileChannel.open(path, StandardOpenOption.READ)) + { + // compute the array size + int n = (int)(Files.size(path)) / Employee.RECORD_SIZE; + Employee[] newStaff = new Employee[n]; + + // read employees in reverse order + for (int i = n - 1; i >= 0; i--) + { + newStaff[i] = new Employee(); + channel.position(i * Employee.RECORD_SIZE); + buffer.clear(); + channel.read(buffer); + buffer.flip(); + newStaff[i] = readData(buffer); + } + + // print the newly read employee records + for (Employee e : newStaff) + System.out.println(e); + } + } + + + /** + Writes employee data to a byte buffer + @param out the buffer + @param e the employee + */ + public static void writeData(ByteBuffer out, Employee e) throws IOException + { + String name = e.getName(); + int length = Math.min(name.length(), Employee.NAME_SIZE - 1); + // for (int i = 0; i < length; i++) out.putChar(name.charAt(i)); + out.asCharBuffer().put(name.substring(0, length)).put('\0'); + out.position(2 * Employee.NAME_SIZE); + out.putDouble(e.getSalary()); + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(e.getHireDay()); + out.putInt(calendar.get(Calendar.YEAR)); + out.putInt(calendar.get(Calendar.MONTH) + 1); + out.putInt(calendar.get(Calendar.DAY_OF_MONTH)); + } + + /** + Reads employee data from a byte buffer + @param in the buffer + @return the employee + */ + public static Employee readData(ByteBuffer in) throws IOException + { + StringBuilder name = new StringBuilder(); + char ch; + while ((ch = in.getChar()) != '\0') name.append(ch); + in.position(2 * Employee.NAME_SIZE); + double salary = in.getDouble(); + int y = in.getInt(); + int m = in.getInt(); + int d = in.getInt(); + return new Employee(name.toString(), salary, y, m - 1, d); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch01/regex/RegexTest.java b/corejava第9版/v2ch01/regex/RegexTest.java new file mode 100644 index 0000000..76c22ed --- /dev/null +++ b/corejava第9版/v2ch01/regex/RegexTest.java @@ -0,0 +1,58 @@ +package regex; + +import java.util.*; +import java.util.regex.*; + +/** + This program tests regular expression matching. Enter a pattern and strings to match, + or hit Cancel to exit. If the pattern contains groups, the group boundaries are displayed + in the match. + @version 1.02 2012-06-02 + @author Cay Horstmann +*/ +public class RegexTest +{ + public static void main(String[] args) throws PatternSyntaxException + { + Scanner in = new Scanner(System.in); + System.out.println("Enter pattern: "); + String patternString = in.nextLine(); + + Pattern pattern = Pattern.compile(patternString); + + while (true) + { + System.out.println("Enter string to match: "); + String input = in.nextLine(); + if (input == null || input.equals("")) return; + Matcher matcher = pattern.matcher(input); + if (matcher.matches()) + { + System.out.println("Match"); + int g = matcher.groupCount(); + if (g > 0) + { + for (int i = 0; i < input.length(); i++) + { + // Print any empty groups + for (int j = 1; j <= g; j++) + if (i == matcher.start(j) && i == matcher.end(j)) + System.out.print("()"); + // Print ( for non-empty groups starting here + for (int j = 1; j <= g; j++) + if (i == matcher.start(j) && i != matcher.end(j)) + System.out.print('('); + System.out.print(input.charAt(i)); + // Print ) for non-empty groups ending here + for (int j = 1; j <= g; j++) + if (i + 1 != matcher.start(j) && i + 1 == matcher.end(j)) + System.out.print(')'); + } + System.out.println(); + } + } + else + System.out.println("No match"); + } + } +} diff --git a/corejava第9版/v2ch01/serialClone/SerialCloneTest.java b/corejava第9版/v2ch01/serialClone/SerialCloneTest.java new file mode 100644 index 0000000..10f76ab --- /dev/null +++ b/corejava第9版/v2ch01/serialClone/SerialCloneTest.java @@ -0,0 +1,105 @@ +package serialClone; + +/** + @version 1.20 17 Aug 1998 + @author Cay Horstmann +*/ + +import java.io.*; +import java.util.*; + +public class SerialCloneTest +{ + public static void main(String[] args) + { + Employee harry = new Employee("Harry Hacker", 35000, 1989, 10, 1); + // clone harry + Employee harry2 = (Employee) harry.clone(); + + // mutate harry + harry.raiseSalary(10); + + // now harry and the clone are different + System.out.println(harry); + System.out.println(harry2); + } +} + +/** + A class whose clone method uses serialization. +*/ +class SerialCloneable implements Cloneable, Serializable +{ + public Object clone() + { + try + { + // save the object to a byte array + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + ObjectOutputStream out = new ObjectOutputStream(bout); + out.writeObject(this); + out.close(); + + // read a clone of the object from the byte array + ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); + ObjectInputStream in = new ObjectInputStream(bin); + Object ret = in.readObject(); + in.close(); + + return ret; + } + catch (Exception e) + { + return null; + } + } +} + +/** + The familiar Employee class, redefined to extend the + SerialCloneable class. +*/ +class Employee extends SerialCloneable +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public String toString() + { + return getClass().getName() + + "[name=" + name + + ",salary=" + salary + + ",hireDay=" + hireDay + + "]"; + } +} diff --git a/corejava第9版/v2ch01/textFile/Employee.java b/corejava第9版/v2ch01/textFile/Employee.java new file mode 100644 index 0000000..bacc165 --- /dev/null +++ b/corejava第9版/v2ch01/textFile/Employee.java @@ -0,0 +1,49 @@ +package textFile; + +import java.util.*; + +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee() + { + } + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + hireDay = calendar.getTime(); + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } + + public String toString() + { + return getClass().getName() + "[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + + "]"; + } +} diff --git a/corejava第9版/v2ch01/textFile/TextFileTest.java b/corejava第9版/v2ch01/textFile/TextFileTest.java new file mode 100644 index 0000000..f47783c --- /dev/null +++ b/corejava第9版/v2ch01/textFile/TextFileTest.java @@ -0,0 +1,98 @@ +package textFile; + +import java.io.*; +import java.util.*; + +/** + * @version 1.13 2012-05-30 + * @author Cay Horstmann + */ +public class TextFileTest +{ + public static void main(String[] args) throws IOException + { + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15); + staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1); + staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15); + + // save all employee records to the file employee.dat + try (PrintWriter out = new PrintWriter("employee.dat", "UTF-8")) + { + writeData(staff, out); + } + + // retrieve all records into a new array + try (Scanner in = new Scanner( + new FileInputStream("employee.dat"), "UTF-8")) + { + Employee[] newStaff = readData(in); + + // print the newly read employee records + for (Employee e : newStaff) + System.out.println(e); + } + } + + /** + * Writes all employees in an array to a print writer + * @param employees an array of employees + * @param out a print writer + */ + private static void writeData(Employee[] employees, PrintWriter out) throws IOException + { + // write number of employees + out.println(employees.length); + + for (Employee e : employees) + writeEmployee(out, e); + } + + /** + * Reads an array of employees from a scanner + * @param in the scanner + * @return the array of employees + */ + private static Employee[] readData(Scanner in) + { + // retrieve the array size + int n = in.nextInt(); + in.nextLine(); // consume newline + + Employee[] employees = new Employee[n]; + for (int i = 0; i < n; i++) + { + employees[i] = readEmployee(in); + } + return employees; + } + + /** + * Writes employee data to a print writer + * @param out the print writer + */ + public static void writeEmployee(PrintWriter out, Employee e) + { + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTime(e.getHireDay()); + out.println(e.getName() + "|" + e.getSalary() + "|" + calendar.get(Calendar.YEAR) + "|" + + (calendar.get(Calendar.MONTH) + 1) + "|" + calendar.get(Calendar.DAY_OF_MONTH)); + } + + /** + * Reads employee data from a buffered reader + * @param in the scanner + */ + public static Employee readEmployee(Scanner in) + { + String line = in.nextLine(); + String[] tokens = line.split("\\|"); + String name = tokens[0]; + double salary = Double.parseDouble(tokens[1]); + int year = Integer.parseInt(tokens[2]); + int month = Integer.parseInt(tokens[3]); + int day = Integer.parseInt(tokens[4]); + return new Employee(name, salary, year, month, day); + } +} diff --git a/corejava第9版/v2ch01/textFile/employee.dat b/corejava第9版/v2ch01/textFile/employee.dat new file mode 100644 index 0000000..47cf2ff --- /dev/null +++ b/corejava第9版/v2ch01/textFile/employee.dat @@ -0,0 +1,4 @@ +3 +Carl Cracker|75000.0|1987|12|15 +Harry Hacker|50000.0|1989|10|1 +Tony Tester|40000.0|1990|3|15 diff --git a/corejava第9版/v2ch01/zip/ZipTest.java b/corejava第9版/v2ch01/zip/ZipTest.java new file mode 100644 index 0000000..32bc7d2 --- /dev/null +++ b/corejava第9版/v2ch01/zip/ZipTest.java @@ -0,0 +1,58 @@ +package zip; + +import java.io.*; +import java.nio.charset.*; +import java.nio.file.*; +import java.nio.file.attribute.*; +import java.util.*; +import java.util.zip.*; + +/** + * @version 1.4 2012-06-01 + * @author Cay Horstmann + */ +public class ZipTest +{ + public static void main(String[] args) throws IOException + { + String zipname = args[0]; + showContents(zipname); + System.out.println("---"); + showContents2(zipname); + } + + public static void showContents(String zipname) throws IOException + { + // Here, we use the classic zip API + try (ZipInputStream zin = new ZipInputStream(new FileInputStream(zipname))) + { + ZipEntry entry; + while ((entry = zin.getNextEntry()) != null) + { + System.out.println(entry.getName()); + + Scanner in = new Scanner(zin); + while (in.hasNextLine()) + System.out.println(" " + in.nextLine()); + // DO NOT CLOSE in + zin.closeEntry(); + } + } + } + + public static void showContents2(String zipname) throws IOException + { + // Here, we make a Java SE 7 file system + FileSystem fs = FileSystems.newFileSystem(Paths.get(zipname), null); + Files.walkFileTree(fs.getPath("/"), new SimpleFileVisitor() + { + public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) throws IOException + { + System.out.println(path); + for (String line : Files.readAllLines(path, Charset.forName("UTF-8"))) + System.out.println(" " + line); + return FileVisitResult.CONTINUE; + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch02/dom/TreeViewer.java b/corejava第9版/v2ch02/dom/TreeViewer.java new file mode 100644 index 0000000..436fd04 --- /dev/null +++ b/corejava第9版/v2ch02/dom/TreeViewer.java @@ -0,0 +1,266 @@ +package dom; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import javax.swing.*; +import javax.swing.event.*; +import javax.swing.table.*; +import javax.swing.tree.*; +import javax.xml.parsers.*; +import org.w3c.dom.*; +import org.w3c.dom.CharacterData; + +/** + * This program displays an XML document as a tree. + * @version 1.12 2012-06-03 + * @author Cay Horstmann + */ +public class TreeViewer +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new DOMTreeFrame(); + frame.setTitle("TreeViewer"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains a tree that displays the contents of an XML document. + */ +class DOMTreeFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 400; + + private DocumentBuilder builder; + + public DOMTreeFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + JMenu fileMenu = new JMenu("File"); + JMenuItem openItem = new JMenuItem("Open"); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + openFile(); + } + }); + fileMenu.add(openItem); + + JMenuItem exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + + JMenuBar menuBar = new JMenuBar(); + menuBar.add(fileMenu); + setJMenuBar(menuBar); + } + + /** + * Open a file and load the document. + */ + public void openFile() + { + JFileChooser chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File("dom")); + + chooser.setFileFilter(new javax.swing.filechooser.FileFilter() + { + public boolean accept(File f) + { + return f.isDirectory() || f.getName().toLowerCase().endsWith(".xml"); + } + + public String getDescription() + { + return "XML files"; + } + }); + int r = chooser.showOpenDialog(this); + if (r != JFileChooser.APPROVE_OPTION) return; + final File file = chooser.getSelectedFile(); + + new SwingWorker() + { + protected Document doInBackground() throws Exception + { + if (builder == null) + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + builder = factory.newDocumentBuilder(); + } + return builder.parse(file); + } + + protected void done() + { + try + { + Document doc = get(); + JTree tree = new JTree(new DOMTreeModel(doc)); + tree.setCellRenderer(new DOMTreeCellRenderer()); + + setContentPane(new JScrollPane(tree)); + validate(); + } + catch (Exception e) + { + JOptionPane.showMessageDialog(DOMTreeFrame.this, e); + } + } + }.execute(); + } + +} + +/** + * This tree model describes the tree structure of an XML document. + */ +class DOMTreeModel implements TreeModel +{ + private Document doc; + + /** + * Constructs a document tree model. + * @param doc the document + */ + public DOMTreeModel(Document doc) + { + this.doc = doc; + } + + public Object getRoot() + { + return doc.getDocumentElement(); + } + + public int getChildCount(Object parent) + { + Node node = (Node) parent; + NodeList list = node.getChildNodes(); + return list.getLength(); + } + + public Object getChild(Object parent, int index) + { + Node node = (Node) parent; + NodeList list = node.getChildNodes(); + return list.item(index); + } + + public int getIndexOfChild(Object parent, Object child) + { + Node node = (Node) parent; + NodeList list = node.getChildNodes(); + for (int i = 0; i < list.getLength(); i++) + if (getChild(node, i) == child) return i; + return -1; + } + + public boolean isLeaf(Object node) + { + return getChildCount(node) == 0; + } + + public void valueForPathChanged(TreePath path, Object newValue) + { + } + + public void addTreeModelListener(TreeModelListener l) + { + } + + public void removeTreeModelListener(TreeModelListener l) + { + } + +} + +/** + * This class renders an XML node. + */ +class DOMTreeCellRenderer extends DefaultTreeCellRenderer +{ + public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, + boolean expanded, boolean leaf, int row, boolean hasFocus) + { + Node node = (Node) value; + if (node instanceof Element) return elementPanel((Element) node); + + super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); + if (node instanceof CharacterData) setText(characterString((CharacterData) node)); + else setText(node.getClass() + ": " + node.toString()); + return this; + } + + public static JPanel elementPanel(Element e) + { + JPanel panel = new JPanel(); + panel.add(new JLabel("Element: " + e.getTagName())); + final NamedNodeMap map = e.getAttributes(); + panel.add(new JTable(new AbstractTableModel() + { + public int getRowCount() + { + return map.getLength(); + } + + public int getColumnCount() + { + return 2; + } + + public Object getValueAt(int r, int c) + { + return c == 0 ? map.item(r).getNodeName() : map.item(r).getNodeValue(); + } + })); + return panel; + } + + public static String characterString(CharacterData node) + { + StringBuilder builder = new StringBuilder(node.getData()); + for (int i = 0; i < builder.length(); i++) + { + if (builder.charAt(i) == '\r') + { + builder.replace(i, i + 1, "\\r"); + i++; + } + else if (builder.charAt(i) == '\n') + { + builder.replace(i, i + 1, "\\n"); + i++; + } + else if (builder.charAt(i) == '\t') + { + builder.replace(i, i + 1, "\\t"); + i++; + } + } + if (node instanceof CDATASection) builder.insert(0, "CDATASection: "); + else if (node instanceof Text) builder.insert(0, "Text: "); + else if (node instanceof Comment) builder.insert(0, "Comment: "); + + return builder.toString(); + } +} + diff --git a/corejava第9版/v2ch02/dom/server.xml b/corejava第9版/v2ch02/dom/server.xml new file mode 100644 index 0000000..d736c94 --- /dev/null +++ b/corejava第9版/v2ch02/dom/server.xml @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/corejava第9版/v2ch02/fontdialog-schema.xml b/corejava第9版/v2ch02/fontdialog-schema.xml new file mode 100644 index 0000000..21caba1 --- /dev/null +++ b/corejava第9版/v2ch02/fontdialog-schema.xml @@ -0,0 +1,85 @@ + + + + + + javax.swing.JLabel + + text + Face: + + + + + + javax.swing.JComboBox + + + + + javax.swing.JTextArea + + text + The quick brown fox jumps over the lazy dog + + + editable + false + + + lineWrap + true + + + border + + + javax.swing.border.EtchedBorder + + + + + + + + + + javax.swing.JLabel + + text + Size: + + + + + + javax.swing.JComboBox + + + + + + + javax.swing.JCheckBox + + text + Bold + + + + + + + + javax.swing.JCheckBox + + text + Italic + + + + + + + diff --git a/corejava第9版/v2ch02/fontdialog.xml b/corejava第9版/v2ch02/fontdialog.xml new file mode 100644 index 0000000..6940d55 --- /dev/null +++ b/corejava第9版/v2ch02/fontdialog.xml @@ -0,0 +1,93 @@ + + + + + + + javax.swing.JLabel + + text + Face: + + + + + + javax.swing.JComboBox + + + + + javax.swing.JTextArea + + text + The quick brown fox jumps over the lazy dog + + + editable + false + + + rows + 8 + + + columns + 20 + + + lineWrap + true + + + border + + + javax.swing.border.EtchedBorder + + + + + + + + + + javax.swing.JLabel + + text + Size: + + + + + + javax.swing.JComboBox + + + + + + + javax.swing.JCheckBox + + text + Bold + + + + + + + + javax.swing.JCheckBox + + text + Italic + + + + + + + diff --git a/corejava第9版/v2ch02/gridbag.dtd b/corejava第9版/v2ch02/gridbag.dtd new file mode 100644 index 0000000..b6ee8f8 --- /dev/null +++ b/corejava第9版/v2ch02/gridbag.dtd @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/corejava第9版/v2ch02/gridbag.xsd b/corejava第9版/v2ch02/gridbag.xsd new file mode 100644 index 0000000..6c6fe9e --- /dev/null +++ b/corejava第9版/v2ch02/gridbag.xsd @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/corejava第9版/v2ch02/read/GridBagPane.java b/corejava第9版/v2ch02/read/GridBagPane.java new file mode 100644 index 0000000..70a0cb3 --- /dev/null +++ b/corejava第9版/v2ch02/read/GridBagPane.java @@ -0,0 +1,202 @@ +package read; + +import java.awt.*; +import java.beans.*; +import java.io.*; +import java.lang.reflect.*; +import javax.swing.*; +import javax.xml.parsers.*; +import org.w3c.dom.*; + +/** + * This panel uses an XML file to describe its components and their grid bag layout positions. + */ +public class GridBagPane extends JPanel +{ + private GridBagConstraints constraints; + + /** + * Constructs a grid bag pane. + * @param filename the name of the XML file that describes the pane's components and their + * positions + */ + public GridBagPane(File file) + { + setLayout(new GridBagLayout()); + constraints = new GridBagConstraints(); + + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setValidating(true); + + if (file.toString().contains("-schema")) + { + factory.setNamespaceAware(true); + final String JAXP_SCHEMA_LANGUAGE = + "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; + final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; + factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); + } + + factory.setIgnoringElementContentWhitespace(true); + + DocumentBuilder builder = factory.newDocumentBuilder(); + Document doc = builder.parse(file); + parseGridbag(doc.getDocumentElement()); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Gets a component with a given name + * @param name a component name + * @return the component with the given name, or null if no component in this grid bag pane has + * the given name + */ + public Component get(String name) + { + Component[] components = getComponents(); + for (int i = 0; i < components.length; i++) + { + if (components[i].getName().equals(name)) return components[i]; + } + return null; + } + + /** + * Parses a gridbag element. + * @param e a gridbag element + */ + private void parseGridbag(Element e) + { + NodeList rows = e.getChildNodes(); + for (int i = 0; i < rows.getLength(); i++) + { + Element row = (Element) rows.item(i); + NodeList cells = row.getChildNodes(); + for (int j = 0; j < cells.getLength(); j++) + { + Element cell = (Element) cells.item(j); + parseCell(cell, i, j); + } + } + } + + /** + * Parses a cell element. + * @param e a cell element + * @param r the row of the cell + * @param c the column of the cell + */ + private void parseCell(Element e, int r, int c) + { + // get attributes + + String value = e.getAttribute("gridx"); + if (value.length() == 0) // use default + { + if (c == 0) constraints.gridx = 0; + else constraints.gridx += constraints.gridwidth; + } + else constraints.gridx = Integer.parseInt(value); + + value = e.getAttribute("gridy"); + if (value.length() == 0) // use default + constraints.gridy = r; + else constraints.gridy = Integer.parseInt(value); + + constraints.gridwidth = Integer.parseInt(e.getAttribute("gridwidth")); + constraints.gridheight = Integer.parseInt(e.getAttribute("gridheight")); + constraints.weightx = Integer.parseInt(e.getAttribute("weightx")); + constraints.weighty = Integer.parseInt(e.getAttribute("weighty")); + constraints.ipadx = Integer.parseInt(e.getAttribute("ipadx")); + constraints.ipady = Integer.parseInt(e.getAttribute("ipady")); + + // use reflection to get integer values of static fields + Class cl = GridBagConstraints.class; + + try + { + String name = e.getAttribute("fill"); + Field f = cl.getField(name); + constraints.fill = f.getInt(cl); + + name = e.getAttribute("anchor"); + f = cl.getField(name); + constraints.anchor = f.getInt(cl); + } + catch (Exception ex) // the reflection methods can throw various exceptions + { + ex.printStackTrace(); + } + + Component comp = (Component) parseBean((Element) e.getFirstChild()); + add(comp, constraints); + } + + /** + * Parses a bean element. + * @param e a bean element + */ + private Object parseBean(Element e) + { + try + { + NodeList children = e.getChildNodes(); + Element classElement = (Element) children.item(0); + String className = ((Text) classElement.getFirstChild()).getData(); + + Class cl = Class.forName(className); + + Object obj = cl.newInstance(); + + if (obj instanceof Component) ((Component) obj).setName(e.getAttribute("id")); + + for (int i = 1; i < children.getLength(); i++) + { + Node propertyElement = children.item(i); + Element nameElement = (Element) propertyElement.getFirstChild(); + String propertyName = ((Text) nameElement.getFirstChild()).getData(); + + Element valueElement = (Element) propertyElement.getLastChild(); + Object value = parseValue(valueElement); + BeanInfo beanInfo = Introspector.getBeanInfo(cl); + PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors(); + boolean done = false; + for (int j = 0; !done && j < descriptors.length; j++) + { + if (descriptors[j].getName().equals(propertyName)) + { + descriptors[j].getWriteMethod().invoke(obj, value); + done = true; + } + } + } + return obj; + } + catch (Exception ex) // the reflection methods can throw various exceptions + { + ex.printStackTrace(); + return null; + } + } + + /** + * Parses a value element. + * @param e a value element + */ + private Object parseValue(Element e) + { + Element child = (Element) e.getFirstChild(); + if (child.getTagName().equals("bean")) return parseBean(child); + String text = ((Text) child.getFirstChild()).getData(); + if (child.getTagName().equals("int")) return new Integer(text); + else if (child.getTagName().equals("boolean")) return new Boolean(text); + else if (child.getTagName().equals("string")) return text; + else return null; + } +} diff --git a/corejava第9版/v2ch02/read/GridBagTest.java b/corejava第9版/v2ch02/read/GridBagTest.java new file mode 100644 index 0000000..26c5e27 --- /dev/null +++ b/corejava第9版/v2ch02/read/GridBagTest.java @@ -0,0 +1,93 @@ +package read; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import javax.swing.*; + +/** + * This program shows how to use an XML file to describe a gridbag layout + * @version 1.11 2012-06-03 + * @author Cay Horstmann + */ +public class GridBagTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFileChooser chooser = new JFileChooser("."); + chooser.showOpenDialog(null); + File file = chooser.getSelectedFile(); + JFrame frame = new FontFrame(file); + frame.setTitle("GridBagTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains a font selection dialog that is described by an XML file. + * @param filename the file containing the user interface components for the dialog. + */ +class FontFrame extends JFrame +{ + private GridBagPane gridbag; + private JComboBox face; + private JComboBox size; + private JCheckBox bold; + private JCheckBox italic; + + @SuppressWarnings("unchecked") + public FontFrame(File file) + { + gridbag = new GridBagPane(file); + add(gridbag); + + face = (JComboBox) gridbag.get("face"); + size = (JComboBox) gridbag.get("size"); + bold = (JCheckBox) gridbag.get("bold"); + italic = (JCheckBox) gridbag.get("italic"); + + face.setModel(new DefaultComboBoxModel(new String[] { "Serif", + "SansSerif", "Monospaced", "Dialog", "DialogInput" })); + + size.setModel(new DefaultComboBoxModel(new String[] { "8", + "10", "12", "15", "18", "24", "36", "48" })); + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setSample(); + } + }; + + face.addActionListener(listener); + size.addActionListener(listener); + bold.addActionListener(listener); + italic.addActionListener(listener); + + setSample(); + pack(); + } + + /** + * This method sets the text sample to the selected font. + */ + public void setSample() + { + String fontFace = face.getItemAt(face.getSelectedIndex()); + int fontSize = Integer.parseInt(size.getItemAt(size.getSelectedIndex())); + JTextArea sample = (JTextArea) gridbag.get("sample"); + int fontStyle = (bold.isSelected() ? Font.BOLD : 0) + + (italic.isSelected() ? Font.ITALIC : 0); + + sample.setFont(new Font(fontFace, fontStyle, fontSize)); + sample.repaint(); + } +} diff --git a/corejava第9版/v2ch02/sax/SAXTest.java b/corejava第9版/v2ch02/sax/SAXTest.java new file mode 100644 index 0000000..204181e --- /dev/null +++ b/corejava第9版/v2ch02/sax/SAXTest.java @@ -0,0 +1,51 @@ +package sax; + +import java.io.*; +import java.net.*; +import javax.xml.parsers.*; +import org.xml.sax.*; +import org.xml.sax.helpers.*; + +/** + * This program demonstrates how to use a SAX parser. The program prints all hyperlinks of an + * XHTML web page.
        + * Usage: java sax.SAXTest URL + * @version 1.00 2001-09-29 + * @author Cay Horstmann + */ +public class SAXTest +{ + public static void main(String[] args) throws Exception + { + String url; + if (args.length == 0) + { + url = "http://www.w3c.org"; + System.out.println("Using " + url); + } + else url = args[0]; + + DefaultHandler handler = new DefaultHandler() + { + public void startElement(String namespaceURI, String lname, String qname, + Attributes attrs) + { + if (lname.equals("a") && attrs != null) + { + for (int i = 0; i < attrs.getLength(); i++) + { + String aname = attrs.getLocalName(i); + if (aname.equals("href")) System.out.println(attrs.getValue(i)); + } + } + } + }; + + SAXParserFactory factory = SAXParserFactory.newInstance(); + factory.setNamespaceAware(true); + factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); + SAXParser saxParser = factory.newSAXParser(); + InputStream in = new URL(url).openStream(); + saxParser.parse(in, handler); + } +} diff --git a/corejava第9版/v2ch02/stax/StAXTest.java b/corejava第9版/v2ch02/stax/StAXTest.java new file mode 100644 index 0000000..cc76f56 --- /dev/null +++ b/corejava第9版/v2ch02/stax/StAXTest.java @@ -0,0 +1,43 @@ +package stax; + +import java.io.*; +import java.net.*; +import javax.xml.stream.*; + +/** + * This program demonstrates how to use a StAX parser. The program prints all hyperlinks links of an + * XHTML web page.
        + * Usage: java stax.StAXTest URL + * @author Cay Horstmann + * @version 1.0 2007-06-23 + */ +public class StAXTest +{ + public static void main(String[] args) throws Exception + { + String urlString; + if (args.length == 0) + { + urlString = "http://www.w3c.org"; + System.out.println("Using " + urlString); + } + else urlString = args[0]; + URL url = new URL(urlString); + InputStream in = url.openStream(); + XMLInputFactory factory = XMLInputFactory.newInstance(); + XMLStreamReader parser = factory.createXMLStreamReader(in); + while (parser.hasNext()) + { + int event = parser.next(); + if (event == XMLStreamConstants.START_ELEMENT) + { + if (parser.getLocalName().equals("a")) + { + String href = parser.getAttributeValue(null, "href"); + if (href != null) + System.out.println(href); + } + } + } + } +} diff --git a/corejava第9版/v2ch02/transform/TransformTest.java b/corejava第9版/v2ch02/transform/TransformTest.java new file mode 100644 index 0000000..7b6c0e1 --- /dev/null +++ b/corejava第9版/v2ch02/transform/TransformTest.java @@ -0,0 +1,153 @@ +package transform; + +import java.io.*; +import java.nio.file.*; +import java.util.*; +import javax.xml.transform.*; +import javax.xml.transform.sax.*; +import javax.xml.transform.stream.*; +import org.xml.sax.*; +import org.xml.sax.helpers.*; + +/** + * This program demonstrates XSL transformations. It applies a transformation to a set of employee + * records. The records are stored in the file employee.dat and turned into XML format. Specify the + * stylesheet on the command line, e.g. + * java transform.TransformTest transform/makeprop.xsl + * @version 1.02 2012-06-04 + * @author Cay Horstmann + */ +public class TransformTest +{ + public static void main(String[] args) throws Exception + { + Path path; + if (args.length > 0) path = Paths.get(args[0]); + else path = Paths.get("transform", "makehtml.xsl"); + try (InputStream styleIn = Files.newInputStream(path)) + { + StreamSource styleSource = new StreamSource(styleIn); + + Transformer t = TransformerFactory.newInstance().newTransformer(styleSource); + t.setOutputProperty(OutputKeys.INDENT, "yes"); + t.setOutputProperty(OutputKeys.METHOD, "xml"); + t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); + + try (InputStream docIn = Files.newInputStream(Paths.get("transform", "employee.dat"))) + { + t.transform(new SAXSource(new EmployeeReader(), new InputSource(docIn)), + new StreamResult(System.out)); + } + } + } +} + +/** + * This class reads the flat file employee.dat and reports SAX parser events to act as if it was + * parsing an XML file. + */ +class EmployeeReader implements XMLReader +{ + private ContentHandler handler; + + public void parse(InputSource source) throws IOException, SAXException + { + InputStream stream = source.getByteStream(); + BufferedReader in = new BufferedReader(new InputStreamReader(stream)); + String rootElement = "staff"; + AttributesImpl atts = new AttributesImpl(); + + if (handler == null) throw new SAXException("No content handler"); + + handler.startDocument(); + handler.startElement("", rootElement, rootElement, atts); + String line; + while ((line = in.readLine()) != null) + { + handler.startElement("", "employee", "employee", atts); + StringTokenizer t = new StringTokenizer(line, "|"); + + handler.startElement("", "name", "name", atts); + String s = t.nextToken(); + handler.characters(s.toCharArray(), 0, s.length()); + handler.endElement("", "name", "name"); + + handler.startElement("", "salary", "salary", atts); + s = t.nextToken(); + handler.characters(s.toCharArray(), 0, s.length()); + handler.endElement("", "salary", "salary"); + + atts.addAttribute("", "year", "year", "CDATA", t.nextToken()); + atts.addAttribute("", "month", "month", "CDATA", t.nextToken()); + atts.addAttribute("", "day", "day", "CDATA", t.nextToken()); + handler.startElement("", "hiredate", "hiredate", atts); + handler.endElement("", "hiredate", "hiredate"); + atts.clear(); + + handler.endElement("", "employee", "employee"); + } + + handler.endElement("", rootElement, rootElement); + handler.endDocument(); + } + + public void setContentHandler(ContentHandler newValue) + { + handler = newValue; + } + + public ContentHandler getContentHandler() + { + return handler; + } + + // the following methods are just do-nothing implementations + public void parse(String systemId) throws IOException, SAXException + { + } + + public void setErrorHandler(ErrorHandler handler) + { + } + + public ErrorHandler getErrorHandler() + { + return null; + } + + public void setDTDHandler(DTDHandler handler) + { + } + + public DTDHandler getDTDHandler() + { + return null; + } + + public void setEntityResolver(EntityResolver resolver) + { + } + + public EntityResolver getEntityResolver() + { + return null; + } + + public void setProperty(String name, Object value) + { + } + + public Object getProperty(String name) + { + return null; + } + + public void setFeature(String name, boolean value) + { + } + + public boolean getFeature(String name) + { + return false; + } +} diff --git a/corejava第9版/v2ch02/transform/employee.dat b/corejava第9版/v2ch02/transform/employee.dat new file mode 100644 index 0000000..9dab5e0 --- /dev/null +++ b/corejava第9版/v2ch02/transform/employee.dat @@ -0,0 +1,3 @@ +Carl Cracker|75000.0|1987|12|15 +Harry Hacker|50000.0|1989|10|1 +Tony Tester|40000.0|1990|3|15 diff --git a/corejava第9版/v2ch02/transform/makehtml.xsl b/corejava第9版/v2ch02/transform/makehtml.xsl new file mode 100644 index 0000000..b4c9962 --- /dev/null +++ b/corejava第9版/v2ch02/transform/makehtml.xsl @@ -0,0 +1,31 @@ + + + + + + + +
        + + + + + + + + + + + + $ + + + + -- + + + + diff --git a/corejava第9版/v2ch02/transform/makeprop.xsl b/corejava第9版/v2ch02/transform/makeprop.xsl new file mode 100644 index 0000000..1b4df28 --- /dev/null +++ b/corejava第9版/v2ch02/transform/makeprop.xsl @@ -0,0 +1,20 @@ + + + + + + + +employee..name= +employee..salary= +employee..hiredate=-- + + + diff --git a/corejava第9版/v2ch02/write/RectangleComponent.java b/corejava第9版/v2ch02/write/RectangleComponent.java new file mode 100644 index 0000000..f4ca8d8 --- /dev/null +++ b/corejava第9版/v2ch02/write/RectangleComponent.java @@ -0,0 +1,148 @@ +package write; + +import java.awt.*; +import java.awt.geom.*; +import java.util.*; +import javax.swing.*; +import javax.xml.parsers.*; +import javax.xml.stream.*; +import org.w3c.dom.*; + +/** + * A component that shows a set of colored rectangles + */ +public class RectangleComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private java.util.List rects; + private java.util.List colors; + private Random generator; + private DocumentBuilder builder; + + public RectangleComponent() + { + rects = new ArrayList<>(); + colors = new ArrayList<>(); + generator = new Random(); + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + try + { + builder = factory.newDocumentBuilder(); + } + catch (ParserConfigurationException e) + { + e.printStackTrace(); + } + } + + /** + * Create a new random drawing. + */ + public void newDrawing() + { + int n = 10 + generator.nextInt(20); + rects.clear(); + colors.clear(); + for (int i = 1; i <= n; i++) + { + int x = generator.nextInt(getWidth()); + int y = generator.nextInt(getHeight()); + int width = generator.nextInt(getWidth() - x); + int height = generator.nextInt(getHeight() - y); + rects.add(new Rectangle(x, y, width, height)); + int r = generator.nextInt(256); + int g = generator.nextInt(256); + int b = generator.nextInt(256); + colors.add(new Color(r, g, b)); + } + repaint(); + } + + public void paintComponent(Graphics g) + { + if (rects.size() == 0) newDrawing(); + Graphics2D g2 = (Graphics2D) g; + + // draw all rectangles + for (int i = 0; i < rects.size(); i++) + { + g2.setPaint(colors.get(i)); + g2.fill(rects.get(i)); + } + } + + /** + * Creates an SVG document of the current drawing. + * @return the DOM tree of the SVG document + */ + public Document buildDocument() + { + String namespace = "http://www.w3.org/2000/svg"; + Document doc = builder.newDocument(); + Element svgElement = doc.createElementNS(namespace, "svg"); + doc.appendChild(svgElement); + svgElement.setAttribute("width", "" + getWidth()); + svgElement.setAttribute("height", "" + getHeight()); + for (int i = 0; i < rects.size(); i++) + { + Color c = colors.get(i); + Rectangle2D r = rects.get(i); + Element rectElement = doc.createElementNS(namespace, "rect"); + rectElement.setAttribute("x", "" + r.getX()); + rectElement.setAttribute("y", "" + r.getY()); + rectElement.setAttribute("width", "" + r.getWidth()); + rectElement.setAttribute("height", "" + r.getHeight()); + rectElement.setAttribute("fill", colorToString(c)); + svgElement.appendChild(rectElement); + } + return doc; + } + + /** + * Writes an SVG document of the current drawing. + * @param writer the document destination + */ + public void writeDocument(XMLStreamWriter writer) throws XMLStreamException + { + writer.writeStartDocument(); + writer.writeDTD(""); + writer.writeStartElement("svg"); + writer.writeDefaultNamespace("http://www.w3.org/2000/svg"); + writer.writeAttribute("width", "" + getWidth()); + writer.writeAttribute("height", "" + getHeight()); + for (int i = 0; i < rects.size(); i++) + { + Color c = colors.get(i); + Rectangle2D r = rects.get(i); + writer.writeEmptyElement("rect"); + writer.writeAttribute("x", "" + r.getX()); + writer.writeAttribute("y", "" + r.getY()); + writer.writeAttribute("width", "" + r.getWidth()); + writer.writeAttribute("height", "" + r.getHeight()); + writer.writeAttribute("fill", colorToString(c)); + } + writer.writeEndDocument(); // closes svg element + } + + /** + * Converts a color to a hex value. + * @param c a color + * @return a string of the form #rrggbb + */ + private static String colorToString(Color c) + { + StringBuffer buffer = new StringBuffer(); + buffer.append(Integer.toHexString(c.getRGB() & 0xFFFFFF)); + while (buffer.length() < 6) + buffer.insert(0, '0'); + buffer.insert(0, '#'); + return buffer.toString(); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v2ch02/write/XMLWriteFrame.java b/corejava第9版/v2ch02/write/XMLWriteFrame.java new file mode 100644 index 0000000..85dc681 --- /dev/null +++ b/corejava第9版/v2ch02/write/XMLWriteFrame.java @@ -0,0 +1,99 @@ +package write; + +import java.awt.event.*; +import java.beans.*; +import java.io.*; +import java.nio.file.*; +import javax.swing.*; +import javax.xml.stream.*; +import javax.xml.transform.*; +import javax.xml.transform.dom.*; +import javax.xml.transform.stream.*; +import org.w3c.dom.*; + +/** + * A frame with a component for showing a modern drawing. + */ +public class XMLWriteFrame extends JFrame +{ + private RectangleComponent comp; + private JFileChooser chooser; + + public XMLWriteFrame() + { + chooser = new JFileChooser(); + + // add component to frame + + comp = new RectangleComponent(); + add(comp); + + // set up menu bar + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu menu = new JMenu("File"); + menuBar.add(menu); + + JMenuItem newItem = new JMenuItem("New"); + menu.add(newItem); + newItem.addActionListener(EventHandler.create(ActionListener.class, comp, "newDrawing")); + + JMenuItem saveItem = new JMenuItem("Save with DOM/XSLT"); + menu.add(saveItem); + saveItem.addActionListener(EventHandler.create(ActionListener.class, this, "saveDocument")); + + JMenuItem saveStAXItem = new JMenuItem("Save with StAX"); + menu.add(saveStAXItem); + saveStAXItem.addActionListener(EventHandler.create(ActionListener.class, this, "saveStAX")); + + JMenuItem exitItem = new JMenuItem("Exit"); + menu.add(exitItem); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + pack(); + } + + /** + * Saves the drawing in SVG format, using DOM/XSLT + */ + public void saveDocument() throws TransformerException, IOException + { + if (chooser.showSaveDialog(this) != JFileChooser.APPROVE_OPTION) return; + File file = chooser.getSelectedFile(); + Document doc = comp.buildDocument(); + Transformer t = TransformerFactory.newInstance().newTransformer(); + t.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, + "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd"); + t.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "-//W3C//DTD SVG 20000802//EN"); + t.setOutputProperty(OutputKeys.INDENT, "yes"); + t.setOutputProperty(OutputKeys.METHOD, "xml"); + t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); + t.transform(new DOMSource(doc), new StreamResult(Files.newOutputStream(file.toPath()))); + } + + /** + * Saves the drawing in SVG format, using StAX + */ + public void saveStAX() throws IOException, XMLStreamException + { + if (chooser.showSaveDialog(this) != JFileChooser.APPROVE_OPTION) return; + File file = chooser.getSelectedFile(); + XMLOutputFactory factory = XMLOutputFactory.newInstance(); + XMLStreamWriter writer = factory.createXMLStreamWriter(Files.newOutputStream(file.toPath())); + try + { + comp.writeDocument(writer); + } + finally + { + writer.close(); // Not autocloseable + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch02/write/XMLWriteTest.java b/corejava第9版/v2ch02/write/XMLWriteTest.java new file mode 100644 index 0000000..1310eae --- /dev/null +++ b/corejava第9版/v2ch02/write/XMLWriteTest.java @@ -0,0 +1,27 @@ +package write; + +import java.awt.*; +import javax.swing.*; + +/** + * This program shows how to write an XML file. It saves a file describing a modern drawing in SVG + * format. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +public class XMLWriteTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new XMLWriteFrame(); + frame.setTitle("XMLWriteTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch02/xpath/XPathTester.java b/corejava第9版/v2ch02/xpath/XPathTester.java new file mode 100644 index 0000000..6c62eb8 --- /dev/null +++ b/corejava第9版/v2ch02/xpath/XPathTester.java @@ -0,0 +1,190 @@ +package xpath; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.nio.file.*; +import javax.swing.*; +import javax.swing.border.*; +import javax.xml.namespace.*; +import javax.xml.parsers.*; +import javax.xml.xpath.*; +import org.w3c.dom.*; +import org.xml.sax.*; + +/** + * This program evaluates XPath expressions. + * @version 1.01 2007-06-25 + * @author Cay Horstmann + */ +public class XPathTester +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new XPathFrame(); + frame.setTitle("XPathTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame shows an XML document, a panel to type an XPath expression, and a text field to + * display the result. + */ +class XPathFrame extends JFrame +{ + private DocumentBuilder builder; + private Document doc; + private XPath path; + private JTextField expression; + private JTextField result; + private JTextArea docText; + private JComboBox typeCombo; + + public XPathFrame() + { + JMenu fileMenu = new JMenu("File"); + JMenuItem openItem = new JMenuItem("Open"); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + openFile(); + } + }); + fileMenu.add(openItem); + + JMenuItem exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + + JMenuBar menuBar = new JMenuBar(); + menuBar.add(fileMenu); + setJMenuBar(menuBar); + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + evaluate(); + } + }; + expression = new JTextField(20); + expression.addActionListener(listener); + JButton evaluateButton = new JButton("Evaluate"); + evaluateButton.addActionListener(listener); + + typeCombo = new JComboBox(new String[] { + "STRING", "NODE", "NODESET", "NUMBER", "BOOLEAN" }); + typeCombo.setSelectedItem("STRING"); + + JPanel panel = new JPanel(); + panel.add(expression); + panel.add(typeCombo); + panel.add(evaluateButton); + docText = new JTextArea(10, 40); + result = new JTextField(); + result.setBorder(new TitledBorder("Result")); + + add(panel, BorderLayout.NORTH); + add(new JScrollPane(docText), BorderLayout.CENTER); + add(result, BorderLayout.SOUTH); + + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + builder = factory.newDocumentBuilder(); + } + catch (ParserConfigurationException e) + { + JOptionPane.showMessageDialog(this, e); + } + + XPathFactory xpfactory = XPathFactory.newInstance(); + path = xpfactory.newXPath(); + pack(); + } + + /** + * Open a file and load the document. + */ + public void openFile() + { + JFileChooser chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File("xpath")); + + chooser.setFileFilter(new javax.swing.filechooser.FileFilter() + { + public boolean accept(File f) + { + return f.isDirectory() || f.getName().toLowerCase().endsWith(".xml"); + } + + public String getDescription() + { + return "XML files"; + } + }); + int r = chooser.showOpenDialog(this); + if (r != JFileChooser.APPROVE_OPTION) return; + File file = chooser.getSelectedFile(); + try + { + docText.setText(new String(Files.readAllBytes(file.toPath()))); + doc = builder.parse(file); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (SAXException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + public void evaluate() + { + try + { + String typeName = (String) typeCombo.getSelectedItem(); + QName returnType = (QName) XPathConstants.class.getField(typeName).get(null); + Object evalResult = path.evaluate(expression.getText(), doc, returnType); + if (typeName.equals("NODESET")) + { + NodeList list = (NodeList) evalResult; + StringBuilder builder = new StringBuilder(); + builder.append("{"); + for (int i = 0; i < list.getLength(); i++) + { + if (i > 0) builder.append(", "); + builder.append("" + list.item(i)); + } + builder.append("}"); + result.setText("" + builder); + } + else result.setText("" + evalResult); + } + catch (XPathExpressionException e) + { + result.setText("" + e); + } + catch (Exception e) // reflection exception + { + e.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch02/xpath/fontdialog.xml b/corejava第9版/v2ch02/xpath/fontdialog.xml new file mode 100644 index 0000000..59ef0fb --- /dev/null +++ b/corejava第9版/v2ch02/xpath/fontdialog.xml @@ -0,0 +1,85 @@ + + + + + + + javax.swing.JLabel + + text + Face: + + + + + + javax.swing.JComboBox + + + + + javax.swing.JTextArea + + text + The quick brown fox jumps over the lazy dog + + + editable + false + + + lineWrap + true + + + border + + + javax.swing.border.EtchedBorder + + + + + + + + + + javax.swing.JLabel + + text + Size: + + + + + + javax.swing.JComboBox + + + + + + + javax.swing.JCheckBox + + text + Bold + + + + + + + + javax.swing.JCheckBox + + text + Italic + + + + + + + diff --git a/corejava第9版/v2ch02/xpath/gridbag.dtd b/corejava第9版/v2ch02/xpath/gridbag.dtd new file mode 100644 index 0000000..b6ee8f8 --- /dev/null +++ b/corejava第9版/v2ch02/xpath/gridbag.dtd @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/corejava第9版/v2ch03/inetAddress/InetAddressTest.java b/corejava第9版/v2ch03/inetAddress/InetAddressTest.java new file mode 100644 index 0000000..80874ca --- /dev/null +++ b/corejava第9版/v2ch03/inetAddress/InetAddressTest.java @@ -0,0 +1,29 @@ +package inetAddress; + +import java.io.*; +import java.net.*; + +/** + * This program demonstrates the InetAddress class. Supply a host name as command-line argument, or + * run without command-line arguments to see the address of the local host. + * @version 1.02 2012-06-05 + * @author Cay Horstmann + */ +public class InetAddressTest +{ + public static void main(String[] args) throws IOException + { + if (args.length > 0) + { + String host = args[0]; + InetAddress[] addresses = InetAddress.getAllByName(host); + for (InetAddress a : addresses) + System.out.println(a); + } + else + { + InetAddress localHostAddress = InetAddress.getLocalHost(); + System.out.println(localHostAddress); + } + } +} diff --git a/corejava第9版/v2ch03/interruptible/InterruptibleSocketTest.java b/corejava第9版/v2ch03/interruptible/InterruptibleSocketTest.java new file mode 100644 index 0000000..65c1695 --- /dev/null +++ b/corejava第9版/v2ch03/interruptible/InterruptibleSocketTest.java @@ -0,0 +1,265 @@ +package interruptible; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import javax.swing.*; + +/** + * This program shows how to interrupt a socket channel. + * @author Cay Horstmann + * @version 1.03 2012-06-04 + */ +public class InterruptibleSocketTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new InterruptibleSocketFrame(); + frame.setTitle("InterruptibleSocketTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +class InterruptibleSocketFrame extends JFrame +{ + public static final int TEXT_ROWS = 20; + public static final int TEXT_COLUMNS = 60; + + private Scanner in; + private JButton interruptibleButton; + private JButton blockingButton; + private JButton cancelButton; + private JTextArea messages; + private TestServer server; + private Thread connectThread; + + public InterruptibleSocketFrame() + { + JPanel northPanel = new JPanel(); + add(northPanel, BorderLayout.NORTH); + + messages = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + add(new JScrollPane(messages)); + + interruptibleButton = new JButton("Interruptible"); + blockingButton = new JButton("Blocking"); + + northPanel.add(interruptibleButton); + northPanel.add(blockingButton); + + interruptibleButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + interruptibleButton.setEnabled(false); + blockingButton.setEnabled(false); + cancelButton.setEnabled(true); + connectThread = new Thread(new Runnable() + { + public void run() + { + try + { + connectInterruptibly(); + } + catch (IOException e) + { + messages.append("\nInterruptibleSocketTest.connectInterruptibly: " + e); + } + } + }); + connectThread.start(); + } + }); + + blockingButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + interruptibleButton.setEnabled(false); + blockingButton.setEnabled(false); + cancelButton.setEnabled(true); + connectThread = new Thread(new Runnable() + { + public void run() + { + try + { + connectBlocking(); + } + catch (IOException e) + { + messages.append("\nInterruptibleSocketTest.connectBlocking: " + e); + } + } + }); + connectThread.start(); + } + }); + + cancelButton = new JButton("Cancel"); + cancelButton.setEnabled(false); + northPanel.add(cancelButton); + cancelButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + connectThread.interrupt(); + cancelButton.setEnabled(false); + } + }); + server = new TestServer(); + new Thread(server).start(); + pack(); + } + + /** + * Connects to the test server, using interruptible I/O + */ + public void connectInterruptibly() throws IOException + { + messages.append("Interruptible:\n"); + try (SocketChannel channel = SocketChannel.open(new InetSocketAddress("localhost", 8189))) + { + in = new Scanner(channel); + while (!Thread.currentThread().isInterrupted()) + { + messages.append("Reading "); + if (in.hasNextLine()) + { + String line = in.nextLine(); + messages.append(line); + messages.append("\n"); + } + } + } + finally + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + messages.append("Channel closed\n"); + interruptibleButton.setEnabled(true); + blockingButton.setEnabled(true); + } + }); + } + } + + /** + * Connects to the test server, using blocking I/O + */ + public void connectBlocking() throws IOException + { + messages.append("Blocking:\n"); + try (Socket sock = new Socket("localhost", 8189)) + { + in = new Scanner(sock.getInputStream()); + while (!Thread.currentThread().isInterrupted()) + { + messages.append("Reading "); + if (in.hasNextLine()) + { + String line = in.nextLine(); + messages.append(line); + messages.append("\n"); + } + } + } + finally + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + messages.append("Socket closed\n"); + interruptibleButton.setEnabled(true); + blockingButton.setEnabled(true); + } + }); + } + } + + /** + * A multithreaded server that listens to port 8189 and sends numbers to the client, simulating a + * hanging server after 10 numbers. + */ + class TestServer implements Runnable + { + public void run() + { + try + { + ServerSocket s = new ServerSocket(8189); + + while (true) + { + Socket incoming = s.accept(); + Runnable r = new TestServerHandler(incoming); + Thread t = new Thread(r); + t.start(); + } + } + catch (IOException e) + { + messages.append("\nTestServer.run: " + e); + } + } + } + + /** + * This class handles the client input for one server socket connection. + */ + class TestServerHandler implements Runnable + { + private Socket incoming; + private int counter; + + /** + * Constructs a handler. + * @param i the incoming socket + */ + public TestServerHandler(Socket i) + { + incoming = i; + } + + public void run() + { + try + { + try + { + OutputStream outStream = incoming.getOutputStream(); + PrintWriter out = new PrintWriter(outStream, true /* autoFlush */); + while (counter < 100) + { + counter++; + if (counter <= 10) out.println(counter); + Thread.sleep(100); + } + } + finally + { + incoming.close(); + messages.append("Closing server\n"); + } + } + catch (Exception e) + { + messages.append("\nTestServerHandler.run: " + e); + } + } + } +} diff --git a/corejava第9版/v2ch03/mail/MailTest.java b/corejava第9版/v2ch03/mail/MailTest.java new file mode 100644 index 0000000..effd7a7 --- /dev/null +++ b/corejava第9版/v2ch03/mail/MailTest.java @@ -0,0 +1,59 @@ +package mail; + +import java.io.*; +import java.nio.charset.*; +import java.nio.file.*; +import java.util.*; +import javax.mail.*; +import javax.mail.internet.*; +import javax.mail.internet.MimeMessage.RecipientType; + +/** + * This program shows how to use JavaMail to send mail messages. + * @author Cay Horstmann + * @version 1.00 2012-06-04 + */ +public class MailTest +{ + public static void main(String[] args) throws MessagingException, IOException + { + Properties props = new Properties(); + try (InputStream in = Files.newInputStream(Paths.get("mail", "mail.properties"))) + { + props.load(in); + } + List lines = Files.readAllLines(Paths.get(args[0]), Charset.forName("UTF-8")); + + String from = lines.get(0); + String to = lines.get(1); + String subject = lines.get(2); + + StringBuilder builder = new StringBuilder(); + for (int i = 3; i < lines.size(); i++) + { + builder.append(lines.get(i)); + builder.append("\n"); + } + + Console console = System.console(); + String password = new String(console.readPassword("Password: ")); + + Session mailSession = Session.getDefaultInstance(props); + // mailSession.setDebug(true); + MimeMessage message = new MimeMessage(mailSession); + message.setFrom(new InternetAddress(from)); + message.addRecipient(RecipientType.TO, new InternetAddress(to)); + message.setSubject(subject); + message.setText(builder.toString()); + Transport tr = mailSession.getTransport(); + try + { + tr.connect(null, password); + tr.sendMessage(message, message.getAllRecipients()); + } + finally + { + tr.close(); + } + } +} diff --git a/corejava第9版/v2ch03/mail/mail.properties b/corejava第9版/v2ch03/mail/mail.properties new file mode 100644 index 0000000..e6c34c3 --- /dev/null +++ b/corejava第9版/v2ch03/mail/mail.properties @@ -0,0 +1,4 @@ +mail.transport.protocol=smtps +mail.smtps.auth=true +mail.smtps.host=smtp.gmail.com +mail.smtps.user=cayhorstmann@gmail.com diff --git a/corejava第9版/v2ch03/mail/message.txt b/corejava第9版/v2ch03/mail/message.txt new file mode 100644 index 0000000..7653787 --- /dev/null +++ b/corejava第9版/v2ch03/mail/message.txt @@ -0,0 +1,12 @@ +president@whitehouse.gov +you@yourcompany.com +Invitation +Dear You: + +It is my pleasure to invite you to a black-tie reception +on the front lawn of the White House on April 1, 2013. + +Sincerely, + + +Barack Obama diff --git a/corejava第9版/v2ch03/post/PostTest.java b/corejava第9版/v2ch03/post/PostTest.java new file mode 100644 index 0000000..381306e --- /dev/null +++ b/corejava第9版/v2ch03/post/PostTest.java @@ -0,0 +1,70 @@ +package post; + +import java.io.*; +import java.net.*; +import java.nio.file.*; +import java.util.*; + +/** + * This program demonstrates how to use the URLConnection class for a POST request. + * @version 1.30 2012-06-04 + * @author Cay Horstmann + */ +public class PostTest +{ + public static void main(String[] args) throws IOException + { + Properties props = new Properties(); + try (InputStream in = Files.newInputStream(Paths.get(args[0]))) + { + props.load(in); + } + String url = props.remove("url").toString(); + String result = doPost(url, props); + System.out.println(result); + } + + public static String doPost(String urlString, Map nameValuePairs) + throws IOException + { + URL url = new URL(urlString); + URLConnection connection = url.openConnection(); + connection.setDoOutput(true); + + try (PrintWriter out = new PrintWriter(connection.getOutputStream())) + { + boolean first = true; + for (Map.Entry pair : nameValuePairs.entrySet()) + { + if (first) first = false; + else out.print('&'); + String name = pair.getKey().toString(); + String value = pair.getValue().toString(); + out.print(name); + out.print('='); + out.print(URLEncoder.encode(value, "UTF-8")); + } + } + + StringBuilder response = new StringBuilder(); + try (Scanner in = new Scanner(connection.getInputStream())) + { + while (in.hasNextLine()) + { + response.append(in.nextLine()); + response.append("\n"); + } + } + catch (IOException e) + { + if (!(connection instanceof HttpURLConnection)) throw e; + InputStream err = ((HttpURLConnection) connection).getErrorStream(); + if (err == null) throw e; + Scanner in = new Scanner(err); + response.append(in.nextLine()); + response.append("\n"); + } + + return response.toString(); + } +} diff --git a/corejava第9版/v2ch03/post/post.properties b/corejava第9版/v2ch03/post/post.properties new file mode 100644 index 0000000..8db59e4 --- /dev/null +++ b/corejava第9版/v2ch03/post/post.properties @@ -0,0 +1,7 @@ +url=http://esa.un.org/unpd/wpp/unpp/p2k0data_script.asp +Panel=1 +Variable=12; +Location=404 +Varient=2 +StartYear=1950 +EndYear=2050 diff --git a/corejava第9版/v2ch03/server/EchoServer.java b/corejava第9版/v2ch03/server/EchoServer.java new file mode 100644 index 0000000..e0549ac --- /dev/null +++ b/corejava第9版/v2ch03/server/EchoServer.java @@ -0,0 +1,44 @@ +package server; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** + * This program implements a simple server that listens to port 8189 and echoes back all client + * input. + * @version 1.21 2012-05-19 + * @author Cay Horstmann + */ +public class EchoServer +{ + public static void main(String[] args) throws IOException + { + // establish server socket + try (ServerSocket s = new ServerSocket(8189)) + { + // wait for client connection + try (Socket incoming = s.accept()) + { + InputStream inStream = incoming.getInputStream(); + OutputStream outStream = incoming.getOutputStream(); + + try (Scanner in = new Scanner(inStream)) + { + PrintWriter out = new PrintWriter(outStream, true /* autoFlush */); + + out.println("Hello! Enter BYE to exit."); + + // echo client input + boolean done = false; + while (!done && in.hasNextLine()) + { + String line = in.nextLine(); + out.println("Echo: " + line); + if (line.trim().equals("BYE")) done = true; + } + } + } + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch03/socket/SocketTest.java b/corejava第9版/v2ch03/socket/SocketTest.java new file mode 100644 index 0000000..12a543c --- /dev/null +++ b/corejava第9版/v2ch03/socket/SocketTest.java @@ -0,0 +1,30 @@ +package socket; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** + * This program makes a socket connection to the atomic clock in Boulder, Colorado, and prints the time that the server + * sends. + * + * @version 1.20 2004-08-03 + * @author Cay Horstmann + */ +public class SocketTest +{ + public static void main(String[] args) throws IOException + { + try (Socket s = new Socket("time-A.timefreq.bldrdoc.gov", 13)) + { + InputStream inStream = s.getInputStream(); + Scanner in = new Scanner(inStream); + + while (in.hasNextLine()) + { + String line = in.nextLine(); + System.out.println(line); + } + } + } +} diff --git a/corejava第9版/v2ch03/threaded/ThreadedEchoServer.java b/corejava第9版/v2ch03/threaded/ThreadedEchoServer.java new file mode 100644 index 0000000..bb7d46b --- /dev/null +++ b/corejava第9版/v2ch03/threaded/ThreadedEchoServer.java @@ -0,0 +1,89 @@ +package threaded; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** + This program implements a multithreaded server that listens to port 8189 and echoes back + all client input. + @author Cay Horstmann + @version 1.21 2012-06-04 +*/ +public class ThreadedEchoServer +{ + public static void main(String[] args ) + { + try + { + int i = 1; + ServerSocket s = new ServerSocket(8189); + + while (true) + { + Socket incoming = s.accept(); + System.out.println("Spawning " + i); + Runnable r = new ThreadedEchoHandler(incoming); + Thread t = new Thread(r); + t.start(); + i++; + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } +} + +/** + This class handles the client input for one server socket connection. +*/ +class ThreadedEchoHandler implements Runnable +{ + private Socket incoming; + + /** + Constructs a handler. + @param i the incoming socket + */ + public ThreadedEchoHandler(Socket i) + { + incoming = i; + } + + public void run() + { + try + { + try + { + InputStream inStream = incoming.getInputStream(); + OutputStream outStream = incoming.getOutputStream(); + + Scanner in = new Scanner(inStream); + PrintWriter out = new PrintWriter(outStream, true /* autoFlush */); + + out.println( "Hello! Enter BYE to exit." ); + + // echo client input + boolean done = false; + while (!done && in.hasNextLine()) + { + String line = in.nextLine(); + out.println("Echo: " + line); + if (line.trim().equals("BYE")) + done = true; + } + } + finally + { + incoming.close(); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch03/urlConnection/URLConnectionTest.java b/corejava第9版/v2ch03/urlConnection/URLConnectionTest.java new file mode 100644 index 0000000..eedccff --- /dev/null +++ b/corejava第9版/v2ch03/urlConnection/URLConnectionTest.java @@ -0,0 +1,168 @@ +package urlConnection; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** + * This program connects to an URL and displays the response header data and the first 10 lines of + * the requested data. + * + * Supply the URL and an optional username and password (for HTTP basic authentication) on the + * command line. + * @version 1.11 2007-06-26 + * @author Cay Horstmann + */ +public class URLConnectionTest +{ + public static void main(String[] args) + { + try + { + String urlName; + if (args.length > 0) urlName = args[0]; + else urlName = "http://horstmann.com"; + + URL url = new URL(urlName); + URLConnection connection = url.openConnection(); + + // set username, password if specified on command line + + if (args.length > 2) + { + String username = args[1]; + String password = args[2]; + String input = username + ":" + password; + String encoding = base64Encode(input); + connection.setRequestProperty("Authorization", "Basic " + encoding); + } + + connection.connect(); + + // print header fields + + Map> headers = connection.getHeaderFields(); + for (Map.Entry> entry : headers.entrySet()) + { + String key = entry.getKey(); + for (String value : entry.getValue()) + System.out.println(key + ": " + value); + } + + // print convenience functions + + System.out.println("----------"); + System.out.println("getContentType: " + connection.getContentType()); + System.out.println("getContentLength: " + connection.getContentLength()); + System.out.println("getContentEncoding: " + connection.getContentEncoding()); + System.out.println("getDate: " + connection.getDate()); + System.out.println("getExpiration: " + connection.getExpiration()); + System.out.println("getLastModifed: " + connection.getLastModified()); + System.out.println("----------"); + + Scanner in = new Scanner(connection.getInputStream()); + + // print first ten lines of contents + + for (int n = 1; in.hasNextLine() && n <= 10; n++) + System.out.println(in.nextLine()); + if (in.hasNextLine()) System.out.println(". . ."); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + /** + * Computes the Base64 encoding of a string. + * @param s a string + * @return the Base64 encoding of s + */ + public static String base64Encode(String s) + { + ByteArrayOutputStream bOut = new ByteArrayOutputStream(); + Base64OutputStream out = new Base64OutputStream(bOut); + try + { + out.write(s.getBytes()); + out.flush(); + } + catch (IOException e) + { + } + return bOut.toString(); + } +} + +/** + * This stream filter converts a stream of bytes to their Base64 encoding. + * + * Base64 encoding encodes 3 bytes into 4 characters. |11111122|22223333|33444444| Each set of 6 + * bits is encoded according to the toBase64 map. If the number of input bytes is not a multiple of + * 3, then the last group of 4 characters is padded with one or two = signs. Each output line is at + * most 76 characters. + */ +class Base64OutputStream extends FilterOutputStream +{ + private static char[] toBase64 = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', + 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' }; + + private int col = 0; + private int i = 0; + private int[] inbuf = new int[3]; + + /** + * Constructs the stream filter. + * @param out the stream to filter + */ + public Base64OutputStream(OutputStream out) + { + super(out); + } + + public void write(int c) throws IOException + { + inbuf[i] = c; + i++; + if (i == 3) + { + if (col >= 76) + { + super.write('\n'); + col = 0; + } + super.write(toBase64[(inbuf[0] & 0xFC) >> 2]); + super.write(toBase64[((inbuf[0] & 0x03) << 4) | ((inbuf[1] & 0xF0) >> 4)]); + super.write(toBase64[((inbuf[1] & 0x0F) << 2) | ((inbuf[2] & 0xC0) >> 6)]); + super.write(toBase64[inbuf[2] & 0x3F]); + col += 4; + i = 0; + } + } + + public void flush() throws IOException + { + if (i > 0 && col >= 76) + { + super.write('\n'); + col = 0; + } + if (i == 1) + { + super.write(toBase64[(inbuf[0] & 0xFC) >> 2]); + super.write(toBase64[(inbuf[0] & 0x03) << 4]); + super.write('='); + super.write('='); + } + else if (i == 2) + { + super.write(toBase64[(inbuf[0] & 0xFC) >> 2]); + super.write(toBase64[((inbuf[0] & 0x03) << 4) | ((inbuf[1] & 0xF0) >> 4)]); + super.write(toBase64[(inbuf[1] & 0x0F) << 2]); + super.write('='); + } + } +} diff --git a/corejava第9版/v2ch04/Authors.sql b/corejava第9版/v2ch04/Authors.sql new file mode 100644 index 0000000..3e8db94 --- /dev/null +++ b/corejava第9版/v2ch04/Authors.sql @@ -0,0 +1,40 @@ +CREATE TABLE Authors (Author_Id CHAR(4), Name CHAR(25), Fname CHAR(25)); +INSERT INTO Authors VALUES ('ALEX', 'Alexander', 'Christopher'); +INSERT INTO Authors VALUES ('BROO', 'Brooks', 'Frederick P.'); +INSERT INTO Authors VALUES ('CORM', 'Cormen', 'Thomas H.'); +INSERT INTO Authors VALUES ('DATE', 'Date', 'C. J.'); +INSERT INTO Authors VALUES ('DARW', 'Darwen', 'Hugh'); +INSERT INTO Authors VALUES ('FEIN', 'Feiner', 'Steven K.'); +INSERT INTO Authors VALUES ('FLAN', 'Flanagan', 'David'); +INSERT INTO Authors VALUES ('FOLE', 'Foley', 'James D.'); +INSERT INTO Authors VALUES ('GAMM', 'Gamma', 'Erich'); +INSERT INTO Authors VALUES ('GARF', 'Garfinkel', 'Simson'); +INSERT INTO Authors VALUES ('HEIN', 'Hein', 'Trent R.'); +INSERT INTO Authors VALUES ('HELM', 'Helm', 'Richard'); +INSERT INTO Authors VALUES ('HOPC', 'Hopcroft', 'John E.'); +INSERT INTO Authors VALUES ('HUGH', 'Hughes', 'John F.'); +INSERT INTO Authors VALUES ('ISHI', 'Ishikawa', 'Sara'); +INSERT INTO Authors VALUES ('JOHN', 'Johnson', 'Ralph'); +INSERT INTO Authors VALUES ('KAHN', 'Kahn', 'David'); +INSERT INTO Authors VALUES ('KERN', 'Kernighan', 'Brian'); +INSERT INTO Authors VALUES ('KIDD', 'Kidder', 'Tracy'); +INSERT INTO Authors VALUES ('KNUT', 'Knuth', 'Donald E.'); +INSERT INTO Authors VALUES ('LEIS', 'Leiserson', 'Charles E.'); +INSERT INTO Authors VALUES ('MOTW', 'Motwani', 'Rajeev'); +INSERT INTO Authors VALUES ('NEME', 'Nemeth', 'Evi'); +INSERT INTO Authors VALUES ('RAYM', 'Raymond', 'Eric'); +INSERT INTO Authors VALUES ('RITC', 'Ritchie', 'Dennis'); +INSERT INTO Authors VALUES ('RIVE', 'Rivest', 'Ronald R.'); +INSERT INTO Authors VALUES ('SCHN', 'Schneier', 'Bruce'); +INSERT INTO Authors VALUES ('SEEB', 'Seebass', 'Scott'); +INSERT INTO Authors VALUES ('SILV', 'Silverstein', 'Murray'); +INSERT INTO Authors VALUES ('SNYD', 'Snyder', 'Garth'); +INSERT INTO Authors VALUES ('STEI', 'Stein', 'Clifford E.'); +INSERT INTO Authors VALUES ('STOL', 'Stoll', 'Clifford'); +INSERT INTO Authors VALUES ('STRA', 'Strassmann', 'Steven'); +INSERT INTO Authors VALUES ('STRO', 'Stroustrup', 'Bjarne'); +INSERT INTO Authors VALUES ('ULLM', 'Ullman', 'Jeffrey D.'); +INSERT INTO Authors VALUES ('VAND', 'van Dam', 'Andries'); +INSERT INTO Authors VALUES ('VLIS', 'Vlissides', 'John'); +INSERT INTO Authors VALUES ('WEIS', 'Weise', 'Daniel'); +SELECT * FROM Authors; diff --git a/corejava第9版/v2ch04/Books.sql b/corejava第9版/v2ch04/Books.sql new file mode 100644 index 0000000..05dc278 --- /dev/null +++ b/corejava第9版/v2ch04/Books.sql @@ -0,0 +1,22 @@ +CREATE TABLE Books (Title CHAR(60), ISBN CHAR(13), Publisher_Id CHAR(6), Price DECIMAL(10,2)); +INSERT INTO Books VALUES ('A Guide to the SQL Standard', '0-201-96426-0', '0201', 47.95); +INSERT INTO Books VALUES ('A Pattern Language: Towns, Buildings, Construction', '0-19-501919-9', '019', 65.00); +INSERT INTO Books VALUES ('Applied Cryptography', '0-471-11709-9', '0471', 60.00); +INSERT INTO Books VALUES ('Computer Graphics: Principles and Practice', '0-201-84840-6', '0201', 79.99); +INSERT INTO Books VALUES ('Cuckoo''s Egg', '0-7434-1146-3', '07434', 13.95); +INSERT INTO Books VALUES ('Design Patterns', '0-201-63361-2', '0201', 54.99); +INSERT INTO Books VALUES ('Introduction to Algorithms', '0-262-03293-7', '0262', 80.00); +INSERT INTO Books VALUES ('Introduction to Automata Theory, Languages, and Computation', '0-201-44124-1', '0201', 105.00); +INSERT INTO Books VALUES ('JavaScript: The Definitive Guide', '0-596-00048-0', '0596', 44.95); +INSERT INTO Books VALUES ('The Art of Computer Programming vol. 1', '0-201-89683-4', '0201', 59.99); +INSERT INTO Books VALUES ('The Art of Computer Programming vol. 2', '0-201-89684-2', '0201', 59.99); +INSERT INTO Books VALUES ('The Art of Computer Programming vol. 3', '0-201-89685-0', '0201', 59.99); +INSERT INTO Books VALUES ('The C Programming Language', '0-13-110362-8', '013', 42.00); +INSERT INTO Books VALUES ('The C++ Programming Language', '0-201-70073-5', '0201', 64.99); +INSERT INTO Books VALUES ('The Cathedral and the Bazaar', '0-596-00108-8', '0596', 16.95); +INSERT INTO Books VALUES ('The Codebreakers', '0-684-83130-9', '07434', 70.00); +INSERT INTO Books VALUES ('The Mythical Man-Month', '0-201-83595-9', '0201', 29.95); +INSERT INTO Books VALUES ('The Soul of a New Machine', '0-679-60261-5', '0679', 18.95); +INSERT INTO Books VALUES ('The UNIX Hater''s Handbook', '1-56884-203-1', '0471', 16.95); +INSERT INTO Books VALUES ('UNIX System Administration Handbook', '0-13-020601-6', '013', 68.00); +SELECT * FROM Books diff --git a/corejava第9版/v2ch04/BooksAuthors.sql b/corejava第9版/v2ch04/BooksAuthors.sql new file mode 100644 index 0000000..40f1967 --- /dev/null +++ b/corejava第9版/v2ch04/BooksAuthors.sql @@ -0,0 +1,42 @@ +CREATE TABLE BooksAuthors (ISBN CHAR(13), Author_Id CHAR(4), Seq_No INT); +INSERT INTO BooksAuthors VALUES ('0-201-96426-0', 'DATE', 1); +INSERT INTO BooksAuthors VALUES ('0-201-96426-0', 'DARW', 2); +INSERT INTO BooksAuthors VALUES ('0-19-501919-9', 'ALEX', 1); +INSERT INTO BooksAuthors VALUES ('0-19-501919-9', 'ISHI', 2); +INSERT INTO BooksAuthors VALUES ('0-19-501919-9', 'SILV', 3); +INSERT INTO BooksAuthors VALUES ('0-471-11709-9', 'SCHN', 1); +INSERT INTO BooksAuthors VALUES ('0-201-84840-6', 'FOLE', 1); +INSERT INTO BooksAuthors VALUES ('0-201-84840-6', 'VAND', 2); +INSERT INTO BooksAuthors VALUES ('0-201-84840-6', 'FEIN', 3); +INSERT INTO BooksAuthors VALUES ('0-201-84840-6', 'HUGH', 4); +INSERT INTO BooksAuthors VALUES ('0-7434-1146-3', 'STOL', 1); +INSERT INTO BooksAuthors VALUES ('0-201-63361-2', 'GAMM', 1); +INSERT INTO BooksAuthors VALUES ('0-201-63361-2', 'HELM', 2); +INSERT INTO BooksAuthors VALUES ('0-201-63361-2', 'JOHN', 3); +INSERT INTO BooksAuthors VALUES ('0-201-63361-2', 'VLIS', 4); +INSERT INTO BooksAuthors VALUES ('0-262-03293-7', 'CORM', 1); +INSERT INTO BooksAuthors VALUES ('0-262-03293-7', 'LEIS', 2); +INSERT INTO BooksAuthors VALUES ('0-262-03293-7', 'RIVE', 3); +INSERT INTO BooksAuthors VALUES ('0-262-03293-7', 'STEI', 4); +INSERT INTO BooksAuthors VALUES ('0-201-44124-1', 'HOPC', 1); +INSERT INTO BooksAuthors VALUES ('0-201-44124-1', 'ULLM', 2); +INSERT INTO BooksAuthors VALUES ('0-201-44124-1', 'MOTW', 3); +INSERT INTO BooksAuthors VALUES ('0-596-00048-0', 'FLAN', 1); +INSERT INTO BooksAuthors VALUES ('0-201-89683-4', 'KNUT', 1); +INSERT INTO BooksAuthors VALUES ('0-201-89684-2', 'KNUT', 1); +INSERT INTO BooksAuthors VALUES ('0-201-89685-0', 'KNUT', 1); +INSERT INTO BooksAuthors VALUES ('0-13-110362-8', 'KERN', 1); +INSERT INTO BooksAuthors VALUES ('0-13-110362-8', 'RITC', 2); +INSERT INTO BooksAuthors VALUES ('0-201-70073-5', 'STRO', 1); +INSERT INTO BooksAuthors VALUES ('0-596-00108-8', 'RAYM', 1); +INSERT INTO BooksAuthors VALUES ('0-684-83130-9', 'KAHN', 1); +INSERT INTO BooksAuthors VALUES ('0-201-83595-9', 'BROO', 1); +INSERT INTO BooksAuthors VALUES ('0-679-60261-5', 'KIDD', 1); +INSERT INTO BooksAuthors VALUES ('1-56884-203-1', 'GARF', 1); +INSERT INTO BooksAuthors VALUES ('1-56884-203-1', 'WEIS', 2); +INSERT INTO BooksAuthors VALUES ('1-56884-203-1', 'STRA', 3); +INSERT INTO BooksAuthors VALUES ('0-13-020601-6', 'NEME', 1); +INSERT INTO BooksAuthors VALUES ('0-13-020601-6', 'SNYD', 2); +INSERT INTO BooksAuthors VALUES ('0-13-020601-6', 'SEEB', 3); +INSERT INTO BooksAuthors VALUES ('0-13-020601-6', 'HEIN', 4); +SELECT * FROM BooksAuthors; diff --git a/corejava第9版/v2ch04/COREJAVA/db.lck b/corejava第9版/v2ch04/COREJAVA/db.lck new file mode 100644 index 0000000000000000000000000000000000000000..e999b2376e5907ba596b0b28fe8a71f6d2594b46 GIT binary patch literal 38 rcmZQjNwhFDOExe_)ip3QPSiCtwn))6NH#LpH2?zRG|S|qB-11SsAvg7 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/dbex.lck b/corejava第9版/v2ch04/COREJAVA/dbex.lck new file mode 100644 index 0000000000000000000000000000000000000000..720d64f4baafc33efdf971f02084aca5f25b34a5 GIT binary patch literal 4 LcmZQzU|<9Q00jU7 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/log/log.ctrl b/corejava第9版/v2ch04/COREJAVA/log/log.ctrl new file mode 100644 index 0000000000000000000000000000000000000000..aea17964b1b5cc533f4cb337cdb680faae5830a9 GIT binary patch literal 48 mcmZQzU}#`qVBiE|Mg~Ubtw5R!h&dR9*t~!=3TWWEbs7LiUj!!r literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/log/log1.dat b/corejava第9版/v2ch04/COREJAVA/log/log1.dat new file mode 100644 index 0000000000000000000000000000000000000000..78fecfbc0b007a2e319767a99ca640064e2f3c9c GIT binary patch literal 1048576 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%0DaZ|uIV`#IW*Hd_4fMvC3{-LlX#Wpt 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�O(=D)m9 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 z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 p009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0;r{{R8(kx~Ev literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/log/logmirror.ctrl b/corejava第9版/v2ch04/COREJAVA/log/logmirror.ctrl new file mode 100644 index 0000000000000000000000000000000000000000..aea17964b1b5cc533f4cb337cdb680faae5830a9 GIT binary patch literal 48 mcmZQzU}#`qVBiE|Mg~Ubtw5R!h&dR9*t~!=3TWWEbs7LiUj!!r literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c10.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c10.dat new file mode 100644 index 0000000000000000000000000000000000000000..c7f8db28e1636ca661ab01232477aae0da7e367a GIT binary patch literal 8192 zcmeI1ze~eV5XUb;+B9uxhgz*aHwD3h3=w4*m;zNt#mo196pm(ARtSy}NhsvmJqR01)u!F45aV-rm0jdcP0tukIRf zk3AMq;l7#-f?{~N6dcC<4>yE?`Ru3e$MgR)Us@DH59|H zI?Up=Iz%xxtmkv98=G71%V-e+B0vO)01+SpM1Tko0U|&IhyW4z8v#LsEY8R&z^~u% ZfkP?4qi0{kI@(8`orQV7D%($Yz5x)nWS;;4 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c101.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c101.dat new file mode 100644 index 0000000000000000000000000000000000000000..1118178122878d154f3dc957aedb0924bf7933a6 GIT binary patch literal 8192 zcmeI0F%H5o3`Ok@ZAT_%Hb$73I0Itl2+V-Qf>;7 z7b%YO?ZnF4Vp)lZ+AK!mZ0c-mLOj;Yf0m;mf80(jvap$pbV8C^aoc|#t>urSThE`0 z?s7u^YKsn|B0jHXUCn%3)7U@&0uX=z1Rwwb2tWV=5P$##{*l1`uvS^x%fbgcabEWJ z)(~$7(#%>0JISj?K&w}s3jchSfnL0-;p(FGQ1k*OGAr}%PO+xMsT5cs009U<00Izz Y00bZa0SG_<0ucC}z*y!!dGqL=Uo0^$Z~y=R literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c111.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c111.dat new file mode 100644 index 0000000000000000000000000000000000000000..71b1f8d3f96f1adb7b0cd89180dd4c7c8814d408 GIT binary patch literal 8192 zcmeI$D-Oay5P;#?Hfby21~@Dj5)up-AQ%j1KmrL4gX9F{!tn_B#13R*- z^zE)8Ur!{d{xaA}R{RKPToq4+?|dVDb9PbF_SsnHy!=ciGWW5EjfuopA7DZN0R#|0 a009ILKmY**5I_KdUj;_8a7Qnv;rIoJ;V!rU literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c121.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c121.dat new file mode 100644 index 0000000000000000000000000000000000000000..fbf18b9c97f9d8c1268253438a612ab37daf5f8b GIT binary patch literal 8192 zcmeI$Jrcn{6u|MfDUy_qK&7NoIfGHC96^m4okporx`EaOoI>LQbZ)@gugr=tYV+Tj z?8ke%d6Qq4m8FOneQe8IpSwQoVm^)O{1I9${Bb$f%v_&Rq!l+AEw1aYt+D)JaBKTh z$-7*jd)2}8lOlfKOYdry>z5b{1Q0*~0R#|0009ILKmY**{!w7NUm02Gm&G6K%*~3o zZ;knSA}{pHU?XL95zsiRPR0LxBRzBWQPT-od-Y(;k7ODmcO7lv>=XhF2q1s}0tg_0 Y00IagfB*srAn?1uP-cGfWj8rK0W4ZBr2qf` literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c130.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c130.dat new file mode 100644 index 0000000000000000000000000000000000000000..7b2a6548baada97b880355f2e256c0229b1eeec6 GIT binary patch literal 8192 zcmeI$F%E(-6oBDZLa+k^n~90Daq|G4fw&s3fhKNVz!P`@@8c!hoSgMhcuFb`PA29r zp_KQUKKgA%wj$#6ZdwxhEcE@(^8J{O?_G<+A759RsoQK}lX5NY?d6;2)vv2)t?n~t z7md4x$g{}6x}m1u4`c`-fB*srAb^O2lK%zz8 zQZDwL6DO~;Wg{YLSJ4s|Qy1e9>T%Bc&$2brABS_RtnA7~x?z&q;x_);T9-eK9zFk5 z^e&g^-|eQuXc0fJ7Tucpu9jnf00IagfB*srAbfc-x z7T2XnQ>5oyU(=m>GK3I7009ILKmY**5I_I{1Q7Tyfy?!%vbQ^h_kH4LgST6Te3VEt w+dtJ?8`koPpUPT?zPAZx2q1s}0tg_000IagfB*srAn;p(mCUPx=lg8(0!6?R4FCWD literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c161.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c161.dat new file mode 100644 index 0000000000000000000000000000000000000000..90960e6d4a00549e71d007bcbb2ef09b92b2e39c GIT binary patch literal 8192 zcmeI$yA8rH5P;!xiXCKFiCVpQdx}N2skz;`X0tg_000IagfB*srAb`L>3Y^Y+BOCp)_=BCfS@HI* zvEDA^g&r9krK}GEI%oA$@ju_l(A<62EJM{EJ=peBS%iu`EwGKVt4|OSKmY**5I_I{ X1Q0*~0R#|0;0J+;to-h3cbmTed?PMZ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c171.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c171.dat new file mode 100644 index 0000000000000000000000000000000000000000..55d40959a493d5ee3bf7cd04992bfc655896f7ef GIT binary patch literal 8192 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 D-%QKw literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c191.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c191.dat new file mode 100644 index 0000000000000000000000000000000000000000..cf52d6bc1a546df57674b4682437a49c14cc2daf GIT binary patch literal 16384 zcmeI3ON`r86oyZnhx43Qr|+SUX-nCRly=%_`l4~1JE=QK?AlJ-X$vlWEntO2DqnyH%j2a@%Ne^BdT@!($}Z_ z^?fY9V()MGCt3Cz75~qO<;Q%~fk*a|D`W&@1Y`tc1Y`tc1Y`tc1Y`tc1Y`tc1Y`uB zya>Gc-Vb--2KwEt?=JzB%ZEmK(rq7VNM*2eSKuAUhDt!>Qm|XE&`-c(;=aE&@ovyc z+CvgOX+sCU=Y!VQ`C3#a{=|iDxvs!c8lHyTSIYYqE9LUlg>w1&<%RuA2M#Zk4_&*0 zKk2h?@xb-PGOUAXXVuXiuhwa>piZmZLzJK(j+lZ8 zL@b*&GaBs`wi;p-6^h~*QbrKdY3r_Gwk^%pS|KT|LP?zDN4QJsK{7BQ4)J@{V6MAr zF{8a~cH^t$U~*gxj#5jrSNnsL$itL4#vgCXHg#6-*bE0g>{g-()8e2>C}EUCP>+&@ z8F7j~R*uDVL!&J0PaY);>%>XEKaQ)phT|G~=#P?zS#ioN%wVrvt=41_Cqxd`i=zsV z>!Lzu5(U^GPRN0ZgihTJ_g6Boab$lk5mq83LOl6U7j(5|(>tZv-Ly+iz$S49p4K*N znP=DlVhT2kBhU?-SxrqJWK6=AXhxLUxe?X}YNw{JbS#f%&6?(flU_0dTg7RMurHG4 zY3;hl+BEuJ(`n*e1JCX`>;zv3Hm9dZHwav4d(Gzn^@Raxgx4~TW0f(SP zSQ>%GUaIgc)thEbx0&X$rm1VL$Hq$w5UNwG}oK z3MW>}bPSs6mu<7Jh#VL4MBzIgJFR_>q)F%#^glEMem{YaboSK3Y z;v~!|BE{s?G*qkNtSzvKSVKuwTXp^0B1!-?1656&h)ESe97-xxg=$TliNhE$2eV4e zLRA;X;5Y`D!4Br2S|6K&ITcbU8`L~h+1QlfoKg!TH|=tTjDU=QXaq9f;d5umT!5DW z(huQ9v>)PgXh?fdM>_{PK7{^>mQ(LT73~?Qp)J4)KDPdbYUbo?fG?yc57M&o2jENV z$~|bHeV*IR!0a=JOTs%L|DI1j$@CS=G}`XS4YD#3p$fzjsVw6! z7jUA->mj<#)AcWjC4sna8(=mdnJvpkrJ@I;tAr9I5X8E*1Gf3Fy5X#Slb($b3}UfV z^zq)ZbCzkl-sujrSE;+?VJb>7h(+y&`B49KR}GHNVcbUGKIBgCSIy$lD1 zdzp#Q5@J!qUUF2dm)Qt?Ar>7LYRfib=hV8xh^p@Kou>ge`|>f;&wQMM z5d{w`Vx#Sg5PIZHgqOS+O=C?cRvo5R_Z+5oY{OmkEVF6o;pCAnjw5n}*^c+p(b>+Y z%;Gpw#{e@j+liUXjU#FdFngzthi6hydvj)f9Ni*3gQ)LAXAsfSCD9PE|blEOR9nT7Pn=p!!y5ddz;%uQW?^}a{C56 zhs#S;v8R59i)imqeV+T2(`Jc~s*z1Tpna1caNDFc%0sw-_9NO?S>emTm4bQNCh;+x aMSBriXlHoM{}pKgs4ooE|F<5@o%kP}|H4QB literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c1a1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c1a1.dat new file mode 100644 index 0000000000000000000000000000000000000000..f3dd71e08b399dee937b5748a7b9722ac3e83706 GIT binary patch literal 8192 zcmeI1yOZ2R5XO5~+L2b$-ky0JV9eW`dHC>1ni-A2VDUNwrYNEd$n*@zpuiCU2__|S zN|9VfNjL+tqsUm?KeAvD7`$N%qo?4H#7%Wr>wJI0UAMS*jF;Gda1 z_9iEcr}yOE_=Is&Xv)Bpfhhx12Br*58JIFKWnjv{lz}M&QwF9C+-n*5{rv8y@Hwvf z@c#ZXxLfV_|8pLP{dabV03R8A1>wCsqYiJkXK-P5bBxZuyWQ&^J-BB9AHYYq zd%mOyK9u+w8^Ij5;p|}3UdmMN$TTl@nxR%ZY1#BU5|4Z++osVCcrXhfB;Lv_Lq6sB z5SGMCn;9k3jN_LO5ns!!ZgDLfA3;pKw%K51syIG|gm@)$g}mnY1Xjcwo0qsA!|^NF zAil?};rSLEzX5CF8>=+t(=z;Az$Wohss{Oz;{!NFd~0=z>!~?Dg!_okq%QD$8;)PX z{luqM_n6O?<0E)rT#qyw`HtgbcyOG*O^ubBoj-xCaekF`$g}gW;349(R;gBMH2hut zKi`0di8o5OO6q~**YF7OMO!E-4Od_DO*l=wRklT*t1nN$qa)weN=d`jmlwbp;%n8k ztu$PHc_BPTeAjmPc^R(0yd^wNyiz^-!Ep8EMeqdieJ9axhN~|xh9^f}XXt0c)t8sR zQ^e<8j`d==`tnxrH1SevtVhGum$w1W5U)Ce^=`QO^44&c_)J^ePYhRI-X=UteA(5w zUm4E-zJP7wTixJ(XgL4-0h}Yg?mFCW4d;J9gy)DidcghMaQ^p~@I3KDpW^kR;Qa4L z@B;DHWOzL)IRE=Gyhyz4Rjp*f`QK0AJn^+Lrj-Tfe}4r##N+OkTUl`aUkG@Kcx7sd zJm>#K02hciebeE3IR7s~ki_?zLxX9 zSi!5r_h<+!E$4r+0k09SY>A(j<@_(!aEbUqHs}Y-`Cn{8RgDX>9U9JZ1t3mA_4>FX zIiRC0R{?>5>J1to%M?q-awQN1P`yb5bedyLTCN6y5URImKvrrjddn3-u!QPu8c@5> zKw7Q}f(WWz8qk(CZd;ZsgCK_LG7V_b7WYNV)j^Oz^$ra%Wse)L;TkeS4t zz2qt(*nsLi8er=jFC8UU3c(txD>NX@G+vuZt`>r$UpMhC=pH%Ho%ri3>^qIOoi0e@ zJxKA_-#vzx@F7rVp^PJPl<<$5FP4M=@bxJjfSk~G|Q?c`UQ?S^YFi4mk8X+ZJW;Ckaf z9l1Dg?dX=%fYc|AzovPvyZGXo)8)QXk2E>$dY4-+B1q>y5VK1R>HNU8SD!dC7+gF4 ek>(Vx9TLAFU9DYwzUSg_5k4M`^v#){{`wbL{0#>H literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c1b1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c1b1.dat new file mode 100644 index 0000000000000000000000000000000000000000..2e1d578a7bf38841dfc91ca4f0c5cc25b9c0d224 GIT binary patch literal 16384 zcmeI3O^6&t7>3{Jzv}7v-5CF3jM2p8G|)ZMGdr8CI{rlsL6pUdBE-!m2R#WI#e;~T zM-f2;Z(c<7BpwwJ#k&Uy9tAH7A|AYJec#ONPPS{zl;1&=uVLQqsp@{Z`|awkertAd z89>c`Xo^@9)S;m5t< z_HfYakDswQej4F7F7AxSjtHOka~t7n2C0Z*hX*VrMO{WIh*C!;qx6ZAp&_Ht&_=C+ zri@Y&rHPh|G9*e1Z5d@mlr}mt%DSZl3A!@Mm?#EoGRg)~QXCLbN@}}79oNYy)OLdm z2W1p$yFmljODJ}{&Qjt8H^?Z|>SBW%MU;|`B}s9Uj6%nf)N!+nLU%xt;ZTLbgP!Bn z20i=qWC+{1MMfcC!VV70DCA4n#jS42s>8T^2Q+a+M&Uc4h1+Blz607gRiSwFYDGy; zsic9^G73GVk|s7qlp(pBv~ZV&@}%!t~a$uK!1!%*Whjmpcc7N`U2fI8rE zz&?@B0LfRZudtS+@o%gjk!J5xLe92Wo22z`Szl#cCry86{g~EIcUX^*njcu-VLeA0 zZ?hgIjjpi1&3cwKA`QP}eVMgS8vM%oA?tb8L!`CuS>IxPm^C297p#|AH*sou?mvC9 z_0(1Q{}_(iniJF71-(}OpRF1=MgmsO|NrPG{7MJmMWL=d=sNPh7lq$u6G#5{qEJU3 z8b|*3qEJ5`rjGpYMWJpytUL0*7lm?em^t#l4~0j1!iFRNdr|0BAZ$AFzZZqxL&KIM z|9esBO54Ajspfw#3SH^QIP$+2g|2jzI`Y34g|2i|cjSK`3XjG`nIr#uQRqrX4M+a> zqR^F&nvVSMMWMtIwH*21i$d)sPM78X71Q#7+Dlwtmj73!P{;Vl{>go rM&YQu`@ez>5t3OD$A-0<9P3_pmW_xQUDh(^bLUeR^QorsGgwRhxSeZerK=R_$3sS&>;9{Cwm(lE17DT= z%L&7~e#|&&;?Fg_>sjs^8XE{e00Izz00bZa0SG_<0uX?}KN2_`w?@`_v-rTyTvWW> zHRjuiywH)sUdnn9&>7WL@ttpEWNuzHRmj@WgPjG;WDzn~r|3|^1{ee&009U<00Izz X00bZa0SG_<0>2TM%F-89r%Uez@u)7| literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c1e0.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c1e0.dat new file mode 100644 index 0000000000000000000000000000000000000000..761408d3b3483e2cb3bc4d3d46e37c5e92d2a255 GIT binary patch literal 8192 zcmeI#u?@m75J1s8gMx)9XsIY^8GsoOEn*EoqGJIjUU*)|)wt@6|}sAD0WOtjp>!ZW>r~9~a-eZ+^K-&Z<6h zQdnN6BCjSb=Z2ns-%=rk00IagfB*srAb<{9 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c1f1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c1f1.dat new file mode 100644 index 0000000000000000000000000000000000000000..78d701f45559f9fc67104563ad350118d55c794e GIT binary patch literal 8192 zcmeI$Ar8Vo5J1tHinfv?;3`3(uvmiT2xuU|VUV1F8*mCvfUHJ>2!By+fASA$XZ0yu4*JMrY^=I)Z?7ZAN6=ie_YP2va~A~>4i;dhuiw==sf;7y7m22 z(YsutxY|vJ(II|cE4nlDZ7atD0R#|0009ILKmY**5I_Kde-zjsHYzLovhahQxLNl0 zt)c!}NHc30>?Cg*0iCnvsqmk#GSJdz^`#*2%_jYW2b8E45f4`VJGP~eX0kg;R^6Xue+ZF)#P-;9MM(3v zh*Ag%yhHljrZj{;@j|LfAQeHWc;W@BK2<`ZAuk{y(I5~=AmE&9-yPdy-}SY!>`bwv z+>HOOkH35Fx#v6Q%!GV}5F)`}+(u|SOxt9`&L@w-=l{f8=5XQeNjP&gI=hEmv>P5i z%61C=oy|M`-ameFIXb@4S1jhiKfv)}B|5ny?_M}YpSjtC3+}BC*9g=I)CklF)CklF z)CklF)CklF)CklF)Clww0)KH2{+_IZ#Ejohk_p&*wCf$%`OJx-VYu^2>Al3^{qT8| zEWn=?vP$Nqon#(9laW#KN%EAf(5)>iN?Vb`wq?nB(6(V$ap8}rI*QV{PF1+qG48IC zkCDfh&n!V>sS>%r-@ ztIy4>Up&9&yH|sS_4DVi(0dTkQFhJ7k%{Low}Z<;d;0nF>tDVQU5ULVURmS6^46i) zEJjhID83b=I0gdey~sdGSn@|80$42s97m{gwliKsT|gtCnGr%y9fFO_-E|EZ=nxG3(df+8A%V!OcR`z5lM?1A~d(mXnsp6I=zqNtP|6~%!{+k(wi z)a4?vYwN(hkppft|3$25&I>*q-Nat7!~Zr&#Q$P`_R=2qty zQmas}C?~38M>!EVLFLr=%kucvp?fzEU2*M1r)66#XT#PVUs0*$bY#ue9Jw9(=nbL! zW2mYD?$1O8{IpHn25@X}dpE{!dHO_azM0Zak=eavD^I!Et?}3I$*sfhULJnp`iHN% zCHhwqKmN+SrviQ@J@x(Maq?)Fr+%WT9~(E@tB3l7mx4VM7FAK69|kyAm1Zod;h|D59g6J#6?KSEC?8FO< zuC8)lxJqn9D~I7!5r)0R>34wb@A#yHuqWt~>N*$U(XG?c14Rh;9i!JxE{0X&BIUG{ zdHY%!9&dBnqb_?)~XewXs_6X!%|^S6W(mBf!vpsR55 zlK7pBJ!YnVxzoeoFK=R$7a|ZkBw}b1#**7@4?fvG&Xz4aFfXlPBRN1hh;-ppyc~W@ONPh_1%)4(>(Qro&yOTnoGinP?YKf$TX>CR`&% zm%F;;Vb6kzDeT3k*0wpnT`wERz7e1=oKQ3|Cg0U14?h+zOyL)~WxW!N#bjDV$F~cL zK-LX6GmXU}5nWyK(7hfTE{1N#aOL!6nQaW+B?do_Q`X0d5E%b0<^R`^;qN+3ng2V| z*Ma{(iN{CoQ~rO4wj<;f;QzmpJ`L?ba)*$C`_c?7g*PM*dOsw!qG!CmKJ&*E{}<2y zS725Kn$S)2eA2tIf_-MTb-MTbGPJ5C{4zdGufqIGqW3nLB;(+7N9biHXH|0*PetziA4b7GR$&1sz5quZ(2ulXHh~zUv4NK zu0IJ0#dva3LR}6tNI%+^j;18;5(`DyEV>jsipOSqv>vQN3<7WIWWytDV<24J!f;Rm z2r&*Vgzb%PY{i$LZHqwUys8&i=*A?_6XVD^T^4KRx!4JhG?O!J;-PgMT3nS7PApfS zCf&ZGnX+LkY$ig1k(QV?x8sSuvNU`Acx$Qu-0=LjWuqIvZ4sI7tK;Lhq$cG53AqK# z{~hTtWd1|xbHMz6Nxl!6e;=|KWMscI4f+3XAlu*JAlo1O8*NWxy}-Z|SP>w-h&=%R zhtIg(SzdTQhyQO`{y%@j3iR`Cu6}-G*7bZWFb{^)Kh|Ec06~721@QhN7vA0qkERQ$ zF<6?e3&7+~CTqkN&U`G8&?Vp%3vuLkSpe@%R!GgPYsUKLcZQWw3Hiig2%)V8ib8Ag z0$px2R82Nr2O~00pu4(f!r2X{>0ZKbo?TvRUWt!y<~fy906-%QJ&2E6eg+M( zFo+Pqze)JbF~AuWP;9MXC@@NjQaoN!kRhQh;QE`MsYCg&OH~gPMs?szRCXq1MXv+m z=>;xz7dzK6zxl&Bj5M=4KYvC&n~^U2Na!jI0?IpRSGEt26r=B+Z2SU=J>P~Ju?8(2h-R$gdNvUYJ_tdGwWt_;NEm^PnNk$P zLkq~ACt|?|&2IQ${UDXfnR>Ai9Xu6FIK4R6Wu*QdS4fN(pp3&>X3TgM5_+aWLabsU zx|kGw_s{~_s{!2e%G&Oh`oJUjR@Mh6D|i9JZK zNN1tDL((~DVVnKVp6e<8zs2?cnqq=UP$5Lad0%E(Um{PC$H4Y4Ev~N2EGUsjm&GCkLIZHSZ~*$qh8jv}DT+-w2RMN~l%)H1o0dtT5e*I91GweOI6zpV75R2jbmHH_Fb8B?7JbYJ%JaFUso(TA%x(8 zd<1*T_-qzJ&lx?u1qpn^gKvs7I`{^T?7)vyq}53*wjzWtVZXPqp`n>6)Ck;07`h#O zZ^)VxV2mHPSOLT$3|#`Mva5xRb7!VdGq#Rh+@vq2kLmlS*$9*983FyOQ35@&@PZI} zr@GM-Cl=_pY)fb~X?!5jrh?jOU~!r5S)OUw5zBs9?ZhWA^S}E8+CD>W1ONXWGWoGv z(otw>b-)O%4j87@0YiV1z6Mc%6XXXF1sKGdf9Yqm^8b+Ztw^Q|&ePK={y#?l2LSvH zfb=$y-er5D-~Sg<54T%ABG;o=9qM%8H0@BM3z!bQ=h$7m1?_GUCQ}Bs3gp9eX$>jN zOx1Cmz!v;P#blS%GvJvuB`#Zv%-Uu)7m}+G6k~c%eGDlg)SB)CC3Dcg=$7n-t|6-q zc*RnDjrl&)y z9^(qdT{4-kqs*o5=*X-7-`S^Pro{{2Iz!>W+@ghG(n3s$opB_yG~aDl4<6X%LApF!5O2 zCBykgD08VhIx>5%WgDsil>?jyFe6?6TO&{-P$N(yP$N(yP$N(y@DWB}$5Z4@;QSY{ b9sDV6N3k7P!B+ZlT>t-K1cCm>wY&cX3-r>j literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c200.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c200.dat new file mode 100644 index 0000000000000000000000000000000000000000..c3a7808dd76bce2cfa24ab40d4e9e5d87dc76d32 GIT binary patch literal 8192 zcmeI$u?@m75J1s$1i=Lb3s50M%K*%PXb~gO0uod#zy$2W0xUtt2yk3-Nn}DnLxH}d zIQE_8i(i+>PDFysP}eC&nJma vuIq>4T8HfiLRaS1Ri_vsfB*srAb95yH6u_15*-aC4FwGwFa=XE155#DJC2+XkZ936 z$>;moC%?`o8xb+OoLH|juTvHCX-w^BDUI+)cdnV0u0o^}i;Ol`|EsjNzf2yza4NaW z2l{v2%qVFR>T25eEOxaR4g??o0SG_<0uX=z1Rwwb2teQ;2^`K_BWrzG{9s#eYevS+!R9<8rQYf;t#g zG2c#Pxn3FUrKm3gI%oA;@ju_l$Xr9z4yvrXdT`}uvZyld;R@Tco6!(J009ILKmY** W5I_I{1Q0;rCxNLf!~V;?yuASIbS~8Z literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c230.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c230.dat new file mode 100644 index 0000000000000000000000000000000000000000..d74ef5be1a5dfc21cc1b4ec6998b6f58547ad2dd GIT binary patch literal 212992 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c260.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c260.dat new file mode 100644 index 0000000000000000000000000000000000000000..25f81fde784105363c372eba91f6175388235f63 GIT binary patch literal 8192 zcmeI#u@b>R5P;#mn}{nEdX-A+0X&0YhQeq(1ZH$RfG6-+YQ4@Qur682oG3I3^Is;H z&F;-@?&~635pjAyhmUg}=lW#zdQRheIg<3p*NIlvMYU^-I@&zg%Qw$kSS*vh%Fi5J zHSdNZuO#5CmTJJ{onf-wck!@^`wyH wy1wVmRobsK&Sb3DTxM0C2mu5TKmY**5I_I{1Q0*~0R(<5Fp_@J@zR0f6#Y9cqTpT@tH{d|bj(Q4xw3HM?<81yW zJlgjPFMJ!7gNPWtsu9_k*cb+14|6(y)}xdDxLjyur&lI2@SBV_*Y(%Y+rF4RM((NL zT{bbk>&;ApCT?FV+Md~|m1BVb0tg_000IagfB*srAb`L>3S6#7BYXWa|AQUbS^D;^ zzTPb)sU8`eC2I}>dS}g3{y*Qy)RZn8ZR={R_p1F;=CZ15Ynu~^Z!SSZ009ILKmY** W5I_I{1Q0*~fu99(*|@z$K1^TR&n;~L literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c281.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c281.dat new file mode 100644 index 0000000000000000000000000000000000000000..cfed875dfceab65004fe1b91cbefd660cea0ccb7 GIT binary patch literal 8192 zcmeI$Ar8VY6oBE^iER>v#vwtWI0HeW&}bmRfk1KsZonnr0Ml>(Y%uf+c^G zy|wRkYxcQ4S&N9#%Z|jw)WtZ2dYsewvmA}|$K_NjOTBWDPS|Aha9w{Lt;e56kDh-j zdY4P|?|L)C=n%iJ7TuZoww7ao00IagfB*srAb{RQS&~GB8)4O?G9~wjOLRU?Q`!GItqmN?d$`hyVfzAbchAM`1#m1bdH?_b literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c290.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c290.dat new file mode 100644 index 0000000000000000000000000000000000000000..4d10db46799e9d59746cd4b6c1e17c2cf3a553b1 GIT binary patch literal 8192 zcmeI#F$%&k6oBEEAhn2tp1{%7#YwNAxO5Ql1g`#-IlRrIyyRnZW?ltk@ieG4FLoYKmY**5I_I{1Q0*~0R(<4FqA=2 IV18We?qDStyZ`_I literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c2a1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c2a1.dat new file mode 100644 index 0000000000000000000000000000000000000000..8e2ed6afe90b6e9bab82029f98a338a3cf455bf8 GIT binary patch literal 8192 zcmeI$yA8rH5P;#cizFp%Kt~A`6*C}eBo?3sBr0eqk?5&tnSv>p0j7Y9ACVIR5-s{I z%49v}E?KxD-)~u`K-V?%Zx)KyfWW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c2b1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c2b1.dat new file mode 100644 index 0000000000000000000000000000000000000000..2a2969247718ad8c76b895d72b43a1f781e3cbd9 GIT binary patch literal 8192 zcmeI$p$@_@5P;$9mTZ$e0uBoXg~t&L2Ez*=fdq#^F2VB#I9>*g1jie|tzDOH41y+q zlik|8ZkK&-m5qoPy^0apnAjKwUk`ISf0m<>{?NxX0$OL)Q~p2S$iQ4&HaeHpSnoyqnM`C})($o&5?@_{hyVfzAbbTe~jZ7z9oJ zP1cXQc9;F!Dk~8&`s6LLePa8t^Z78Q^Jmd&;g8FSW)}KnA}znkXmMSCZH?uR!&}## z3f^S{y{itU9~5!>D!r|lZ7MMq2q1s}0tg_000IagfB*sr{G-6`ur{*PFY`axk)5S) z-|F-AM3U;2!B(>JBA{_rp7Q_sMh52WqS2|y#yZAYek>iC7P-BS`ISU`aRGV+5I_I{ a1Q0*~0R#|0009IL_*q~ibGNsBpFLh?bT1nK literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c2d0.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c2d0.dat new file mode 100644 index 0000000000000000000000000000000000000000..4adc6e4470f86182da42ea94fe6881290c97948a GIT binary patch literal 8192 zcmeI#F$%&k6oBEEAT<;RZ{Q#zZXTdlP`ZlOP{GX$cmgjaNLOb!2M?gnw6P`D!No!T zl)k3#g}mn5DjN|odOwHtG4Zh(LcN*O`MnxZ`r~V^l~q~ohebVY?!wDA&#PN3qrIxn z9A7kVrXsH@rJ7uUx zg-)XDhvrnL?NR4W=KdOJoJnrdy3Py%1Q0*~0R#|0009ILKmY**ek72|r0jG%7o!J8 Ck`^og literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c2e1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c2e1.dat new file mode 100644 index 0000000000000000000000000000000000000000..b37b9b254234c4de527ff90f13f4624bfa8f98c3 GIT binary patch literal 8192 zcmeI$Ar8VY6oBE^E!ieH0*(X)2E`c&nlm7Q1cyO#0ult0)1YQB;NTSS)~-u820@d* z%U;{}x;6XUDk~8&dKWFSF|jcWz8>au{484|{c$?g%0ll90R#|0 a009ILKmY**5I_Kdp9RJ;cWW<){_zC{d@qgw literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c2f0.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c2f0.dat new file mode 100644 index 0000000000000000000000000000000000000000..d854b4b482d64363d5e58c63e9e4d8e5633ff2ec GIT binary patch literal 8192 zcmeI%F$%&k6vpu{R%!(Y7eR1yarFS6LEOX}cmNgLynu_2p1{Ssh?j8m2Kr1JTWY&H z$Uo3Dc`wZ)zpbq{lAK-d*6@Ao`(hXJ#h8tsSu2HWr!&i}(rh;@>R9n4Olt0x<(HR3 zzqD7jZgjV}8%v)e75n;{$*v+p2mu5TKmY**5I_I{1Q0*~f&UWNpSDhGJ5zYUj{FyZ z@7M8=FCD)b+mk(a%fpR_-)$f}$Mf(7jh+<3 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c300.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c300.dat new file mode 100644 index 0000000000000000000000000000000000000000..2053e0105b40818ea4cc1ea3a6c1cb5edb9972df GIT binary patch literal 8192 zcmeI#u?@m75J1s$K*2&3Y>^6y0a$=0qM<`c2CTypbc_HOCr5$_1qBWI zw&I-cEIWQ(WGf<0pQ0sUOvBh5tlrFNe6L!R{y3d!WnET>wrHS-dz*aozWK#6+N=7^ z?5cS;7I_}hvTr!k?^`OQ5I_I{1Q0*~0R#|0009IL_%DIOY3F34ce4NcBt*TpTUtFT zbW>fQxl5hy6k%U-nQPBqdcBAU0R#|0009ILKmY**5I_I{1b#0tkx_Zb>Nq_=05p*m AuK)l5 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c31.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c31.dat new file mode 100644 index 0000000000000000000000000000000000000000..5647fe4e1d7392bdb33fed6e2b949791cbbf38c3 GIT binary patch literal 16384 zcmeHNyN(=16ur|uubq9(?t;NQ4VX0sN>uf;3LGE;XJ8@+Wc?};62Sg}_XCjdCpagu zL`LMuA=-cp30ZuB3E|f5>e-&1-fn>qGN@`br)O$TSKm5a+tcUFzzG11@L}4Ra7x&Q z=KXdbKL5kE3*DE#{2br;8Xt3jWkVX_!SQu(`?Txb{L5eO)%~rpsN=?Oxbb=GARYVD zF^3M^v7hU53OEIv0!{&^fK$LJ;1qBQI0c*nP64ODe@%g(9$(#qZ?Njd-+u=lzA`p_ zy*2Nz_riFJ*4=|sn6Hw6&S!SFbE7|k4@PIUSJ_I^ZYthxsu z-|^uXu1juOC>ZA@XSz&N7FMOimpsG2Tqw@L2hY@4H{WjE#wp+wa0)mDoB~b(r+`zy zDc}@v3OEIv0{?FXzK4%+g15-?zgj0+wzUWJO~vPzAI$0oSO2YUGNKFn*r43db800~vdk_4Z{ znM&}bs=_SHj#8hxlP6iUMmL8h;ME#E-a6IhPn}nEIn4(5#SU zT@MPRqcAi2OlGi0{J1FMIMJq_K(HdN5*AevDoZU2t5nc@4`8482~Q)`QxDWXK7wV< z50sW%MaUNkE2UN})+%KhTNR{n9;8&y4jj~c8LEOK6*C&e0vRY)>Vovgj3yEyqVqM{ zg~OVki%=%gj9=HUm_pJ<{rhlK^Q$b;Iy;|l$aEmh;Y?f27nkXC-TZ_F3PrlWpDf{d z;-@k#I1l)cK1;ZAkuPEv$^a{qrQXnI8(ygSnFrEX<#mcIwDZ16)?1wp`+GV(U{)R~=s2(Mno&%%_}b35bnm+;zU{Jcu@jqwlQ z^%kG5Cw&>>Xa?8Xe6t{X`Ez)q&8PL>lTnVg;LSEa8ybHBZ?*Zj%KGcshU+ap3Eo@( z4!qsw56*WFj@$gf`R>DwHs4(Ed+S-kJ8iyMV7>eUxY_2L1>eg*gm>HgLH&;~gr*&$ zT#7;jxWf8BFt)osJzbwuz$xGqa0)mDoC42~0<$ULug9lngbxT$2yYW!F*tcb_>l0F z@Gjx8!SPeVM}+qYHDN+HHRzuaJ|H|HyiIt;p!bCEA>k?EUBY97qo;(A49*h3@6bp0 zsYeqggj0iXM)-j6gzy%8Sd0Dp{F7kK|KBA4|Nh3Qxa9kPX#Bt3!Rtr@dj0=j_zu5y ze-;`8(04!Q&8+{o(F|CT>=zwT{Y|6lVX@^3x< z!P~L^-||g9(p%52_5YSXsOO&b|CWz=LGSqf)cXIL9}m^<&#eEq{Gt1Me{TK11 zf9+cTzs|oj&l)%WUrE8SCdx-*hRG3z5?Mxm8;2K4smkO9)2a3UnAL>HCw)>@@E~T9 zu1>-;g8#yW>(rWk*+^vw7BlSw$}3J(Y^1U z3f^S{gPTq!4~n>Rwb9nhcC{EA1Q0*~0R#|0009ILKmY**{!!p?+!|Tym-!#;$gVnX z-|F+tMB33SgS}+cML_GSddmOj8yT9bi^jb&o9G;C`MFHBFUo8&#oCjH3os&p00Iag afB*srAbVZcRFqIrAO@g9)UwmeL4+bQhZ0=*mU9p~z@+^}kAM`^)&z^QWS_ zTwrk5&5WWZzOJTS&-_q};XnWa5P$##AOHafKmY;|fB*#kk-+J^H?q~2g%5V(tnBTr zA>T}-nT`yOl2?O(R;xM{{`p3R=IW!JewnqS2RjRx%d*Va%{ER7YatMT00bZa0SG_< X0uX=z1Rwwb2>e7~Dr;YVTTNy!_+>2u literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c331.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c331.dat new file mode 100644 index 0000000000000000000000000000000000000000..85ee72b31368516c6de9fbe3516e0e3229ea2755 GIT binary patch literal 8192 zcmeI$u?@m75J1s$kdl;)Kt~BQRLp=V5hG9o5*-bqVgfc`3T8;b1Qaj@ob5PrLO`NL z-;y2s&dJHIi)AAsM!Ri^8&fyNL&(Q5oj=Rg2!CA8G_%s4i*&;#qs4XowY8Q%j~_k% zR`e|w=->5WhEWl}uQs}x`K}gYfdB#sAbHq)$ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c340.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c340.dat new file mode 100644 index 0000000000000000000000000000000000000000..d99b11a3f2dfe2333989898bca9463dfb265ef5f GIT binary patch literal 8192 zcmeI#u?@m75J1s$K*mB8Y(Rx*8GwQbEE)>L8i0goSb&C>ozfsN105s4;lv~|p`f8a z-%*^)o#l&P7ukr2(fc{FFxxQKr&zD&G`^Q3Nq>BuX=PPZ`*BfEo4fe(&GY6K%Ve+e zGe=j=o3Y5NNyEOOr`tDFNFjg#0tg_000IagfB*srAn;!Thtt-`TF(^!@3Rnf-cA|o zNuh0Z{lJ{7bZe@y6)$tWym-^CYD5SifB*srAb%c`MXo7z5=i5{uUv--&9MZ&vF5D`EC d0R#|0009ILKmY**5J2E3fuStizH|39egYK>F4O=3 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c361.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c361.dat new file mode 100644 index 0000000000000000000000000000000000000000..b5c8f259d0d1fefc112f60325bfde24724aded2e GIT binary patch literal 8192 zcmeI$u?@m75J1s$kdl;$3Fs)HqM~2|L`_Fa4M=n}luW<|Ou-be0fLqV;B3c{69N(~ z`j&FB@0?h9T~5{_V)U{jaWQo<4xt|Bbp9+xE&Xvh)yh(@T%;W~89iLrUq|Ed$Kk!} zpNih)61|(=%pf|%@2f<2X1=ZDSRjA^0tg_000IagfB*srAn=a@`@_b_O1~`pU?*;t zy?tw_*9&Q;ErXrpWh0<*Rz4N}^NsY)*=JkxqH0?YwihswSy36gj5Z}sK0!nP0R#|0 a009ILKmY**5I_Kd9|T6S@Vl>_%i{&Jf-Z#s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c371.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c371.dat new file mode 100644 index 0000000000000000000000000000000000000000..ad11f01b25b6bd995142e4d731203e66b5792409 GIT binary patch literal 8192 zcmeI$u?@m75J1s$kdn|b0v)1)ii&~>5H%AZIwU}%qoHI1HedoureFq`0?u|EIUyj? zqHie|`!3EYuZv|XB1SJe5*Je!;}Gg`PUp{J)Y2c9Gp(%k%0)WiA*0Q8{dF|9KaU<= zzbkr|OZ4t~GsCEff36Z;&wO9Wu|NO;1Q0*~0R#|0009ILK;Rz*j;EcGjec49!A{&P zd;8Wiymj?ljvvODX&o?qKH=k{-imE+&uQ%a{I`F}k_4Urz{0a=8`?Isoi$~A)`$JSahr2j4tp4R7)AHX zq!x>Y5g-EVMd0=Q*@8#hQ~7>xLlZ~43%e}ibAinURvubkQ+I8M{W^4EfJYY(Xx8Bb zj*}!x6cfI~Tt9MTo^Zz%GIJO zSY5ESR_KX5X2P6bp~ZQYp;oY3YfEeKL~+zI=T~UOp_efhxvRCdwN~V10vU$J{0c3_ zy)(p8~iG2UFmz1CVSt)+ZFU`)iu{0c2U^(AAWxmIgU zpHb=&0U|&IhyW2F0z`la5CI}U1lEDT#tYozZ~VQ&S|8d*g@sRT@3d{h(P*zfH*W|3 D*BYj4 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c391.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c391.dat new file mode 100644 index 0000000000000000000000000000000000000000..a0925294e583687ea507603c796ad642a6d0ccbd GIT binary patch literal 8192 zcmeI0y-ve05XUcV)udk%FTjR?C6d#8G?kc28ITaFKwTJ+aFUKlNKlEb3nK#)15W^t zz=QA%Oo%4{E>2TLCZJ3V=zo&W=eziC`Wru=?yQF_(xeLH1d*9%RPpA2ruT0I1mMypx*J>MYLc*(N$ zyJfY(eVsQlr9*Bf%j!a9i5l-5m<@g@Xilc1gZ*9Fq>VU={ZIs+EgW}X%h{P{J42b+ zg3X-`BPo5E&KQrT$9qSqx=EI%;dx2I8h&*Ri&~mS81xe%22OR27PU2v$m_?U@Z;(l zZR%(m(usmdgbbi6j}CP;4L5eB5J6a7qnrIIcn|;q5C8!X009sH0T2KI5CDNcCGbRJ bzRu5;e^$PqdU{jwhl+RTJloU7`s4iV~< literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c3a1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c3a1.dat new file mode 100644 index 0000000000000000000000000000000000000000..fafb256cc7d72ac2bd1c094fd9f4ee084ebf954a GIT binary patch literal 8192 zcmeI1J5Iwu5Qb+R$#z~6T`D9B1T+?#_?4A%21HGP?CGyNDoB9<2!H?xfB*=900@8p2!H?xfWY4( z@bvPa=#J0S-0yv=uG-UYr)=u`1=r)2!6W&*MnGq@Th-k26`iZiHamE&t5xfv>IGcT zRb5$2hMN-a9C!|$&~cWfS*}eO=y{k1w#=enZfp@~wy-q0wXvlEDUW>7Cks<9wTb%l zJ`F`5WqHKelG*I==nF;yY6}1W literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c3b1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c3b1.dat new file mode 100644 index 0000000000000000000000000000000000000000..4421b93419dbcda781b410521442f4ffee8952f4 GIT binary patch literal 8192 zcmeI1J5Izf5QfKDDapPh4uOCs!r44FD>%c7ngR*uQ6SL)5>(qz($dh=a|3$%Jp;FZ z$s}1tOW5@AkL2-q=67s=ogKO(BE_vVOS~<6kBTx~q-~QXl{VAOHd&00JNY0w4eaAOHd&@V5v& zz1%Ch)!g$H9jkSf9lX`m^6A0ijV$TB zuB^B(7q;HnITjtzewJoYqT|rhelYh;aT$94!sMQ23yMW*Ok`+4${|=aq3P25}@J%KlH^aKu0ZZ4idH*cWNmXd;K zoXuatqkXUN!nc7eM8xR%8j+2ujbZThFsJiJF>2|L%aK-QdgdZ+zsYEGU4I>o?RSG) z$K4e?%O<*4y_jCm#OV^ z%iiAA*XxBe(_aQ_$;%%BjkEGD|DA87Z!RtypNndu*I3(+?J+5;2b&d1?k+(@009IL bKmY**5I_I{1Q0*~fgc5iGIcwTt^MfxGuieXjZk45o7=7~Aa(&|ZxC{9>rt@dfYT=K|v1aD_WFqab$!Kw1e{GHBkAr*1 zpNih)0^OSqrWY0Q`zpPwnXM}^76>4K00IagfB*srAbheKZoe|J&@T%=*ey3p z-@Y~E>xm@QD}#+>K-rbX_gV}2!JFWS)%KmY** a5I_I{1Q0*~0R#|0;1_|R%>4F)Jhm^H*DqcG literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c3f1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c3f1.dat new file mode 100644 index 0000000000000000000000000000000000000000..08acdcee31e218c5d9c3b4f62ef38fb0f42c8e72 GIT binary patch literal 8192 zcmeI0F%H5o3`LzHwH@IGY>Y55aR$W95tsqN#?p}!a05=kDL6wJ7&rkqNmHezAhDun zDX#M!*UH;s*@}qKWi4?&bv||>A8Q&vD{ILgw+qdzb>$-caL8zL-G8;t_UGws=&PcC zIbl@l$4sIo{#?Vmp827nv4H>tAOHafKmY;|fB*y_009X6BZ1>-Z)Br43lHqXMcLb3 zL%y9zGaVTelGlTP&Zw>m?|dU;bM2TM$;ub(?#18*9@Q?- literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c400.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c400.dat new file mode 100644 index 0000000000000000000000000000000000000000..1e8976f89fb63a0868c737d9434d15ecfdedc47c GIT binary patch literal 8192 zcmeI#F%E(-6oBDZLa-qY-h#=*19*nUK?mdR3Dm^R)xi^ZCmCL&Ffo_&2!d+4ca%$v)#Ylsj)009ILKmY**5I_I{1Q0;r2Le+WS6z;m_3Z_e Cb`~Q5 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c41.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c41.dat new file mode 100644 index 0000000000000000000000000000000000000000..1f55194923b37b6fe6110807523c7f2996e7ffa8 GIT binary patch literal 16384 zcmeHNOKcle6g@M~9{>O8k6&6SEuXrK?F2ieKwW2=n8bE!JG5a_#YrPngoH#X8-!R; zJ{x|U?hq>$tdM{OmAYd?7gTHz5-eDB0Z6c8g#^6&#$&t9IMR(G7S)?5$K&^A&b)i( z<2h#rmjD>@pQeC9OW`PZ{iAJi{@?y|Tl3hjOS0#p{0{?ZZy`f&Tz=njYWVf`p1*n7 zZ6D!M4Tpb~AHsGwV*0Hs+tfD0Z;a{H%~}DifL1^&pcT*xXa%$aS^=$qRzNGD6}WR0 z_;wO!@QSR*^Y<4(cKP_G3cdc@Is%ro(I(zPc#s76&h=Lt8hrx=+n%48Sy>90> z*30F5>HK;{ezjNSU#~D@+Yk`(0U>Q!Pg()3fL1^&pcT*xXa%$aS^=$qRzNGD6}WR0 z_yVV8F~{+$Thfg`gWufZ|Ccc-drr8$BRIzY!wN~uetFdX_g4}Fb3HWuLkBNien=pL zl(g{G#d@{lu{606=N4NHr(Nyx4_G6OtiV3(*+j%IEQH(^RIKvCnAn1fa|jy| z>=ON4uGVUHy6tMc*=6r~GlJbCf)8leDw!7cj3we|WQMSJED=W`GmL%Si81ReIn7zV zI!WB+9n&5KUzs@W_9bDdlE6LQ6>E06(O4-A64*7nP?9MuC9oTn{B&=+lrL6RXDES{ zQ(;D?u@#xX24c8ZAccfHBTm&9`KOe~;yzDLmw+vWNMq86f+K{;;F$kKlfx3o;J7~v z=LidA@#Nq~z`KAmgYiHPPYL?znwsvFWM(dt^Fpbd?`^D3t^J+JiHfGj(z3Cn; zS1hfauh=tdTP`PHMewxZEtg8=sX}pe%jFrov5^}UJ*ySa3TOqi0$PFpLxB)b1FUNb zUxR#>Z5_i&Aov#?iJvQck$Qs%QI{{+|D^CEg$tNduiP)l2i#wQ@Pfhv)NB4s>zY>- zc8MYME>20T5t>Oge*?4f;r(@m@6dLQ8ZD216n?Gn60IA40cR!V2&Ml&=4$haF>~b> z|6f2}_LSV-5u~>Q{3g%;_xntrBw)P%-;qc7-i`U_n*jW~z$oPauF2a(#JP(TG0Fmx zh|62r?Yxv=#)dI~TAy8t8KoG&jaDd0XjIuA!^lwz;6^JR1$!Jul0pC<5{{fkiedma zkLYxz>uxyPaFilNIlyjA$el96!Y)auD8QeGQk{zwuy8sJTRV#qi`^cgWj2VOLfdEOfZ56J)zqzN{jgNL~+Q6f~89ghkYnmg2eHVcgVSg zaFs~lVJ~RyIH#ALW^G$)B=N`?8kQm{JUaNHAB=`uQW{4*S-1JrA(%nlhk{i~7Ds(3 zI6K#}@R+xAxAjA6g$!GzWNW>RX_>0Y5OrtLw=fEdcjNJLdCFcd?-XwoMaA1I7AtmP zs<2bMaX-JI+q44PRv`8px!>4_gz+k2sH%K5lyAREj@r7Y@F-#Mckl|iQ0|#RTj{~2{~_3nt*ExFVWVA{{Qut Hg75tY!J^;? literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c411.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c411.dat new file mode 100644 index 0000000000000000000000000000000000000000..8aba2fb6bffcd33977141a28678d10b2f530515f GIT binary patch literal 8192 zcmeI0yA8rH5J1lnN>aiGbd*q0F$1DQVgzbHqNAZ?f^2}q4os05pr?nk9Y;l)hi%nywi4g??o0SG_<0uX=z1Rwwb2teQ;37m?(k*&Tge6SN|Wp8f{ z`F0}BbYyUpydDH}TJ@>$&o?qQrH}RoRo0Fk>?~j|t14qR+c>#e3xNOxAOHafKmY;| XfB*y_009U<;3onzS^N6pvV6P%AQ>&m literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c421.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c421.dat new file mode 100644 index 0000000000000000000000000000000000000000..65775ee7bfbd1fe9a4e81f326933d49be9138b53 GIT binary patch literal 8192 zcmeI$Ee^sk6u|MxGuieXjZk3gY7=3JuT%Wi;?0i0q>HJx=TKMB~qM3z0nMm7jGFn{MUt44O4K00IagfB*srAbheK?yxqp)GzZt*pZv1 zZ{Oc{L6;HW?BpOap`f8a zza_u!EMNR}k*$b0?V)9HEaKQ5EZ>dk`rfuA{Bb+i%(}@A?a)Ard)s_7*M7N5?rJ}? zx@p`^M4m-@?u|A5z9&Nn0R#|0009ILKmY**5I_Kd{}MPHcTP6?Ci}n7;;MXmrR9@E zUg-IeyS~D?{&hs>8?kdI?JewM8f{y3d$X02B)(hZA@7T5XL)>{5De)RoQ z(Yst=aMzm|MMeC&TJLJ+`&x_%0tg_000IagfB*srAbfaii?* zUqil`NHaY$I7nU{1hkH-r@}tp$k5z;w6iF)_UOTupUJY!=my?>PIC1DdIS(a009IL YKmY**5I_I{1Q7T^U?MBOx_2t3FYvf6QUCw| literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c461.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c461.dat new file mode 100644 index 0000000000000000000000000000000000000000..e6d98541fb79659dd82e6c495be7eda4795dd219 GIT binary patch literal 8192 zcmeI$u?@m75J1s$h#Z%UKu3#&M8ynr~rwMhLQ=`fQo6D0XjB-!;T{-1VoL# zB|G+=lT%)2%SJ?u_E*dNX#JQDF`veC{wP}`{Bb$e%u2fx>Bdb)i|hJpYb}2o-Fo4z z49z7(^F^7>_1V$#Gnr_gmsvf;Yg8n^hX5l22q1s} a0tg_000IagfB*sr{3tM%W!UMgJwE}e#Vuq2 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c480.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c480.dat new file mode 100644 index 0000000000000000000000000000000000000000..b297f2d87f5fad2d1418ee41a40d22f07e88dbfc GIT binary patch literal 8192 zcmeHLy^kA36rXeUd?6p?lH74z4k?p{fRaVK-t~Tjh~PL;K9oBha*)zcOuU=*>g*kB zclLsz2`vr$2UHYP6f{V56o?vXN+dcuDB;b_de>ifm!m_PJ^A^~8+(59`@J`BgGX@Vb-B+5w? z-oTIP^CY{DZ|8A8h?5B1Hcc{?=3N%kq(YV$rmr^*(}y=-V3|4&)uw}C4n*)hzJA=zZs6TCPP*~1 zA7&U-gCPL|-EbbT63eqa+t8h9u`b_2rv;IA-rb}0YKHGd(flfhMutr z@DgwZhSSgutKnO^D>0mg%*f^UwO1vPIgp&u0bv9`?u9fRT`wyR3XJDRW{`*)tBBaP z*#OC=iM*|$bArf2vQIkQG#)Z2TR0rO@`hH1eOF)XMsPpD<` z9r2E`+SAr5BJFF}{u4|^#5D}p(woyM+3ceAiU?u7Fi1&XR4DlPHu;2*baK;+e2F1z z%QU=#NLgF;uh4511`WceX-M|M^d*j8g(fi^&(=N5w2Y$tmK|m5iMCORwLN0c6oJP! zN%U=+uwJ#$VO}McXEpt10aD&0r@uq5mqa==@AE@K@J{#~fV#anSQZe*GO5tm%glSeB~(xlmbctrGQdE zDR3MGR(?SNLMw@|r?{S-V!Z literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c490.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c490.dat new file mode 100644 index 0000000000000000000000000000000000000000..250eec9b36d3da5f3424ec572f316f6bad206090 GIT binary patch literal 8192 zcmeH~O>7%Q6vtm0lcu4iEiKScpxg41QcA^z69}=k*YUTbwUbaG4ud_8r`eA%yLJdj zTo6~pjVt1YxFW6`kPzZXuUrv5azh9tnD=H=lAW=*AtCKX{%3dJ>~G%uXZDQ^GXPjn zA3RQwE|DIU!}!sA>inU>$>o2zTK$dBC*-q-hug{N7X zYxnT{B^{in)aSo-Jn!M+e&ImjK;b~)K;b~)K;b~)K;b~)K;b~)K;gju$bs)JeDNDh zRl;?)PB(z!eKlYC@rZcR~PR7bG!73I$wk?{lUpaSb~z<_TGTYu<8c~+{vft}ryRwYq-6RLVOAOW|S9mepbvAAtYXYYTQt9~}>MWKa zkB+s_7Z@B&;*cdy{Wt-8SRqK&9eCKT%2IAY=u9fNoTdT5*6?5k@wYWZ?$6DnKHZtv zdpJ#yn%C$eq{c;*w~d~|U_a$E)kDk32F_?m+trYOMQn$euIMypVq{AN9@3Crn>?w- z0Y9*|Q<*eb$P=e(B;vqXf~>n8nw@nPhHM_hQ`2iT1rgT&Uu2=Gh^$@*!=T!jgW!lQR?`X;XIr{+BBRx55l<+UyX)Ii?wh;LwXw(?5rN| z4P`t|4G;#K@g#CQGZ6YDT4un+MycK&%Lp+}{X>l2eor$^b z5mJ`I4A5{^HKb9kV!M_YS;`s?TLlM_4ejs5;~LW491tX$ruJduaN>vsBg-ViWrDQ5 zMjs(PbFCu5%?i0|H}cgJT3VI0|B4}_>vV97(denmqX1A2FSkq#%qQmZkODvu&z zeJ7j@vPHx3#f&HB>!+vK*Rx~R0=P<$enqd?{%{g;VJX#^Nm)*ZmLydV*EGcQ%Gj>Y z`P(e9q)fqKoZ7N<;AstMw70082xe-Xq(*_mU}q{Nvn^S8Mnk%{Y1#LqgZax|6=3W1 zJMgTA3_PkQYJaj9S;kgXbYtwMjI4~+bt*4`q{9=K%4C1>QB9*Tp zi}F=P2WcD4Bh>6%KZMZtlYT1WX_Ct6Ual!Z%6FKIY;z3H6J)ckw~WmoP-)}8GSV=^4}$-;;hw i`WouO@1$Rm#-uk;;b+p%NZ%xV6|QJczkTKWpML|THs%2U literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c4a0.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c4a0.dat new file mode 100644 index 0000000000000000000000000000000000000000..42726f023b166a5a1639958373ec11eeda20666d GIT binary patch literal 8192 zcmeH~zfaph6vtl(N)w#>JT=H1Vn+Bp_6N06${6Xd^RR~|B$ZT zyLLtD%pbs5HbzExcW0aYXoLt^D!q&R_4&PbeqVp=3rJ{ z#!z_dWfL=@&MwN+8$1@Uc~Qs4YUy8@-+z9+)p2z%IZbS?UCVh{C&#Jk`B>v|iz!Y7 zhyW2F0z`la5CI}U1c(3;AOb|-KO%6k^z#-XG@S15=Rj_?UynROnjcEc7I5Xe+~q@f z_6N@MaG-whB9B}9LV2^i!5A=D*|BX$_}=;n7cTFyp#hB+G~+ln%y|8)WmtY^s9=&y zC~6PYdg5WvZ+q;-k^SGZBi|DPcg;M+vSL~uN(qPBrslB!@t8FOE(Uw2MwEw+6Lw{V zffIw8wOJ%0WY3u*^fC%G$E(*-qe<_E4`@s>;KW)A2p|m$2HA2zfB*Bl93+ znJ|0e*$(j0X%GP-Km>>Y5g-CYfCvx)BJflK`CIson{FX>=0@qM)ZAaCmQ=V>`bFsn LSk*n2D~-?hr&-t4 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c4b0.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c4b0.dat new file mode 100644 index 0000000000000000000000000000000000000000..83a8fa7c122f04cf52cc0748249d8fc0d74ac014 GIT binary patch literal 8192 zcmeH~J#W)M7{{N)X?bgDp)F9}3Y1b>Fr43QiN$T5#MFr^J58zh00>wC2_aS_gqRo+ zVrD?_1rTCkMW`PDAr=@IfPoS2o;$ZzxQKxX=~Cqv_wJwP`QP7nkqoy0phDm5RYeXW z%P8i{WAyr$c=ZhT{da}V+~BjL>|>n1hiLQde5^0$WHXPh-TTVNu@<`&HfKMxYr-e{ z5qtivalbFCag~5dKqa6OPzk66R01jim4He>C7=>e3H(P1yd8V?6K+z&#q<3yHnxUqFX^=gZThzYuuX#z7$&+&3_Wmd)71$KLTxGRL{Otb`sCkF zk*%Sk3Oj_t2y}-S0sRPAjWCHWi5ffQia2k^qQ)+{B9D_UDl`}p3fnVu!|;gck}o#f zqRX&Qu(kNMZxh{RKI&;wtYx=c(GA;6!pDeQQIBHYMT1efqPf~=VvQQ?5emd0|a>9T#-bgMimao6f&2Y;Bdu4mKI%RiyB^_yTqhB8GS6r zOZ-Gt;4~`exa-qCCZUUFP8(rX7f$EoinXmhHZNDu)rMF@gEPVh&6JqLrTYlaemiOv zXaB5Rk+;{2v#}D$Qh)@SpA56jeLTE n59E8~3*T&Mk&s40Vu|_*&?-Skb-+4c9k32q2do3u0qcNuz&cTuY@MVJ@UxOHr(oM1=V|#YMTqQ>GSDf(y>*Y*!a=#t!R%b-+4c9k32q z2do3u0qcNuz&cc@B9zL5Vv!(eTY|H1Pyvfru3fA-Kl z3*G0T|2)HEs`nk8;R6{bE2%Oel?;Wp{0v4${636{kK!!Ex&%uT6(%ApmXT14Ojjz{tQ3n? zmc<$R?{#59eA&53sXG@XR9qxtnI(FWJC~R`7k3C#BYp%kBYq6~m-tZRK@f;E35)aj zlpT;efya#aDLih(&)}fKEApqNlWO_!gc09?Cyn?nTruJ&@Klx8C0bpl*6P92MtmQh zG2*B2Y?a^D@wEowtB@I$#}mR2}d=z<-Z>r=%yON2Iq%547$*AiYO=OnRI2P;2`k>3!0>qy_1m z)YIyolAe$rk=`Ob(CR!Oy+?XXdYkl6t3L;YKaM}t*IV~V?~)dzb5c($oRXf99+BRJ zH%sS#`1;$u3;F*B<^R_&JudpU`E6s9|9P9Ur3t9b{|3L|SH7P`>mA=0U61pBdHcJ0 zpYwmo$Mapc-{JhXCC{G+VAUbkMn<1zR&r;DL>%+zettDeOCDOHBe#|=SnPt zBF5?I5rui8Qr*8yIsZ51XPo~V@}9@}zbWr?{=dWrB2O04rTLFI|2O5wod28h6VCrx z8es#Xbe~e!XSD~M|C{nd&i_sM5$FG={Fw7Uc3B}lAL#X!h?NXt5v5YcGu`h*N(E)V zv(NdzA&>tPD)WC+-sk+^l<#ob)D;JvKx?>e0Sb8Ph@sjy&GDi&cH z;442}7oxzC2T7a-3H7Z#&i_sMKIi|Y{DAX+Q+~+#znCXUB-eWWwS8re^M8@5T=&Rm zU>=J3Tm>RtF7(^`A`h2g7UNd!XP5JTQ@#hU(dSVX1gTV!+BKiSwhvFc&N^Tnunt%U htOM48N6CSIH~(X{$K387XsvGn{%QXI?aTLm{}T-}9~S@s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c60.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c60.dat new file mode 100644 index 0000000000000000000000000000000000000000..2946013035aac91086167319e632b517a1156b04 GIT binary patch literal 8192 zcmeI0NpIUm6vv-z%a(T~-JPu)(n|-Og%ru47g?rdB9iEmR12S4uIQHT={46L`yGnj z`vv+13KS?%pqHMD^aJ#sz8Ojm6I)C?rxqXuJrCc^@Td2mH*X}vw*b(>x4f2=T~)Sf z=KWP4wja!{$J`5VkFn>QvbQ@Qw1x1_{AR)5z4QFP+`VzH^q)R!_A%f18~rT`aN2Rs ze8qec_?&r-t5Kj)pi!Vvpi!Vvpi!Vvpi!Vvpi!Vvpi$uerodls9)1OP@l(%#-(QET zc=zg=ILiMEoN=$L;>>HU-zyy-V7mk@BuWdeE<#)pi>1(!eZbitRpb$?~k-d>s3-- zOWJ}B720Szp6CR%Q9*J36sT};s6};Qr(Ccw3i{q8(!p(2aKfp@t-~7P zZo4Nsob4*-X%_3iJ$5GtI;b6mN+}bV_9|m7l4S|D>{OCv${UOsnDS*_^haJl)JnnK zN>oPu=GcG^s`swvzNZsYw*oSIwaZlQD$KvZZ5`63Dk-TYmHBt*2d+1qXy(P`3XZD! z#0WDBi^Pc~Z)f$%#Kqc$ZB!8JMdXfMy=;Hx3{8-ndFGj?REIJt;LVq$Ma zLNAQGfe!8Y$0I9jV#>8j@>s~o@L~=gE;f{zcrYE0PuS^6Qqe@sGzH;ytTcHzQ=KF) zC{kh@xcCfD5=Qa)IToqJ&aF9#7U-YFrB0G#HyG>0^`fG2yO-i8#4=GsD_3mbk91it zl`Lvn$ih8V!@2~!m>q#Xjl2m~M7`Md6fdWuFepRm7&D2md5RS=D@cJ?&Mhqt3_erDdF_vs(jyWnvDXD0{4?BuB39%Xa$@ z>2KeWBUc_s&&v1kIog|Y%<|9DzZ^)`(tTy`N#ashj%ocUJ*`{P!f$dsyboWZeH&gY K1-svQ>&m}!Jc5M) literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c71.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c71.dat new file mode 100644 index 0000000000000000000000000000000000000000..885d70a636c31be6568a5d2bb23e0a5801702d20 GIT binary patch literal 8192 zcmeHLId2m|6#mxh_`Y)Arx1u@rFBdco7;9a&dSG{-F1+u65BBiO(Z~~qks}2K?f2Y z5*i?DIhmAfhzxDUz1Gc!}+&6kD`hb%m`rK#e;gAt2 zk_boyBmxoviGV~vA|Mfv2uK7Z0uljB`_SLdO>YLtDps-Z@`ES~==V5BqPG-aZPXff{c0WqVu(sGq43R56B>({zeftyHn9 zhMji}2WN36t8?mTy57;XZfA2-%N%sF)YbRt*GlJf9V(O{LMoyNlMOdtsE8?t5LOXG zga=S*RBJ-6!-#m=PI1Sm=7qE)h^lmBlIShoaqYZWbA>EK5mOOHkSvsqrjTk3aWC{O zqi)o;gtX&Gc-r}jnRmoMPavrxf)IthYZ^C&JSUOzvQ3B=%R zVoXI6aSEMwn`=}J!IX_*+*|v$DY#k3F`*)kC^>g+vs5x{q18`daxiw&am}KTfk{kx z*l#te)n=NNXYa^qrXZLfgOo`GtD%mV6(WfxISbYYwDn^kc@NBE$nl;+>f)UJO&dZ%`3FdAN^C}XEv5jNgXc)DkSk261!SgK~ z_kyy>^H#DAgBD)mu&-y@2U$JW)+m3QTC2N%K}+Xa2Rv_?Zm!*GZM0b47O|uvh>?P2 z^@{DZic47LAE$i7-LZN*^|Y$XSmB?SdZSP=ot^$ZKdtr(Ryou>;(zeIN`Fg|Bmxov ziGV~vA|Mfv2>4#%GM!kDaE-9|jw^uwIr79O8CRQ(k37S5I&|O0Rceo;NPL%RjeKBS z`HD+4a~cKWFPOx?%k22p*nH(Rlj9AxsC}ME{2!Sw-zPq2k4XaWI8QK1;0N;+C?iMw Q5wlDd?+_JOBUy literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/c81.dat b/corejava第9版/v2ch04/COREJAVA/seg0/c81.dat new file mode 100644 index 0000000000000000000000000000000000000000..4e34d9e2e010e69ff0bea10da43e01a3ece8afff GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/cb1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/cb1.dat new file mode 100644 index 0000000000000000000000000000000000000000..e842f27335d9ddcc39e61b01b4541c3fbc2c2794 GIT binary patch literal 8192 zcmeI$e`wTo9LMq3-Q4Z=^Y-g@`~Ca(kNlNdP20!vXQp%6EN8ZAnLpBO>NGVqTQ*Cr zSuHbvERB-z50MIrkcy}%2nnGdRDVc}qNs=ni2{4y>$SkEUoe;oeThx6^3_4X44Qip!YXD7GE|9Lw!(zD^#?BhB< z?BC*ns_*U2H)hyLMtD8X`F|%K;dS02Zvk%sZvk%sZvk%sZvk%sZvk%sZvk%sZ-L8g zfr0uNYtd!zdg$|gKMvcY7ccpL=zD=n4kHj}Um5H~@ZuK%Bi6;&4Sn49VYKhF!K0@J z@1v*i+Z&mOw!tI4b{~CX{&$QxzYj6+#UZE&B3==X1VsW86^TevBq3Rmj1)x*LW&Sl z6{$#5q#<3AjtoTxG8LH!E5gW9WFex6AX|}*97PUt6}iY$?j{-#j3KfMYQWT+B zQH&Br2}%{EC{vW7Tv3h+MFlDqm8eowp;}Rm8bu9i6}6~i_yed{#GyeE#1)Eoj8-II zj3N$Z7OjblNMUjnb6**{9 zchUMR3zq#c(rJC2%uUrEs%UWpJ}q<#0EsD&Xd*D&cNa zRl&_wRm06w)xb5YYT@RyVghh2syMitR6)1}s(84YRS9sdszkVjswB8uRLO9+s#4$< zsX}mVs#Lhesx-LUROxU_R2gu$t1{u*RbjY0R9SF$sv>ZAsj}fZR5@^Wt8DS5DqH*> zl`XzZWs5IY+2Siyw)jewEq<@c7GI^Z#aF9r@%vP^_!^Zhe!t2V?^N01YgM-RI+ZQH zUS*4Ssp{Z1utwST8&$Ub11j5olghT=tg`L5sBHTORkrsU zaEDp3b`_4O>?-uD>?*vVva4`ZWmn;tD$)MHdpB_-iN*B`>I+ISJ<7o{oqG6gyeNp}A z=}+`q`XxO>-=}ZUQ}j4Jf_QsvAKgQ{>1NtVm(zB-kj|ykXd@j*YiKcz&=eXQ)%O?u zjs8H-(J$y3`T;#nU!y1JF?xXZ(jK~vcF|R|gSOEYI*T^ZiL`;1(>$6^<0+!zJpGvt c(68xP`Z0Z%zClmYm+54z)Zduq{Lrqy0s3>}p#T5? literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/cc0.dat b/corejava第9版/v2ch04/COREJAVA/seg0/cc0.dat new file mode 100644 index 0000000000000000000000000000000000000000..42fccfab099157677b456e2c3bf3929d265da45f GIT binary patch literal 8192 zcmeI1!EVz)5QfL3q-mPAfr+^7OmPe0hB5PQ^yCyp~~9v6SPQh;srRt z30|h}(5eTXpl<=Q8#^q`=F(#|Yh}DUlYeIS)A-;7J^_G(A2l9mTi4b!RowL9{7*S< zxtA_ujGWD)?dnS{EZ(RVOYSY3|4Z9#&iwOSx UpRkAXk9xib&t`jgd9(BTFHA48mjD0& literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/seg0/cd1.dat b/corejava第9版/v2ch04/COREJAVA/seg0/cd1.dat new file mode 100644 index 0000000000000000000000000000000000000000..4d4a739ee5333065d476d80c53776c6fc181fc02 GIT binary patch literal 8192 zcmeI1y-LJD5Xb+U(|p|bo!|>t*r{ME$lXOH63=+K6xy7%g&?S4r-h|YaJ^4pVQFV& zVIv4WfZ#i*Gn?!Y&gcWkEM&6tpPk+8ubT7`b3hZN-NGu_LAh)6;}2nYcoAOwVf5D)@F zKnMr{As__)7lE7cg~A!#$<+6CaH&1_wJ?hkDeSuN%z|EL$cl%uQ8tr4D`iwH zcyK5s8tnF1s-SA5c$nr@QPX+-Bn$(e7u8U=U}GlU3%A*?qhX09+a--8|Rt%|-^ zcX#yQ&H@hLxQaYe1P>)#r|Cl=%U8ZVa2S!EdD8onB!fafmDJ+54gn<0$ zb9~NlO*y#i*)R z97g%1UTd&U{>bFxRA*SA&?L&1qgaKR9aFtbndR0FtgG)jenHZNfDjM@LO=)z0U;m+ zgn$qb0)K{pe+2lSw)aW;;?(a`|DLoY9g;Sj!XxRMQ~#Fqi6XmjGFkNNz7D}x&!uBSo@0R#|0009ILKmY**5I_Kd{}MPHw@%i2rtp8C*{pawWvC~G zL9Xk^?i{5XoflH+HMdwv9aWhkfB*srAbmQns!3)6?w%oG2D4 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch04/COREJAVA/service.properties b/corejava第9版/v2ch04/COREJAVA/service.properties new file mode 100644 index 0000000..7884236 --- /dev/null +++ b/corejava第9版/v2ch04/COREJAVA/service.properties @@ -0,0 +1,22 @@ +#/data/cay/books/cj9/code/v2ch04/COREJAVA +# ******************************************************************** +# *** Veuillez ne PAS éditer ce fichier. *** +# *** LA MODIFICATION DE SON CONTENU PEUT ENTRAINER UNE ALTERATION DES DONNEES. *** +# ******************************************************************** +#Tue Jun 05 19:34:01 PDT 2012 +SysschemasIndex2Identifier=225 +SyscolumnsIdentifier=144 +SysconglomeratesIndex1Identifier=49 +SysconglomeratesIdentifier=32 +SyscolumnsIndex2Identifier=177 +SysschemasIndex1Identifier=209 +SysconglomeratesIndex3Identifier=81 +SystablesIndex2Identifier=129 +SyscolumnsIndex1Identifier=161 +derby.serviceProtocol=org.apache.derby.database.Database +SysschemasIdentifier=192 +derby.storage.propertiesId=16 +SysconglomeratesIndex2Identifier=65 +derby.serviceLocale=fr_FR +SystablesIdentifier=96 +SystablesIndex1Identifier=113 diff --git a/corejava第9版/v2ch04/Publishers.sql b/corejava第9版/v2ch04/Publishers.sql new file mode 100644 index 0000000..02fb7d7 --- /dev/null +++ b/corejava第9版/v2ch04/Publishers.sql @@ -0,0 +1,10 @@ +CREATE TABLE Publishers (Publisher_Id CHAR(6), Name CHAR(30), URL CHAR(80)); +INSERT INTO Publishers VALUES ('0201', 'Addison-Wesley', 'www.aw-bc.com'); +INSERT INTO Publishers VALUES ('0471', 'John Wiley & Sons', 'www.wiley.com'); +INSERT INTO Publishers VALUES ('0262', 'MIT Press', 'mitpress.mit.edu'); +INSERT INTO Publishers VALUES ('0596', 'O''Reilly', 'www.ora.com'); +INSERT INTO Publishers VALUES ('019', 'Oxford University Press', 'www.oup.co.uk'); +INSERT INTO Publishers VALUES ('013', 'Prentice Hall', 'www.phptr.com'); +INSERT INTO Publishers VALUES ('0679', 'Random House', 'www.randomhouse.com'); +INSERT INTO Publishers VALUES ('07434', 'Simon & Schuster', 'www.simonsays.com'); +SELECT * FROM Publishers; diff --git a/corejava第9版/v2ch04/database.properties b/corejava第9版/v2ch04/database.properties new file mode 100644 index 0000000..b31f86d --- /dev/null +++ b/corejava第9版/v2ch04/database.properties @@ -0,0 +1,4 @@ +#jdbc.drivers=org.apache.derby.jdbc.ClientDriver +jdbc.url=jdbc:derby://localhost:1527/COREJAVA;create=true +jdbc.username=dbuser +jdbc.password=secret diff --git a/corejava第9版/v2ch04/derby.log b/corejava第9版/v2ch04/derby.log new file mode 100644 index 0000000..7b49c70 --- /dev/null +++ b/corejava第9版/v2ch04/derby.log @@ -0,0 +1,11 @@ +Sat Sep 29 12:42:21 PDT 2012 : Apache Derby Serveur réseau - 10.8.2.2 - (1181258) démarré et prêt à accepter les connexions sur le port 1527 +---------------------------------------------------------------- +Sat Sep 29 12:42:30 PDT 2012: +Amorçage de Derby version The Apache Software Foundation - Apache Derby - 10.8.2.2 - (1181258) : instance a816c00e-013a-138d-0c27-00003f9cbb5b +dans le répertoire de base de données /data/cay/books/cj9/code/v2ch04/COREJAVA avec le chargeur de classe sun.misc.Launcher$AppClassLoader@b99e4c + +java.vendor=Oracle Corporation +java.runtime.version=1.7.0_07-b10 +user.dir=/data/cay/books/cj9/code/v2ch04 +derby.system.home=/data/cay/books/cj9/code/v2ch04 +Chargeur de classe de la base de données démarré - derby.database.classpath='' diff --git a/corejava第9版/v2ch04/exec/ExecSQL.java b/corejava第9版/v2ch04/exec/ExecSQL.java new file mode 100644 index 0000000..3a120f5 --- /dev/null +++ b/corejava第9版/v2ch04/exec/ExecSQL.java @@ -0,0 +1,117 @@ +package exec; + +import java.io.*; +import java.nio.file.*; +import java.util.*; +import java.sql.*; + +/** + * Executes all SQL statements in a file. Call this program as
        + * java -classpath driverPath:. ExecSQL commandFile + * + * @version 1.31 2012-06-05 + * @author Cay Horstmann + */ +class ExecSQL +{ + public static void main(String args[]) throws IOException + { + try + { + Scanner in = args.length == 0 ? new Scanner(System.in) : new Scanner(Paths.get(args[0])); + + try (Connection conn = getConnection()) + { + Statement stat = conn.createStatement(); + + while (true) + { + if (args.length == 0) System.out.println("Enter command or EXIT to exit:"); + + if (!in.hasNextLine()) return; + + String line = in.nextLine(); + if (line.equalsIgnoreCase("EXIT")) return; + if (line.trim().endsWith(";")) // remove trailing semicolon + { + line = line.trim(); + line = line.substring(0, line.length() - 1); + } + try + { + boolean isResult = stat.execute(line); + if (isResult) + { + ResultSet rs = stat.getResultSet(); + showResultSet(rs); + } + else + { + int updateCount = stat.getUpdateCount(); + System.out.println(updateCount + " rows updated"); + } + } + catch (SQLException ex) + { + for (Throwable e : ex) + e.printStackTrace(); + } + } + } + } + catch (SQLException e) + { + for (Throwable t : e) + t.printStackTrace(); + } + } + + /** + * Gets a connection from the properties specified in the file database.properties + * @return the database connection + */ + public static Connection getConnection() throws SQLException, IOException + { + Properties props = new Properties(); + try (InputStream in = Files.newInputStream(Paths.get("database.properties"))) + { + props.load(in); + } + + String drivers = props.getProperty("jdbc.drivers"); + if (drivers != null) System.setProperty("jdbc.drivers", drivers); + + String url = props.getProperty("jdbc.url"); + String username = props.getProperty("jdbc.username"); + String password = props.getProperty("jdbc.password"); + + return DriverManager.getConnection(url, username, password); + } + + /** + * Prints a result set. + * @param result the result set to be printed + */ + public static void showResultSet(ResultSet result) throws SQLException + { + ResultSetMetaData metaData = result.getMetaData(); + int columnCount = metaData.getColumnCount(); + + for (int i = 1; i <= columnCount; i++) + { + if (i > 1) System.out.print(", "); + System.out.print(metaData.getColumnLabel(i)); + } + System.out.println(); + + while (result.next()) + { + for (int i = 1; i <= columnCount; i++) + { + if (i > 1) System.out.print(", "); + System.out.print(result.getString(i)); + } + System.out.println(); + } + } +} diff --git a/corejava第9版/v2ch04/query/QueryTest.java b/corejava第9版/v2ch04/query/QueryTest.java new file mode 100644 index 0000000..5d7e207 --- /dev/null +++ b/corejava第9版/v2ch04/query/QueryTest.java @@ -0,0 +1,173 @@ +package query; + +import java.io.*; +import java.nio.file.*; +import java.sql.*; +import java.util.*; + +/** + * This program demonstrates several complex database queries. + * @version 1.30 2012-06-05 + * @author Cay Horstmann + */ +public class QueryTest +{ + private static final String allQuery = "SELECT Books.Price, Books.Title FROM Books"; + + private static final String authorPublisherQuery = "SELECT Books.Price, Books.Title" + + " FROM Books, BooksAuthors, Authors, Publishers" + + " WHERE Authors.Author_Id = BooksAuthors.Author_Id AND BooksAuthors.ISBN = Books.ISBN" + + " AND Books.Publisher_Id = Publishers.Publisher_Id AND Authors.Name = ?" + + " AND Publishers.Name = ?"; + + private static final String authorQuery = "SELECT Books.Price, Books.Title FROM Books, BooksAuthors, Authors" + + " WHERE Authors.Author_Id = BooksAuthors.Author_Id AND BooksAuthors.ISBN = Books.ISBN" + + " AND Authors.Name = ?"; + + private static final String publisherQuery = "SELECT Books.Price, Books.Title FROM Books, Publishers" + + " WHERE Books.Publisher_Id = Publishers.Publisher_Id AND Publishers.Name = ?"; + + + private static final String priceUpdate = "UPDATE Books " + "SET Price = Price + ? " + + " WHERE Books.Publisher_Id = (SELECT Publisher_Id FROM Publishers WHERE Name = ?)"; + + private static Scanner in; + private static Connection conn; + private static ArrayList authors = new ArrayList<>(); + private static ArrayList publishers = new ArrayList<>(); + + public static void main(String[] args) throws IOException + { + try + { + conn = getConnection(); + in = new Scanner(System.in); + authors.add("Any"); + publishers.add("Any"); + try (Statement stat = conn.createStatement()) + { + // Fill the authors array list + String query = "SELECT Name FROM Authors"; + try (ResultSet rs = stat.executeQuery(query)) + { + while (rs.next()) + authors.add(rs.getString(1)); + } + + // Fill the publishers array list + query = "SELECT Name FROM Publishers"; + try (ResultSet rs = stat.executeQuery(query)) + { + while (rs.next()) + publishers.add(rs.getString(1)); + } + } + boolean done = false; + while (!done) + { + System.out.print("Q)uery C)hange prices E)xit: "); + String input = in.next().toUpperCase(); + if (input.equals("Q")) + executeQuery(); + else if (input.equals("C")) + changePrices(); + else + done = true; + } + } + catch (SQLException e) + { + for (Throwable t : e) + System.out.println(t.getMessage()); + } + } + + /** + * Executes the selected query. + */ + private static void executeQuery() throws SQLException + { + String author = select("Authors:", authors); + String publisher = select("Publishers:", publishers); + PreparedStatement stat; + if (!author.equals("Any") && !publisher.equals("Any")) + { + stat = conn.prepareStatement(authorPublisherQuery); + stat.setString(1, author); + stat.setString(2, publisher); + } + else if (!author.equals("Any") && publisher.equals("Any")) + { + stat = conn.prepareStatement(authorQuery); + stat.setString(1, author); + } + else if (author.equals("Any") && !publisher.equals("Any")) + { + stat = conn.prepareStatement(publisherQuery); + stat.setString(1, publisher); + } + else + stat = conn.prepareStatement(allQuery); + + try (ResultSet rs = stat.executeQuery()) + { + while (rs.next()) + System.out.println(rs.getString(1) + ", " + rs.getString(2)); + } + } + + /** + * Executes an update statement to change prices. + */ + public static void changePrices() throws SQLException + { + String publisher = select("Publishers:", publishers.subList(1, publishers.size())); + System.out.print("Change prices by: "); + double priceChange = in.nextDouble(); + PreparedStatement stat = conn.prepareStatement(priceUpdate); + stat.setDouble(1, priceChange); + stat.setString(2, publisher); + int r = stat.executeUpdate(); + System.out.println(r + " records updated."); + } + + /** + * Asks the user to select a string. + * @param prompt the prompt to display + * @param options the options from which the user can choose + * @return the option that the user chose + */ + public static String select(String prompt, List options) + { + while (true) + { + System.out.println(prompt); + for (int i = 0; i < options.size(); i++) + System.out.printf("%2d) %s%n", i + 1, options.get(i)); + int sel = in.nextInt(); + if (sel > 0 && sel <= options.size()) + return options.get(sel - 1); + } + } + + /** + * Gets a connection from the properties specified in the file database.properties. + * @return the database connection + */ + public static Connection getConnection() throws SQLException, IOException + { + Properties props = new Properties(); + try (InputStream in = Files.newInputStream(Paths.get("database.properties"))) + { + props.load(in); + } + + String drivers = props.getProperty("jdbc.drivers"); + if (drivers != null) System.setProperty("jdbc.drivers", drivers); + String url = props.getProperty("jdbc.url"); + String username = props.getProperty("jdbc.username"); + String password = props.getProperty("jdbc.password"); + + return DriverManager.getConnection(url, username, password); + } +} diff --git a/corejava第9版/v2ch04/test/TestDB.java b/corejava第9版/v2ch04/test/TestDB.java new file mode 100644 index 0000000..3e77fa2 --- /dev/null +++ b/corejava第9版/v2ch04/test/TestDB.java @@ -0,0 +1,70 @@ +package test; + +import java.nio.file.*; +import java.sql.*; +import java.io.*; +import java.util.*; + +/** + * This program tests that the database and the JDBC driver are correctly configured. + * @version 1.02 2012-06-05 + * @author Cay Horstmann + */ +public class TestDB +{ + public static void main(String args[]) throws IOException + { + try + { + runTest(); + } + catch (SQLException ex) + { + for (Throwable t : ex) + t.printStackTrace(); + } + } + + /** + * Runs a test by creating a table, adding a value, showing the table contents, and removing the + * table. + */ + public static void runTest() throws SQLException, IOException + { + + try (Connection conn = getConnection()) + { + Statement stat = conn.createStatement(); + + stat.executeUpdate("CREATE TABLE Greetings (Message CHAR(20))"); + stat.executeUpdate("INSERT INTO Greetings VALUES ('Hello, World!')"); + + try (ResultSet result = stat.executeQuery("SELECT * FROM Greetings")) + { + if (result.next()) + System.out.println(result.getString(1)); + } + stat.executeUpdate("DROP TABLE Greetings"); + } + } + + /** + * Gets a connection from the properties specified in the file database.properties. + * @return the database connection + */ + public static Connection getConnection() throws SQLException, IOException + { + Properties props = new Properties(); + try (InputStream in = Files.newInputStream(Paths.get("database.properties"))) + { + props.load(in); + } + String drivers = props.getProperty("jdbc.drivers"); + if (drivers != null) System.setProperty("jdbc.drivers", drivers); + String url = props.getProperty("jdbc.url"); + String username = props.getProperty("jdbc.username"); + String password = props.getProperty("jdbc.password"); + + return DriverManager.getConnection(url, username, password); + } +} diff --git a/corejava第9版/v2ch04/view/ViewDB.java b/corejava第9版/v2ch04/view/ViewDB.java new file mode 100644 index 0000000..9f73420 --- /dev/null +++ b/corejava第9版/v2ch04/view/ViewDB.java @@ -0,0 +1,330 @@ +package view; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.nio.file.*; +import java.sql.*; +import java.util.*; +import javax.sql.*; +import javax.sql.rowset.*; +import javax.swing.*; + +/** + * This program uses metadata to display arbitrary tables in a database. + * @version 1.32 2012-01-26 + * @author Cay Horstmann + */ +public class ViewDB +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ViewDBFrame(); + frame.setTitle("ViewDB"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * The frame that holds the data panel and the navigation buttons. + */ +class ViewDBFrame extends JFrame +{ + private JButton previousButton; + private JButton nextButton; + private JButton deleteButton; + private JButton saveButton; + private DataPanel dataPanel; + private Component scrollPane; + private JComboBox tableNames; + private Properties props; + private CachedRowSet crs; + + public ViewDBFrame() + { + tableNames = new JComboBox(); + tableNames.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + showTable((String) tableNames.getSelectedItem()); + } + }); + add(tableNames, BorderLayout.NORTH); + + try + { + readDatabaseProperties(); + try (Connection conn = getConnection()) + { + DatabaseMetaData meta = conn.getMetaData(); + ResultSet mrs = meta.getTables(null, null, null, new String[] { "TABLE" }); + while (mrs.next()) + tableNames.addItem(mrs.getString(3)); + } + } + catch (SQLException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + + JPanel buttonPanel = new JPanel(); + add(buttonPanel, BorderLayout.SOUTH); + + previousButton = new JButton("Previous"); + previousButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + showPreviousRow(); + } + }); + buttonPanel.add(previousButton); + + nextButton = new JButton("Next"); + nextButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + showNextRow(); + } + }); + buttonPanel.add(nextButton); + + deleteButton = new JButton("Delete"); + deleteButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + deleteRow(); + } + }); + buttonPanel.add(deleteButton); + + saveButton = new JButton("Save"); + saveButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + saveChanges(); + } + }); + buttonPanel.add(saveButton); + pack(); + } + + /** + * Prepares the text fields for showing a new table, and shows the first row. + * @param tableName the name of the table to display + */ + public void showTable(String tableName) + { + try + { + try (Connection conn = getConnection()) + { + // get result set + Statement stat = conn.createStatement(); + ResultSet result = stat.executeQuery("SELECT * FROM " + tableName); + // copy into cached row set + RowSetFactory factory = RowSetProvider.newFactory(); + crs = factory.createCachedRowSet(); + crs.setTableName(tableName); + crs.populate(result); + } + + if (scrollPane != null) remove(scrollPane); + dataPanel = new DataPanel(crs); + scrollPane = new JScrollPane(dataPanel); + add(scrollPane, BorderLayout.CENTER); + validate(); + showNextRow(); + } + catch (SQLException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + /** + * Moves to the previous table row. + */ + public void showPreviousRow() + { + try + { + if (crs == null || crs.isFirst()) return; + crs.previous(); + dataPanel.showRow(crs); + } + catch (SQLException e) + { + for (Throwable t : e) + t.printStackTrace(); + } + } + + /** + * Moves to the next table row. + */ + public void showNextRow() + { + try + { + if (crs == null || crs.isLast()) return; + crs.next(); + dataPanel.showRow(crs); + } + catch (SQLException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + /** + * Deletes current table row. + */ + public void deleteRow() + { + try + { + try (Connection conn = getConnection()) + { + crs.deleteRow(); + crs.acceptChanges(conn); + if (crs.isAfterLast()) + if (!crs.last()) crs = null; + dataPanel.showRow(crs); + } + } + catch (SQLException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + /** + * Saves all changes. + */ + public void saveChanges() + { + try + { + try (Connection conn = getConnection()) + { + dataPanel.setRow(crs); + crs.acceptChanges(conn); + } + } + catch (SQLException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + private void readDatabaseProperties() throws IOException + { + props = new Properties(); + try (InputStream in = Files.newInputStream(Paths.get("database.properties"))) + { + props.load(in); + } + String drivers = props.getProperty("jdbc.drivers"); + if (drivers != null) System.setProperty("jdbc.drivers", drivers); + } + + /** + * Gets a connection from the properties specified in the file database.properties. + * @return the database connection + */ + private Connection getConnection() throws SQLException + { + String url = props.getProperty("jdbc.url"); + String username = props.getProperty("jdbc.username"); + String password = props.getProperty("jdbc.password"); + + return DriverManager.getConnection(url, username, password); + } +} + +/** + * This panel displays the contents of a result set. + */ +class DataPanel extends JPanel +{ + private java.util.List fields; + + /** + * Constructs the data panel. + * @param rs the result set whose contents this panel displays + */ + public DataPanel(RowSet rs) throws SQLException + { + fields = new ArrayList<>(); + setLayout(new GridBagLayout()); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.gridwidth = 1; + gbc.gridheight = 1; + + ResultSetMetaData rsmd = rs.getMetaData(); + for (int i = 1; i <= rsmd.getColumnCount(); i++) + { + gbc.gridy = i - 1; + + String columnName = rsmd.getColumnLabel(i); + gbc.gridx = 0; + gbc.anchor = GridBagConstraints.EAST; + add(new JLabel(columnName), gbc); + + int columnWidth = rsmd.getColumnDisplaySize(i); + JTextField tb = new JTextField(columnWidth); + if (!rsmd.getColumnClassName(i).equals("java.lang.String")) + tb.setEditable(false); + + fields.add(tb); + + gbc.gridx = 1; + gbc.anchor = GridBagConstraints.WEST; + add(tb, gbc); + } + } + + /** + * Shows a database row by populating all text fields with the column values. + */ + public void showRow(ResultSet rs) throws SQLException + { + for (int i = 1; i <= fields.size(); i++) + { + String field = rs == null ? "" : rs.getString(i); + JTextField tb = fields.get(i - 1); + tb.setText(field); + } + } + + /** + * Updates changed data into the current row of the row set. + */ + public void setRow(RowSet rs) throws SQLException + { + for (int i = 1; i <= fields.size(); i++) + { + String field = rs.getString(i); + JTextField tb = fields.get(i - 1); + if (!field.equals(tb.getText())) + rs.updateString(i, tb.getText()); + } + rs.updateRow(); + } +} diff --git a/corejava第9版/v2ch05/collation/CollationTest.java b/corejava第9版/v2ch05/collation/CollationTest.java new file mode 100644 index 0000000..08ecad8 --- /dev/null +++ b/corejava第9版/v2ch05/collation/CollationTest.java @@ -0,0 +1,139 @@ +package collation; + +import java.awt.*; +import java.awt.event.*; +import java.text.*; +import java.util.*; +import java.util.List; + +import javax.swing.*; + +/** + * This program demonstrates collating strings under various locales. + * @version 1.14 2012-01-26 + * @author Cay Horstmann + */ +public class CollationTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new CollationFrame(); + frame.setTitle("CollationTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains combo boxes to pick a locale, collation strength and decomposition rules, a + * text field and button to add new strings, and a text area to list the collated strings. + */ +class CollationFrame extends JFrame +{ + private Collator collator = Collator.getInstance(Locale.getDefault()); + private List strings = new ArrayList<>(); + private Collator currentCollator; + private Locale[] locales; + private JComboBox localeCombo = new JComboBox<>(); + private JTextField newWord = new JTextField(20); + private JTextArea sortedWords = new JTextArea(20, 20); + private JButton addButton = new JButton("Add"); + private EnumCombo strengthCombo = new EnumCombo(Collator.class, "Primary", + "Secondary", "Tertiary", "Identical"); + private EnumCombo decompositionCombo = new EnumCombo(Collator.class, + "Canonical Decomposition", "Full Decomposition", "No Decomposition"); + + public CollationFrame() + { + setLayout(new GridBagLayout()); + add(new JLabel("Locale"), new GBC(0, 0).setAnchor(GBC.EAST)); + add(new JLabel("Strength"), new GBC(0, 1).setAnchor(GBC.EAST)); + add(new JLabel("Decomposition"), new GBC(0, 2).setAnchor(GBC.EAST)); + add(addButton, new GBC(0, 3).setAnchor(GBC.EAST)); + add(localeCombo, new GBC(1, 0).setAnchor(GBC.WEST)); + add(strengthCombo, new GBC(1, 1).setAnchor(GBC.WEST)); + add(decompositionCombo, new GBC(1, 2).setAnchor(GBC.WEST)); + add(newWord, new GBC(1, 3).setFill(GBC.HORIZONTAL)); + add(new JScrollPane(sortedWords), new GBC(0, 4, 2, 1).setFill(GBC.BOTH)); + + locales = (Locale[]) Collator.getAvailableLocales().clone(); + Arrays.sort(locales, new Comparator() + { + + public int compare(Locale l1, Locale l2) + { + return collator.compare(l1.getDisplayName(), l2.getDisplayName()); + } + }); + for (Locale loc : locales) + localeCombo.addItem(loc.getDisplayName()); + localeCombo.setSelectedItem(Locale.getDefault().getDisplayName()); + + strings.add("America"); + strings.add("able"); + strings.add("Zulu"); + strings.add("zebra"); + strings.add("\u00C5ngstr\u00F6m"); + strings.add("A\u030angstro\u0308m"); + strings.add("Angstrom"); + strings.add("Able"); + strings.add("office"); + strings.add("o\uFB03ce"); + strings.add("Java\u2122"); + strings.add("JavaTM"); + updateDisplay(); + + addButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + strings.add(newWord.getText()); + updateDisplay(); + } + }); + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + updateDisplay(); + } + }; + + localeCombo.addActionListener(listener); + strengthCombo.addActionListener(listener); + decompositionCombo.addActionListener(listener); + pack(); + } + + /** + * Updates the display and collates the strings according to the user settings. + */ + public void updateDisplay() + { + Locale currentLocale = locales[localeCombo.getSelectedIndex()]; + localeCombo.setLocale(currentLocale); + + currentCollator = Collator.getInstance(currentLocale); + currentCollator.setStrength(strengthCombo.getValue()); + currentCollator.setDecomposition(decompositionCombo.getValue()); + + Collections.sort(strings, currentCollator); + + sortedWords.setText(""); + for (int i = 0; i < strings.size(); i++) + { + String s = strings.get(i); + if (i > 0 && currentCollator.compare(s, strings.get(i - 1)) == 0) sortedWords + .append("= "); + sortedWords.append(s + "\n"); + } + pack(); + } +} diff --git a/corejava第9版/v2ch05/collation/EnumCombo.java b/corejava第9版/v2ch05/collation/EnumCombo.java new file mode 100644 index 0000000..ca66b49 --- /dev/null +++ b/corejava第9版/v2ch05/collation/EnumCombo.java @@ -0,0 +1,50 @@ +package collation; + +import java.util.*; +import javax.swing.*; + +/** + A combo box that lets users choose from among static field + values whose names are given in the constructor. + @version 1.14 2012-01-26 + @author Cay Horstmann +*/ +public class EnumCombo extends JComboBox +{ + private Map table = new TreeMap<>(); + + /** + Constructs an EnumCombo. + @param cl a class + @param labels an array of static field names of cl + */ + public EnumCombo(Class cl, String... labels) + { + for (String label : labels) + { + String name = label.toUpperCase().replace(' ', '_'); + int value = 0; + try + { + java.lang.reflect.Field f = cl.getField(name); + value = f.getInt(cl); + } + catch (Exception e) + { + label = "(" + label + ")"; + } + table.put(label, value); + addItem(label); + } + setSelectedItem(labels[0]); + } + + /** + Returns the value of the field that the user selected. + @return the static field value + */ + public int getValue() + { + return table.get(getSelectedItem()); + } +} diff --git a/corejava第9版/v2ch05/collation/GBC.java b/corejava第9版/v2ch05/collation/GBC.java new file mode 100644 index 0000000..ed4ed2a --- /dev/null +++ b/corejava第9版/v2ch05/collation/GBC.java @@ -0,0 +1,131 @@ +package collation; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch05/dateFormat/DateFormatTest.java b/corejava第9版/v2ch05/dateFormat/DateFormatTest.java new file mode 100644 index 0000000..8682057 --- /dev/null +++ b/corejava第9版/v2ch05/dateFormat/DateFormatTest.java @@ -0,0 +1,161 @@ +package dateFormat; + +import java.awt.*; +import java.awt.event.*; +import java.text.*; +import java.util.*; + +import javax.swing.*; + +/** + * This program demonstrates formatting dates under various locales. + * @version 1.13 2007-07-25 + * @author Cay Horstmann + */ +public class DateFormatTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new DateFormatFrame(); + frame.setTitle("DateFormatTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains combo boxes to pick a locale, date and time formats, text fields to display + * formatted date and time, buttons to parse the text field contents, and a "lenient" check box. + */ +class DateFormatFrame extends JFrame +{ + private Locale[] locales; + private Date currentDate; + private Date currentTime; + private DateFormat currentDateFormat; + private DateFormat currentTimeFormat; + private JComboBox localeCombo = new JComboBox<>(); + private JButton dateParseButton = new JButton("Parse date"); + private JButton timeParseButton = new JButton("Parse time"); + private JTextField dateText = new JTextField(30); + private JTextField timeText = new JTextField(30); + private JCheckBox lenientCheckbox = new JCheckBox("Parse lenient", true); + private EnumCombo dateStyleCombo = new EnumCombo(DateFormat.class, "Default", + "Full", "Long", "Medium", "Short"); + private EnumCombo timeStyleCombo = new EnumCombo(DateFormat.class, "Default", + "Full", "Long", "Medium", "Short"); + + public DateFormatFrame() + { + setLayout(new GridBagLayout()); + add(new JLabel("Locale"), new GBC(0, 0).setAnchor(GBC.EAST)); + add(new JLabel("Date style"), new GBC(0, 1).setAnchor(GBC.EAST)); + add(new JLabel("Time style"), new GBC(2, 1).setAnchor(GBC.EAST)); + add(new JLabel("Date"), new GBC(0, 2).setAnchor(GBC.EAST)); + add(new JLabel("Time"), new GBC(0, 3).setAnchor(GBC.EAST)); + add(localeCombo, new GBC(1, 0, 2, 1).setAnchor(GBC.WEST)); + add(dateStyleCombo, new GBC(1, 1).setAnchor(GBC.WEST)); + add(timeStyleCombo, new GBC(3, 1).setAnchor(GBC.WEST)); + add(dateParseButton, new GBC(3, 2).setAnchor(GBC.WEST)); + add(timeParseButton, new GBC(3, 3).setAnchor(GBC.WEST)); + add(lenientCheckbox, new GBC(0, 4, 2, 1).setAnchor(GBC.WEST)); + add(dateText, new GBC(1, 2, 2, 1).setFill(GBC.HORIZONTAL)); + add(timeText, new GBC(1, 3, 2, 1).setFill(GBC.HORIZONTAL)); + + locales = (Locale[]) DateFormat.getAvailableLocales().clone(); + Arrays.sort(locales, new Comparator() + { + public int compare(Locale l1, Locale l2) + { + return l1.getDisplayName().compareTo(l2.getDisplayName()); + } + }); + for (Locale loc : locales) + localeCombo.addItem(loc.getDisplayName()); + localeCombo.setSelectedItem(Locale.getDefault().getDisplayName()); + currentDate = new Date(); + currentTime = new Date(); + updateDisplay(); + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + updateDisplay(); + } + }; + + localeCombo.addActionListener(listener); + dateStyleCombo.addActionListener(listener); + timeStyleCombo.addActionListener(listener); + + dateParseButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + String d = dateText.getText().trim(); + try + { + currentDateFormat.setLenient(lenientCheckbox.isSelected()); + Date date = currentDateFormat.parse(d); + currentDate = date; + updateDisplay(); + } + catch (ParseException e) + { + dateText.setText("Parse error: " + d); + } + catch (IllegalArgumentException e) + { + dateText.setText("Argument error: " + d); + } + } + }); + + timeParseButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + String t = timeText.getText().trim(); + try + { + currentDateFormat.setLenient(lenientCheckbox.isSelected()); + Date date = currentTimeFormat.parse(t); + currentTime = date; + updateDisplay(); + } + catch (ParseException e) + { + timeText.setText("Parse error: " + t); + } + catch (IllegalArgumentException e) + { + timeText.setText("Argument error: " + t); + } + } + }); + pack(); + } + + /** + * Updates the display and formats the date according to the user settings. + */ + public void updateDisplay() + { + Locale currentLocale = locales[localeCombo.getSelectedIndex()]; + int dateStyle = dateStyleCombo.getValue(); + currentDateFormat = DateFormat.getDateInstance(dateStyle, currentLocale); + String d = currentDateFormat.format(currentDate); + dateText.setText(d); + int timeStyle = timeStyleCombo.getValue(); + currentTimeFormat = DateFormat.getTimeInstance(timeStyle, currentLocale); + String t = currentTimeFormat.format(currentTime); + timeText.setText(t); + } +} diff --git a/corejava第9版/v2ch05/dateFormat/EnumCombo.java b/corejava第9版/v2ch05/dateFormat/EnumCombo.java new file mode 100644 index 0000000..1163fa3 --- /dev/null +++ b/corejava第9版/v2ch05/dateFormat/EnumCombo.java @@ -0,0 +1,50 @@ +package dateFormat; + +import java.util.*; +import javax.swing.*; + +/** + A combo box that lets users choose from among static field + values whose names are given in the constructor. + @version 1.14 2012-01-26 + @author Cay Horstmann +*/ +public class EnumCombo extends JComboBox +{ + private Map table = new TreeMap<>(); + + /** + Constructs an EnumCombo. + @param cl a class + @param labels an array of static field names of cl + */ + public EnumCombo(Class cl, String... labels) + { + for (String label : labels) + { + String name = label.toUpperCase().replace(' ', '_'); + int value = 0; + try + { + java.lang.reflect.Field f = cl.getField(name); + value = f.getInt(cl); + } + catch (Exception e) + { + label = "(" + label + ")"; + } + table.put(label, value); + addItem(label); + } + setSelectedItem(labels[0]); + } + + /** + Returns the value of the field that the user selected. + @return the static field value + */ + public int getValue() + { + return table.get(getSelectedItem()); + } +} diff --git a/corejava第9版/v2ch05/dateFormat/GBC.java b/corejava第9版/v2ch05/dateFormat/GBC.java new file mode 100644 index 0000000..76c0ab2 --- /dev/null +++ b/corejava第9版/v2ch05/dateFormat/GBC.java @@ -0,0 +1,131 @@ +package dateFormat; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch05/java.policy.applet b/corejava第9版/v2ch05/java.policy.applet new file mode 100644 index 0000000..ba9f51d --- /dev/null +++ b/corejava第9版/v2ch05/java.policy.applet @@ -0,0 +1,7 @@ +/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/ +/* DO NOT EDIT */ + +grant { + permission java.security.AllPermission; +}; + diff --git a/corejava第9版/v2ch05/numberFormat/GBC.java b/corejava第9版/v2ch05/numberFormat/GBC.java new file mode 100644 index 0000000..98abaa7 --- /dev/null +++ b/corejava第9版/v2ch05/numberFormat/GBC.java @@ -0,0 +1,131 @@ +package numberFormat; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch05/numberFormat/NumberFormatTest.java b/corejava第9版/v2ch05/numberFormat/NumberFormatTest.java new file mode 100644 index 0000000..a01bbe6 --- /dev/null +++ b/corejava第9版/v2ch05/numberFormat/NumberFormatTest.java @@ -0,0 +1,145 @@ +package numberFormat; + +import java.awt.*; +import java.awt.event.*; +import java.text.*; +import java.util.*; + +import javax.swing.*; + +/** + * This program demonstrates formatting numbers under various locales. + * @version 1.13 2007-07-25 + * @author Cay Horstmann + */ +public class NumberFormatTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new NumberFormatFrame(); + frame.setTitle("NumberFormatTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains radio buttons to select a number format, a combo box to pick a locale, a text + * field to display a formatted number, and a button to parse the text field contents. + */ +class NumberFormatFrame extends JFrame +{ + private Locale[] locales; + private double currentNumber; + private JComboBox localeCombo = new JComboBox<>(); + private JButton parseButton = new JButton("Parse"); + private JTextField numberText = new JTextField(30); + private JRadioButton numberRadioButton = new JRadioButton("Number"); + private JRadioButton currencyRadioButton = new JRadioButton("Currency"); + private JRadioButton percentRadioButton = new JRadioButton("Percent"); + private ButtonGroup rbGroup = new ButtonGroup(); + private NumberFormat currentNumberFormat; + + public NumberFormatFrame() + { + setLayout(new GridBagLayout()); + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + updateDisplay(); + } + }; + + JPanel p = new JPanel(); + addRadioButton(p, numberRadioButton, rbGroup, listener); + addRadioButton(p, currencyRadioButton, rbGroup, listener); + addRadioButton(p, percentRadioButton, rbGroup, listener); + + add(new JLabel("Locale:"), new GBC(0, 0).setAnchor(GBC.EAST)); + add(p, new GBC(1, 1)); + add(parseButton, new GBC(0, 2).setInsets(2)); + add(localeCombo, new GBC(1, 0).setAnchor(GBC.WEST)); + add(numberText, new GBC(1, 2).setFill(GBC.HORIZONTAL)); + locales = (Locale[]) NumberFormat.getAvailableLocales().clone(); + Arrays.sort(locales, new Comparator() + { + public int compare(Locale l1, Locale l2) + { + return l1.getDisplayName().compareTo(l2.getDisplayName()); + } + }); + for (Locale loc : locales) + localeCombo.addItem(loc.getDisplayName()); + localeCombo.setSelectedItem(Locale.getDefault().getDisplayName()); + currentNumber = 123456.78; + updateDisplay(); + + localeCombo.addActionListener(listener); + + parseButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + String s = numberText.getText().trim(); + try + { + Number n = currentNumberFormat.parse(s); + if (n != null) + { + currentNumber = n.doubleValue(); + updateDisplay(); + } + else + { + numberText.setText("Parse error: " + s); + } + } + catch (ParseException e) + { + numberText.setText("Parse error: " + s); + } + } + }); + pack(); + } + + /** + * Adds a radio button to a container. + * @param p the container into which to place the button + * @param b the button + * @param g the button group + * @param listener the button listener + */ + public void addRadioButton(Container p, JRadioButton b, ButtonGroup g, ActionListener listener) + { + b.setSelected(g.getButtonCount() == 0); + b.addActionListener(listener); + g.add(b); + p.add(b); + } + + /** + * Updates the display and formats the number according to the user settings. + */ + public void updateDisplay() + { + Locale currentLocale = locales[localeCombo.getSelectedIndex()]; + currentNumberFormat = null; + if (numberRadioButton.isSelected()) currentNumberFormat = NumberFormat + .getNumberInstance(currentLocale); + else if (currencyRadioButton.isSelected()) currentNumberFormat = NumberFormat + .getCurrencyInstance(currentLocale); + else if (percentRadioButton.isSelected()) currentNumberFormat = NumberFormat + .getPercentInstance(currentLocale); + String n = currentNumberFormat.format(currentNumber); + numberText.setText(n); + } +} diff --git a/corejava第9版/v2ch05/retire.Retire1339094435852.html b/corejava第9版/v2ch05/retire.Retire1339094435852.html new file mode 100644 index 0000000..047c22d --- /dev/null +++ b/corejava第9版/v2ch05/retire.Retire1339094435852.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/corejava第9版/v2ch05/retire/GBC.java b/corejava第9版/v2ch05/retire/GBC.java new file mode 100644 index 0000000..af51080 --- /dev/null +++ b/corejava第9版/v2ch05/retire/GBC.java @@ -0,0 +1,131 @@ +package retire; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch05/retire/LocaleCombo.java b/corejava第9版/v2ch05/retire/LocaleCombo.java new file mode 100644 index 0000000..b42f5c4 --- /dev/null +++ b/corejava第9版/v2ch05/retire/LocaleCombo.java @@ -0,0 +1,111 @@ +package retire; + +import java.awt.*; +import java.text.*; +import java.util.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * This combo box lets a user pick a locale. The locales are displayed in the locale of the combo + * box, and sorted according to the collator of the display locale. + * @version 1.00 2004-09-15 + * @author Cay Horstmann + */ +public class LocaleCombo extends JComboBox +{ + private int selected; + private Locale[] locales; + private ListCellRenderer renderer; + + /** + * Constructs a locale combo that displays an immutable collection of locales. + * @param locales the locales to display in this combo box + */ + public LocaleCombo(Locale[] locales) + { + this.locales = (Locale[]) locales.clone(); + sort(); + setSelectedItem(getLocale()); + } + + public void setLocale(Locale newValue) + { + super.setLocale(newValue); + sort(); + } + + private void sort() + { + final Locale loc = getLocale(); + final Collator collator = Collator.getInstance(loc); + final Comparator comp = new Comparator() + { + public int compare(Locale a, Locale b) + { + return collator.compare(a.getDisplayName(loc), b.getDisplayName(loc)); + } + }; + Arrays.sort(locales, comp); + setModel(new ComboBoxModel() + { + public Locale getElementAt(int i) + { + return locales[i]; + } + + public int getSize() + { + return locales.length; + } + + public void addListDataListener(ListDataListener l) + { + } + + public void removeListDataListener(ListDataListener l) + { + } + + public Locale getSelectedItem() + { + return selected >= 0 ? locales[selected] : null; + } + + public void setSelectedItem(Object anItem) + { + if (anItem == null) selected = -1; + else selected = Arrays.binarySearch(locales, (Locale) anItem, comp); + } + + }); + setSelectedItem(selected); + } + + public ListCellRenderer getRenderer() + { + if (renderer == null) + { + @SuppressWarnings("unchecked") final ListCellRenderer originalRenderer + = (ListCellRenderer) super.getRenderer(); + if (originalRenderer == null) return null; + renderer = new ListCellRenderer() + { + public Component getListCellRendererComponent(JList list, Locale value, int index, + boolean isSelected, boolean cellHasFocus) + { + String renderedValue = value.getDisplayName(getLocale()); + return originalRenderer.getListCellRendererComponent(list, renderedValue, index, + isSelected, cellHasFocus); + } + }; + } + return renderer; + } + + public void setRenderer(ListCellRenderer newValue) + { + renderer = null; + super.setRenderer(newValue); + } +} diff --git a/corejava第9版/v2ch05/retire/Retire.java b/corejava第9版/v2ch05/retire/Retire.java new file mode 100644 index 0000000..3a88bd5 --- /dev/null +++ b/corejava第9版/v2ch05/retire/Retire.java @@ -0,0 +1,527 @@ +package retire; + +import java.awt.*; +import java.awt.event.*; +import java.awt.geom.*; +import java.util.*; +import java.text.*; +import javax.swing.*; + +/** + * This program shows a retirement calculator. The UI is displayed in English, German, and Chinese. + * @version 1.23 2012-06-07 + * @author Cay Horstmann + */ +public class Retire +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new RetireFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +class RetireFrame extends JFrame +{ + private JTextField savingsField = new JTextField(10); + private JTextField contribField = new JTextField(10); + private JTextField incomeField = new JTextField(10); + private JTextField currentAgeField = new JTextField(4); + private JTextField retireAgeField = new JTextField(4); + private JTextField deathAgeField = new JTextField(4); + private JTextField inflationPercentField = new JTextField(6); + private JTextField investPercentField = new JTextField(6); + private JTextArea retireText = new JTextArea(10, 25); + private RetireComponent retireCanvas = new RetireComponent(); + private JButton computeButton = new JButton(); + private JLabel languageLabel = new JLabel(); + private JLabel savingsLabel = new JLabel(); + private JLabel contribLabel = new JLabel(); + private JLabel incomeLabel = new JLabel(); + private JLabel currentAgeLabel = new JLabel(); + private JLabel retireAgeLabel = new JLabel(); + private JLabel deathAgeLabel = new JLabel(); + private JLabel inflationPercentLabel = new JLabel(); + private JLabel investPercentLabel = new JLabel(); + private RetireInfo info = new RetireInfo(); + private Locale[] locales = { Locale.US, Locale.CHINA, Locale.GERMANY }; + private Locale currentLocale; + private JComboBox localeCombo = new LocaleCombo(locales); + private ResourceBundle res; + private ResourceBundle resStrings; + private NumberFormat currencyFmt; + private NumberFormat numberFmt; + private NumberFormat percentFmt; + + public RetireFrame() + { + setLayout(new GridBagLayout()); + add(languageLabel, new GBC(0, 0).setAnchor(GBC.EAST)); + add(savingsLabel, new GBC(0, 1).setAnchor(GBC.EAST)); + add(contribLabel, new GBC(2, 1).setAnchor(GBC.EAST)); + add(incomeLabel, new GBC(4, 1).setAnchor(GBC.EAST)); + add(currentAgeLabel, new GBC(0, 2).setAnchor(GBC.EAST)); + add(retireAgeLabel, new GBC(2, 2).setAnchor(GBC.EAST)); + add(deathAgeLabel, new GBC(4, 2).setAnchor(GBC.EAST)); + add(inflationPercentLabel, new GBC(0, 3).setAnchor(GBC.EAST)); + add(investPercentLabel, new GBC(2, 3).setAnchor(GBC.EAST)); + add(localeCombo, new GBC(1, 0, 3, 1)); + add(savingsField, new GBC(1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(contribField, new GBC(3, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(incomeField, new GBC(5, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(currentAgeField, new GBC(1, 2).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(retireAgeField, new GBC(3, 2).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(deathAgeField, new GBC(5, 2).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(inflationPercentField, new GBC(1, 3).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(investPercentField, new GBC(3, 3).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(retireCanvas, new GBC(0, 4, 4, 1).setWeight(100, 100).setFill(GBC.BOTH)); + add(new JScrollPane(retireText), new GBC(4, 4, 2, 1).setWeight(0, 100).setFill(GBC.BOTH)); + + computeButton.setName("computeButton"); + computeButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + getInfo(); + updateData(); + updateGraph(); + } + }); + add(computeButton, new GBC(5, 3)); + + retireText.setEditable(false); + retireText.setFont(new Font("Monospaced", Font.PLAIN, 10)); + + info.setSavings(0); + info.setContrib(9000); + info.setIncome(60000); + info.setCurrentAge(35); + info.setRetireAge(65); + info.setDeathAge(85); + info.setInvestPercent(0.1); + info.setInflationPercent(0.05); + + int localeIndex = 0; // US locale is default selection + for (int i = 0; i < locales.length; i++) + // if current locale one of the choices, select it + if (getLocale().equals(locales[i])) localeIndex = i; + setCurrentLocale(locales[localeIndex]); + + localeCombo.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setCurrentLocale((Locale) localeCombo.getSelectedItem()); + validate(); + } + }); + pack(); + } + + /** + * Sets the current locale. + * @param locale the desired locale + */ + public void setCurrentLocale(Locale locale) + { + currentLocale = locale; + localeCombo.setSelectedItem(currentLocale); + localeCombo.setLocale(currentLocale); + + res = ResourceBundle.getBundle("retire.RetireResources", currentLocale); + resStrings = ResourceBundle.getBundle("retire.RetireStrings", currentLocale); + currencyFmt = NumberFormat.getCurrencyInstance(currentLocale); + numberFmt = NumberFormat.getNumberInstance(currentLocale); + percentFmt = NumberFormat.getPercentInstance(currentLocale); + + updateDisplay(); + updateInfo(); + updateData(); + updateGraph(); + } + + /** + * Updates all labels in the display. + */ + public void updateDisplay() + { + languageLabel.setText(resStrings.getString("language")); + savingsLabel.setText(resStrings.getString("savings")); + contribLabel.setText(resStrings.getString("contrib")); + incomeLabel.setText(resStrings.getString("income")); + currentAgeLabel.setText(resStrings.getString("currentAge")); + retireAgeLabel.setText(resStrings.getString("retireAge")); + deathAgeLabel.setText(resStrings.getString("deathAge")); + inflationPercentLabel.setText(resStrings.getString("inflationPercent")); + investPercentLabel.setText(resStrings.getString("investPercent")); + computeButton.setText(resStrings.getString("computeButton")); + } + + /** + * Updates the information in the text fields. + */ + public void updateInfo() + { + savingsField.setText(currencyFmt.format(info.getSavings())); + contribField.setText(currencyFmt.format(info.getContrib())); + incomeField.setText(currencyFmt.format(info.getIncome())); + currentAgeField.setText(numberFmt.format(info.getCurrentAge())); + retireAgeField.setText(numberFmt.format(info.getRetireAge())); + deathAgeField.setText(numberFmt.format(info.getDeathAge())); + investPercentField.setText(percentFmt.format(info.getInvestPercent())); + inflationPercentField.setText(percentFmt.format(info.getInflationPercent())); + } + + /** + * Updates the data displayed in the text area. + */ + public void updateData() + { + retireText.setText(""); + MessageFormat retireMsg = new MessageFormat(""); + retireMsg.setLocale(currentLocale); + retireMsg.applyPattern(resStrings.getString("retire")); + + for (int i = info.getCurrentAge(); i <= info.getDeathAge(); i++) + { + Object[] args = { i, info.getBalance(i) }; + retireText.append(retireMsg.format(args) + "\n"); + } + } + + /** + * Updates the graph. + */ + public void updateGraph() + { + retireCanvas.setColorPre((Color) res.getObject("colorPre")); + retireCanvas.setColorGain((Color) res.getObject("colorGain")); + retireCanvas.setColorLoss((Color) res.getObject("colorLoss")); + retireCanvas.setInfo(info); + repaint(); + } + + /** + * Reads the user input from the text fields. + */ + public void getInfo() + { + try + { + info.setSavings(currencyFmt.parse(savingsField.getText()).doubleValue()); + info.setContrib(currencyFmt.parse(contribField.getText()).doubleValue()); + info.setIncome(currencyFmt.parse(incomeField.getText()).doubleValue()); + info.setCurrentAge(numberFmt.parse(currentAgeField.getText()).intValue()); + info.setRetireAge(numberFmt.parse(retireAgeField.getText()).intValue()); + info.setDeathAge(numberFmt.parse(deathAgeField.getText()).intValue()); + info.setInvestPercent(percentFmt.parse(investPercentField.getText()).doubleValue()); + info.setInflationPercent(percentFmt.parse(inflationPercentField.getText()).doubleValue()); + } + catch (ParseException ex) + { + ex.printStackTrace(); + } + } +} + +/** + * The information required to compute retirement income data. + */ +class RetireInfo +{ + private double savings; + private double contrib; + private double income; + private int currentAge; + private int retireAge; + private int deathAge; + private double inflationPercent; + private double investPercent; + private int age; + private double balance; + + /** + * Gets the available balance for a given year. + * @param year the year for which to compute the balance + * @return the amount of money available (or required) in that year + */ + public double getBalance(int year) + { + if (year < currentAge) return 0; + else if (year == currentAge) + { + age = year; + balance = savings; + return balance; + } + else if (year == age) return balance; + if (year != age + 1) getBalance(year - 1); + age = year; + if (age < retireAge) balance += contrib; + else balance -= income; + balance = balance * (1 + (investPercent - inflationPercent)); + return balance; + } + + /** + * Gets the amount of prior savings. + * @return the savings amount + */ + public double getSavings() + { + return savings; + } + + /** + * Sets the amount of prior savings. + * @param newValue the savings amount + */ + public void setSavings(double newValue) + { + savings = newValue; + } + + /** + * Gets the annual contribution to the retirement account. + * @return the contribution amount + */ + public double getContrib() + { + return contrib; + } + + /** + * Sets the annual contribution to the retirement account. + * @param newValue the contribution amount + */ + public void setContrib(double newValue) + { + contrib = newValue; + } + + /** + * Gets the annual income. + * @return the income amount + */ + public double getIncome() + { + return income; + } + + /** + * Sets the annual income. + * @param newValue the income amount + */ + public void setIncome(double newValue) + { + income = newValue; + } + + /** + * Gets the current age. + * @return the age + */ + public int getCurrentAge() + { + return currentAge; + } + + /** + * Sets the current age. + * @param newValue the age + */ + public void setCurrentAge(int newValue) + { + currentAge = newValue; + } + + /** + * Gets the desired retirement age. + * @return the age + */ + public int getRetireAge() + { + return retireAge; + } + + /** + * Sets the desired retirement age. + * @param newValue the age + */ + public void setRetireAge(int newValue) + { + retireAge = newValue; + } + + /** + * Gets the expected age of death. + * @return the age + */ + public int getDeathAge() + { + return deathAge; + } + + /** + * Sets the expected age of death. + * @param newValue the age + */ + public void setDeathAge(int newValue) + { + deathAge = newValue; + } + + /** + * Gets the estimated percentage of inflation. + * @return the percentage + */ + public double getInflationPercent() + { + return inflationPercent; + } + + /** + * Sets the estimated percentage of inflation. + * @param newValue the percentage + */ + public void setInflationPercent(double newValue) + { + inflationPercent = newValue; + } + + /** + * Gets the estimated yield of the investment. + * @return the percentage + */ + public double getInvestPercent() + { + return investPercent; + } + + /** + * Sets the estimated yield of the investment. + * @param newValue the percentage + */ + public void setInvestPercent(double newValue) + { + investPercent = newValue; + } +} + +/** + * This component draws a graph of the investment result. + */ +class RetireComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 800; + private static final int DEFAULT_HEIGHT = 600; + private static final int PANEL_WIDTH = 400; + private static final int PANEL_HEIGHT = 200; + + private RetireInfo info = null; + private Color colorPre; + private Color colorGain; + private Color colorLoss; + + public RetireComponent() + { + setSize(PANEL_WIDTH, PANEL_HEIGHT); + } + + /** + * Sets the retirement information to be plotted. + * @param newInfo the new retirement info. + */ + public void setInfo(RetireInfo newInfo) + { + info = newInfo; + repaint(); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + if (info == null) return; + + double minValue = 0; + double maxValue = 0; + int i; + for (i = info.getCurrentAge(); i <= info.getDeathAge(); i++) + { + double v = info.getBalance(i); + if (minValue > v) minValue = v; + if (maxValue < v) maxValue = v; + } + if (maxValue == minValue) return; + + int barWidth = getWidth() / (info.getDeathAge() - info.getCurrentAge() + 1); + double scale = getHeight() / (maxValue - minValue); + + for (i = info.getCurrentAge(); i <= info.getDeathAge(); i++) + { + int x1 = (i - info.getCurrentAge()) * barWidth + 1; + int y1; + double v = info.getBalance(i); + int height; + int yOrigin = (int) (maxValue * scale); + + if (v >= 0) + { + y1 = (int) ((maxValue - v) * scale); + height = yOrigin - y1; + } + else + { + y1 = yOrigin; + height = (int) (-v * scale); + } + + if (i < info.getRetireAge()) g2.setPaint(colorPre); + else if (v >= 0) g2.setPaint(colorGain); + else g2.setPaint(colorLoss); + Rectangle2D bar = new Rectangle2D.Double(x1, y1, barWidth - 2, height); + g2.fill(bar); + g2.setPaint(Color.black); + g2.draw(bar); + } + } + + /** + * Sets the color to be used before retirement. + * @param color the desired color + */ + public void setColorPre(Color color) + { + colorPre = color; + repaint(); + } + + /** + * Sets the color to be used after retirement while the account balance is positive. + * @param color the desired color + */ + public void setColorGain(Color color) + { + colorGain = color; + repaint(); + } + + /** + * Sets the color to be used after retirement when the account balance is negative. + * @param color the desired color + */ + public void setColorLoss(Color color) + { + colorLoss = color; + repaint(); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v2ch05/retire/RetireResources.java b/corejava第9版/v2ch05/retire/RetireResources.java new file mode 100644 index 0000000..daff2a7 --- /dev/null +++ b/corejava第9版/v2ch05/retire/RetireResources.java @@ -0,0 +1,22 @@ +package retire; + +import java.awt.*; + +/** + * These are the English non-string resources for the retirement calculator. + * @version 1.21 2001-08-27 + * @author Cay Horstmann + */ +public class RetireResources extends java.util.ListResourceBundle +{ + private static final Object[][] contents = { + // BEGIN LOCALIZE + { "colorPre", Color.blue }, { "colorGain", Color.white }, { "colorLoss", Color.red } + // END LOCALIZE + }; + + public Object[][] getContents() + { + return contents; + } +} diff --git a/corejava第9版/v2ch05/retire/RetireResources_de.java b/corejava第9版/v2ch05/retire/RetireResources_de.java new file mode 100644 index 0000000..c83a024 --- /dev/null +++ b/corejava第9版/v2ch05/retire/RetireResources_de.java @@ -0,0 +1,22 @@ +package retire; + +import java.awt.*; + +/** + * These are the German non-string resources for the retirement calculator. + * @version 1.21 2001-08-27 + * @author Cay Horstmann + */ +public class RetireResources_de extends java.util.ListResourceBundle +{ + private static final Object[][] contents = { + // BEGIN LOCALIZE + { "colorPre", Color.yellow }, { "colorGain", Color.black }, { "colorLoss", Color.red } + // END LOCALIZE + }; + + public Object[][] getContents() + { + return contents; + } +} diff --git a/corejava第9版/v2ch05/retire/RetireResources_zh.java b/corejava第9版/v2ch05/retire/RetireResources_zh.java new file mode 100644 index 0000000..9975454 --- /dev/null +++ b/corejava第9版/v2ch05/retire/RetireResources_zh.java @@ -0,0 +1,22 @@ +package retire; + +import java.awt.*; + +/** + * These are the Chinese non-string resources for the retirement calculator. + * @version 1.21 2001-08-27 + * @author Cay Horstmann + */ +public class RetireResources_zh extends java.util.ListResourceBundle +{ + private static final Object[][] contents = { + // BEGIN LOCALIZE + { "colorPre", Color.red }, { "colorGain", Color.blue }, { "colorLoss", Color.yellow } + // END LOCALIZE + }; + + public Object[][] getContents() + { + return contents; + } +} diff --git a/corejava第9版/v2ch05/retire/RetireStrings.properties b/corejava第9版/v2ch05/retire/RetireStrings.properties new file mode 100644 index 0000000..8bb2be3 --- /dev/null +++ b/corejava第9版/v2ch05/retire/RetireStrings.properties @@ -0,0 +1,11 @@ +language=Language +computeButton=Compute +savings=Prior Savings +contrib=Annual Contribution +income=Retirement Income +currentAge=Current Age +retireAge=Retirement Age +deathAge=Life Expectancy +inflationPercent=Inflation +investPercent=Investment Return +retire=Age: {0,number} Balance: {1,number,currency} diff --git a/corejava第9版/v2ch05/retire/RetireStrings_de.properties b/corejava第9版/v2ch05/retire/RetireStrings_de.properties new file mode 100644 index 0000000..b40e50a --- /dev/null +++ b/corejava第9版/v2ch05/retire/RetireStrings_de.properties @@ -0,0 +1,11 @@ +language=Sprache +computeButton=Rechnen +savings=Vorherige Ersparnisse +contrib=J\u00e4hrliche Einzahlung +income=Einkommen nach Ruhestand +currentAge=Jetziges Alter +retireAge=Ruhestandsalter +deathAge=Lebenserwartung +inflationPercent=Inflation +investPercent=Investitionsgewinn +retire=Alter: {0,number} Guthaben: {1,number,currency} diff --git a/corejava第9版/v2ch05/retire/RetireStrings_zh.properties b/corejava第9版/v2ch05/retire/RetireStrings_zh.properties new file mode 100644 index 0000000..3ffeb98 --- /dev/null +++ b/corejava第9版/v2ch05/retire/RetireStrings_zh.properties @@ -0,0 +1,11 @@ +language=\u8bed\u8a00 +computeButton=\u8ba1\u7b97 +savings=\u65e2\u5b58 +contrib=\u6bcf\u5e74\u5b58\u91d1 +income=\u9000\u4f11\u6536\u5165 +currentAge=\u73b0\u9f84 +retireAge=\u9000\u4f11\u5e74\u9f84 +deathAge=\u9884\u671f\u5bff\u547d +inflationPercent=\u901a\u8d27\u81a8\u6da8 +investPercent=\u6295\u8d44\u62a5\u916c +retire=\u5e74\u9f84: {0,number} \u603b\u7ed3: {1,number,currency} diff --git a/corejava第9版/v2ch06/editorPane/EditorPaneFrame.java b/corejava第9版/v2ch06/editorPane/EditorPaneFrame.java new file mode 100644 index 0000000..f0e4800 --- /dev/null +++ b/corejava第9版/v2ch06/editorPane/EditorPaneFrame.java @@ -0,0 +1,124 @@ +package editorPane; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.util.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * This frame contains an editor pane, a text field and button to enter a URL and load a document, + * and a Back button to return to a previously loaded document. + */ +public class EditorPaneFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 600; + private static final int DEFAULT_HEIGHT = 400; + + public EditorPaneFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + final Stack urlStack = new Stack<>(); + final JEditorPane editorPane = new JEditorPane(); + final JTextField url = new JTextField(30); + + // set up hyperlink listener + + editorPane.setEditable(false); + editorPane.addHyperlinkListener(new HyperlinkListener() + { + public void hyperlinkUpdate(HyperlinkEvent event) + { + if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) + { + try + { + // remember URL for back button + urlStack.push(event.getURL().toString()); + // show URL in text field + url.setText(event.getURL().toString()); + editorPane.setPage(event.getURL()); + } + catch (IOException e) + { + editorPane.setText("Exception: " + e); + } + } + } + }); + + // set up checkbox for toggling edit mode + + final JCheckBox editable = new JCheckBox(); + editable.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + editorPane.setEditable(editable.isSelected()); + } + }); + + // set up load button for loading URL + + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + try + { + // remember URL for back button + urlStack.push(url.getText()); + editorPane.setPage(url.getText()); + } + catch (IOException e) + { + editorPane.setText("Exception: " + e); + } + } + }; + + JButton loadButton = new JButton("Load"); + loadButton.addActionListener(listener); + url.addActionListener(listener); + + // set up back button and button action + + JButton backButton = new JButton("Back"); + backButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + if (urlStack.size() <= 1) return; + try + { + // get URL from back button + urlStack.pop(); + // show URL in text field + String urlString = urlStack.peek(); + url.setText(urlString); + editorPane.setPage(urlString); + } + catch (IOException e) + { + editorPane.setText("Exception: " + e); + } + } + }); + + add(new JScrollPane(editorPane), BorderLayout.CENTER); + + // put all control components in a panel + + JPanel panel = new JPanel(); + panel.add(new JLabel("URL")); + panel.add(url); + panel.add(loadButton); + panel.add(backButton); + panel.add(new JLabel("Editable")); + panel.add(editable); + + add(panel, BorderLayout.SOUTH); + } +} diff --git a/corejava第9版/v2ch06/editorPane/EditorPaneTest.java b/corejava第9版/v2ch06/editorPane/EditorPaneTest.java new file mode 100644 index 0000000..5d81c10 --- /dev/null +++ b/corejava第9版/v2ch06/editorPane/EditorPaneTest.java @@ -0,0 +1,26 @@ +package editorPane; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates how to display HTML documents in an editor pane. + * @version 1.04 2012-01-26 + * @author Cay Horstmann + */ +public class EditorPaneTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new EditorPaneFrame(); + frame.setTitle("EditorPaneTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v2ch06/internalFrame/DesktopFrame.java b/corejava第9版/v2ch06/internalFrame/DesktopFrame.java new file mode 100644 index 0000000..c3697b5 --- /dev/null +++ b/corejava第9版/v2ch06/internalFrame/DesktopFrame.java @@ -0,0 +1,278 @@ +package internalFrame; + +import java.awt.*; +import java.awt.event.*; +import java.beans.*; +import javax.swing.*; + +/** + * This desktop frame contains editor panes that show HTML documents. + */ +public class DesktopFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 600; + private static final int DEFAULT_HEIGHT = 400; + private static final String[] planets = { "Mercury", "Venus", "Earth", "Mars", "Jupiter", + "Saturn", "Uranus", "Neptune", "Pluto", }; + + private JDesktopPane desktop; + private int nextFrameX; + private int nextFrameY; + private int frameDistance; + private int counter; + + public DesktopFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + desktop = new JDesktopPane(); + add(desktop, BorderLayout.CENTER); + + // set up menus + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + JMenu fileMenu = new JMenu("File"); + menuBar.add(fileMenu); + JMenuItem openItem = new JMenuItem("New"); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + createInternalFrame(new JLabel( + new ImageIcon(getClass().getResource(planets[counter] + ".gif"))), + planets[counter]); + counter = (counter + 1) % planets.length; + } + }); + fileMenu.add(openItem); + JMenuItem exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + JMenu windowMenu = new JMenu("Window"); + menuBar.add(windowMenu); + JMenuItem nextItem = new JMenuItem("Next"); + nextItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + selectNextWindow(); + } + }); + windowMenu.add(nextItem); + JMenuItem cascadeItem = new JMenuItem("Cascade"); + cascadeItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + cascadeWindows(); + } + }); + windowMenu.add(cascadeItem); + JMenuItem tileItem = new JMenuItem("Tile"); + tileItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + tileWindows(); + } + }); + windowMenu.add(tileItem); + final JCheckBoxMenuItem dragOutlineItem = new JCheckBoxMenuItem("Drag Outline"); + dragOutlineItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + desktop.setDragMode(dragOutlineItem.isSelected() ? JDesktopPane.OUTLINE_DRAG_MODE + : JDesktopPane.LIVE_DRAG_MODE); + } + }); + windowMenu.add(dragOutlineItem); + } + + /** + * Creates an internal frame on the desktop. + * @param c the component to display in the internal frame + * @param t the title of the internal frame + */ + public void createInternalFrame(Component c, String t) + { + final JInternalFrame iframe = new JInternalFrame(t, true, // resizable + true, // closable + true, // maximizable + true); // iconifiable + + iframe.add(c, BorderLayout.CENTER); + desktop.add(iframe); + + iframe.setFrameIcon(new ImageIcon(getClass().getResource("document.gif"))); + + // add listener to confirm frame closing + iframe.addVetoableChangeListener(new VetoableChangeListener() + { + public void vetoableChange(PropertyChangeEvent event) throws PropertyVetoException + { + String name = event.getPropertyName(); + Object value = event.getNewValue(); + + // we only want to check attempts to close a frame + if (name.equals("closed") && value.equals(true)) + { + // ask user if it is ok to close + int result = JOptionPane.showInternalConfirmDialog(iframe, "OK to close?", + "Select an Option", JOptionPane.YES_NO_OPTION); + + // if the user doesn't agree, veto the close + if (result != JOptionPane.YES_OPTION) throw new PropertyVetoException( + "User canceled close", event); + } + } + }); + + // position frame + int width = desktop.getWidth() / 2; + int height = desktop.getHeight() / 2; + iframe.reshape(nextFrameX, nextFrameY, width, height); + + iframe.show(); + + // select the frame--might be vetoed + try + { + iframe.setSelected(true); + } + catch (PropertyVetoException ex) + { + } + + frameDistance = iframe.getHeight() - iframe.getContentPane().getHeight(); + + // compute placement for next frame + + nextFrameX += frameDistance; + nextFrameY += frameDistance; + if (nextFrameX + width > desktop.getWidth()) nextFrameX = 0; + if (nextFrameY + height > desktop.getHeight()) nextFrameY = 0; + } + + /** + * Cascades the noniconified internal frames of the desktop. + */ + public void cascadeWindows() + { + int x = 0; + int y = 0; + int width = desktop.getWidth() / 2; + int height = desktop.getHeight() / 2; + + for (JInternalFrame frame : desktop.getAllFrames()) + { + if (!frame.isIcon()) + { + try + { + // try to make maximized frames resizable; this might be vetoed + frame.setMaximum(false); + frame.reshape(x, y, width, height); + + x += frameDistance; + y += frameDistance; + // wrap around at the desktop edge + if (x + width > desktop.getWidth()) x = 0; + if (y + height > desktop.getHeight()) y = 0; + } + catch (PropertyVetoException ex) + { + } + } + } + } + + /** + * Tiles the noniconified internal frames of the desktop. + */ + public void tileWindows() + { + // count frames that aren't iconized + int frameCount = 0; + for (JInternalFrame frame : desktop.getAllFrames()) + if (!frame.isIcon()) frameCount++; + if (frameCount == 0) return; + + int rows = (int) Math.sqrt(frameCount); + int cols = frameCount / rows; + int extra = frameCount % rows; + // number of columns with an extra row + + int width = desktop.getWidth() / cols; + int height = desktop.getHeight() / rows; + int r = 0; + int c = 0; + for (JInternalFrame frame : desktop.getAllFrames()) + { + if (!frame.isIcon()) + { + try + { + frame.setMaximum(false); + frame.reshape(c * width, r * height, width, height); + r++; + if (r == rows) + { + r = 0; + c++; + if (c == cols - extra) + { + // start adding an extra row + rows++; + height = desktop.getHeight() / rows; + } + } + } + catch (PropertyVetoException ex) + { + } + } + } + } + + /** + * Brings the next noniconified internal frame to the front. + */ + public void selectNextWindow() + { + JInternalFrame[] frames = desktop.getAllFrames(); + for (int i = 0; i < frames.length; i++) + { + if (frames[i].isSelected()) + { + // find next frame that isn't an icon and can be selected + int next = (i + 1) % frames.length; + while (next != i) + { + if (!frames[next].isIcon()) + { + try + { + // all other frames are icons or veto selection + frames[next].setSelected(true); + frames[next].toFront(); + frames[i].toBack(); + return; + } + catch (PropertyVetoException ex) + { + } + } + next = (next + 1) % frames.length; + } + } + } + } +} diff --git a/corejava第9版/v2ch06/internalFrame/Earth.gif b/corejava第9版/v2ch06/internalFrame/Earth.gif new file mode 100644 index 0000000000000000000000000000000000000000..59824573879c523144fb862c0585cd0e7f4a84ff GIT binary patch literal 3421 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/internalFrame/Mercury.gif b/corejava第9版/v2ch06/internalFrame/Mercury.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fd78a5d836dfd50b35d7db1473f831be9b0cbcb GIT binary patch literal 700 zcmV;t0z>^rNk%w1VK4wN0J8u9BqSs`IXOy7N?KZ4V`F1$Yio0Jb9;MxgoK2UkdUCD zps}&By}iB8&d%1>*1*8PA^8LW000jFEC2ui05AYB000F3@X1MOQVFG7yZ@lHFk7-5 ziGiVE>nhB$Yzm4PnxP+VPbsnn24lKx1_uLSVDR-Wv&IZTykHOn!yyn5Ae^8gVgbxR z&nTuKFbE{To}o;!LS=x6TR08=+_aatH62|yzmsL2#13Z1@vxi~51`9X`Bm$O{90d>od$#pjYC|&yILp2;3 z?6fq{2Nb71xo%<&u$8OVEcBdeL13`WntW;3v1#kp0~TmE1QM`_H{nTBI{6Y%*L zf%tCe6Oc747Xga5e(`W?=1$3L(59`-CG%FM76cGos!f|d%Q#V*R?4Eo0iAwsT}4_M zC+68(yV~xO?&xT>$k_rvExZD#*P}7!RlYoUm^R4OLf@CT`cefU5MZ?|y}S3mE!639 zbl&vl9*f$0XZ%Edb<`ZO*q@D`qmuoZ^-tGA3IHl5;DG-Xh+a1dDtMp^1S+^#bNw{9 z-+PoiFiU|CI)QvZRwyvix6&r06nm5KqDM<&;ddO i001HW7(;Jxd2(rIXmlVkIXN~UN@;B%MRsX!a{xOcIU&UW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/internalFrame/Neptune.gif b/corejava第9版/v2ch06/internalFrame/Neptune.gif new file mode 100644 index 0000000000000000000000000000000000000000..33b18f2a8569ec78ed370e438b34e3cae3e56a1e GIT binary patch literal 2228 zcmeHG`B&137XNCX2sI(#nkl#sYU(&HIY*zEqEZ@=iA%-^NHT6DW}@>N+?O7O3W)1b zac#25#4*zmNppNY3)iQ<$A&J7B|dmWD> z0z}{~06=Zr;h*{&yZXbO2yj=ju`2=N>SMfbzBq?D?vL>ZKORi63*meoniUw86`jbT z)9H!Hob2puZ)#Z(yE8erJ-&R2C;ge%wI}?5T7^O(tZk{?XUjh2!j1u;E{ruJGMX&M$aol~056^(pFGq9-X+tkc#XaE2h{1}5DWpF5n32nQrNm^qV7$^X ztxHzCGK@!BIP*{;<+)=O2jM7)Ag+agG^7$Hc9jK>>abs{|180^Q_2iW#kHyi+|&VG zu?|l)!}5n4d(?YPo^c4ee!d|0P*h`Xq!ei;h!=$CXm_&?*cU2#?>vWi{|KES#yQUq z(yp63C5mOskBbi5o!{*3W{n~i`(|;y@2O zLfx9BFl|NPnz)1xxgYB>W^^bQ7OgW^EMYNMO6)C}M>tO2ZxkdOa7WaapRm`et~6l8 zP0?C66Y5w4zqLKkhR!f;DoViuUd8DQJ=}F9w7IsDQLV$2=#nVRi~6-CYpK)g=p2xK zcx6l-huQWd^=Q7JEbt9CAe@>S_CsvI68CK#UJsgO@nxAo-_Zc1Tvp#AR-#TEbRBT9 zprC!Bk>oN0fq2q$@~8Sx&wFqSn3^*I#^zZW#3SM$F7YoR*lurR+qX2E%7}|k3@oWV z<={qfL7~cl=P~s8G|ZKFf4$Y2-Hz@&q&V zYn3kR;6T~lmxg3rQ|^@5<<)o-{uuVE^qLl+Sf%eCOV7#N>^UMWmS`Ey^Mj{)gvtlF zHI(jWg-Kfd*5XWh5@E4N#yMovj2m%@={I>8Y>uwJ_SM2h%cz5oN+IwtU9U>|J-TZ3 z-|_hM2pt&OkzW+uFnX5l z9GZXjRm=j#;YvvC1a~QbRXM&EHf*v;eP5jiDYo5 z^SbT;L9_Ahw)T7Fp5wOA=R2_ThPtNRw0^79)537r@3I~uGOv8r1f+5RZaqH?IW~pu z7`C?Mk#TY&+WhiFae!^wGcp43yDEETb2bEXkeoUAzt|1%=IaKkS$Eale?8o3_H#k~clh~!%Rfn3g>=*R1-5Vad zna2&Fl{dHA$OG9Jbfl{1l^3F%Kf*ZSP)+k<%0=M--f|-cNaRb!W27R_yBqe&9s@O#}UO{jye1i1YoKH<&Dh2 zo#Le?%&PDZxSk8o?O8wR(+ZG$G3j;k$@G(;Pk6kHzKVp_b5pi^@7z<&19T5_i>rO7 zX^*6h6`nf`h_8{K3Y=6@uVLsTkF3b^5y(&zS-hDWe%GTTZB z{72TLU};>cTCm5HvdsHJP<8Vr9rNkGk~>@Qtrxzn3H^Piukh4`F!v{+HR`!DUX!6= t9KsFqoBZjfYAhN6FlrNAN@{vSd>T50o|=NDanS@;GCDAWmBInO_&=Co@sm6b zSBP2Uf}CcmS|hW#4UDQ8yCjKULMM^UEI$MSh$!idy^&DKED&iTsUo4IA_$A;fJ^pa#Rt4O&BiM$o?n0zr|BIc{V=ObRz&1BZKL9}PEgER1wF2?U3gkq#YyfFlhg zHj)LEh;)Q~6r>BCW-@FPyG4#a1ld<3u+OO0O?<PHXurAZ6HNM}>JBgl}ivR!s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/internalFrame/Saturn.gif b/corejava第9版/v2ch06/internalFrame/Saturn.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4c6144b99fb9f301f3cefa95bf3ea66b9934ed1 GIT binary patch literal 4878 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

        fppnj!JH@+de%>h|lL{RP46GaIXPU{GQv=8Yy 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 ZARKAu7ZQy0jYHxnmyy=dl;8-!>_5hDpw0jQ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/internalFrame/Venus.gif b/corejava第9版/v2ch06/internalFrame/Venus.gif new file mode 100644 index 0000000000000000000000000000000000000000..8552313b4c951222ec4b55f4b235bc17d1ddde1a GIT binary patch literal 2954 zcmeH``#;l*AICqRU2N`~&1Fr6n9Gq%SQ6S~Zed~!mFAY)TtZ?}BZU&1xm%s-xMUW} zrIYkEMdey*L^;I?Ep;kVhb|naKjQn-c|9KQ$Lsxm{qTN29?!?)?ddn-9&I_n&+{0PvZU9Yg#Z9_|E%tx*1a)xcW*3V zv)St#`8u%v(>8pg+t5b#pZ+88eJn4lqY_VXUR&SIKwIyxe4xyyg9_EchrA zrKy1uq|(ROu74iZpFRO985~Yu)w?1{`J=z%5rj}qAIrk}MOMcs+B|p!QBRT1WZSSvAldI` zkd{rRq0RhyD9Ri?It{)|3H6hMz2QJG6|h6Tm@qL0M(eOF@xssmb8qN*+npoV$~j=|DC*&N*!E12vv+ERUVG+EPmku zRj}d6;H7mFLQN)M7_`QnH(US$l$`O9bZxVP45BRY7na|sIw`|6S|czajZCRHs-EpM znyOar#Esf%cYlige#TP75@r0pl`cOu>s_h>Iq*LHPRR4A%#myIB!Nj>P6%E0%K7cL zKKA9rcj=Abb#uPUhy>kr9R@98Sk*aB55g4r{D$26;AL5?kIUj+lyWqr`PHSc$5a_j zAhcKaRC_pxRiJ?IsM`$zp2k;;RY4q2(a)J24{@A5Tm-~qFW&uKTe=Q=lJ4Gm~rzv0*FdZ=ECeJkzhbslK5|E`s$|Z&4F;Y zC5ViBOL4_s?pW%;5lZJLm+d7=sxK|o#JKo-+8^nq8H#?tMrSEUlZCFq48j!3eYupX zR-yEbR?WK#B03kIHOLHv->l7kj2=An?D|Z5G~(9LX$Mo`uKvt@)^zmwlc8mrR>n-D-I@`z z;CxUj3N98giRO4E3(Rc>e3ay68+-%eo88vQJ5U_9V}}JrtY#+nMP|4UBYu;fdM8t?Rihq=B=++26fX*R38n z21Rn=(DH4cp#Al-FmAS}Mh~;Y+{m8ED-GisI2*coIe36_ENQV@ zkQ9kLT*I9gT-_dH-SK^*6w?5L1Bz6HbT{NX1r)u?uPNrz@*w-xMqOye?L{A%4}k?u zms9SL`WyUOgWWzVukv#UT+KrL+?#AyBP-ltS;4+ROF#xGRHc}|*V#Mc`s&5FM$2}J zA--0@SEPgHJ0ePJ@UoLKj1Jd|DBZ1T1RnM&kJcV-h+P?8e{5+|`Bl+M@J{)8lOE6) zOEbFc9W+aLME!F#5Bk3f;AO$5viXkSBT*46B#Eu;VNB?0M&fb+%>dx$YrS#BORhz5cf4w z^B>#93v2alXJkW5>K;x_U`(I99SU-oFUw^Y(7=^7?j3AGW^*_jic6J$Xb{0I&c#$d zRVZOtKVp08MI0ZwE=_`=Y)w^#zR5-M0d=~W4J`_~k*uPj%Wmz>jsU&yv!s4yz%DLo zNgMgVL-;Yp`^tQzQIF_xO@ZH}6wP3P%lS<$|drki{C!*6P=1Sy|@6*(LXPZmI+CX(u3yoWbf`Qib~B!y;4bS0y8C#r*kiX>YZi0hEYGg6wMJ`1ayMWf;VU37Ma`cId%9dQ+cWTn1u-{3GS~_0Mzs82tBX!=-KM((<>e z_EW)fyxBh0$r;7iDaWoYSc3PSxSmn&_lHFMYX98WBHAi(&htgh0R3bTdicaEEBffL z;-w^~OI@#ZUf$Hm+;Yv6u*3snb4QiWF4qi(g_xcSdvdX)xIn!`b#FeO|s9b4wePPbBn*H=n%T~->M79@-tzUGr zgk@M-A&pDiD$Iko>IY+h7 z;uk)^$}` zsYCCFPT9nRx&>`_<=mB~>_lzjh5BeT`ry#|pyCRtW>sbVsu+o2h7g;?3k8bedZosL zS#xtU{pDwf8;jw#4EiR~c;_!-fdFoJ5DJAF+-!!7uOpn>jlEWU9>yad4vBcF1pEQq ze+cV-2m+i=cG`(N0kSNps%W?4s>CZUNj2M5Ca9t-0yDuv5GG+(kfXRfDsqTfiFXla ziNP$xL{fx0Cy7}C$nn7BW;_|i2xoS~WQBehW*>MFdLzbsrJOjr@WZj zXsA8&qsk~w&Wz{}U!Kc;=uf layerUI = new PanelLayer(); + JLayer layer = new JLayer(panel, layerUI); + + add(layer); + pack(); + } + + class PanelLayer extends LayerUI + { + public void installUI(JComponent c) + { + super.installUI(c); + ((JLayer) c).setLayerEventMask(AWTEvent.KEY_EVENT_MASK | AWTEvent.FOCUS_EVENT_MASK); + } + + public void uninstallUI(JComponent c) + { + ((JLayer) c).setLayerEventMask(0); + super.uninstallUI(c); + } + + protected void processKeyEvent(KeyEvent e, JLayer l) + { + l.repaint(); + } + + protected void processFocusEvent(FocusEvent e, JLayer l) + { + if (e.getID() == FocusEvent.FOCUS_GAINED) + { + Component c = e.getComponent(); + c.setFont(getFont().deriveFont(Font.BOLD)); + } + if (e.getID() == FocusEvent.FOCUS_LOST) + { + Component c = e.getComponent(); + c.setFont(getFont().deriveFont(Font.PLAIN)); + } + } + + public void paint(Graphics g, JComponent c) + { + super.paint(g, c); + + Graphics2D g2 = (Graphics2D) g.create(); + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .3f)); + int red = Integer.parseInt(redField.getText().trim()); + int green = Integer.parseInt(greenField.getText().trim()); + int blue = Integer.parseInt(blueField.getText().trim()); + g2.setPaint(new Color(red, green, blue)); + g2.fillRect(0, 0, c.getWidth(), c.getHeight()); + g2.dispose(); + } + } +} + diff --git a/corejava第9版/v2ch06/layer/LayerTest.java b/corejava第9版/v2ch06/layer/LayerTest.java new file mode 100644 index 0000000..818742e --- /dev/null +++ b/corejava第9版/v2ch06/layer/LayerTest.java @@ -0,0 +1,26 @@ +package layer; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates how a layer can decorate a Swing component. + * @version 1.0 2012-06-08 + * @author Cay Horstmann + */ +public class LayerTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ColorFrame(); + frame.setTitle("LayerTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/list/ListFrame.java b/corejava第9版/v2ch06/list/ListFrame.java new file mode 100644 index 0000000..270175e --- /dev/null +++ b/corejava第9版/v2ch06/list/ListFrame.java @@ -0,0 +1,86 @@ +package list; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * This frame contains a word list and a label that shows a sentence made up from the chosen words. + * Note that you can select multiple words with Ctrl+click and Shift+click. + */ +class ListFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 300; + + private JPanel listPanel; + private JList wordList; + private JLabel label; + private JPanel buttonPanel; + private ButtonGroup group; + private String prefix = "The "; + private String suffix = "fox jumps over the lazy dog."; + + public ListFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + String[] words = { "quick", "brown", "hungry", "wild", "silent", "huge", "private", + "abstract", "static", "final" }; + + wordList = new JList<>(words); + wordList.setVisibleRowCount(4); + JScrollPane scrollPane = new JScrollPane(wordList); + + listPanel = new JPanel(); + listPanel.add(scrollPane); + wordList.addListSelectionListener(new ListSelectionListener() + { + public void valueChanged(ListSelectionEvent event) + { + StringBuilder text = new StringBuilder(prefix); + for (String value : wordList.getSelectedValuesList()) + { + text.append(value); + text.append(" "); + } + text.append(suffix); + + label.setText(text.toString()); + } + }); + + buttonPanel = new JPanel(); + group = new ButtonGroup(); + makeButton("Vertical", JList.VERTICAL); + makeButton("Vertical Wrap", JList.VERTICAL_WRAP); + makeButton("Horizontal Wrap", JList.HORIZONTAL_WRAP); + + add(listPanel, BorderLayout.NORTH); + label = new JLabel(prefix + suffix); + add(label, BorderLayout.CENTER); + add(buttonPanel, BorderLayout.SOUTH); + } + + /** + * Makes a radio button to set the layout orientation. + * @param label the button label + * @param orientation the orientation for the list + */ + private void makeButton(String label, final int orientation) + { + JRadioButton button = new JRadioButton(label); + buttonPanel.add(button); + if (group.getButtonCount() == 0) button.setSelected(true); + group.add(button); + button.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + wordList.setLayoutOrientation(orientation); + listPanel.revalidate(); + } + }); + } +} diff --git a/corejava第9版/v2ch06/list/ListTest.java b/corejava第9版/v2ch06/list/ListTest.java new file mode 100644 index 0000000..dfe51f0 --- /dev/null +++ b/corejava第9版/v2ch06/list/ListTest.java @@ -0,0 +1,26 @@ +package list; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates a simple fixed list of strings. + * @version 1.24 2012-06-07 + * @author Cay Horstmann + */ +public class ListTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ListFrame(); + frame.setTitle("ListTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/listRendering/FontCellRenderer.java b/corejava第9版/v2ch06/listRendering/FontCellRenderer.java new file mode 100644 index 0000000..a3be4b2 --- /dev/null +++ b/corejava第9版/v2ch06/listRendering/FontCellRenderer.java @@ -0,0 +1,42 @@ +package listRendering; + +import java.awt.*; +import javax.swing.*; + +/** + * A cell renderer for Font objects that renders the font name in its own font. + */ +public class FontCellRenderer extends JComponent implements ListCellRenderer +{ + private Font font; + private Color background; + private Color foreground; + + public Component getListCellRendererComponent(JList list, + Font value, int index, boolean isSelected, boolean cellHasFocus) + { + font = value; + background = isSelected ? list.getSelectionBackground() : list.getBackground(); + foreground = isSelected ? list.getSelectionForeground() : list.getForeground(); + return this; + } + + public void paintComponent(Graphics g) + { + String text = font.getFamily(); + FontMetrics fm = g.getFontMetrics(font); + g.setColor(background); + g.fillRect(0, 0, getWidth(), getHeight()); + g.setColor(foreground); + g.setFont(font); + g.drawString(text, 0, fm.getAscent()); + } + + public Dimension getPreferredSize() + { + String text = font.getFamily(); + Graphics g = getGraphics(); + FontMetrics fm = g.getFontMetrics(font); + return new Dimension(fm.stringWidth(text), fm.getHeight()); + } +} diff --git a/corejava第9版/v2ch06/listRendering/ListRenderingFrame.java b/corejava第9版/v2ch06/listRendering/ListRenderingFrame.java new file mode 100644 index 0000000..90fc348 --- /dev/null +++ b/corejava第9版/v2ch06/listRendering/ListRenderingFrame.java @@ -0,0 +1,56 @@ +package listRendering; + +import java.awt.*; +import java.util.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * This frame contains a list with a set of fonts and a text area that is set to the selected font. + */ +public class ListRenderingFrame extends JFrame +{ + private static final int TEXT_ROWS = 8; + private static final int TEXT_COLUMNS = 20; + + private JTextArea text; + private JList fontList; + + public ListRenderingFrame() + { + java.util.List fonts = new ArrayList<>(); + final int SIZE = 24; + fonts.add(new Font("Serif", Font.PLAIN, SIZE)); + fonts.add(new Font("SansSerif", Font.PLAIN, SIZE)); + fonts.add(new Font("Monospaced", Font.PLAIN, SIZE)); + fonts.add(new Font("Dialog", Font.PLAIN, SIZE)); + fonts.add(new Font("DialogInput", Font.PLAIN, SIZE)); + fontList = new JList(fonts.toArray(new Font[]{})); + fontList.setVisibleRowCount(4); + fontList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + fontList.setCellRenderer(new FontCellRenderer()); + JScrollPane scrollPane = new JScrollPane(fontList); + + JPanel p = new JPanel(); + p.add(scrollPane); + fontList.addListSelectionListener(new ListSelectionListener() + { + public void valueChanged(ListSelectionEvent evt) + { + Font font = fontList.getSelectedValue(); + text.setFont(font); + } + + }); + + Container contentPane = getContentPane(); + contentPane.add(p, BorderLayout.SOUTH); + text = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + text.setText("The quick brown fox jumps over the lazy dog"); + text.setFont(fonts.get(0)); + text.setLineWrap(true); + text.setWrapStyleWord(true); + contentPane.add(text, BorderLayout.CENTER); + pack(); + } +} diff --git a/corejava第9版/v2ch06/listRendering/ListRenderingTest.java b/corejava第9版/v2ch06/listRendering/ListRenderingTest.java new file mode 100644 index 0000000..48e3045 --- /dev/null +++ b/corejava第9版/v2ch06/listRendering/ListRenderingTest.java @@ -0,0 +1,26 @@ +package listRendering; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the use of cell renderers in a list box. + * @version 1.24 2012-01-26 + * @author Cay Horstmann + */ +public class ListRenderingTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ListRenderingFrame(); + frame.setTitle("ListRenderingTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/longList/LongListFrame.java b/corejava第9版/v2ch06/longList/LongListFrame.java new file mode 100644 index 0000000..2b17fd3 --- /dev/null +++ b/corejava第9版/v2ch06/longList/LongListFrame.java @@ -0,0 +1,54 @@ +package longList; + +import java.awt.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * This frame contains a long word list and a label that shows a sentence made up from the chosen + * word. + */ +public class LongListFrame extends JFrame +{ + private JList wordList; + private JLabel label; + private String prefix = "The quick brown "; + private String suffix = " jumps over the lazy dog."; + + public LongListFrame() + { + wordList = new JList(new WordListModel(3)); + wordList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + wordList.setPrototypeCellValue("www"); + JScrollPane scrollPane = new JScrollPane(wordList); + + JPanel p = new JPanel(); + p.add(scrollPane); + wordList.addListSelectionListener(new ListSelectionListener() + { + public void valueChanged(ListSelectionEvent evt) + { + setSubject(wordList.getSelectedValue()); + } + }); + + Container contentPane = getContentPane(); + contentPane.add(p, BorderLayout.NORTH); + label = new JLabel(prefix + suffix); + contentPane.add(label, BorderLayout.CENTER); + setSubject("fox"); + pack(); + } + + /** + * Sets the subject in the label. + * @param word the new subject that jumps over the lazy dog + */ + public void setSubject(String word) + { + StringBuilder text = new StringBuilder(prefix); + text.append(word); + text.append(suffix); + label.setText(text.toString()); + } +} diff --git a/corejava第9版/v2ch06/longList/LongListTest.java b/corejava第9版/v2ch06/longList/LongListTest.java new file mode 100644 index 0000000..b5ac08a --- /dev/null +++ b/corejava第9版/v2ch06/longList/LongListTest.java @@ -0,0 +1,28 @@ +package longList; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates a list that dynamically computes list entries. + * @version 1.23 2007-08-01 + * @author Cay Horstmann + */ +public class LongListTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new LongListFrame(); + frame.setTitle("LongListTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + + diff --git a/corejava第9版/v2ch06/longList/WordListModel.java b/corejava第9版/v2ch06/longList/WordListModel.java new file mode 100644 index 0000000..6a5e225 --- /dev/null +++ b/corejava第9版/v2ch06/longList/WordListModel.java @@ -0,0 +1,40 @@ +package longList; + +import javax.swing.*; + +/** + * A model that dynamically generates n-letter words. + */ +public class WordListModel extends AbstractListModel +{ + private int length; + public static final char FIRST = 'a'; + public static final char LAST = 'z'; + + /** + * Constructs the model. + * @param n the word length + */ + public WordListModel(int n) + { + length = n; + } + + public int getSize() + { + return (int) Math.pow(LAST - FIRST + 1, length); + } + + public String getElementAt(int n) + { + StringBuilder r = new StringBuilder(); + + for (int i = 0; i < length; i++) + { + char c = (char) (FIRST + n % (LAST - FIRST + 1)); + r.insert(0, c); + n = n / (LAST - FIRST + 1); + } + return r.toString(); + } +} diff --git a/corejava第9版/v2ch06/progressBar/ProgressBarFrame.java b/corejava第9版/v2ch06/progressBar/ProgressBarFrame.java new file mode 100644 index 0000000..33125b8 --- /dev/null +++ b/corejava第9版/v2ch06/progressBar/ProgressBarFrame.java @@ -0,0 +1,112 @@ +package progressBar; + +import java.awt.*; +import java.awt.event.*; +import java.util.List; +import javax.swing.*; + +/** + * A frame that contains a button to launch a simulated activity, a progress bar, and a text area + * for the activity output. + */ +public class ProgressBarFrame extends JFrame +{ + public static final int TEXT_ROWS = 10; + public static final int TEXT_COLUMNS = 40; + + private JButton startButton; + private JProgressBar progressBar; + private JCheckBox checkBox; + private JTextArea textArea; + private SimulatedActivity activity; + + public ProgressBarFrame() + { + // this text area holds the activity output + textArea = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + + // set up panel with button and progress bar + + final int MAX = 1000; + JPanel panel = new JPanel(); + startButton = new JButton("Start"); + progressBar = new JProgressBar(0, MAX); + progressBar.setStringPainted(true); + panel.add(startButton); + panel.add(progressBar); + + checkBox = new JCheckBox("indeterminate"); + checkBox.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + progressBar.setIndeterminate(checkBox.isSelected()); + progressBar.setStringPainted(!progressBar.isIndeterminate()); + } + }); + panel.add(checkBox); + add(new JScrollPane(textArea), BorderLayout.CENTER); + add(panel, BorderLayout.SOUTH); + + // set up the button action + + startButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + startButton.setEnabled(false); + activity = new SimulatedActivity(MAX); + activity.execute(); + } + }); + pack(); + } + + class SimulatedActivity extends SwingWorker + { + private int current; + private int target; + + /** + * Constructs the simulated activity that increments a counter from 0 to a + * given target. + * @param t the target value of the counter. + */ + public SimulatedActivity(int t) + { + current = 0; + target = t; + } + + protected Void doInBackground() throws Exception + { + try + { + while (current < target) + { + Thread.sleep(100); + current++; + publish(current); + } + } + catch (InterruptedException e) + { + } + return null; + } + + protected void process(List chunks) + { + for (Integer chunk : chunks) + { + textArea.append(chunk + "\n"); + progressBar.setValue(chunk); + } + } + + protected void done() + { + startButton.setEnabled(true); + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/progressBar/ProgressBarTest.java b/corejava第9版/v2ch06/progressBar/ProgressBarTest.java new file mode 100644 index 0000000..fde11ff --- /dev/null +++ b/corejava第9版/v2ch06/progressBar/ProgressBarTest.java @@ -0,0 +1,26 @@ +package progressBar; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the use of a progress bar to monitor the progress of a thread. + * @version 1.04 2007-08-01 + * @author Cay Horstmann + */ +public class ProgressBarTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ProgressBarFrame(); + frame.setTitle("ProgressBarTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v2ch06/progressMonitor/ProgressMonitorFrame.java b/corejava第9版/v2ch06/progressMonitor/ProgressMonitorFrame.java new file mode 100644 index 0000000..b6958d5 --- /dev/null +++ b/corejava第9版/v2ch06/progressMonitor/ProgressMonitorFrame.java @@ -0,0 +1,114 @@ +package progressMonitor; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * A frame that contains a button to launch a simulated activity and a text area for the activity + * output. + */ +class ProgressMonitorFrame extends JFrame +{ + public static final int TEXT_ROWS = 10; + public static final int TEXT_COLUMNS = 40; + + private Timer cancelMonitor; + private JButton startButton; + private ProgressMonitor progressDialog; + private JTextArea textArea; + private SimulatedActivity activity; + + public ProgressMonitorFrame() + { + // this text area holds the activity output + textArea = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + + // set up a button panel + JPanel panel = new JPanel(); + startButton = new JButton("Start"); + panel.add(startButton); + + add(new JScrollPane(textArea), BorderLayout.CENTER); + add(panel, BorderLayout.SOUTH); + + // set up the button action + + startButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + startButton.setEnabled(false); + final int MAX = 1000; + + // start activity + activity = new SimulatedActivity(MAX); + activity.execute(); + + // launch progress dialog + progressDialog = new ProgressMonitor(ProgressMonitorFrame.this, + "Waiting for Simulated Activity", null, 0, MAX); + cancelMonitor.start(); + } + }); + + // set up the timer action + + cancelMonitor = new Timer(500, new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + if (progressDialog.isCanceled()) + { + activity.cancel(true); + startButton.setEnabled(true); + } + else if (activity.isDone()) + { + progressDialog.close(); + startButton.setEnabled(true); + } + else + { + progressDialog.setProgress(activity.getProgress()); + } + } + }); + pack(); + } + + class SimulatedActivity extends SwingWorker + { + private int current; + private int target; + + /** + * Constructs the simulated activity that increments a counter from 0 to a + * given target. + * @param t the target value of the counter. + */ + public SimulatedActivity(int t) + { + current = 0; + target = t; + } + + protected Void doInBackground() throws Exception + { + try + { + while (current < target) + { + Thread.sleep(100); + current++; + textArea.append(current + "\n"); + setProgress(current); + } + } + catch (InterruptedException e) + { + } + return null; + } + } +} diff --git a/corejava第9版/v2ch06/progressMonitor/ProgressMonitorTest.java b/corejava第9版/v2ch06/progressMonitor/ProgressMonitorTest.java new file mode 100644 index 0000000..b232180 --- /dev/null +++ b/corejava第9版/v2ch06/progressMonitor/ProgressMonitorTest.java @@ -0,0 +1,26 @@ +package progressMonitor; + +import java.awt.*; +import javax.swing.*; + +/** + * A program to test a progress monitor dialog. + * @version 1.04 2007-08-01 + * @author Cay Horstmann + */ +public class ProgressMonitorTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ProgressMonitorFrame(); + frame.setTitle("ProgressMonitorTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/progressMonitorInputStream/ProgressMonitorInputStreamTest.java b/corejava第9版/v2ch06/progressMonitorInputStream/ProgressMonitorInputStreamTest.java new file mode 100644 index 0000000..66f95f2 --- /dev/null +++ b/corejava第9版/v2ch06/progressMonitorInputStream/ProgressMonitorInputStreamTest.java @@ -0,0 +1,26 @@ +package progressMonitorInputStream; + +import java.awt.*; +import javax.swing.*; + +/** + * A program to test a progress monitor input stream. + * @version 1.05 2012-01-26 + * @author Cay Horstmann + */ +public class ProgressMonitorInputStreamTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new TextFrame(); + frame.setTitle("ProgressMonitorInputStreamTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/progressMonitorInputStream/TextFrame.java b/corejava第9版/v2ch06/progressMonitorInputStream/TextFrame.java new file mode 100644 index 0000000..14527aa --- /dev/null +++ b/corejava第9版/v2ch06/progressMonitorInputStream/TextFrame.java @@ -0,0 +1,101 @@ +package progressMonitorInputStream; + +import java.awt.event.*; +import java.io.*; +import java.nio.file.*; +import java.util.*; +import javax.swing.*; + +/** + * A frame with a menu to load a text file and a text area to display its contents. The text area is + * constructed when the file is loaded and set as the content pane of the frame when the loading is + * complete. That avoids flicker during loading. + */ +public class TextFrame extends JFrame +{ + public static final int TEXT_ROWS = 10; + public static final int TEXT_COLUMNS = 40; + + private JMenuItem openItem; + private JMenuItem exitItem; + private JTextArea textArea; + private JFileChooser chooser; + + public TextFrame() + { + textArea = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + add(new JScrollPane(textArea)); + + chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + JMenu fileMenu = new JMenu("File"); + menuBar.add(fileMenu); + openItem = new JMenuItem("Open"); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + try + { + openFile(); + } + catch (IOException exception) + { + exception.printStackTrace(); + } + } + }); + + fileMenu.add(openItem); + exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + pack(); + } + + /** + * Prompts the user to select a file, loads the file into a text area, and sets it as the content + * pane of the frame. + */ + public void openFile() throws IOException + { + int r = chooser.showOpenDialog(this); + if (r != JFileChooser.APPROVE_OPTION) return; + final File f = chooser.getSelectedFile(); + + // set up stream and reader filter sequence + + InputStream fileIn = Files.newInputStream(f.toPath()); + final ProgressMonitorInputStream progressIn = new ProgressMonitorInputStream( + this, "Reading " + f.getName(), fileIn); + + textArea.setText(""); + + SwingWorker worker = new SwingWorker() + { + protected Void doInBackground() throws Exception + { + try (Scanner in = new Scanner(progressIn)) + { + while (in.hasNextLine()) + { + String line = in.nextLine(); + textArea.append(line); + textArea.append("\n"); + } + } + return null; + } + }; + worker.execute(); + } +} diff --git a/corejava第9版/v2ch06/spinner/PermutationSpinnerModel.java b/corejava第9版/v2ch06/spinner/PermutationSpinnerModel.java new file mode 100644 index 0000000..b7fde5f --- /dev/null +++ b/corejava第9版/v2ch06/spinner/PermutationSpinnerModel.java @@ -0,0 +1,99 @@ +package spinner; + +import javax.swing.*; + +/** + * A model that dynamically generates word permutations. + */ +public class PermutationSpinnerModel extends AbstractSpinnerModel +{ + private String word; + + /** + * Constructs the model. + * @param w the word to permute + */ + public PermutationSpinnerModel(String w) + { + word = w; + } + + public Object getValue() + { + return word; + } + + public void setValue(Object value) + { + if (!(value instanceof String)) throw new IllegalArgumentException(); + word = (String) value; + fireStateChanged(); + } + + public Object getNextValue() + { + int[] codePoints = toCodePointArray(word); + for (int i = codePoints.length - 1; i > 0; i--) + { + if (codePoints[i - 1] < codePoints[i]) + { + int j = codePoints.length - 1; + while (codePoints[i - 1] > codePoints[j]) + j--; + swap(codePoints, i - 1, j); + reverse(codePoints, i, codePoints.length - 1); + return new String(codePoints, 0, codePoints.length); + } + } + reverse(codePoints, 0, codePoints.length - 1); + return new String(codePoints, 0, codePoints.length); + } + + public Object getPreviousValue() + { + int[] codePoints = toCodePointArray(word); + for (int i = codePoints.length - 1; i > 0; i--) + { + if (codePoints[i - 1] > codePoints[i]) + { + int j = codePoints.length - 1; + while (codePoints[i - 1] < codePoints[j]) + j--; + swap(codePoints, i - 1, j); + reverse(codePoints, i, codePoints.length - 1); + return new String(codePoints, 0, codePoints.length); + } + } + reverse(codePoints, 0, codePoints.length - 1); + return new String(codePoints, 0, codePoints.length); + } + + private static int[] toCodePointArray(String str) + { + int[] codePoints = new int[str.codePointCount(0, str.length())]; + for (int i = 0, j = 0; i < str.length(); i++, j++) + { + int cp = str.codePointAt(i); + if (Character.isSupplementaryCodePoint(cp)) i++; + codePoints[j] = cp; + } + return codePoints; + } + + private static void swap(int[] a, int i, int j) + { + int temp = a[i]; + a[i] = a[j]; + a[j] = temp; + } + + private static void reverse(int[] a, int i, int j) + { + while (i < j) + { + swap(a, i, j); + i++; + j--; + } + } +} diff --git a/corejava第9版/v2ch06/spinner/SpinnerFrame.java b/corejava第9版/v2ch06/spinner/SpinnerFrame.java new file mode 100644 index 0000000..9e81a6a --- /dev/null +++ b/corejava第9版/v2ch06/spinner/SpinnerFrame.java @@ -0,0 +1,86 @@ +package spinner; + +import java.awt.*; +import java.awt.event.*; +import java.text.*; +import javax.swing.*; + +/** + * A frame with a panel that contains several spinners and a button that displays the spinner + * values. + */ +public class SpinnerFrame extends JFrame +{ + private JPanel mainPanel; + private JButton okButton; + + public SpinnerFrame() + { + JPanel buttonPanel = new JPanel(); + okButton = new JButton("Ok"); + buttonPanel.add(okButton); + add(buttonPanel, BorderLayout.SOUTH); + + mainPanel = new JPanel(); + mainPanel.setLayout(new GridLayout(0, 3)); + add(mainPanel, BorderLayout.CENTER); + + JSpinner defaultSpinner = new JSpinner(); + addRow("Default", defaultSpinner); + + JSpinner boundedSpinner = new JSpinner(new SpinnerNumberModel(5, 0, 10, 0.5)); + addRow("Bounded", boundedSpinner); + + String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getAvailableFontFamilyNames(); + + JSpinner listSpinner = new JSpinner(new SpinnerListModel(fonts)); + addRow("List", listSpinner); + + JSpinner reverseListSpinner = new JSpinner(new SpinnerListModel(fonts) + { + public Object getNextValue() { return super.getPreviousValue(); } + public Object getPreviousValue() { return super.getNextValue(); } + }); + addRow("Reverse List", reverseListSpinner); + + JSpinner dateSpinner = new JSpinner(new SpinnerDateModel()); + addRow("Date", dateSpinner); + + JSpinner betterDateSpinner = new JSpinner(new SpinnerDateModel()); + String pattern = ((SimpleDateFormat) DateFormat.getDateInstance()).toPattern(); + betterDateSpinner.setEditor(new JSpinner.DateEditor(betterDateSpinner, pattern)); + addRow("Better Date", betterDateSpinner); + + JSpinner timeSpinner = new JSpinner(new SpinnerDateModel()); + pattern = ((SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.SHORT)).toPattern(); + timeSpinner.setEditor(new JSpinner.DateEditor(timeSpinner, pattern)); + addRow("Time", timeSpinner); + + JSpinner permSpinner = new JSpinner(new PermutationSpinnerModel("meat")); + addRow("Word permutations", permSpinner); + pack(); + } + + /** + * Adds a row to the main panel. + * @param labelText the label of the spinner + * @param spinner the sample spinner + */ + public void addRow(String labelText, final JSpinner spinner) + { + mainPanel.add(new JLabel(labelText)); + mainPanel.add(spinner); + final JLabel valueLabel = new JLabel(); + mainPanel.add(valueLabel); + okButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + Object value = spinner.getValue(); + valueLabel.setText(value.toString()); + } + }); + } +} + diff --git a/corejava第9版/v2ch06/spinner/SpinnerTest.java b/corejava第9版/v2ch06/spinner/SpinnerTest.java new file mode 100644 index 0000000..2f8bdf0 --- /dev/null +++ b/corejava第9版/v2ch06/spinner/SpinnerTest.java @@ -0,0 +1,27 @@ +package spinner; + +import java.awt.*; +import javax.swing.*; + +/** + * A program to test spinners. + * @version 1.02 2007-08-01 + * @author Cay Horstmann + */ +public class SpinnerTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SpinnerFrame(); + frame.setTitle("SpinnerTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v2ch06/splitPane/Earth.gif b/corejava第9版/v2ch06/splitPane/Earth.gif new file mode 100644 index 0000000000000000000000000000000000000000..59824573879c523144fb862c0585cd0e7f4a84ff GIT binary patch literal 3421 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/splitPane/Mercury.gif b/corejava第9版/v2ch06/splitPane/Mercury.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fd78a5d836dfd50b35d7db1473f831be9b0cbcb GIT binary patch literal 700 zcmV;t0z>^rNk%w1VK4wN0J8u9BqSs`IXOy7N?KZ4V`F1$Yio0Jb9;MxgoK2UkdUCD zps}&By}iB8&d%1>*1*8PA^8LW000jFEC2ui05AYB000F3@X1MOQVFG7yZ@lHFk7-5 ziGiVE>nhB$Yzm4PnxP+VPbsnn24lKx1_uLSVDR-Wv&IZTykHOn!yyn5Ae^8gVgbxR z&nTuKFbE{To}o;!LS=x6TR08=+_aatH62|yzmsL2#13Z1@vxi~51`9X`Bm$O{90d>od$#pjYC|&yILp2;3 z?6fq{2Nb71xo%<&u$8OVEcBdeL13`WntW;3v1#kp0~TmE1QM`_H{nTBI{6Y%*L zf%tCe6Oc747Xga5e(`W?=1$3L(59`-CG%FM76cGos!f|d%Q#V*R?4Eo0iAwsT}4_M zC+68(yV~xO?&xT>$k_rvExZD#*P}7!RlYoUm^R4OLf@CT`cefU5MZ?|y}S3mE!639 zbl&vl9*f$0XZ%Edb<`ZO*q@D`qmuoZ^-tGA3IHl5;DG-Xh+a1dDtMp^1S+^#bNw{9 z-+PoiFiU|CI)QvZRwyvix6&r06nm5KqDM<&;ddO i001HW7(;Jxd2(rIXmlVkIXN~UN@;B%MRsX!a{xOcIU&UW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/splitPane/Neptune.gif b/corejava第9版/v2ch06/splitPane/Neptune.gif new file mode 100644 index 0000000000000000000000000000000000000000..33b18f2a8569ec78ed370e438b34e3cae3e56a1e GIT binary patch literal 2228 zcmeHG`B&137XNCX2sI(#nkl#sYU(&HIY*zEqEZ@=iA%-^NHT6DW}@>N+?O7O3W)1b zac#25#4*zmNppNY3)iQ<$A&J7B|dmWD> z0z}{~06=Zr;h*{&yZXbO2yj=ju`2=N>SMfbzBq?D?vL>ZKORi63*meoniUw86`jbT z)9H!Hob2puZ)#Z(yE8erJ-&R2C;ge%wI}?5T7^O(tZk{?XUjh2!j1u;E{ruJGMX&M$aol~056^(pFGq9-X+tkc#XaE2h{1}5DWpF5n32nQrNm^qV7$^X ztxHzCGK@!BIP*{;<+)=O2jM7)Ag+agG^7$Hc9jK>>abs{|180^Q_2iW#kHyi+|&VG zu?|l)!}5n4d(?YPo^c4ee!d|0P*h`Xq!ei;h!=$CXm_&?*cU2#?>vWi{|KES#yQUq z(yp63C5mOskBbi5o!{*3W{n~i`(|;y@2O zLfx9BFl|NPnz)1xxgYB>W^^bQ7OgW^EMYNMO6)C}M>tO2ZxkdOa7WaapRm`et~6l8 zP0?C66Y5w4zqLKkhR!f;DoViuUd8DQJ=}F9w7IsDQLV$2=#nVRi~6-CYpK)g=p2xK zcx6l-huQWd^=Q7JEbt9CAe@>S_CsvI68CK#UJsgO@nxAo-_Zc1Tvp#AR-#TEbRBT9 zprC!Bk>oN0fq2q$@~8Sx&wFqSn3^*I#^zZW#3SM$F7YoR*lurR+qX2E%7}|k3@oWV z<={qfL7~cl=P~s8G|ZKFf4$Y2-Hz@&q&V zYn3kR;6T~lmxg3rQ|^@5<<)o-{uuVE^qLl+Sf%eCOV7#N>^UMWmS`Ey^Mj{)gvtlF zHI(jWg-Kfd*5XWh5@E4N#yMovj2m%@={I>8Y>uwJ_SM2h%cz5oN+IwtU9U>|J-TZ3 z-|_hM2pt&OkzW+uFnX5l z9GZXjRm=j#;YvvC1a~QbRXM&EHf*v;eP5jiDYo5 z^SbT;L9_Ahw)T7Fp5wOA=R2_ThPtNRw0^79)537r@3I~uGOv8r1f+5RZaqH?IW~pu z7`C?Mk#TY&+WhiFae!^wGcp43yDEETb2bEXkeoUAzt|1%=IaKkS$Eale?8o3_H#k~clh~!%Rfn3g>=*R1-5Vad zna2&Fl{dHA$OG9Jbfl{1l^3F%Kf*ZSP)+k<%0=M--f|-cNaRb!W27R_yBqe&9s@O#}UO{jye1i1YoKH<&Dh2 zo#Le?%&PDZxSk8o?O8wR(+ZG$G3j;k$@G(;Pk6kHzKVp_b5pi^@7z<&19T5_i>rO7 zX^*6h6`nf`h_8{K3Y=6@uVLsTkF3b^5y(&zS-hDWe%GTTZB z{72TLU};>cTCm5HvdsHJP<8Vr9rNkGk~>@Qtrxzn3H^Piukh4`F!v{+HR`!DUX!6= t9KsFqoBZjfYAhN6FlrNAN@{vSd>T50o|=NDanS@;GCDAWmBInO_&=Co@sm6b zSBP2Uf}CcmS|hW#4UDQ8yCjKULMM^UEI$MSh$!idy^&DKED&iTsUo4IA_$A;fJ^pa#Rt4O&BiM$o?n0zr|BIc{V=ObRz&1BZKL9}PEgER1wF2?U3gkq#YyfFlhg zHj)LEh;)Q~6r>BCW-@FPyG4#a1ld<3u+OO0O?<PHXurAZ6HNM}>JBgl}ivR!s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/splitPane/Saturn.gif b/corejava第9版/v2ch06/splitPane/Saturn.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4c6144b99fb9f301f3cefa95bf3ea66b9934ed1 GIT binary patch literal 4878 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

        fppnj!JH@+de%>h|lL{RP46GaIXPU{GQv=8Yy znUbOp2pauRit&PODZ@EqCA*K2A(D^m6BlRUTsZImH1n?%N&RQy)_1zxWU>OjpptyN6(vu`^+Er2g z+8;?3volLj?15}|m%0jILM>nld!EW1KD%)QF_a53>SjH|#|Wzbl#UbastVVs&Vl-~ zon%%@vV2`u%3&Y#%8W&Z8ZQWs_`K67*Xx#=N~_GYRESEgk>UetMBmowAYf=f1AD)# zEFXecNWl>R>~K^K%3)77p|G zFAotvEE4arlwu0jf+_>;$DM*R!$qxN{th6pw@~5}2ZsPLo9k7wmGx)1jUHJ9Xa@x} za6{!#4Hvf&Z29RT;(-&u+ObDC{bcu&gDS#ay*SAzfRwIB4@QyzNqdcT4#xOo7O`il1n1Mntig)|4EVNvGP75AHZG4(zkj3X=9mWc_qDHcJh1yeE@+qQ^ zIqs*sL0)FUl$yeffIzu2(@Cp{rO)^I9ZaX?n<`Y6i2;jQ@;gigHy#$NVxk-QoUtt25-S+ms(qxbwQZ@5O>lH z{QQOWOdv6>tGmZ9%&`C7KzjfAH7C#M*nyU}VYkpv22iX}pUk>lUlpu*e`Zgde^5M* zEq<8L^SH}pq@LsiqrOExD4|BbM%rvt4Q=PjZ-({sQZMe`i#|M(Jy?pXS|6rNRsr>W zBlZ(K6KuiAYE=1f5ZL5n|D~ehfydG)%=?7&B_`)9wF+LA{Qdy@Y&=|Xpk_Tfri3Zo znRrtxd6Y6R@Hs(dXJp8^k9N;(zKR6 planetList = new JList<>(planets); + final JLabel planetImage = new JLabel(); + final JTextArea planetDescription = new JTextArea(); + + planetList.addListSelectionListener(new ListSelectionListener() + { + public void valueChanged(ListSelectionEvent event) + { + Planet value = (Planet) planetList.getSelectedValue(); + + // update image and description + + planetImage.setIcon(value.getImage()); + planetDescription.setText(value.getDescription()); + } + }); + + // set up split panes + + JSplitPane innerPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, planetList, planetImage); + + innerPane.setContinuousLayout(true); + innerPane.setOneTouchExpandable(true); + + JSplitPane outerPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, innerPane, + planetDescription); + + add(outerPane, BorderLayout.CENTER); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/splitPane/SplitPaneTest.java b/corejava第9版/v2ch06/splitPane/SplitPaneTest.java new file mode 100644 index 0000000..0799744 --- /dev/null +++ b/corejava第9版/v2ch06/splitPane/SplitPaneTest.java @@ -0,0 +1,26 @@ +package splitPane; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the split pane component organizer. + * @version 1.03 2007-08-01 + * @author Cay Horstmann + */ +public class SplitPaneTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SplitPaneFrame(); + frame.setTitle("SplitPaneTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/splitPane/Uranus.gif b/corejava第9版/v2ch06/splitPane/Uranus.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9baa5d574fd2cdefd9bd6bf162adfbfda7ff682 GIT binary patch literal 2059 zcmeHG`#aMM82`>}XE;t8<`OlGkdU5r?C5bugi&Y8EpnO5E|mNIk}cPfQZ_RWLUU=O zD3>fUw+P{oM8_h;bez-?k?hbPaenIay!ZEg-uHPv&-2>Yoi@b~@Bkjz001?NgZ+6I zQ=cT~nCy^{kmU3n#x4qq1OkC`c0Dn_Ikc#mcDpHxH=NxtM13@!^=!3--&s63TRO5* z@z=kc*WW6a#f`$R%_8x`&2McR;-|YJ77vNVFU4Y^SiC3}0|3zeUE9CA_T8+#eRn^V zO5N*;f$t-`W-r>sZtVwtF!28{ps^_l0st6buy=0nC$O*`U_VUFwyv}z1tzb5u@6s3 z{aNid+rMWzz&&(0CUm3}1cu5e>N-$YOZ`(I(r}bA(g)kclGgSYxYZM_ufZ|#Ys%;5 zC8en9n|fOi)m53PKlJs0 znePf_HrT67_6x+DM3OQ-WFhAisty$q8pj~+pED+s6F#QFeQ2@>)l1ov(Fed*%=!H2 zSW$(mw~uG60!fvxGZos~(LGAkuYGhOy%@5}&L*RkUPru9tkb#yEG^C5q=Vv0u~6fT z`Mk=bE%-bX;ybkB((TPuFtY=+q}x@E=lm~sjjq? z%OMHRC@)kUvW?8~KL`F$%U~48q?6v1B%WP+cQ)*@wuRj(dK4qw8>cr`j-F;YrfhF6 zj@#uwh|MpAznIXuq9$TFm+q8bUuF>lRMNF25k9#VJeS7hK$rbn6XULkQ5=$-rNPhl z2s^rjgvxd58>DroTL)brwyn=ymSu1}lV@)-*S@!A^nT>&55d5&3JF`_!rYKY` zqli=Jk+sd~ouOTNa6{MV?x%jfCtKITsH=$6bA0ZlcCX3eb}r=z7bA>hMg@>y(==KC^MIm277-WsVT}2nG z>WctGLVS}wfz5^bWb7Pi=*WN7N@X?0B0d^hH1bZXBu&lmG%4*#tBtDZZo@&^1-$!D z%y~@CpuE}pETK}9;kN9b*RO_uuK8(tIHrq>_zKOd?_xj`p%j5fA(MB}8s{!w?n2E< z(?Fm{X!W!i?38b%)C+6(vGV*e)6DyvL_FbGgmk7Aqa#dI;iVTpOmw?*Pnap^H9UQ5 z0^EmIQ1gYF8*n}M(ZMZOQCO3_G6xZ!p&1lqOoxq4+(as?&^)2XB~HEVVpLnBK)FPK zcT;tOY@FGK_izr>w8-_XJHdDKvo>MFWPp0}TaJDTa|JMn32+jwm#b;!XZeL}+kk`< zvl68uvKq9sCI>Ul=}&6cqHL<>iFpQED!TOJeXPWA#$!EghrslH-Gyt+S`-$w2p(|c z!ZA*P3kKti0eeJFD2#GTr>w!gQ;$?Iw5e?z5;15<8D&2`Hf2&p&!qx@#*T_ba7ZLM ZARKAu7ZQy0jYHxnmyy=dl;8-!>_5hDpw0jQ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/splitPane/Venus.gif b/corejava第9版/v2ch06/splitPane/Venus.gif new file mode 100644 index 0000000000000000000000000000000000000000..8552313b4c951222ec4b55f4b235bc17d1ddde1a GIT binary patch literal 2954 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tabbedPane/Mercury.gif b/corejava第9版/v2ch06/tabbedPane/Mercury.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fd78a5d836dfd50b35d7db1473f831be9b0cbcb GIT binary patch literal 700 zcmV;t0z>^rNk%w1VK4wN0J8u9BqSs`IXOy7N?KZ4V`F1$Yio0Jb9;MxgoK2UkdUCD zps}&By}iB8&d%1>*1*8PA^8LW000jFEC2ui05AYB000F3@X1MOQVFG7yZ@lHFk7-5 ziGiVE>nhB$Yzm4PnxP+VPbsnn24lKx1_uLSVDR-Wv&IZTykHOn!yyn5Ae^8gVgbxR z&nTuKFbE{To}o;!LS=x6TR08=+_aatH62|yzmsL2#13Z1@vxi~51`9X`Bm$O{90d>od$#pjYC|&yILp2;3 z?6fq{2Nb71xo%<&u$8OVEcBdeL13`WntW;3v1#kp0~TmE1QM`_H{nTBI{6Y%*L zf%tCe6Oc747Xga5e(`W?=1$3L(59`-CG%FM76cGos!f|d%Q#V*R?4Eo0iAwsT}4_M zC+68(yV~xO?&xT>$k_rvExZD#*P}7!RlYoUm^R4OLf@CT`cefU5MZ?|y}S3mE!639 zbl&vl9*f$0XZ%Edb<`ZO*q@D`qmuoZ^-tGA3IHl5;DG-Xh+a1dDtMp^1S+^#bNw{9 z-+PoiFiU|CI)QvZRwyvix6&r06nm5KqDM<&;ddO i001HW7(;Jxd2(rIXmlVkIXN~UN@;B%MRsX!a{xOcIU&UW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tabbedPane/Neptune.gif b/corejava第9版/v2ch06/tabbedPane/Neptune.gif new file mode 100644 index 0000000000000000000000000000000000000000..33b18f2a8569ec78ed370e438b34e3cae3e56a1e GIT binary patch literal 2228 zcmeHG`B&137XNCX2sI(#nkl#sYU(&HIY*zEqEZ@=iA%-^NHT6DW}@>N+?O7O3W)1b zac#25#4*zmNppNY3)iQ<$A&J7B|dmWD> z0z}{~06=Zr;h*{&yZXbO2yj=ju`2=N>SMfbzBq?D?vL>ZKORi63*meoniUw86`jbT z)9H!Hob2puZ)#Z(yE8erJ-&R2C;ge%wI}?5T7^O(tZk{?XUjh2!j1u;E{ruJGMX&M$aol~056^(pFGq9-X+tkc#XaE2h{1}5DWpF5n32nQrNm^qV7$^X ztxHzCGK@!BIP*{;<+)=O2jM7)Ag+agG^7$Hc9jK>>abs{|180^Q_2iW#kHyi+|&VG zu?|l)!}5n4d(?YPo^c4ee!d|0P*h`Xq!ei;h!=$CXm_&?*cU2#?>vWi{|KES#yQUq z(yp63C5mOskBbi5o!{*3W{n~i`(|;y@2O zLfx9BFl|NPnz)1xxgYB>W^^bQ7OgW^EMYNMO6)C}M>tO2ZxkdOa7WaapRm`et~6l8 zP0?C66Y5w4zqLKkhR!f;DoViuUd8DQJ=}F9w7IsDQLV$2=#nVRi~6-CYpK)g=p2xK zcx6l-huQWd^=Q7JEbt9CAe@>S_CsvI68CK#UJsgO@nxAo-_Zc1Tvp#AR-#TEbRBT9 zprC!Bk>oN0fq2q$@~8Sx&wFqSn3^*I#^zZW#3SM$F7YoR*lurR+qX2E%7}|k3@oWV z<={qfL7~cl=P~s8G|ZKFf4$Y2-Hz@&q&V zYn3kR;6T~lmxg3rQ|^@5<<)o-{uuVE^qLl+Sf%eCOV7#N>^UMWmS`Ey^Mj{)gvtlF zHI(jWg-Kfd*5XWh5@E4N#yMovj2m%@={I>8Y>uwJ_SM2h%cz5oN+IwtU9U>|J-TZ3 z-|_hM2pt&OkzW+uFnX5l z9GZXjRm=j#;YvvC1a~QbRXM&EHf*v;eP5jiDYo5 z^SbT;L9_Ahw)T7Fp5wOA=R2_ThPtNRw0^79)537r@3I~uGOv8r1f+5RZaqH?IW~pu z7`C?Mk#TY&+WhiFae!^wGcp43yDEETb2bEXkeoUAzt|1%=IaKkS$Eale?8o3_H#k~clh~!%Rfn3g>=*R1-5Vad zna2&Fl{dHA$OG9Jbfl{1l^3F%Kf*ZSP)+k<%0=M--f|-cNaRb!W27R_yBqe&9s@O#}UO{jye1i1YoKH<&Dh2 zo#Le?%&PDZxSk8o?O8wR(+ZG$G3j;k$@G(;Pk6kHzKVp_b5pi^@7z<&19T5_i>rO7 zX^*6h6`nf`h_8{K3Y=6@uVLsTkF3b^5y(&zS-hDWe%GTTZB z{72TLU};>cTCm5HvdsHJP<8Vr9rNkGk~>@Qtrxzn3H^Piukh4`F!v{+HR`!DUX!6= t9KsFqoBZjfYAhN6FlrNAN@{vSd>T50o|=NDanS@;GCDAWmBInO_&=Co@sm6b zSBP2Uf}CcmS|hW#4UDQ8yCjKULMM^UEI$MSh$!idy^&DKED&iTsUo4IA_$A;fJ^pa#Rt4O&BiM$o?n0zr|BIc{V=ObRz&1BZKL9}PEgER1wF2?U3gkq#YyfFlhg zHj)LEh;)Q~6r>BCW-@FPyG4#a1ld<3u+OO0O?<PHXurAZ6HNM}>JBgl}ivR!s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tabbedPane/Saturn.gif b/corejava第9版/v2ch06/tabbedPane/Saturn.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4c6144b99fb9f301f3cefa95bf3ea66b9934ed1 GIT binary patch literal 4878 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

        fppnj!JH@+de%>h|lL{RP46GaIXPU{GQv=8Yy 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 ZARKAu7ZQy0jYHxnmyy=dl;8-!>_5hDpw0jQ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tabbedPane/Venus.gif b/corejava第9版/v2ch06/tabbedPane/Venus.gif new file mode 100644 index 0000000000000000000000000000000000000000..8552313b4c951222ec4b55f4b235bc17d1ddde1a GIT binary patch literal 2954 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableCellRender/Mercury.gif b/corejava第9版/v2ch06/tableCellRender/Mercury.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fd78a5d836dfd50b35d7db1473f831be9b0cbcb GIT binary patch literal 700 zcmV;t0z>^rNk%w1VK4wN0J8u9BqSs`IXOy7N?KZ4V`F1$Yio0Jb9;MxgoK2UkdUCD zps}&By}iB8&d%1>*1*8PA^8LW000jFEC2ui05AYB000F3@X1MOQVFG7yZ@lHFk7-5 ziGiVE>nhB$Yzm4PnxP+VPbsnn24lKx1_uLSVDR-Wv&IZTykHOn!yyn5Ae^8gVgbxR z&nTuKFbE{To}o;!LS=x6TR08=+_aatH62|yzmsL2#13Z1@vxi~51`9X`Bm$O{90d>od$#pjYC|&yILp2;3 z?6fq{2Nb71xo%<&u$8OVEcBdeL13`WntW;3v1#kp0~TmE1QM`_H{nTBI{6Y%*L zf%tCe6Oc747Xga5e(`W?=1$3L(59`-CG%FM76cGos!f|d%Q#V*R?4Eo0iAwsT}4_M zC+68(yV~xO?&xT>$k_rvExZD#*P}7!RlYoUm^R4OLf@CT`cefU5MZ?|y}S3mE!639 zbl&vl9*f$0XZ%Edb<`ZO*q@D`qmuoZ^-tGA3IHl5;DG-Xh+a1dDtMp^1S+^#bNw{9 z-+PoiFiU|CI)QvZRwyvix6&r06nm5KqDM<&;ddO i001HW7(;Jxd2(rIXmlVkIXN~UN@;B%MRsX!a{xOcIU&UW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableCellRender/Moons.gif b/corejava第9版/v2ch06/tableCellRender/Moons.gif new file mode 100644 index 0000000000000000000000000000000000000000..f993d3e33c031eed364fd5b559e92f504cb2a149 GIT binary patch literal 2254 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 getColumnClass(int c) + { + return cells[0][c].getClass(); + } + + public int getColumnCount() + { + return cells[0].length; + } + + public int getRowCount() + { + return cells.length; + } + + public Object getValueAt(int r, int c) + { + return cells[r][c]; + } + + public void setValueAt(Object obj, int r, int c) + { + cells[r][c] = obj; + } + + public boolean isCellEditable(int r, int c) + { + return c == PLANET_COLUMN || c == MOONS_COLUMN || c == GASEOUS_COLUMN || c == COLOR_COLUMN; + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/tableCellRender/Pluto.gif b/corejava第9版/v2ch06/tableCellRender/Pluto.gif new file mode 100644 index 0000000000000000000000000000000000000000..390963891f9dd9cccb65000f3f1d635f0f13c4c3 GIT binary patch literal 402 zcmV;D0d4+ANk%w1VITk?0J8u92nYxi6ciyLAuTN}IXO8(LPAPPO2ELtQc_Y{T3Tac zV{dP7gM)*Vl$5BbsNUY*A^8LW000L7EC2ui03ZM$000F3@W^?bd-z$(ySG{BG>m6b zSBP2Uf}CcmS|hW#4UDQ8yCjKULMM^UEI$MSh$!idy^&DKED&iTsUo4IA_$A;fJ^pa#Rt4O&BiM$o?n0zr|BIc{V=ObRz&1BZKL9}PEgER1wF2?U3gkq#YyfFlhg zHj)LEh;)Q~6r>BCW-@FPyG4#a1ld<3u+OO0O?<PHXurAZ6HNM}>JBgl}ivR!s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableCellRender/Saturn.gif b/corejava第9版/v2ch06/tableCellRender/Saturn.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4c6144b99fb9f301f3cefa95bf3ea66b9934ed1 GIT binary patch literal 4878 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

        fppnj!JH@+de%>h|lL{RP46GaIXPU{GQv=8Yy znUbOp2pauRit&PODZ@EqCA*K2A(D^m6BlRUTsZImH1n?%N&RQy)_1zxWU>OjpptyN6(vu`^+Er2g z+8;?3volLj?15}|m%0jILM>nld!EW1KD%)QF_a53>SjH|#|Wzbl#UbastVVs&Vl-~ zon%%@vV2`u%3&Y#%8W&Z8ZQWs_`K67*Xx#=N~_GYRESEgk>UetMBmowAYf=f1AD)# zEFXecNWl>R>~K^K%3)77p|G zFAotvEE4arlwu0jf+_>;$DM*R!$qxN{th6pw@~5}2ZsPLo9k7wmGx)1jUHJ9Xa@x} za6{!#4Hvf&Z29RT;(-&u+ObDC{bcu&gDS#ay*SAzfRwIB4@QyzNqdcT4#xOo7O`il1n1Mntig)|4EVNvGP75AHZG4(zkj3X=9mWc_qDHcJh1yeE@+qQ^ zIqs*sL0)FUl$yeffIzu2(@Cp{rO)^I9ZaX?n<`Y6i2;jQ@;gigHy#$NVxk-QoUtt25-S+ms(qxbwQZ@5O>lH z{QQOWOdv6>tGmZ9%&`C7KzjfAH7C#M*nyU}VYkpv22iX}pUk>lUlpu*e`Zgde^5M* zEq<8L^SH}pq@LsiqrOExD4|BbM%rvt4Q=PjZ-({sQZMe`i#|M(Jy?pXS|6rNRsr>W zBlZ(K6KuiAYE=1f5ZL5n|D~ehfydG)%=?7&B_`)9wF+LA{Qdy@Y&=|Xpk_Tfri3Zo znRrtxd6Y6R@Hs(dXJp8^k9N;(zKR6 moonCombo = new JComboBox<>(); + for (int i = 0; i <= 20; i++) + moonCombo.addItem(i); + + TableColumnModel columnModel = table.getColumnModel(); + TableColumn moonColumn = columnModel.getColumn(PlanetTableModel.MOONS_COLUMN); + moonColumn.setCellEditor(new DefaultCellEditor(moonCombo)); + moonColumn.setHeaderRenderer(table.getDefaultRenderer(ImageIcon.class)); + moonColumn.setHeaderValue(new ImageIcon(getClass().getResource("Moons.gif"))); + + // show table + + table.setRowHeight(100); + add(new JScrollPane(table), BorderLayout.CENTER); + } +} + diff --git a/corejava第9版/v2ch06/tableCellRender/TableCellRenderTest.java b/corejava第9版/v2ch06/tableCellRender/TableCellRenderTest.java new file mode 100644 index 0000000..47c02a7 --- /dev/null +++ b/corejava第9版/v2ch06/tableCellRender/TableCellRenderTest.java @@ -0,0 +1,27 @@ +package tableCellRender; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates cell rendering and editing in a table. + * @version 1.03 2012-06-08 + * @author Cay Horstmann + */ +public class TableCellRenderTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + + JFrame frame = new TableCellRenderFrame(); + frame.setTitle("TableCellRenderTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/tableCellRender/Uranus.gif b/corejava第9版/v2ch06/tableCellRender/Uranus.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9baa5d574fd2cdefd9bd6bf162adfbfda7ff682 GIT binary patch literal 2059 zcmeHG`#aMM82`>}XE;t8<`OlGkdU5r?C5bugi&Y8EpnO5E|mNIk}cPfQZ_RWLUU=O zD3>fUw+P{oM8_h;bez-?k?hbPaenIay!ZEg-uHPv&-2>Yoi@b~@Bkjz001?NgZ+6I zQ=cT~nCy^{kmU3n#x4qq1OkC`c0Dn_Ikc#mcDpHxH=NxtM13@!^=!3--&s63TRO5* z@z=kc*WW6a#f`$R%_8x`&2McR;-|YJ77vNVFU4Y^SiC3}0|3zeUE9CA_T8+#eRn^V zO5N*;f$t-`W-r>sZtVwtF!28{ps^_l0st6buy=0nC$O*`U_VUFwyv}z1tzb5u@6s3 z{aNid+rMWzz&&(0CUm3}1cu5e>N-$YOZ`(I(r}bA(g)kclGgSYxYZM_ufZ|#Ys%;5 zC8en9n|fOi)m53PKlJs0 znePf_HrT67_6x+DM3OQ-WFhAisty$q8pj~+pED+s6F#QFeQ2@>)l1ov(Fed*%=!H2 zSW$(mw~uG60!fvxGZos~(LGAkuYGhOy%@5}&L*RkUPru9tkb#yEG^C5q=Vv0u~6fT z`Mk=bE%-bX;ybkB((TPuFtY=+q}x@E=lm~sjjq? z%OMHRC@)kUvW?8~KL`F$%U~48q?6v1B%WP+cQ)*@wuRj(dK4qw8>cr`j-F;YrfhF6 zj@#uwh|MpAznIXuq9$TFm+q8bUuF>lRMNF25k9#VJeS7hK$rbn6XULkQ5=$-rNPhl z2s^rjgvxd58>DroTL)brwyn=ymSu1}lV@)-*S@!A^nT>&55d5&3JF`_!rYKY` zqli=Jk+sd~ouOTNa6{MV?x%jfCtKITsH=$6bA0ZlcCX3eb}r=z7bA>hMg@>y(==KC^MIm277-WsVT}2nG z>WctGLVS}wfz5^bWb7Pi=*WN7N@X?0B0d^hH1bZXBu&lmG%4*#tBtDZZo@&^1-$!D z%y~@CpuE}pETK}9;kN9b*RO_uuK8(tIHrq>_zKOd?_xj`p%j5fA(MB}8s{!w?n2E< z(?Fm{X!W!i?38b%)C+6(vGV*e)6DyvL_FbGgmk7Aqa#dI;iVTpOmw?*Pnap^H9UQ5 z0^EmIQ1gYF8*n}M(ZMZOQCO3_G6xZ!p&1lqOoxq4+(as?&^)2XB~HEVVpLnBK)FPK zcT;tOY@FGK_izr>w8-_XJHdDKvo>MFWPp0}TaJDTa|JMn32+jwm#b;!XZeL}+kk`< zvl68uvKq9sCI>Ul=}&6cqHL<>iFpQED!TOJeXPWA#$!EghrslH-Gyt+S`-$w2p(|c z!ZA*P3kKti0eeJFD2#GTr>w!gQ;$?Iw5e?z5;15<8D&2`Hf2&p&!qx@#*T_ba7ZLM ZARKAu7ZQy0jYHxnmyy=dl;8-!>_5hDpw0jQ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableCellRender/Venus.gif b/corejava第9版/v2ch06/tableCellRender/Venus.gif new file mode 100644 index 0000000000000000000000000000000000000000..8552313b4c951222ec4b55f4b235bc17d1ddde1a GIT binary patch literal 2954 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableRowColumn/Mercury.gif b/corejava第9版/v2ch06/tableRowColumn/Mercury.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fd78a5d836dfd50b35d7db1473f831be9b0cbcb GIT binary patch literal 700 zcmV;t0z>^rNk%w1VK4wN0J8u9BqSs`IXOy7N?KZ4V`F1$Yio0Jb9;MxgoK2UkdUCD zps}&By}iB8&d%1>*1*8PA^8LW000jFEC2ui05AYB000F3@X1MOQVFG7yZ@lHFk7-5 ziGiVE>nhB$Yzm4PnxP+VPbsnn24lKx1_uLSVDR-Wv&IZTykHOn!yyn5Ae^8gVgbxR z&nTuKFbE{To}o;!LS=x6TR08=+_aatH62|yzmsL2#13Z1@vxi~51`9X`Bm$O{90d>od$#pjYC|&yILp2;3 z?6fq{2Nb71xo%<&u$8OVEcBdeL13`WntW;3v1#kp0~TmE1QM`_H{nTBI{6Y%*L zf%tCe6Oc747Xga5e(`W?=1$3L(59`-CG%FM76cGos!f|d%Q#V*R?4Eo0iAwsT}4_M zC+68(yV~xO?&xT>$k_rvExZD#*P}7!RlYoUm^R4OLf@CT`cefU5MZ?|y}S3mE!639 zbl&vl9*f$0XZ%Edb<`ZO*q@D`qmuoZ^-tGA3IHl5;DG-Xh+a1dDtMp^1S+^#bNw{9 z-+PoiFiU|CI)QvZRwyvix6&r06nm5KqDM<&;ddO i001HW7(;Jxd2(rIXmlVkIXN~UN@;B%MRsX!a{xOcIU&UW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableRowColumn/Neptune.gif b/corejava第9版/v2ch06/tableRowColumn/Neptune.gif new file mode 100644 index 0000000000000000000000000000000000000000..33b18f2a8569ec78ed370e438b34e3cae3e56a1e GIT binary patch literal 2228 zcmeHG`B&137XNCX2sI(#nkl#sYU(&HIY*zEqEZ@=iA%-^NHT6DW}@>N+?O7O3W)1b zac#25#4*zmNppNY3)iQ<$A&J7B|dmWD> z0z}{~06=Zr;h*{&yZXbO2yj=ju`2=N>SMfbzBq?D?vL>ZKORi63*meoniUw86`jbT z)9H!Hob2puZ)#Z(yE8erJ-&R2C;ge%wI}?5T7^O(tZk{?XUjh2!j1u;E{ruJGMX&M$aol~056^(pFGq9-X+tkc#XaE2h{1}5DWpF5n32nQrNm^qV7$^X ztxHzCGK@!BIP*{;<+)=O2jM7)Ag+agG^7$Hc9jK>>abs{|180^Q_2iW#kHyi+|&VG zu?|l)!}5n4d(?YPo^c4ee!d|0P*h`Xq!ei;h!=$CXm_&?*cU2#?>vWi{|KES#yQUq z(yp63C5mOskBbi5o!{*3W{n~i`(|;y@2O zLfx9BFl|NPnz)1xxgYB>W^^bQ7OgW^EMYNMO6)C}M>tO2ZxkdOa7WaapRm`et~6l8 zP0?C66Y5w4zqLKkhR!f;DoViuUd8DQJ=}F9w7IsDQLV$2=#nVRi~6-CYpK)g=p2xK zcx6l-huQWd^=Q7JEbt9CAe@>S_CsvI68CK#UJsgO@nxAo-_Zc1Tvp#AR-#TEbRBT9 zprC!Bk>oN0fq2q$@~8Sx&wFqSn3^*I#^zZW#3SM$F7YoR*lurR+qX2E%7}|k3@oWV z<={qfL7~cl=P~s8G|ZKFf4$Y2-Hz@&q&V zYn3kR;6T~lmxg3rQ|^@5<<)o-{uuVE^qLl+Sf%eCOV7#N>^UMWmS`Ey^Mj{)gvtlF zHI(jWg-Kfd*5XWh5@E4N#yMovj2m%@={I>8Y>uwJ_SM2h%cz5oN+IwtU9U>|J-TZ3 z-|_hM2pt&OkzW+uFnX5l z9GZXjRm=j#;YvvC1a~QbRXM&EHf*v;eP5jiDYo5 z^SbT;L9_Ahw)T7Fp5wOA=R2_ThPtNRw0^79)537r@3I~uGOv8r1f+5RZaqH?IW~pu z7`C?Mk#TY&+WhiFae!^wGcp43yDEETb2bEXkeoUAzt|1%=IaKkS$Eale?8o3_H#k~clh~!%Rfn3g>=*R1-5Vad zna2&Fl{dHA$OG9Jbfl{1l^3F%Kf*ZSP)+k<%0=M--f|-cNaRb!W27R_yBqe&9s@O#}UO{jye1i1YoKH<&Dh2 zo#Le?%&PDZxSk8o?O8wR(+ZG$G3j;k$@G(;Pk6kHzKVp_b5pi^@7z<&19T5_i>rO7 zX^*6h6`nf`h_8{K3Y=6@uVLsTkF3b^5y(&zS-hDWe%GTTZB z{72TLU};>cTCm5HvdsHJP<8Vr9rNkGk~>@Qtrxzn3H^Piukh4`F!v{+HR`!DUX!6= t9KsFqoBZjfYAhN6FlrNAN@{vSd>T50o|=NDanS@;GCDAWmBInO_&=Co@s removedRowIndices; + private ArrayList removedColumns; + private JCheckBoxMenuItem rowsItem; + private JCheckBoxMenuItem columnsItem; + private JCheckBoxMenuItem cellsItem; + + private String[] columnNames = { "Planet", "Radius", "Moons", "Gaseous", "Color", "Image" }; + + private Object[][] cells = { + { "Mercury", 2440.0, 0, false, Color.YELLOW, + new ImageIcon(getClass().getResource("Mercury.gif")) }, + { "Venus", 6052.0, 0, false, Color.YELLOW, + new ImageIcon(getClass().getResource("Venus.gif")) }, + { "Earth", 6378.0, 1, false, Color.BLUE, + new ImageIcon(getClass().getResource("Earth.gif")) }, + { "Mars", 3397.0, 2, false, Color.RED, + new ImageIcon(getClass().getResource("Mars.gif")) }, + { "Jupiter", 71492.0, 16, true, Color.ORANGE, + new ImageIcon(getClass().getResource("Jupiter.gif")) }, + { "Saturn", 60268.0, 18, true, Color.ORANGE, + new ImageIcon(getClass().getResource("Saturn.gif")) }, + { "Uranus", 25559.0, 17, true, Color.BLUE, + new ImageIcon(getClass().getResource("Uranus.gif")) }, + { "Neptune", 24766.0, 8, true, Color.BLUE, + new ImageIcon(getClass().getResource("Neptune.gif")) }, + { "Pluto", 1137.0, 1, false, Color.BLACK, + new ImageIcon(getClass().getResource("Pluto.gif")) } }; + + public PlanetTableFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + TableModel model = new DefaultTableModel(cells, columnNames) + { + public Class getColumnClass(int c) + { + return cells[0][c].getClass(); + } + }; + + table = new JTable(model); + + table.setRowHeight(100); + table.getColumnModel().getColumn(COLOR_COLUMN).setMinWidth(250); + table.getColumnModel().getColumn(IMAGE_COLUMN).setMinWidth(100); + + final TableRowSorter sorter = new TableRowSorter<>(model); + table.setRowSorter(sorter); + sorter.setComparator(COLOR_COLUMN, new Comparator() + { + public int compare(Color c1, Color c2) + { + int d = c1.getBlue() - c2.getBlue(); + if (d != 0) return d; + d = c1.getGreen() - c2.getGreen(); + if (d != 0) return d; + return c1.getRed() - c2.getRed(); + } + }); + sorter.setSortable(IMAGE_COLUMN, false); + add(new JScrollPane(table), BorderLayout.CENTER); + + removedRowIndices = new HashSet<>(); + removedColumns = new ArrayList<>(); + + final RowFilter filter = new RowFilter() + { + public boolean include(Entry entry) + { + return !removedRowIndices.contains(entry.getIdentifier()); + } + }; + + // create menu + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu selectionMenu = new JMenu("Selection"); + menuBar.add(selectionMenu); + + rowsItem = new JCheckBoxMenuItem("Rows"); + columnsItem = new JCheckBoxMenuItem("Columns"); + cellsItem = new JCheckBoxMenuItem("Cells"); + + rowsItem.setSelected(table.getRowSelectionAllowed()); + columnsItem.setSelected(table.getColumnSelectionAllowed()); + cellsItem.setSelected(table.getCellSelectionEnabled()); + + rowsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + table.clearSelection(); + table.setRowSelectionAllowed(rowsItem.isSelected()); + updateCheckboxMenuItems(); + } + }); + selectionMenu.add(rowsItem); + + columnsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + table.clearSelection(); + table.setColumnSelectionAllowed(columnsItem.isSelected()); + updateCheckboxMenuItems(); + } + }); + selectionMenu.add(columnsItem); + + cellsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + table.clearSelection(); + table.setCellSelectionEnabled(cellsItem.isSelected()); + updateCheckboxMenuItems(); + } + }); + selectionMenu.add(cellsItem); + + JMenu tableMenu = new JMenu("Edit"); + menuBar.add(tableMenu); + + JMenuItem hideColumnsItem = new JMenuItem("Hide Columns"); + hideColumnsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + int[] selected = table.getSelectedColumns(); + TableColumnModel columnModel = table.getColumnModel(); + + // remove columns from view, starting at the last + // index so that column numbers aren't affected + + for (int i = selected.length - 1; i >= 0; i--) + { + TableColumn column = columnModel.getColumn(selected[i]); + table.removeColumn(column); + + // store removed columns for "show columns" command + + removedColumns.add(column); + } + } + }); + tableMenu.add(hideColumnsItem); + + JMenuItem showColumnsItem = new JMenuItem("Show Columns"); + showColumnsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // restore all removed columns + for (TableColumn tc : removedColumns) + table.addColumn(tc); + removedColumns.clear(); + } + }); + tableMenu.add(showColumnsItem); + + JMenuItem hideRowsItem = new JMenuItem("Hide Rows"); + hideRowsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + int[] selected = table.getSelectedRows(); + for (int i : selected) + removedRowIndices.add(table.convertRowIndexToModel(i)); + sorter.setRowFilter(filter); + } + }); + tableMenu.add(hideRowsItem); + + JMenuItem showRowsItem = new JMenuItem("Show Rows"); + showRowsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + removedRowIndices.clear(); + sorter.setRowFilter(filter); + } + }); + tableMenu.add(showRowsItem); + + JMenuItem printSelectionItem = new JMenuItem("Print Selection"); + printSelectionItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + int[] selected = table.getSelectedRows(); + System.out.println("Selected rows: " + Arrays.toString(selected)); + selected = table.getSelectedColumns(); + System.out.println("Selected columns: " + Arrays.toString(selected)); + } + }); + tableMenu.add(printSelectionItem); + } + + private void updateCheckboxMenuItems() + { + rowsItem.setSelected(table.getRowSelectionAllowed()); + columnsItem.setSelected(table.getColumnSelectionAllowed()); + cellsItem.setSelected(table.getCellSelectionEnabled()); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/tableRowColumn/Pluto.gif b/corejava第9版/v2ch06/tableRowColumn/Pluto.gif new file mode 100644 index 0000000000000000000000000000000000000000..390963891f9dd9cccb65000f3f1d635f0f13c4c3 GIT binary patch literal 402 zcmV;D0d4+ANk%w1VITk?0J8u92nYxi6ciyLAuTN}IXO8(LPAPPO2ELtQc_Y{T3Tac zV{dP7gM)*Vl$5BbsNUY*A^8LW000L7EC2ui03ZM$000F3@W^?bd-z$(ySG{BG>m6b zSBP2Uf}CcmS|hW#4UDQ8yCjKULMM^UEI$MSh$!idy^&DKED&iTsUo4IA_$A;fJ^pa#Rt4O&BiM$o?n0zr|BIc{V=ObRz&1BZKL9}PEgER1wF2?U3gkq#YyfFlhg zHj)LEh;)Q~6r>BCW-@FPyG4#a1ld<3u+OO0O?<PHXurAZ6HNM}>JBgl}ivR!s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableRowColumn/Saturn.gif b/corejava第9版/v2ch06/tableRowColumn/Saturn.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4c6144b99fb9f301f3cefa95bf3ea66b9934ed1 GIT binary patch literal 4878 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

        fppnj!JH@+de%>h|lL{RP46GaIXPU{GQv=8Yy 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 ZARKAu7ZQy0jYHxnmyy=dl;8-!>_5hDpw0jQ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/tableRowColumn/Venus.gif b/corejava第9版/v2ch06/tableRowColumn/Venus.gif new file mode 100644 index 0000000000000000000000000000000000000000..8552313b4c951222ec4b55f4b235bc17d1ddde1a GIT binary patch literal 2954 zcmeH``#;l*AICqRU2N`~&1Fr6n9Gq%SQ6S~Zed~!mFAY)TtZ?}BZU&1xm%s-xMUW} zrIYkEMdey*L^;I?Ep;kVhb|naKjQn-c|9KQ$Lsxm{qTN29?!?)?ddn-9&I_n&+{0PvZU9Yg#Z9_|E%tx*1a)xcW*3V zv)St#`8u%v(>8pg+t5b#pZ+88eJn4lqY_VXUR&SIKwIyxe4xyyg9_EchrA zrKy1uq|(ROu74iZpFRO985~Yu)w?1{`J=z%5rj}qAIrk}MOMcs+B|p!QBRT1WZSSvAldI` zkd{rRq0RhyD9Ri?It{)|3H6hMz2QJG6|h6Tm@qL0M(eOF@xssmb8qN*+npoV$~j=|DC*&N*!E12vv+ERUVG+EPmku zRj}d6;H7mFLQN)M7_`QnH(US$l$`O9bZxVP45BRY7na|sIw`|6S|czajZCRHs-EpM znyOar#Esf%cYlige#TP75@r0pl`cOu>s_h>Iq*LHPRR4A%#myIB!Nj>P6%E0%K7cL zKKA9rcj=Abb#uPUhy>kr9R@98Sk*aB55g4r{D$26;AL5?kIUj+lyWqr`PHSc$5a_j zAhcKaRC_pxRiJ?IsM`$zp2k;;RY4q2(a)J24{@A5Tm-~qFW&uKTe=Q=lJ4Gm~rzv0*FdZ=ECeJkzhbslK5|E`s$|Z&4F;Y zC5ViBOL4_s?pW%;5lZJLm+d7=sxK|o#JKo-+8^nq8H#?tMrSEUlZCFq48j!3eYupX zR-yEbR?WK#B03kIHOLHv->l7kj2=An?D|Z5G~(9LX$Mo`uKvt@)^zmwlc8mrR>n-D-I@`z z;CxUj3N98giRO4E3(Rc>e3ay68+-%eo88vQJ5U_9V}}JrtY#+nMP|4UBYu;fdM8t?Rihq=B=++26fX*R38n z21Rn=(DH4cp#Al-FmAS}Mh~;Y+{m8ED-GisI2*coIe36_ENQV@ zkQ9kLT*I9gT-_dH-SK^*6w?5L1Bz6HbT{NX1r)u?uPNrz@*w-xMqOye?L{A%4}k?u zms9SL`WyUOgWWzVukv#UT+KrL+?#AyBP-ltS;4+ROF#xGRHc}|*V#Mc`s&5FM$2}J zA--0@SEPgHJ0ePJ@UoLKj1Jd|DBZ1T1RnM&kJcV-h+P?8e{5+|`Bl+M@J{)8lOE6) zOEbFc9W+aLME!F#5Bk3f;AO$5viXkSBT*46B#Eu;VNB?0M&fb+%>dx$YrS#BORhz5cf4w z^B>#93v2alXJkW5>K;x_U`(I99SU-oFUw^Y(7=^7?j3AGW^*_jic6J$Xb{0I&c#$d zRVZOtKVp08MI0ZwE=_`=Y)w^#zR5-M0d=~W4J`_~k*uPj%Wmz>jsU&yv!s4yz%DLo zNgMgVL-;Yp`^tQzQIF_xO@ZH}6wP3P%lS<$|drki{C!*6P=1Sy|@6*(LXPZmI+CX(u3yoWbf`Qib~B!y;4bS0y8C#r*kiX>YZi0hEYGg6wMJ`1ayMWf;VU37Ma`cId%9dQ+cWTn1u-{3GS~_0Mzs82tBX!=-KM((<>e z_EW)fyxBh0$r;7iDaWoYSc3PSxSmn&_lHFMYX98WBHAi(&htgh0R3bTdicaEEBffL z;-w^~OI@#ZUf$Hm+;Yv6u*3snb4QiWF4qi(g_xcSdvdX(); + + // create menu + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu selectionMenu = new JMenu("Selection"); + menuBar.add(selectionMenu); + + final JCheckBoxMenuItem rowsItem = new JCheckBoxMenuItem("Rows"); + final JCheckBoxMenuItem columnsItem = new JCheckBoxMenuItem("Columns"); + final JCheckBoxMenuItem cellsItem = new JCheckBoxMenuItem("Cells"); + + rowsItem.setSelected(table.getRowSelectionAllowed()); + columnsItem.setSelected(table.getColumnSelectionAllowed()); + cellsItem.setSelected(table.getCellSelectionEnabled()); + + rowsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + table.clearSelection(); + table.setRowSelectionAllowed(rowsItem.isSelected()); + cellsItem.setSelected(table.getCellSelectionEnabled()); + } + }); + selectionMenu.add(rowsItem); + + columnsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + table.clearSelection(); + table.setColumnSelectionAllowed(columnsItem.isSelected()); + cellsItem.setSelected(table.getCellSelectionEnabled()); + } + }); + selectionMenu.add(columnsItem); + + cellsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + table.clearSelection(); + table.setCellSelectionEnabled(cellsItem.isSelected()); + rowsItem.setSelected(table.getRowSelectionAllowed()); + columnsItem.setSelected(table.getColumnSelectionAllowed()); + } + }); + selectionMenu.add(cellsItem); + + JMenu tableMenu = new JMenu("Edit"); + menuBar.add(tableMenu); + + JMenuItem hideColumnsItem = new JMenuItem("Hide Columns"); + hideColumnsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + int[] selected = table.getSelectedColumns(); + TableColumnModel columnModel = table.getColumnModel(); + + // remove columns from view, starting at the last + // index so that column numbers aren't affected + + for (int i = selected.length - 1; i >= 0; i--) + { + TableColumn column = columnModel.getColumn(selected[i]); + table.removeColumn(column); + + // store removed columns for "show columns" command + + removedColumns.add(column); + } + } + }); + tableMenu.add(hideColumnsItem); + + JMenuItem showColumnsItem = new JMenuItem("Show Columns"); + showColumnsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // restore all removed columns + for (TableColumn tc : removedColumns) + table.addColumn(tc); + removedColumns.clear(); + } + }); + tableMenu.add(showColumnsItem); + + JMenuItem addRowItem = new JMenuItem("Add Row"); + addRowItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // add a new row to the multiplication table in + // the model + + Integer[] newCells = new Integer[model.getColumnCount()]; + for (int i = 0; i < newCells.length; i++) + newCells[i] = (i + 1) * (model.getRowCount() + 1); + model.addRow(newCells); + } + }); + tableMenu.add(addRowItem); + + JMenuItem removeRowsItem = new JMenuItem("Remove Rows"); + removeRowsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + int[] selected = table.getSelectedRows(); + + for (int i = selected.length - 1; i >= 0; i--) + model.removeRow(selected[i]); + } + }); + tableMenu.add(removeRowsItem); + + JMenuItem clearCellsItem = new JMenuItem("Clear Cells"); + clearCellsItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + for (int i = 0; i < table.getRowCount(); i++) + for (int j = 0; j < table.getColumnCount(); j++) + if (table.isCellSelected(i, j)) table.setValueAt(0, i, j); + } + }); + tableMenu.add(clearCellsItem); + } + + private DefaultTableModel model; + private JTable table; + private ArrayList removedColumns; + + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 300; +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/tableSelection/TableSelectionTest.java b/corejava第9版/v2ch06/tableSelection/TableSelectionTest.java new file mode 100644 index 0000000..0570dae --- /dev/null +++ b/corejava第9版/v2ch06/tableSelection/TableSelectionTest.java @@ -0,0 +1,28 @@ +package tableSelection; + +/** + @version 1.03 2007-08-01 + @author Cay Horstmann + */ + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates selection, addition, and removal of rows and columns. + */ +public class TableSelectionTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new TableSelectionFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/textChange/ChangeTrackingTest.java b/corejava第9版/v2ch06/textChange/ChangeTrackingTest.java new file mode 100644 index 0000000..fa28ae3 --- /dev/null +++ b/corejava第9版/v2ch06/textChange/ChangeTrackingTest.java @@ -0,0 +1,25 @@ +package textChange; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.40 2007-08-05 + * @author Cay Horstmann + */ +public class ChangeTrackingTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ColorFrame(); + frame.setTitle("ChangeTrackingTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/textChange/ColorFrame.java b/corejava第9版/v2ch06/textChange/ColorFrame.java new file mode 100644 index 0000000..e8a8ac7 --- /dev/null +++ b/corejava第9版/v2ch06/textChange/ColorFrame.java @@ -0,0 +1,64 @@ +package textChange; + +import java.awt.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * A frame with three text fields to set the background color. + */ +public class ColorFrame extends JFrame +{ + private JPanel panel; + private JTextField redField; + private JTextField greenField; + private JTextField blueField; + + public ColorFrame() + { + DocumentListener listener = new DocumentListener() + { + public void insertUpdate(DocumentEvent event) { setColor(); } + public void removeUpdate(DocumentEvent event) { setColor(); } + public void changedUpdate(DocumentEvent event) {} + }; + + panel = new JPanel(); + + panel.add(new JLabel("Red:")); + redField = new JTextField("255", 3); + panel.add(redField); + redField.getDocument().addDocumentListener(listener); + + panel.add(new JLabel("Green:")); + greenField = new JTextField("255", 3); + panel.add(greenField); + greenField.getDocument().addDocumentListener(listener); + + panel.add(new JLabel("Blue:")); + blueField = new JTextField("255", 3); + panel.add(blueField); + blueField.getDocument().addDocumentListener(listener); + + add(panel); + pack(); + } + + /** + * Set the background color to the values stored in the text fields. + */ + public void setColor() + { + try + { + int red = Integer.parseInt(redField.getText().trim()); + int green = Integer.parseInt(greenField.getText().trim()); + int blue = Integer.parseInt(blueField.getText().trim()); + panel.setBackground(new Color(red, green, blue)); + } + catch (NumberFormatException e) + { + // don't set the color if the input can't be parsed + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/textFormat/FormatTest.java b/corejava第9版/v2ch06/textFormat/FormatTest.java new file mode 100644 index 0000000..f1e1f25 --- /dev/null +++ b/corejava第9版/v2ch06/textFormat/FormatTest.java @@ -0,0 +1,27 @@ +package textFormat; + +import java.awt.*; +import javax.swing.*; + +/** + * A program to test formatted text fields + * @version 1.03 2012-06-08 + * @author Cay Horstmann + */ +public class FormatTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new FormatTestFrame(); + frame.setTitle("FormatTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v2ch06/textFormat/FormatTestFrame.java b/corejava第9版/v2ch06/textFormat/FormatTestFrame.java new file mode 100644 index 0000000..ca3b481 --- /dev/null +++ b/corejava第9版/v2ch06/textFormat/FormatTestFrame.java @@ -0,0 +1,154 @@ +package textFormat; + +import java.awt.*; +import java.awt.event.*; +import java.net.*; +import java.text.*; +import java.util.*; +import javax.swing.*; +import javax.swing.text.*; + +/** + * A frame with a collection of formatted text fields and a button that displays the field values. + */ +public class FormatTestFrame extends JFrame +{ + private DocumentFilter filter = new IntFilter(); + private JButton okButton; + private JPanel mainPanel; + + public FormatTestFrame() + { + JPanel buttonPanel = new JPanel(); + okButton = new JButton("Ok"); + buttonPanel.add(okButton); + add(buttonPanel, BorderLayout.SOUTH); + + mainPanel = new JPanel(); + mainPanel.setLayout(new GridLayout(0, 3)); + add(mainPanel, BorderLayout.CENTER); + + JFormattedTextField intField = new JFormattedTextField(NumberFormat.getIntegerInstance()); + intField.setValue(new Integer(100)); + addRow("Number:", intField); + + JFormattedTextField intField2 = new JFormattedTextField(NumberFormat.getIntegerInstance()); + intField2.setValue(new Integer(100)); + intField2.setFocusLostBehavior(JFormattedTextField.COMMIT); + addRow("Number (Commit behavior):", intField2); + + JFormattedTextField intField3 = new JFormattedTextField(new InternationalFormatter( + NumberFormat.getIntegerInstance()) + { + protected DocumentFilter getDocumentFilter() + { + return filter; + } + + }); + intField3.setValue(new Integer(100)); + addRow("Filtered Number", intField3); + + JFormattedTextField intField4 = new JFormattedTextField(NumberFormat.getIntegerInstance()); + intField4.setValue(new Integer(100)); + intField4.setInputVerifier(new InputVerifier() + { + public boolean verify(JComponent component) + { + JFormattedTextField field = (JFormattedTextField) component; + return field.isEditValid(); + } + }); + addRow("Verified Number:", intField4); + + JFormattedTextField currencyField = new JFormattedTextField(NumberFormat + .getCurrencyInstance()); + currencyField.setValue(new Double(10)); + addRow("Currency:", currencyField); + + JFormattedTextField dateField = new JFormattedTextField(DateFormat.getDateInstance()); + dateField.setValue(new Date()); + addRow("Date (default):", dateField); + + DateFormat format = DateFormat.getDateInstance(DateFormat.SHORT); + format.setLenient(false); + JFormattedTextField dateField2 = new JFormattedTextField(format); + dateField2.setValue(new Date()); + addRow("Date (short, not lenient):", dateField2); + + try + { + DefaultFormatter formatter = new DefaultFormatter(); + formatter.setOverwriteMode(false); + JFormattedTextField urlField = new JFormattedTextField(formatter); + urlField.setValue(new URL("http://java.sun.com")); + addRow("URL:", urlField); + } + catch (MalformedURLException ex) + { + ex.printStackTrace(); + } + + try + { + MaskFormatter formatter = new MaskFormatter("###-##-####"); + formatter.setPlaceholderCharacter('0'); + JFormattedTextField ssnField = new JFormattedTextField(formatter); + ssnField.setValue("078-05-1120"); + addRow("SSN Mask:", ssnField); + } + catch (ParseException ex) + { + ex.printStackTrace(); + } + + JFormattedTextField ipField = new JFormattedTextField(new IPAddressFormatter()); + ipField.setValue(new byte[] { (byte) 130, 65, 86, 66 }); + addRow("IP Address:", ipField); + pack(); + } + + /** + * Adds a row to the main panel. + * @param labelText the label of the field + * @param field the sample field + */ + public void addRow(String labelText, final JFormattedTextField field) + { + mainPanel.add(new JLabel(labelText)); + mainPanel.add(field); + final JLabel valueLabel = new JLabel(); + mainPanel.add(valueLabel); + okButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + Object value = field.getValue(); + Class cl = value.getClass(); + String text = null; + if (cl.isArray()) + { + if (cl.getComponentType().isPrimitive()) + { + try + { + text = Arrays.class.getMethod("toString", cl).invoke(null, value) + .toString(); + } + catch (ReflectiveOperationException ex) + { + // ignore reflection exceptions + } + } + else text = Arrays.toString((Object[]) value); + } + else text = value.toString(); + valueLabel.setText(text); + } + }); + } +} + + + + diff --git a/corejava第9版/v2ch06/textFormat/IPAddressFormatter.java b/corejava第9版/v2ch06/textFormat/IPAddressFormatter.java new file mode 100644 index 0000000..27c0f5f --- /dev/null +++ b/corejava第9版/v2ch06/textFormat/IPAddressFormatter.java @@ -0,0 +1,50 @@ +package textFormat; + +import java.text.*; +import java.util.*; +import javax.swing.text.*; + +/** + * A formatter for 4-byte IP addresses of the form a.b.c.d + */ +public class IPAddressFormatter extends DefaultFormatter +{ + public String valueToString(Object value) throws ParseException + { + if (!(value instanceof byte[])) throw new ParseException("Not a byte[]", 0); + byte[] a = (byte[]) value; + if (a.length != 4) throw new ParseException("Length != 4", 0); + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < 4; i++) + { + int b = a[i]; + if (b < 0) b += 256; + builder.append(String.valueOf(b)); + if (i < 3) builder.append('.'); + } + return builder.toString(); + } + + public Object stringToValue(String text) throws ParseException + { + StringTokenizer tokenizer = new StringTokenizer(text, "."); + byte[] a = new byte[4]; + for (int i = 0; i < 4; i++) + { + int b = 0; + if (!tokenizer.hasMoreTokens()) throw new ParseException("Too few bytes", 0); + try + { + b = Integer.parseInt(tokenizer.nextToken()); + } + catch (NumberFormatException e) + { + throw new ParseException("Not an integer", 0); + } + if (b < 0 || b >= 256) throw new ParseException("Byte out of range", 0); + a[i] = (byte) b; + } + if (tokenizer.hasMoreTokens()) throw new ParseException("Too many bytes", 0); + return a; + } +} diff --git a/corejava第9版/v2ch06/textFormat/IntFilter.java b/corejava第9版/v2ch06/textFormat/IntFilter.java new file mode 100644 index 0000000..afb347f --- /dev/null +++ b/corejava第9版/v2ch06/textFormat/IntFilter.java @@ -0,0 +1,53 @@ +package textFormat; + +import javax.swing.text.*; + +/** + * A filter that restricts input to digits and a '-' sign. + */ +public class IntFilter extends DocumentFilter +{ + public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) + throws BadLocationException + { + StringBuilder builder = new StringBuilder(string); + for (int i = builder.length() - 1; i >= 0; i--) + { + int cp = builder.codePointAt(i); + if (!Character.isDigit(cp) && cp != '-') + { + builder.deleteCharAt(i); + if (Character.isSupplementaryCodePoint(cp)) + { + i--; + builder.deleteCharAt(i); + } + } + } + super.insertString(fb, offset, builder.toString(), attr); + } + + public void replace(FilterBypass fb, int offset, int length, String string, AttributeSet attr) + throws BadLocationException + { + if (string != null) + { + StringBuilder builder = new StringBuilder(string); + for (int i = builder.length() - 1; i >= 0; i--) + { + int cp = builder.codePointAt(i); + if (!Character.isDigit(cp) && cp != '-') + { + builder.deleteCharAt(i); + if (Character.isSupplementaryCodePoint(cp)) + { + i--; + builder.deleteCharAt(i); + } + } + } + string = builder.toString(); + } + super.replace(fb, offset, length, string, attr); + } +} diff --git a/corejava第9版/v2ch06/tree/SimpleTree.java b/corejava第9版/v2ch06/tree/SimpleTree.java new file mode 100644 index 0000000..9d04cbe --- /dev/null +++ b/corejava第9版/v2ch06/tree/SimpleTree.java @@ -0,0 +1,26 @@ +package tree; + +import java.awt.*; +import javax.swing.*; + +/** + * This program shows a simple tree. + * @version 1.02 2007-08-01 + * @author Cay Horstmann + */ +public class SimpleTree +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SimpleTreeFrame(); + frame.setTitle("SimpleTree"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v2ch06/tree/SimpleTreeFrame.java b/corejava第9版/v2ch06/tree/SimpleTreeFrame.java new file mode 100644 index 0000000..9679d65 --- /dev/null +++ b/corejava第9版/v2ch06/tree/SimpleTreeFrame.java @@ -0,0 +1,45 @@ +package tree; + +import javax.swing.*; +import javax.swing.tree.*; + +/** + * This frame contains a simple tree that displays a manually constructed tree model. + */ +public class SimpleTreeFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public SimpleTreeFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // set up tree model data + + DefaultMutableTreeNode root = new DefaultMutableTreeNode("World"); + DefaultMutableTreeNode country = new DefaultMutableTreeNode("USA"); + root.add(country); + DefaultMutableTreeNode state = new DefaultMutableTreeNode("California"); + country.add(state); + DefaultMutableTreeNode city = new DefaultMutableTreeNode("San Jose"); + state.add(city); + city = new DefaultMutableTreeNode("Cupertino"); + state.add(city); + state = new DefaultMutableTreeNode("Michigan"); + country.add(state); + city = new DefaultMutableTreeNode("Ann Arbor"); + state.add(city); + country = new DefaultMutableTreeNode("Germany"); + root.add(country); + state = new DefaultMutableTreeNode("Schleswig-Holstein"); + country.add(state); + city = new DefaultMutableTreeNode("Kiel"); + state.add(city); + + // construct tree and put it in a scroll pane + + JTree tree = new JTree(root); + add(new JScrollPane(tree)); + } +} diff --git a/corejava第9版/v2ch06/treeEdit/TreeEditFrame.java b/corejava第9版/v2ch06/treeEdit/TreeEditFrame.java new file mode 100644 index 0000000..ec9e5ed --- /dev/null +++ b/corejava第9版/v2ch06/treeEdit/TreeEditFrame.java @@ -0,0 +1,133 @@ +package treeEdit; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.tree.*; + +/** + * A frame with a tree and buttons to edit the tree. + */ +public class TreeEditFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 200; + + private DefaultTreeModel model; + private JTree tree; + + public TreeEditFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // construct tree + + TreeNode root = makeSampleTree(); + model = new DefaultTreeModel(root); + tree = new JTree(model); + tree.setEditable(true); + + // add scroll pane with tree + + JScrollPane scrollPane = new JScrollPane(tree); + add(scrollPane, BorderLayout.CENTER); + + makeButtons(); + } + + public TreeNode makeSampleTree() + { + DefaultMutableTreeNode root = new DefaultMutableTreeNode("World"); + DefaultMutableTreeNode country = new DefaultMutableTreeNode("USA"); + root.add(country); + DefaultMutableTreeNode state = new DefaultMutableTreeNode("California"); + country.add(state); + DefaultMutableTreeNode city = new DefaultMutableTreeNode("San Jose"); + state.add(city); + city = new DefaultMutableTreeNode("San Diego"); + state.add(city); + state = new DefaultMutableTreeNode("Michigan"); + country.add(state); + city = new DefaultMutableTreeNode("Ann Arbor"); + state.add(city); + country = new DefaultMutableTreeNode("Germany"); + root.add(country); + state = new DefaultMutableTreeNode("Schleswig-Holstein"); + country.add(state); + city = new DefaultMutableTreeNode("Kiel"); + state.add(city); + return root; + } + + /** + * Makes the buttons to add a sibling, add a child, and delete a node. + */ + public void makeButtons() + { + JPanel panel = new JPanel(); + JButton addSiblingButton = new JButton("Add Sibling"); + addSiblingButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree + .getLastSelectedPathComponent(); + + if (selectedNode == null) return; + + DefaultMutableTreeNode parent = (DefaultMutableTreeNode) selectedNode.getParent(); + + if (parent == null) return; + + DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("New"); + + int selectedIndex = parent.getIndex(selectedNode); + model.insertNodeInto(newNode, parent, selectedIndex + 1); + + // now display new node + + TreeNode[] nodes = model.getPathToRoot(newNode); + TreePath path = new TreePath(nodes); + tree.scrollPathToVisible(path); + } + }); + panel.add(addSiblingButton); + + JButton addChildButton = new JButton("Add Child"); + addChildButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree + .getLastSelectedPathComponent(); + + if (selectedNode == null) return; + + DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("New"); + model.insertNodeInto(newNode, selectedNode, selectedNode.getChildCount()); + + // now display new node + + TreeNode[] nodes = model.getPathToRoot(newNode); + TreePath path = new TreePath(nodes); + tree.scrollPathToVisible(path); + } + }); + panel.add(addChildButton); + + JButton deleteButton = new JButton("Delete"); + deleteButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree + .getLastSelectedPathComponent(); + + if (selectedNode != null && selectedNode.getParent() != null) model + .removeNodeFromParent(selectedNode); + } + }); + panel.add(deleteButton); + add(panel, BorderLayout.SOUTH); + } +} diff --git a/corejava第9版/v2ch06/treeEdit/TreeEditTest.java b/corejava第9版/v2ch06/treeEdit/TreeEditTest.java new file mode 100644 index 0000000..5dad696 --- /dev/null +++ b/corejava第9版/v2ch06/treeEdit/TreeEditTest.java @@ -0,0 +1,26 @@ +package treeEdit; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates tree editing. + * @version 1.03 2007-08-01 + * @author Cay Horstmann + */ +public class TreeEditTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new TreeEditFrame(); + frame.setTitle("TreeEditTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch06/treeModel/ObjectInspectorFrame.java b/corejava第9版/v2ch06/treeModel/ObjectInspectorFrame.java new file mode 100644 index 0000000..a781808 --- /dev/null +++ b/corejava第9版/v2ch06/treeModel/ObjectInspectorFrame.java @@ -0,0 +1,30 @@ +package treeModel; + +import java.awt.*; +import javax.swing.*; + +/** + * This frame holds the object tree. + */ +public class ObjectInspectorFrame extends JFrame +{ + private JTree tree; + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 300; + + public ObjectInspectorFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // we inspect this frame object + + Variable v = new Variable(getClass(), "this", this); + ObjectTreeModel model = new ObjectTreeModel(); + model.setRoot(v); + + // construct and show tree + + tree = new JTree(model); + add(new JScrollPane(tree), BorderLayout.CENTER); + } +} diff --git a/corejava第9版/v2ch06/treeModel/ObjectInspectorTest.java b/corejava第9版/v2ch06/treeModel/ObjectInspectorTest.java new file mode 100644 index 0000000..6c206e0 --- /dev/null +++ b/corejava第9版/v2ch06/treeModel/ObjectInspectorTest.java @@ -0,0 +1,29 @@ +package treeModel; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates how to use a custom tree model. It displays the fields of an object. + * @version 1.04 2012-01-26 + * @author Cay Horstmann + */ +public class ObjectInspectorTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ObjectInspectorFrame(); + frame.setTitle("ObjectInspectorTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + + + diff --git a/corejava第9版/v2ch06/treeModel/ObjectTreeModel.java b/corejava第9版/v2ch06/treeModel/ObjectTreeModel.java new file mode 100644 index 0000000..e8c1b52 --- /dev/null +++ b/corejava第9版/v2ch06/treeModel/ObjectTreeModel.java @@ -0,0 +1,94 @@ +package treeModel; + +import java.lang.reflect.*; +import java.util.*; +import javax.swing.event.*; +import javax.swing.tree.*; + +/** + * This tree model describes the tree structure of a Java object. Children are the objects that are + * stored in instance variables. + */ +public class ObjectTreeModel implements TreeModel +{ + private Variable root; + private EventListenerList listenerList = new EventListenerList(); + + /** + * Constructs an empty tree. + */ + public ObjectTreeModel() + { + root = null; + } + + /** + * Sets the root to a given variable. + * @param v the variable that is being described by this tree + */ + public void setRoot(Variable v) + { + Variable oldRoot = v; + root = v; + fireTreeStructureChanged(oldRoot); + } + + public Object getRoot() + { + return root; + } + + public int getChildCount(Object parent) + { + return ((Variable) parent).getFields().size(); + } + + public Object getChild(Object parent, int index) + { + ArrayList fields = ((Variable) parent).getFields(); + Field f = (Field) fields.get(index); + Object parentValue = ((Variable) parent).getValue(); + try + { + return new Variable(f.getType(), f.getName(), f.get(parentValue)); + } + catch (IllegalAccessException e) + { + return null; + } + } + + public int getIndexOfChild(Object parent, Object child) + { + int n = getChildCount(parent); + for (int i = 0; i < n; i++) + if (getChild(parent, i).equals(child)) return i; + return -1; + } + + public boolean isLeaf(Object node) + { + return getChildCount(node) == 0; + } + + public void valueForPathChanged(TreePath path, Object newValue) + { + } + + public void addTreeModelListener(TreeModelListener l) + { + listenerList.add(TreeModelListener.class, l); + } + + public void removeTreeModelListener(TreeModelListener l) + { + listenerList.remove(TreeModelListener.class, l); + } + + protected void fireTreeStructureChanged(Object oldRoot) + { + TreeModelEvent event = new TreeModelEvent(this, new Object[] { oldRoot }); + for (TreeModelListener l : listenerList.getListeners(TreeModelListener.class)) + l.treeStructureChanged(event); + } +} diff --git a/corejava第9版/v2ch06/treeModel/Variable.java b/corejava第9版/v2ch06/treeModel/Variable.java new file mode 100644 index 0000000..5e4cebe --- /dev/null +++ b/corejava第9版/v2ch06/treeModel/Variable.java @@ -0,0 +1,72 @@ +package treeModel; + +import java.lang.reflect.*; +import java.util.*; + +/** + * A variable with a type, name, and value. + */ +public class Variable +{ + private Class type; + private String name; + private Object value; + private ArrayList fields; + + /** + * Construct a variable. + * @param aType the type + * @param aName the name + * @param aValue the value + */ + public Variable(Class aType, String aName, Object aValue) + { + type = aType; + name = aName; + value = aValue; + fields = new ArrayList<>(); + + // find all fields if we have a class type except we don't expand strings and null values + + if (!type.isPrimitive() && !type.isArray() && !type.equals(String.class) && value != null) + { + // get fields from the class and all superclasses + for (Class c = value.getClass(); c != null; c = c.getSuperclass()) + { + Field[] fs = c.getDeclaredFields(); + AccessibleObject.setAccessible(fs, true); + + // get all nonstatic fields + for (Field f : fs) + if ((f.getModifiers() & Modifier.STATIC) == 0) fields.add(f); + } + } + } + + /** + * Gets the value of this variable. + * @return the value + */ + public Object getValue() + { + return value; + } + + /** + * Gets all nonstatic fields of this variable. + * @return an array list of variables describing the fields + */ + public ArrayList getFields() + { + return fields; + } + + public String toString() + { + String r = type + " " + name; + if (type.isPrimitive()) r += "=" + value; + else if (type.equals(String.class)) r += "=" + value; + else if (value == null) r += "=null"; + return r; + } +} diff --git a/corejava第9版/v2ch06/treeRender/ClassNameTreeCellRenderer.java b/corejava第9版/v2ch06/treeRender/ClassNameTreeCellRenderer.java new file mode 100644 index 0000000..b10dd74 --- /dev/null +++ b/corejava第9版/v2ch06/treeRender/ClassNameTreeCellRenderer.java @@ -0,0 +1,37 @@ +package treeRender; + +import java.awt.*; +import java.lang.reflect.*; +import javax.swing.*; +import javax.swing.tree.*; + +/** + * This class renders a class name either in plain or italic. Abstract classes are italic. + */ +public class ClassNameTreeCellRenderer extends DefaultTreeCellRenderer +{ + private Font plainFont = null; + private Font italicFont = null; + + public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, + boolean expanded, boolean leaf, int row, boolean hasFocus) + { + super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); + // get the user object + DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; + Class c = (Class) node.getUserObject(); + + // the first time, derive italic font from plain font + if (plainFont == null) + { + plainFont = getFont(); + // the tree cell renderer is sometimes called with a label that has a null font + if (plainFont != null) italicFont = plainFont.deriveFont(Font.ITALIC); + } + + // set font to italic if the class is abstract, plain otherwise + if ((c.getModifiers() & Modifier.ABSTRACT) == 0) setFont(plainFont); + else setFont(italicFont); + return this; + } +} diff --git a/corejava第9版/v2ch06/treeRender/ClassTree.java b/corejava第9版/v2ch06/treeRender/ClassTree.java new file mode 100644 index 0000000..6208545 --- /dev/null +++ b/corejava第9版/v2ch06/treeRender/ClassTree.java @@ -0,0 +1,27 @@ +package treeRender; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates cell rendering and listening to tree selection events. + * @version 1.03 2007-08-01 + * @author Cay Horstmann + */ +public class ClassTree +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ClassTreeFrame(); + frame.setTitle("ClassTree"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v2ch06/treeRender/ClassTreeFrame.java b/corejava第9版/v2ch06/treeRender/ClassTreeFrame.java new file mode 100644 index 0000000..fc69fc5 --- /dev/null +++ b/corejava第9版/v2ch06/treeRender/ClassTreeFrame.java @@ -0,0 +1,188 @@ +package treeRender; + +import java.awt.*; +import java.awt.event.*; +import java.lang.reflect.*; +import java.util.*; +import javax.swing.*; +import javax.swing.event.*; +import javax.swing.tree.*; + +/** + * This frame displays the class tree, a text field, and an "Add" button to add more classes + * into the tree. + */ +public class ClassTreeFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 300; + + private DefaultMutableTreeNode root; + private DefaultTreeModel model; + private JTree tree; + private JTextField textField; + private JTextArea textArea; + + public ClassTreeFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + // the root of the class tree is Object + root = new DefaultMutableTreeNode(java.lang.Object.class); + model = new DefaultTreeModel(root); + tree = new JTree(model); + + // add this class to populate the tree with some data + addClass(getClass()); + + // set up node icons + ClassNameTreeCellRenderer renderer = new ClassNameTreeCellRenderer(); + renderer.setClosedIcon(new ImageIcon(getClass().getResource("red-ball.gif"))); + renderer.setOpenIcon(new ImageIcon(getClass().getResource("yellow-ball.gif"))); + renderer.setLeafIcon(new ImageIcon(getClass().getResource("blue-ball.gif"))); + tree.setCellRenderer(renderer); + + // set up selection mode + tree.addTreeSelectionListener(new TreeSelectionListener() + { + public void valueChanged(TreeSelectionEvent event) + { + // the user selected a different node--update description + TreePath path = tree.getSelectionPath(); + if (path == null) return; + DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) path + .getLastPathComponent(); + Class c = (Class) selectedNode.getUserObject(); + String description = getFieldDescription(c); + textArea.setText(description); + } + }); + int mode = TreeSelectionModel.SINGLE_TREE_SELECTION; + tree.getSelectionModel().setSelectionMode(mode); + + // this text area holds the class description + textArea = new JTextArea(); + + // add tree and text area + JPanel panel = new JPanel(); + panel.setLayout(new GridLayout(1, 2)); + panel.add(new JScrollPane(tree)); + panel.add(new JScrollPane(textArea)); + + add(panel, BorderLayout.CENTER); + + addTextField(); + } + + /** + * Add the text field and "Add" button to add a new class. + */ + public void addTextField() + { + JPanel panel = new JPanel(); + + ActionListener addListener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + // add the class whose name is in the text field + try + { + String text = textField.getText(); + addClass(Class.forName(text)); // clear text field to indicate success + textField.setText(""); + } + catch (ClassNotFoundException e) + { + JOptionPane.showMessageDialog(null, "Class not found"); + } + } + }; + + // new class names are typed into this text field + textField = new JTextField(20); + textField.addActionListener(addListener); + panel.add(textField); + + JButton addButton = new JButton("Add"); + addButton.addActionListener(addListener); + panel.add(addButton); + + add(panel, BorderLayout.SOUTH); + } + + /** + * Finds an object in the tree. + * @param obj the object to find + * @return the node containing the object or null if the object is not present in the tree + */ + @SuppressWarnings("unchecked") + public DefaultMutableTreeNode findUserObject(Object obj) + { + // find the node containing a user object + Enumeration e = (Enumeration) root.breadthFirstEnumeration(); + while (e.hasMoreElements()) + { + DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.nextElement(); + if (node.getUserObject().equals(obj)) return node; + } + return null; + } + + /** + * Adds a new class and any parent classes that aren't yet part of the tree + * @param c the class to add + * @return the newly added node. + */ + public DefaultMutableTreeNode addClass(Class c) + { + // add a new class to the tree + + // skip non-class types + if (c.isInterface() || c.isPrimitive()) return null; + + // if the class is already in the tree, return its node + DefaultMutableTreeNode node = findUserObject(c); + if (node != null) return node; + + // class isn't present--first add class parent recursively + + Class s = c.getSuperclass(); + + DefaultMutableTreeNode parent; + if (s == null) parent = root; + else parent = addClass(s); + + // add the class as a child to the parent + DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(c); + model.insertNodeInto(newNode, parent, parent.getChildCount()); + + // make node visible + TreePath path = new TreePath(model.getPathToRoot(newNode)); + tree.makeVisible(path); + + return newNode; + } + + /** + * Returns a description of the fields of a class. + * @param the class to be described + * @return a string containing all field types and names + */ + public static String getFieldDescription(Class c) + { + // use reflection to find types and names of fields + StringBuilder r = new StringBuilder(); + Field[] fields = c.getDeclaredFields(); + for (int i = 0; i < fields.length; i++) + { + Field f = fields[i]; + if ((f.getModifiers() & Modifier.STATIC) != 0) r.append("static "); + r.append(f.getType().getName()); + r.append(" "); + r.append(f.getName()); + r.append("\n"); + } + return r.toString(); + } +} diff --git a/corejava第9版/v2ch06/treeRender/blue-ball.gif b/corejava第9版/v2ch06/treeRender/blue-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..edc29b786ce52736bf9f2a1ac38aaa78b1799e92 GIT binary patch literal 925 zcmdUu?@Lp06viLZxvN=zGbLXnxn4xmesCo!DJU;mb`4UqNy|#RHq=F?ixBS%%N9|N ziV~B$*jNmqw3M+H!DTYz_Ji$PHoJm>FZ#itU_uxX2H&oKM(5Rm1JCoE59jPZuy1E+ zQx>xD8(@q9h(scxP{`qMEG#SxhJE31IFU%Sx3?Q}pU+p2cT7HDkb(2MAd8c!3H|p(}ox{^0PDpsEsUa1^qp%-^D8l6;9WGRe zP!y3;$?3#353k7{DmW<-sU+(V7-|{Bc?cRxHMyUnlo31QWrGppY7-C?SeX&Zqci_J zBeg0@`(bqxo>?TF6Wp-ckv|6^2wpZFoMIOBlb65za78a8NwM%&)P0!cw7{(4R}(8!arG)0e@W2D=$^=?I!3g;gyB zYPzvmiX9LMaizhP4zWs9PD|9dsQ;xbf6`I_Gd3*+Uit}e-N@$FR*p3mmR(NI$gI0n zZ82qL6$s@mjlQ}}+j!fz%&Eua%S_f5Q}Muv5NP?Bv-5RzvF+K}Sof9UHC4x-ocGUG z+_@V|?RCU{{_5K>))?t7s4V}Hx4B`mYt?ew8Si-0WT)vCchA82$$Gynhq literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch06/treeRender/red-ball.gif b/corejava第9版/v2ch06/treeRender/red-ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..dca92960148cb3751f9b2de8cf96f26293c15888 GIT binary patch literal 527 zcmcJMziSg=9L66(&J2aVi;%_P#(>K^^{z=xdQDRM#@aO1)Lefl7qX-fl+XW@ z`sd~iK*8Nv#q1N@I((tDJMPhfrt8|m(PBE2S-O{9?Btd+#!9}BE#}%)xIn!`b#FeO|s9b4wePPbBn*H=n%T~->M79@-tzUGr zgk@M-A&pDiD$Iko>IY+h7 z;uk)^$}` zsYCCFPT9nRx&>`_<=mB~>_lzjh5BeT`ry#|pyCRtW>sbVsu+o2h7g;?3k8bedZosL zS#xtU{pDwf8;jw#4EiR~c;_!-fdFoJ5DJAF+-!!7uOpn>jlEWU9>yad4vBcF1pEQq ze+cV-2m+i=cG`(N0kSNps%W?4s>CZUNj2M5Ca9t-0yDuv5GG+(kfXRfDsqTfiFXla ziNP$xL{fx0Cy7}C$nn7BW;_|i2xoS~WQBehW*>MFdLzbsrJOjr@WZj zXsA8&qsk~w&Wz{}U!Kc;=uf getPageCount(g2, pf)) return Printable.NO_SUCH_PAGE; + g2.translate(pf.getImageableX(), pf.getImageableY()); + + drawPage(g2, pf, page); + return Printable.PAGE_EXISTS; + } + + public void drawPage(Graphics2D g2, PageFormat pf, int page) + { + if (message.equals("")) return; + page--; // account for cover page + + drawCropMarks(g2, pf); + g2.clip(new Rectangle2D.Double(0, 0, pf.getImageableWidth(), pf.getImageableHeight())); + g2.translate(-page * pf.getImageableWidth(), 0); + g2.scale(scale, scale); + FontRenderContext context = g2.getFontRenderContext(); + Font f = new Font("Serif", Font.PLAIN, 72); + TextLayout layout = new TextLayout(message, f, context); + AffineTransform transform = AffineTransform.getTranslateInstance(0, layout.getAscent()); + Shape outline = layout.getOutline(transform); + g2.draw(outline); + } + + /** + * Draws 1/2" crop marks in the corners of the page. + * @param g2 the graphics context + * @param pf the page format + */ + public void drawCropMarks(Graphics2D g2, PageFormat pf) + { + final double C = 36; // crop mark length = 1/2 inch + double w = pf.getImageableWidth(); + double h = pf.getImageableHeight(); + g2.draw(new Line2D.Double(0, 0, 0, C)); + g2.draw(new Line2D.Double(0, 0, C, 0)); + g2.draw(new Line2D.Double(w, 0, w, C)); + g2.draw(new Line2D.Double(w, 0, w - C, 0)); + g2.draw(new Line2D.Double(0, h, 0, h - C)); + g2.draw(new Line2D.Double(0, h, C, h)); + g2.draw(new Line2D.Double(w, h, w, h - C)); + g2.draw(new Line2D.Double(w, h, w - C, h)); + } +} + +/** + * This class prints a cover page with a title. + */ +class CoverPage implements Printable +{ + private String title; + + /** + * Constructs a cover page. + * @param t the title + */ + public CoverPage(String t) + { + title = t; + } + + public int print(Graphics g, PageFormat pf, int page) throws PrinterException + { + if (page >= 1) return Printable.NO_SUCH_PAGE; + Graphics2D g2 = (Graphics2D) g; + g2.setPaint(Color.black); + g2.translate(pf.getImageableX(), pf.getImageableY()); + FontRenderContext context = g2.getFontRenderContext(); + Font f = g2.getFont(); + TextLayout layout = new TextLayout(title, f, context); + float ascent = layout.getAscent(); + g2.drawString(title, 0, ascent); + return Printable.PAGE_EXISTS; + } +} diff --git a/corejava第9版/v2ch07/book/BookTest.java b/corejava第9版/v2ch07/book/BookTest.java new file mode 100644 index 0000000..bfd64f2 --- /dev/null +++ b/corejava第9版/v2ch07/book/BookTest.java @@ -0,0 +1,28 @@ +package book; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the printing of a multi-page book. It prints a "banner", by blowing up + * a text string to fill the entire page vertically. The program also contains a generic print + * preview dialog. + * @version 1.12 2007-08-16 + * @author Cay Horstmann + */ +public class BookTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new BookTestFrame(); + frame.setTitle("BookTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/book/BookTestFrame.java b/corejava第9版/v2ch07/book/BookTestFrame.java new file mode 100644 index 0000000..18f18cc --- /dev/null +++ b/corejava第9版/v2ch07/book/BookTestFrame.java @@ -0,0 +1,94 @@ +package book; + +import java.awt.*; +import java.awt.event.*; +import java.awt.print.*; +import javax.print.attribute.*; +import javax.swing.*; + +/** + * This frame has a text field for the banner text and buttons for printing, page setup, and print + * preview. + */ +public class BookTestFrame extends JFrame +{ + private JTextField text; + private PageFormat pageFormat; + private PrintRequestAttributeSet attributes; + + public BookTestFrame() + { + text = new JTextField(); + add(text, BorderLayout.NORTH); + + attributes = new HashPrintRequestAttributeSet(); + + JPanel buttonPanel = new JPanel(); + + JButton printButton = new JButton("Print"); + buttonPanel.add(printButton); + printButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + try + { + PrinterJob job = PrinterJob.getPrinterJob(); + job.setPageable(makeBook()); + if (job.printDialog(attributes)) + { + job.print(attributes); + } + } + catch (PrinterException e) + { + JOptionPane.showMessageDialog(BookTestFrame.this, e); + } + } + }); + + JButton pageSetupButton = new JButton("Page setup"); + buttonPanel.add(pageSetupButton); + pageSetupButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + PrinterJob job = PrinterJob.getPrinterJob(); + pageFormat = job.pageDialog(attributes); + } + }); + + JButton printPreviewButton = new JButton("Print preview"); + buttonPanel.add(printPreviewButton); + printPreviewButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + PrintPreviewDialog dialog = new PrintPreviewDialog(makeBook()); + dialog.setVisible(true); + } + }); + + add(buttonPanel, BorderLayout.SOUTH); + pack(); + } + + /** + * Makes a book that contains a cover page and the pages for the banner. + */ + public Book makeBook() + { + if (pageFormat == null) + { + PrinterJob job = PrinterJob.getPrinterJob(); + pageFormat = job.defaultPage(); + } + Book book = new Book(); + String message = text.getText(); + Banner banner = new Banner(message); + int pageCount = banner.getPageCount((Graphics2D) getGraphics(), pageFormat); + book.append(new CoverPage(message + " (" + pageCount + " pages)"), pageFormat); + book.append(banner, pageFormat, pageCount); + return book; + } +} diff --git a/corejava第9版/v2ch07/book/PrintPreviewCanvas.java b/corejava第9版/v2ch07/book/PrintPreviewCanvas.java new file mode 100644 index 0000000..9c889a7 --- /dev/null +++ b/corejava第9版/v2ch07/book/PrintPreviewCanvas.java @@ -0,0 +1,86 @@ +package book; + +import java.awt.*; +import java.awt.geom.*; +import java.awt.print.*; +import javax.swing.*; + +/** + * The canvas for displaying the print preview. + */ +class PrintPreviewCanvas extends JComponent +{ + private Book book; + private int currentPage; + + /** + * Constructs a print preview canvas. + * @param b the book to be previewed + */ + public PrintPreviewCanvas(Book b) + { + book = b; + currentPage = 0; + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + PageFormat pageFormat = book.getPageFormat(currentPage); + + double xoff; // x offset of page start in window + double yoff; // y offset of page start in window + double scale; // scale factor to fit page in window + double px = pageFormat.getWidth(); + double py = pageFormat.getHeight(); + double sx = getWidth() - 1; + double sy = getHeight() - 1; + if (px / py < sx / sy) // center horizontally + { + scale = sy / py; + xoff = 0.5 * (sx - scale * px); + yoff = 0; + } + else + // center vertically + { + scale = sx / px; + xoff = 0; + yoff = 0.5 * (sy - scale * py); + } + g2.translate((float) xoff, (float) yoff); + g2.scale((float) scale, (float) scale); + + // draw page outline (ignoring margins) + Rectangle2D page = new Rectangle2D.Double(0, 0, px, py); + g2.setPaint(Color.white); + g2.fill(page); + g2.setPaint(Color.black); + g2.draw(page); + + Printable printable = book.getPrintable(currentPage); + try + { + printable.print(g2, pageFormat, currentPage); + } + catch (PrinterException e) + { + g2.draw(new Line2D.Double(0, 0, px, py)); + g2.draw(new Line2D.Double(px, 0, 0, py)); + } + } + + /** + * Flip the book by the given number of pages. + * @param by the number of pages to flip by. Negative values flip backwards. + */ + public void flipPage(int by) + { + int newPage = currentPage + by; + if (0 <= newPage && newPage < book.getNumberOfPages()) + { + currentPage = newPage; + repaint(); + } + } +} diff --git a/corejava第9版/v2ch07/book/PrintPreviewDialog.java b/corejava第9版/v2ch07/book/PrintPreviewDialog.java new file mode 100644 index 0000000..5be55d3 --- /dev/null +++ b/corejava第9版/v2ch07/book/PrintPreviewDialog.java @@ -0,0 +1,85 @@ +package book; + +import java.awt.*; +import java.awt.event.*; +import java.awt.print.*; +import javax.swing.*; + +/** + * This class implements a generic print preview dialog. + */ +public class PrintPreviewDialog extends JDialog +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 300; + + private PrintPreviewCanvas canvas; + + /** + * Constructs a print preview dialog. + * @param p a Printable + * @param pf the page format + * @param pages the number of pages in p + */ + public PrintPreviewDialog(Printable p, PageFormat pf, int pages) + { + Book book = new Book(); + book.append(p, pf, pages); + layoutUI(book); + } + + /** + * Constructs a print preview dialog. + * @param b a Book + */ + public PrintPreviewDialog(Book b) + { + layoutUI(b); + } + + /** + * Lays out the UI of the dialog. + * @param book the book to be previewed + */ + public void layoutUI(Book book) + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + canvas = new PrintPreviewCanvas(book); + add(canvas, BorderLayout.CENTER); + + JPanel buttonPanel = new JPanel(); + + JButton nextButton = new JButton("Next"); + buttonPanel.add(nextButton); + nextButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + canvas.flipPage(1); + } + }); + + JButton previousButton = new JButton("Previous"); + buttonPanel.add(previousButton); + previousButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + canvas.flipPage(-1); + } + }); + + JButton closeButton = new JButton("Close"); + buttonPanel.add(closeButton); + closeButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setVisible(false); + } + }); + + add(buttonPanel, BorderLayout.SOUTH); + } +} diff --git a/corejava第9版/v2ch07/cj2.gif b/corejava第9版/v2ch07/cj2.gif new file mode 100644 index 0000000000000000000000000000000000000000..de744a6a765dba75bbc02ed96cebcb60a1cdc971 GIT binary patch literal 13055 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 M07*qoM6N<$f}aZwEdT%j literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch07/composite/CompositeComponent.java b/corejava第9版/v2ch07/composite/CompositeComponent.java new file mode 100644 index 0000000..b41dabc --- /dev/null +++ b/corejava第9版/v2ch07/composite/CompositeComponent.java @@ -0,0 +1,58 @@ +package composite; + +import java.awt.*; +import java.awt.geom.*; +import java.awt.image.*; +import javax.swing.*; + +/** + * This component draws two shapes, composed with a composition rule. + */ +class CompositeComponent extends JComponent +{ + private int rule; + private Shape shape1; + private Shape shape2; + private float alpha; + + public CompositeComponent() + { + shape1 = new Ellipse2D.Double(100, 100, 150, 100); + shape2 = new Rectangle2D.Double(150, 150, 150, 100); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + BufferedImage image = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB); + Graphics2D gImage = image.createGraphics(); + gImage.setPaint(Color.red); + gImage.fill(shape1); + AlphaComposite composite = AlphaComposite.getInstance(rule, alpha); + gImage.setComposite(composite); + gImage.setPaint(Color.blue); + gImage.fill(shape2); + g2.drawImage(image, null, 0, 0); + } + + /** + * Sets the composition rule. + * @param r the rule (as an AlphaComposite constant) + */ + public void setRule(int r) + { + rule = r; + repaint(); + } + + /** + * Sets the alpha of the source. + * @param a the alpha value between 0 and 100 + */ + public void setAlpha(int a) + { + alpha = (float) a / 100.0F; + repaint(); + } +} diff --git a/corejava第9版/v2ch07/composite/CompositeTest.java b/corejava第9版/v2ch07/composite/CompositeTest.java new file mode 100644 index 0000000..b00f521 --- /dev/null +++ b/corejava第9版/v2ch07/composite/CompositeTest.java @@ -0,0 +1,27 @@ +package composite; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the Porter-Duff composition rules. + * @version 1.03 2007-08-16 + * @author Cay Horstmann + */ +public class CompositeTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new CompositeTestFrame(); + frame.setTitle("CompositeTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + diff --git a/corejava第9版/v2ch07/composite/CompositeTestFrame.java b/corejava第9版/v2ch07/composite/CompositeTestFrame.java new file mode 100644 index 0000000..90bcaf0 --- /dev/null +++ b/corejava第9版/v2ch07/composite/CompositeTestFrame.java @@ -0,0 +1,68 @@ +package composite; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * This frame contains a combo box to choose a composition rule, a slider to change the source alpha + * channel, and a component that shows the composition. + */ +class CompositeTestFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 400; + + private CompositeComponent canvas; + private JComboBox ruleCombo; + private JSlider alphaSlider; + private JTextField explanation; + + public CompositeTestFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + canvas = new CompositeComponent(); + add(canvas, BorderLayout.CENTER); + + ruleCombo = new JComboBox<>(new Rule[] { new Rule("CLEAR", " ", " "), + new Rule("SRC", " S", " S"), new Rule("DST", " ", "DD"), + new Rule("SRC_OVER", " S", "DS"), new Rule("DST_OVER", " S", "DD"), + new Rule("SRC_IN", " ", " S"), new Rule("SRC_OUT", " S", " "), + new Rule("DST_IN", " ", " D"), new Rule("DST_OUT", " ", "D "), + new Rule("SRC_ATOP", " ", "DS"), new Rule("DST_ATOP", " S", " D"), + new Rule("XOR", " S", "D "), }); + ruleCombo.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + Rule r = (Rule) ruleCombo.getSelectedItem(); + canvas.setRule(r.getValue()); + explanation.setText(r.getExplanation()); + } + }); + + alphaSlider = new JSlider(0, 100, 75); + alphaSlider.addChangeListener(new ChangeListener() + { + public void stateChanged(ChangeEvent event) + { + canvas.setAlpha(alphaSlider.getValue()); + } + }); + JPanel panel = new JPanel(); + panel.add(ruleCombo); + panel.add(new JLabel("Alpha")); + panel.add(alphaSlider); + add(panel, BorderLayout.NORTH); + + explanation = new JTextField(); + add(explanation, BorderLayout.SOUTH); + + canvas.setAlpha(alphaSlider.getValue()); + Rule r = ruleCombo.getItemAt(ruleCombo.getSelectedIndex()); + canvas.setRule(r.getValue()); + explanation.setText(r.getExplanation()); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/composite/Rule.java b/corejava第9版/v2ch07/composite/Rule.java new file mode 100644 index 0000000..1e4f1ce --- /dev/null +++ b/corejava第9版/v2ch07/composite/Rule.java @@ -0,0 +1,66 @@ +package composite; + +import java.awt.*; + +/** + * This class describes a Porter-Duff rule. + */ +class Rule +{ + private String name; + private String porterDuff1; + private String porterDuff2; + + /** + * Constructs a Porter-Duff rule. + * @param n the rule name + * @param pd1 the first row of the Porter-Duff square + * @param pd2 the second row of the Porter-Duff square + */ + public Rule(String n, String pd1, String pd2) + { + name = n; + porterDuff1 = pd1; + porterDuff2 = pd2; + } + + /** + * Gets an explanation of the behavior of this rule. + * @return the explanation + */ + public String getExplanation() + { + StringBuilder r = new StringBuilder("Source "); + if (porterDuff2.equals(" ")) r.append("clears"); + if (porterDuff2.equals(" S")) r.append("overwrites"); + if (porterDuff2.equals("DS")) r.append("blends with"); + if (porterDuff2.equals(" D")) r.append("alpha modifies"); + if (porterDuff2.equals("D ")) r.append("alpha complement modifies"); + if (porterDuff2.equals("DD")) r.append("does not affect"); + r.append(" destination"); + if (porterDuff1.equals(" S")) r.append(" and overwrites empty pixels"); + r.append("."); + return r.toString(); + } + + public String toString() + { + return name; + } + + /** + * Gets the value of this rule in the AlphaComposite class. + * @return the AlphaComposite constant value, or -1 if there is no matching constant + */ + public int getValue() + { + try + { + return (Integer) AlphaComposite.class.getField(name).get(null); + } + catch (Exception e) + { + return -1; + } + } +} diff --git a/corejava第9版/v2ch07/desktopApp/DesktopAppFrame.java b/corejava第9版/v2ch07/desktopApp/DesktopAppFrame.java new file mode 100644 index 0000000..f1486f7 --- /dev/null +++ b/corejava第9版/v2ch07/desktopApp/DesktopAppFrame.java @@ -0,0 +1,170 @@ +package desktopApp; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.net.*; +import javax.swing.*; + +class DesktopAppFrame extends JFrame +{ + public DesktopAppFrame() + { + setLayout(new GridBagLayout()); + final JFileChooser chooser = new JFileChooser(); + JButton fileChooserButton = new JButton("..."); + final JTextField fileField = new JTextField(20); + fileField.setEditable(false); + JButton openButton = new JButton("Open"); + JButton editButton = new JButton("Edit"); + JButton printButton = new JButton("Print"); + final JTextField browseField = new JTextField(); + JButton browseButton = new JButton("Browse"); + final JTextField toField = new JTextField(); + final JTextField subjectField = new JTextField(); + JButton mailButton = new JButton("Mail"); + + openButton.setEnabled(false); + editButton.setEnabled(false); + printButton.setEnabled(false); + browseButton.setEnabled(false); + mailButton.setEnabled(false); + + if (Desktop.isDesktopSupported()) + { + Desktop desktop = Desktop.getDesktop(); + if (desktop.isSupported(Desktop.Action.OPEN)) openButton.setEnabled(true); + if (desktop.isSupported(Desktop.Action.EDIT)) editButton.setEnabled(true); + if (desktop.isSupported(Desktop.Action.PRINT)) printButton.setEnabled(true); + if (desktop.isSupported(Desktop.Action.BROWSE)) browseButton.setEnabled(true); + if (desktop.isSupported(Desktop.Action.MAIL)) mailButton.setEnabled(true); + } + + fileChooserButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + if (chooser.showOpenDialog(DesktopAppFrame.this) == JFileChooser.APPROVE_OPTION) + fileField.setText(chooser.getSelectedFile().getAbsolutePath()); + } + }); + + openButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + try + { + Desktop.getDesktop().open(chooser.getSelectedFile()); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + }); + + editButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + try + { + Desktop.getDesktop().edit(chooser.getSelectedFile()); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + }); + + printButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + try + { + Desktop.getDesktop().print(chooser.getSelectedFile()); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + }); + + browseButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + try + { + Desktop.getDesktop().browse(new URI(browseField.getText())); + } + catch (URISyntaxException ex) + { + ex.printStackTrace(); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + }); + + mailButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + try + { + String subject = percentEncode(subjectField.getText()); + URI uri = new URI("mailto:" + toField.getText() + "?subject=" + subject); + + System.out.println(uri); + Desktop.getDesktop().mail(uri); + } + catch (URISyntaxException ex) + { + ex.printStackTrace(); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + } + }); + + JPanel buttonPanel = new JPanel(); + ((FlowLayout) buttonPanel.getLayout()).setHgap(2); + buttonPanel.add(openButton); + buttonPanel.add(editButton); + buttonPanel.add(printButton); + + add(fileChooserButton, new GBC(0, 0).setAnchor(GBC.EAST).setInsets(2)); + add(fileField, new GBC(1, 0).setFill(GBC.HORIZONTAL)); + add(buttonPanel, new GBC(2, 0).setAnchor(GBC.WEST).setInsets(0)); + add(browseField, new GBC(1, 1).setFill(GBC.HORIZONTAL)); + add(browseButton, new GBC(2, 1).setAnchor(GBC.WEST).setInsets(2)); + add(new JLabel("To:"), new GBC(0, 2).setAnchor(GBC.EAST).setInsets(5, 2, 5, 2)); + add(toField, new GBC(1, 2).setFill(GBC.HORIZONTAL)); + add(mailButton, new GBC(2, 2).setAnchor(GBC.WEST).setInsets(2)); + add(new JLabel("Subject:"), new GBC(0, 3).setAnchor(GBC.EAST).setInsets(5, 2, 5, 2)); + add(subjectField, new GBC(1, 3).setFill(GBC.HORIZONTAL)); + + pack(); + } + + private static String percentEncode(String s) + { + try + { + return URLEncoder.encode(s, "UTF-8").replaceAll("[+]", "%20"); + } + catch (UnsupportedEncodingException ex) + { + return null; // UTF-8 is always supported + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/desktopApp/DesktopAppTest.java b/corejava第9版/v2ch07/desktopApp/DesktopAppTest.java new file mode 100644 index 0000000..58fb0f3 --- /dev/null +++ b/corejava第9版/v2ch07/desktopApp/DesktopAppTest.java @@ -0,0 +1,25 @@ +package desktopApp; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the desktop app API. + * @version 1.00 2007-09-22 + * @author Cay Horstmann + */ +public class DesktopAppTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new DesktopAppFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/desktopApp/GBC.java b/corejava第9版/v2ch07/desktopApp/GBC.java new file mode 100644 index 0000000..ca8b10d --- /dev/null +++ b/corejava第9版/v2ch07/desktopApp/GBC.java @@ -0,0 +1,131 @@ +package desktopApp; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch07/dnd/SampleComponents.java b/corejava第9版/v2ch07/dnd/SampleComponents.java new file mode 100644 index 0000000..ca87783 --- /dev/null +++ b/corejava第9版/v2ch07/dnd/SampleComponents.java @@ -0,0 +1,59 @@ +package dnd; + +import java.awt.*; + +import javax.swing.*; +import javax.swing.tree.*; + +public class SampleComponents +{ + public static JTree tree() + { + DefaultMutableTreeNode root = new DefaultMutableTreeNode("World"); + DefaultMutableTreeNode country = new DefaultMutableTreeNode("USA"); + root.add(country); + DefaultMutableTreeNode state = new DefaultMutableTreeNode("California"); + country.add(state); + DefaultMutableTreeNode city = new DefaultMutableTreeNode("San Jose"); + state.add(city); + city = new DefaultMutableTreeNode("Cupertino"); + state.add(city); + state = new DefaultMutableTreeNode("Michigan"); + country.add(state); + city = new DefaultMutableTreeNode("Ann Arbor"); + state.add(city); + country = new DefaultMutableTreeNode("Germany"); + root.add(country); + state = new DefaultMutableTreeNode("Schleswig-Holstein"); + country.add(state); + city = new DefaultMutableTreeNode("Kiel"); + state.add(city); + return new JTree(root); + } + + public static JList list() + { + String[] words = { "quick", "brown", "hungry", "wild", "silent", "huge", "private", + "abstract", "static", "final" }; + + DefaultListModel model = new DefaultListModel<>(); + for (String word : words) + model.addElement(word); + return new JList<>(model); + } + + public static JTable table() + { + Object[][] cells = { { "Mercury", 2440.0, 0, false, Color.YELLOW }, + { "Venus", 6052.0, 0, false, Color.YELLOW }, + { "Earth", 6378.0, 1, false, Color.BLUE }, { "Mars", 3397.0, 2, false, Color.RED }, + { "Jupiter", 71492.0, 16, true, Color.ORANGE }, + { "Saturn", 60268.0, 18, true, Color.ORANGE }, + { "Uranus", 25559.0, 17, true, Color.BLUE }, + { "Neptune", 24766.0, 8, true, Color.BLUE }, + { "Pluto", 1137.0, 1, false, Color.BLACK } }; + + String[] columnNames = { "Planet", "Radius", "Moons", "Gaseous", "Color" }; + return new JTable(cells, columnNames); + } +} diff --git a/corejava第9版/v2ch07/dnd/SwingDnDFrame.java b/corejava第9版/v2ch07/dnd/SwingDnDFrame.java new file mode 100644 index 0000000..5670410 --- /dev/null +++ b/corejava第9版/v2ch07/dnd/SwingDnDFrame.java @@ -0,0 +1,52 @@ +package dnd; + +import java.awt.*; +import javax.swing.*; +import javax.swing.border.*; +import javax.swing.event.*; + +public class SwingDnDFrame extends JFrame +{ + public SwingDnDFrame() + { + JTabbedPane tabbedPane = new JTabbedPane(); + + JList list = SampleComponents.list(); + tabbedPane.addTab("List", list); + JTable table = SampleComponents.table(); + tabbedPane.addTab("Table", table); + JTree tree = SampleComponents.tree(); + tabbedPane.addTab("Tree", tree); + JFileChooser fileChooser = new JFileChooser(); + tabbedPane.addTab("File Chooser", fileChooser); + JColorChooser colorChooser = new JColorChooser(); + tabbedPane.addTab("Color Chooser", colorChooser); + + final JTextArea textArea = new JTextArea(4, 40); + JScrollPane scrollPane = new JScrollPane(textArea); + scrollPane.setBorder(new TitledBorder(new EtchedBorder(), "Drag text here")); + + JTextField textField = new JTextField("Drag color here"); + textField.setTransferHandler(new TransferHandler("background")); + + tabbedPane.addChangeListener(new ChangeListener() + { + public void stateChanged(ChangeEvent e) + { + textArea.setText(""); + } + }); + + tree.setDragEnabled(true); + table.setDragEnabled(true); + list.setDragEnabled(true); + fileChooser.setDragEnabled(true); + colorChooser.setDragEnabled(true); + textField.setDragEnabled(true); + + add(tabbedPane, BorderLayout.NORTH); + add(scrollPane, BorderLayout.CENTER); + add(textField, BorderLayout.SOUTH); + pack(); + } +} diff --git a/corejava第9版/v2ch07/dnd/SwingDnDTest.java b/corejava第9版/v2ch07/dnd/SwingDnDTest.java new file mode 100644 index 0000000..0687867 --- /dev/null +++ b/corejava第9版/v2ch07/dnd/SwingDnDTest.java @@ -0,0 +1,26 @@ +package dnd; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the basic Swing support for drag and drop. + * @version 1.10 2007-09-20 + * @author Cay Horstmann + */ +public class SwingDnDTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SwingDnDFrame(); + frame.setTitle("SwingDnDTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/dndImage/ImageListDnDFrame.java b/corejava第9版/v2ch07/dndImage/ImageListDnDFrame.java new file mode 100644 index 0000000..7f95d2e --- /dev/null +++ b/corejava第9版/v2ch07/dndImage/ImageListDnDFrame.java @@ -0,0 +1,156 @@ +package dndImage; + +import java.awt.*; +import java.awt.datatransfer.*; +import java.io.*; +import java.nio.file.*; +import java.util.*; +import java.util.List; +import javax.imageio.*; +import javax.swing.*; + +public class ImageListDnDFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 600; + private static final int DEFAULT_HEIGHT = 500; + + private ImageList list1; + private ImageList list2; + + public ImageListDnDFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + list1 = new ImageList(Paths.get(getClass().getPackage().getName(), "images1")); + list2 = new ImageList(Paths.get(getClass().getPackage().getName(), "images2")); + + setLayout(new GridLayout(2, 1)); + add(new JScrollPane(list1)); + add(new JScrollPane(list2)); + } +} + +class ImageList extends JList +{ + public ImageList(Path dir) + { + DefaultListModel model = new DefaultListModel<>(); + try (DirectoryStream entries = Files.newDirectoryStream(dir)) + { + for (Path entry : entries) + model.addElement(new ImageIcon(entry.toString())); + } + catch (IOException ex) + { + ex.printStackTrace(); + } + + setModel(model); + setVisibleRowCount(0); + setLayoutOrientation(JList.HORIZONTAL_WRAP); + setDragEnabled(true); + setDropMode(DropMode.ON_OR_INSERT); + setTransferHandler(new ImageListTransferHandler()); + } +} + +class ImageListTransferHandler extends TransferHandler +{ + // support for drag + + public int getSourceActions(JComponent source) + { + return COPY_OR_MOVE; + } + + protected Transferable createTransferable(JComponent source) + { + ImageList list = (ImageList) source; + int index = list.getSelectedIndex(); + if (index < 0) return null; + ImageIcon icon = list.getModel().getElementAt(index); + return new ImageTransferable(icon.getImage()); + } + + protected void exportDone(JComponent source, Transferable data, int action) + { + if (action == MOVE) + { + ImageList list = (ImageList) source; + int index = list.getSelectedIndex(); + if (index < 0) return; + DefaultListModel model = (DefaultListModel) list.getModel(); + model.remove(index); + } + } + + // support for drop + + public boolean canImport(TransferSupport support) + { + if (support.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) + { + if (support.getUserDropAction() == MOVE) support.setDropAction(COPY); + return true; + } + else return support.isDataFlavorSupported(DataFlavor.imageFlavor); + } + + public boolean importData(TransferSupport support) + { + ImageList list = (ImageList) support.getComponent(); + DefaultListModel model = (DefaultListModel) list.getModel(); + + Transferable transferable = support.getTransferable(); + List flavors = Arrays.asList(transferable.getTransferDataFlavors()); + + List images = new ArrayList<>(); + + try + { + if (flavors.contains(DataFlavor.javaFileListFlavor)) + { + @SuppressWarnings("unchecked") List fileList + = (List) transferable.getTransferData(DataFlavor.javaFileListFlavor); + for (File f : fileList) + { + try + { + images.add(ImageIO.read(f)); + } + catch (IOException ex) + { + // couldn't read image--skip + } + } + } + else if (flavors.contains(DataFlavor.imageFlavor)) + { + images.add((Image) transferable.getTransferData(DataFlavor.imageFlavor)); + } + + int index; + if (support.isDrop()) + { + JList.DropLocation location = (JList.DropLocation) support.getDropLocation(); + index = location.getIndex(); + if (!location.isInsert()) model.remove(index); // replace location + } + else index = model.size(); + for (Image image : images) + { + model.add(index, new ImageIcon(image)); + index++; + } + return true; + } + catch (IOException ex) + { + return false; + } + catch (UnsupportedFlavorException ex) + { + return false; + } + } +} diff --git a/corejava第9版/v2ch07/dndImage/ImageListDnDTest.java b/corejava第9版/v2ch07/dndImage/ImageListDnDTest.java new file mode 100644 index 0000000..6e12885 --- /dev/null +++ b/corejava第9版/v2ch07/dndImage/ImageListDnDTest.java @@ -0,0 +1,26 @@ +package dndImage; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates drag and drop in an image list. + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class ImageListDnDTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ImageListDnDFrame(); + frame.setTitle("ImageListDnDTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v2ch07/dndImage/ImageTransferable.java b/corejava第9版/v2ch07/dndImage/ImageTransferable.java new file mode 100644 index 0000000..615bb8a --- /dev/null +++ b/corejava第9版/v2ch07/dndImage/ImageTransferable.java @@ -0,0 +1,43 @@ +package dndImage; + +import java.awt.*; +import java.awt.datatransfer.*; + +/** + * This class is a wrapper for the data transfer of image objects. + */ +public class ImageTransferable implements Transferable +{ + private Image theImage; + + /** + * Constructs the selection. + * @param image an image + */ + public ImageTransferable(Image image) + { + theImage = image; + } + + public DataFlavor[] getTransferDataFlavors() + { + return new DataFlavor[] { DataFlavor.imageFlavor }; + } + + public boolean isDataFlavorSupported(DataFlavor flavor) + { + return flavor.equals(DataFlavor.imageFlavor); + } + + public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException + { + if (flavor.equals(DataFlavor.imageFlavor)) + { + return theImage; + } + else + { + throw new UnsupportedFlavorException(flavor); + } + } +} diff --git a/corejava第9版/v2ch07/dndImage/images1/Jupiter.gif b/corejava第9版/v2ch07/dndImage/images1/Jupiter.gif new file mode 100644 index 0000000000000000000000000000000000000000..32d271de3b2130d0b59c7f2bb66254af6be31d5a GIT binary patch literal 3578 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch07/dndImage/images1/Mercury.gif b/corejava第9版/v2ch07/dndImage/images1/Mercury.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fd78a5d836dfd50b35d7db1473f831be9b0cbcb GIT binary patch literal 700 zcmV;t0z>^rNk%w1VK4wN0J8u9BqSs`IXOy7N?KZ4V`F1$Yio0Jb9;MxgoK2UkdUCD zps}&By}iB8&d%1>*1*8PA^8LW000jFEC2ui05AYB000F3@X1MOQVFG7yZ@lHFk7-5 ziGiVE>nhB$Yzm4PnxP+VPbsnn24lKx1_uLSVDR-Wv&IZTykHOn!yyn5Ae^8gVgbxR z&nTuKFbE{To}o;!LS=x6TR08=+_aatH62|yzmsL2#13Z1@vxi~51`9X`Bm$O{90d>od$#pjYC|&yILp2;3 z?6fq{2Nb71xo%<&u$8OVEcBdeL13`WntW;3v1#kp0~TmE1QM`_H{nTBI{6Y%*L zf%tCe6Oc747Xga5e(`W?=1$3L(59`-CG%FM76cGos!f|d%Q#V*R?4Eo0iAwsT}4_M zC+68(yV~xO?&xT>$k_rvExZD#*P}7!RlYoUm^R4OLf@CT`cefU5MZ?|y}S3mE!639 zbl&vl9*f$0XZ%Edb<`ZO*q@D`qmuoZ^-tGA3IHl5;DG-Xh+a1dDtMp^1S+^#bNw{9 z-+PoiFiU|CI)QvZRwyvix6&r06nm5KqDM<&;ddO i001HW7(;Jxd2(rIXmlVkIXN~UN@;B%MRsX!a{xOcIU&UW literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch07/dndImage/images1/Neptune.gif b/corejava第9版/v2ch07/dndImage/images1/Neptune.gif new file mode 100644 index 0000000000000000000000000000000000000000..33b18f2a8569ec78ed370e438b34e3cae3e56a1e GIT binary patch literal 2228 zcmeHG`B&137XNCX2sI(#nkl#sYU(&HIY*zEqEZ@=iA%-^NHT6DW}@>N+?O7O3W)1b zac#25#4*zmNppNY3)iQ<$A&J7B|dmWD> z0z}{~06=Zr;h*{&yZXbO2yj=ju`2=N>SMfbzBq?D?vL>ZKORi63*meoniUw86`jbT z)9H!Hob2puZ)#Z(yE8erJ-&R2C;ge%wI}?5T7^O(tZk{?XUjh2!j1u;E{ruJGMX&M$aol~056^(pFGq9-X+tkc#XaE2h{1}5DWpF5n32nQrNm^qV7$^X ztxHzCGK@!BIP*{;<+)=O2jM7)Ag+agG^7$Hc9jK>>abs{|180^Q_2iW#kHyi+|&VG zu?|l)!}5n4d(?YPo^c4ee!d|0P*h`Xq!ei;h!=$CXm_&?*cU2#?>vWi{|KES#yQUq z(yp63C5mOskBbi5o!{*3W{n~i`(|;y@2O zLfx9BFl|NPnz)1xxgYB>W^^bQ7OgW^EMYNMO6)C}M>tO2ZxkdOa7WaapRm`et~6l8 zP0?C66Y5w4zqLKkhR!f;DoViuUd8DQJ=}F9w7IsDQLV$2=#nVRi~6-CYpK)g=p2xK zcx6l-huQWd^=Q7JEbt9CAe@>S_CsvI68CK#UJsgO@nxAo-_Zc1Tvp#AR-#TEbRBT9 zprC!Bk>oN0fq2q$@~8Sx&wFqSn3^*I#^zZW#3SM$F7YoR*lurR+qX2E%7}|k3@oWV z<={qfL7~cl=P~s8G|ZKFf4$Y2-Hz@&q&V zYn3kR;6T~lmxg3rQ|^@5<<)o-{uuVE^qLl+Sf%eCOV7#N>^UMWmS`Ey^Mj{)gvtlF zHI(jWg-Kfd*5XWh5@E4N#yMovj2m%@={I>8Y>uwJ_SM2h%cz5oN+IwtU9U>|J-TZ3 z-|_hM2pt&OkzW+uFnX5l z9GZXjRm=j#;YvvC1a~QbRXM&EHf*v;eP5jiDYo5 z^SbT;L9_Ahw)T7Fp5wOA=R2_ThPtNRw0^79)537r@3I~uGOv8r1f+5RZaqH?IW~pu z7`C?Mk#TY&+WhiFae!^wGcp43yDEETb2bEXkeoUAzt|1%=IaKkS$Eale?8o3_H#k~clh~!%Rfn3g>=*R1-5Vad zna2&Fl{dHA$OG9Jbfl{1l^3F%Kf*ZSP)+k<%0=M--f|-cNaRb!W27R_yBqe&9s@O#}UO{jye1i1YoKH<&Dh2 zo#Le?%&PDZxSk8o?O8wR(+ZG$G3j;k$@G(;Pk6kHzKVp_b5pi^@7z<&19T5_i>rO7 zX^*6h6`nf`h_8{K3Y=6@uVLsTkF3b^5y(&zS-hDWe%GTTZB z{72TLU};>cTCm5HvdsHJP<8Vr9rNkGk~>@Qtrxzn3H^Piukh4`F!v{+HR`!DUX!6= t9KsFqoBZjfYAhN6FlrNAN@{vSd>T50o|=NDanS@;GCDAWmBInO_&=Co@sm6b zSBP2Uf}CcmS|hW#4UDQ8yCjKULMM^UEI$MSh$!idy^&DKED&iTsUo4IA_$A;fJ^pa#Rt4O&BiM$o?n0zr|BIc{V=ObRz&1BZKL9}PEgER1wF2?U3gkq#YyfFlhg zHj)LEh;)Q~6r>BCW-@FPyG4#a1ld<3u+OO0O?<PHXurAZ6HNM}>JBgl}ivR!s literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch07/dndImage/images1/Uranus.gif b/corejava第9版/v2ch07/dndImage/images1/Uranus.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9baa5d574fd2cdefd9bd6bf162adfbfda7ff682 GIT binary patch literal 2059 zcmeHG`#aMM82`>}XE;t8<`OlGkdU5r?C5bugi&Y8EpnO5E|mNIk}cPfQZ_RWLUU=O zD3>fUw+P{oM8_h;bez-?k?hbPaenIay!ZEg-uHPv&-2>Yoi@b~@Bkjz001?NgZ+6I zQ=cT~nCy^{kmU3n#x4qq1OkC`c0Dn_Ikc#mcDpHxH=NxtM13@!^=!3--&s63TRO5* z@z=kc*WW6a#f`$R%_8x`&2McR;-|YJ77vNVFU4Y^SiC3}0|3zeUE9CA_T8+#eRn^V zO5N*;f$t-`W-r>sZtVwtF!28{ps^_l0st6buy=0nC$O*`U_VUFwyv}z1tzb5u@6s3 z{aNid+rMWzz&&(0CUm3}1cu5e>N-$YOZ`(I(r}bA(g)kclGgSYxYZM_ufZ|#Ys%;5 zC8en9n|fOi)m53PKlJs0 znePf_HrT67_6x+DM3OQ-WFhAisty$q8pj~+pED+s6F#QFeQ2@>)l1ov(Fed*%=!H2 zSW$(mw~uG60!fvxGZos~(LGAkuYGhOy%@5}&L*RkUPru9tkb#yEG^C5q=Vv0u~6fT z`Mk=bE%-bX;ybkB((TPuFtY=+q}x@E=lm~sjjq? z%OMHRC@)kUvW?8~KL`F$%U~48q?6v1B%WP+cQ)*@wuRj(dK4qw8>cr`j-F;YrfhF6 zj@#uwh|MpAznIXuq9$TFm+q8bUuF>lRMNF25k9#VJeS7hK$rbn6XULkQ5=$-rNPhl z2s^rjgvxd58>DroTL)brwyn=ymSu1}lV@)-*S@!A^nT>&55d5&3JF`_!rYKY` zqli=Jk+sd~ouOTNa6{MV?x%jfCtKITsH=$6bA0ZlcCX3eb}r=z7bA>hMg@>y(==KC^MIm277-WsVT}2nG z>WctGLVS}wfz5^bWb7Pi=*WN7N@X?0B0d^hH1bZXBu&lmG%4*#tBtDZZo@&^1-$!D z%y~@CpuE}pETK}9;kN9b*RO_uuK8(tIHrq>_zKOd?_xj`p%j5fA(MB}8s{!w?n2E< z(?Fm{X!W!i?38b%)C+6(vGV*e)6DyvL_FbGgmk7Aqa#dI;iVTpOmw?*Pnap^H9UQ5 z0^EmIQ1gYF8*n}M(ZMZOQCO3_G6xZ!p&1lqOoxq4+(as?&^)2XB~HEVVpLnBK)FPK zcT;tOY@FGK_izr>w8-_XJHdDKvo>MFWPp0}TaJDTa|JMn32+jwm#b;!XZeL}+kk`< zvl68uvKq9sCI>Ul=}&6cqHL<>iFpQED!TOJeXPWA#$!EghrslH-Gyt+S`-$w2p(|c z!ZA*P3kKti0eeJFD2#GTr>w!gQ;$?Iw5e?z5;15<8D&2`Hf2&p&!qx@#*T_ba7ZLM ZARKAu7ZQy0jYHxnmyy=dl;8-!>_5hDpw0jQ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch07/dndImage/images1/Venus.gif b/corejava第9版/v2ch07/dndImage/images1/Venus.gif new file mode 100644 index 0000000000000000000000000000000000000000..8552313b4c951222ec4b55f4b235bc17d1ddde1a GIT binary patch literal 2954 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

        fppnj!JH@+de%>h|lL{RP46GaIXPU{GQv=8Yy znUbOp2pauRit&PODZ@EqCA*K2A(D^m6BlRUTsZImH1n?%N&RQy)_1zxWU>OjpptyN6(vu`^+Er2g z+8;?3volLj?15}|m%0jILM>nld!EW1KD%)QF_a53>SjH|#|Wzbl#UbastVVs&Vl-~ zon%%@vV2`u%3&Y#%8W&Z8ZQWs_`K67*Xx#=N~_GYRESEgk>UetMBmowAYf=f1AD)# zEFXecNWl>R>~K^K%3)77p|G zFAotvEE4arlwu0jf+_>;$DM*R!$qxN{th6pw@~5}2ZsPLo9k7wmGx)1jUHJ9Xa@x} za6{!#4Hvf&Z29RT;(-&u+ObDC{bcu&gDS#ay*SAzfRwIB4@QyzNqdcT4#xOo7O`il1n1Mntig)|4EVNvGP75AHZG4(zkj3X=9mWc_qDHcJh1yeE@+qQ^ zIqs*sL0)FUl$yeffIzu2(@Cp{rO)^I9ZaX?n<`Y6i2;jQ@;gigHy#$NVxk-QoUtt25-S+ms(qxbwQZ@5O>lH z{QQOWOdv6>tGmZ9%&`C7KzjfAH7C#M*nyU}VYkpv22iX}pUk>lUlpu*e`Zgde^5M* zEq<8L^SH}pq@LsiqrOExD4|BbM%rvt4Q=PjZ-({sQZMe`i#|M(Jy?pXS|6rNRsr>W zBlZ(K6KuiAYE=1f5ZL5n|D~ehfydG)%=?7&B_`)9wF+LA{Qdy@Y&=|Xpk_Tfri3Zo znRrtxd6Y6R@Hs(dXJp8^k9N;(zKR6 writerFormats = getWriterFormats(); + + private BufferedImage[] images; + + public ImageIOFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + JMenu fileMenu = new JMenu("File"); + JMenuItem openItem = new JMenuItem("Open"); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + openFile(); + } + }); + fileMenu.add(openItem); + + JMenu saveMenu = new JMenu("Save"); + fileMenu.add(saveMenu); + Iterator iter = writerFormats.iterator(); + while (iter.hasNext()) + { + final String formatName = iter.next(); + JMenuItem formatItem = new JMenuItem(formatName); + saveMenu.add(formatItem); + formatItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + saveFile(formatName); + } + }); + } + + JMenuItem exitItem = new JMenuItem("Exit"); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + fileMenu.add(exitItem); + + JMenuBar menuBar = new JMenuBar(); + menuBar.add(fileMenu); + setJMenuBar(menuBar); + } + + /** + * Open a file and load the images. + */ + public void openFile() + { + JFileChooser chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + String[] extensions = ImageIO.getReaderFileSuffixes(); + chooser.setFileFilter(new FileNameExtensionFilter("Image files", extensions)); + int r = chooser.showOpenDialog(this); + if (r != JFileChooser.APPROVE_OPTION) return; + File f = chooser.getSelectedFile(); + Box box = Box.createVerticalBox(); + try + { + String name = f.getName(); + String suffix = name.substring(name.lastIndexOf('.') + 1); + Iterator iter = ImageIO.getImageReadersBySuffix(suffix); + ImageReader reader = iter.next(); + ImageInputStream imageIn = ImageIO.createImageInputStream(f); + reader.setInput(imageIn); + int count = reader.getNumImages(true); + images = new BufferedImage[count]; + for (int i = 0; i < count; i++) + { + images[i] = reader.read(i); + box.add(new JLabel(new ImageIcon(images[i]))); + } + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + setContentPane(new JScrollPane(box)); + validate(); + } + + /** + * Save the current image in a file. + * @param formatName the file format + */ + public void saveFile(final String formatName) + { + if (images == null) return; + Iterator iter = ImageIO.getImageWritersByFormatName(formatName); + ImageWriter writer = iter.next(); + JFileChooser chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + String[] extensions = writer.getOriginatingProvider().getFileSuffixes(); + chooser.setFileFilter(new FileNameExtensionFilter("Image files", extensions)); + + int r = chooser.showSaveDialog(this); + if (r != JFileChooser.APPROVE_OPTION) return; + File f = chooser.getSelectedFile(); + try + { + ImageOutputStream imageOut = ImageIO.createImageOutputStream(f); + writer.setOutput(imageOut); + + writer.write(new IIOImage(images[0], null, null)); + for (int i = 1; i < images.length; i++) + { + IIOImage iioImage = new IIOImage(images[i], null, null); + if (writer.canInsertImage(i)) writer.writeInsert(i, iioImage, null); + } + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + + /** + * Gets a set of "preferred" format names of all image writers. The preferred format name is the + * first format name that a writer specifies. + * @return the format name set + */ + public static Set getWriterFormats() + { + Set writerFormats = new TreeSet<>(); + Set formatNames = new TreeSet<>(Arrays.asList(ImageIO + .getWriterFormatNames())); + while (formatNames.size() > 0) + { + String name = formatNames.iterator().next(); + Iterator iter = ImageIO.getImageWritersByFormatName(name); + ImageWriter writer = iter.next(); + String[] names = writer.getOriginatingProvider().getFormatNames(); + String format = names[0]; + if (format.equals(format.toLowerCase())) format = format.toUpperCase(); + writerFormats.add(format); + formatNames.removeAll(Arrays.asList(names)); + } + return writerFormats; + } +} diff --git a/corejava第9版/v2ch07/imageIO/ImageIOTest.java b/corejava第9版/v2ch07/imageIO/ImageIOTest.java new file mode 100644 index 0000000..c1f142d --- /dev/null +++ b/corejava第9版/v2ch07/imageIO/ImageIOTest.java @@ -0,0 +1,27 @@ +package imageIO; + +import java.awt.*; +import javax.swing.*; + +/** + * This program lets you read and write image files in the formats that the JDK supports. Multi-file + * images are supported. + * @version 1.03 2012-01-26 + * @author Cay Horstmann + */ +public class ImageIOTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ImageIOFrame(); + frame.setTitle("CompositeTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/imageIO/e-mail.gif b/corejava第9版/v2ch07/imageIO/e-mail.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f8d7d79f5407bd4a334f456955972db76c024a3 GIT binary patch literal 9639 zcmeHNdsNg_9=~cSK~Nr7-6(U+t0nUC0Rp0iih5NZhF1g$8iqjzxJ)uL$bh}Xw1;Ti z00kBD1$qaNP_87RsR;%Fn=BIC%xCyu)%B#7)_V6x+jcs8IPGaqY?jPlbLMyEp6}=T z`F!v9^_z)iczCLPz;Lh%{Of}OU;sz}0e~1l2A~880E7Wz07*aqAQ%t^hy)Y>iUDPS zO27f&7;px-1OfnofnY#LQAi@wah$JKc5)280 zL_!K6#gH;cCFB5d3^{{bLII$_P%tQ@VjYwiN(QCuG!tM17y=SOfFMSYAt(_72w{X6 zLJ|>x2u6eL5w6uk|8NOp#w|+BR~=e2*d<3 z0wqC!AWRS=ND=}F!GthEB%y#%OeiB%5)KH*gfqe=5r7Cx1S3K!UL+C|$%vGl?gW?u zMuDUdP>3mH6iSK!MVKN+k)#Arf+=B?NJ;^vm{LZmq#RI=DQA>RDgYIj3Py!gn4uC= z$*7c_6amZu<3Mr4kbr`Bg_%wNOA%=!JIHoB&UE=%qinkat=7hoHNcP7k~@Q z1>-_0Y;%dZWL(Nl+5r}T2_OXo0%8G~fKnhJ5Eh6DBn1J2U_qE5Qcxf$7L*Ap1qXs- z!I|Jv2p|L&f(aoN1qq3TWJ1bLDFG}2Q&gphNkS|kQxu>OFA2Zt2XQ#h5Xk6^)R{cMmvQ{-E<@~I& zZ67VS9g`at@|?1of$IL_K=! z3NJU!G0VJB;ii-U?LHePY@h1qnH}G>O5N!0XSwyvqCI%{Q=i-(bTzPKO8(jA%Cf67 zUXT3;-!$r*t?KnFOI$>yM$F?z8h4a_S!0<~?EIa1 zz~W#!+}3@F7k8Y$TYK>G^iel;f#u}n9=0l zd3HqVyQJ=j{iUhyIe&JltNoL@x80jL?dQv_g4SFq8n-3vV7}9o1?jmr=N&H*)h};I z;l7{oITx}&DBpYS)S^DUyTW^-8}aJ4tgwDpt8l#CA>O*#p}8<@$QKU_qhssV=y3(j z9~+C0vZo8%jh6l;O{K;OPkL|odTT^w#JRf<&MDg!l%{{E&S@i#onD%*wJ&+&9eq@} zNrV^dZ`QZgzd1C(-Sdv4rYV13+=BE$}UD&s#ILVzf*cdv#sG8U%wV!q)R5W>r zeRI??3!ZRzg;)6{zwEvn>;}#m6dO_&(fCw7ONtK7)eo)C@(hk^E}q$OIrG~+me!3a zJMWk-KYHzjo$+o5HsvO3PghxKQb^dC>zbO((KDS>KX3|bG>=Q;6TMiH)tc~Gm7IuPy}BZ_{{Ms0SkZ~n_dig!agS56nRQtub1S_z*>7?fq@SJ{csr^7 z(%!R+4$QU5|4#S!;i246Xy^ZMh{M?fS!ehsML8ocG-UV;xa-*Fdg-`%UfQJMl=wJ{ zjixTouWKHUbqB&IvmwSmb4;+^Y7bNNG0O~e*jRBhrnYEg`tqA?f3>vkTHLe+r*cQ} zUc#xft49ZqeEzLK)0*P+!R+0qMR%SW%f7JN|MD`@rG z>xxbv!j-wrmj1&QRX;wk@b$TSzdTc$;i74nWj1K)^ZKu9r0?*SmGHBy7nv!LA-f?JJyKtR&*Jm7PA-~) zo#x#$YVroJTG?j4aq@Vu7EQ7W_fYhz8x221eHh^i#pRHd1CFS>DRee9Skh>tz_+_KON z=g= 1) return Printable.NO_SUCH_PAGE; + Graphics2D g2 = (Graphics2D) g; + g2.translate(pf.getImageableX(), pf.getImageableY()); + g2.draw(new Rectangle2D.Double(0, 0, pf.getImageableWidth(), pf.getImageableHeight())); + + drawPage(g2); + return Printable.PAGE_EXISTS; + } + + /** + * This method draws the page both on the screen and the printer graphics context. + * @param g2 the graphics context + */ + public void drawPage(Graphics2D g2) + { + FontRenderContext context = g2.getFontRenderContext(); + Font f = new Font("Serif", Font.PLAIN, 72); + GeneralPath clipShape = new GeneralPath(); + + TextLayout layout = new TextLayout("Hello", f, context); + AffineTransform transform = AffineTransform.getTranslateInstance(0, 72); + Shape outline = layout.getOutline(transform); + clipShape.append(outline, false); + + layout = new TextLayout("World", f, context); + transform = AffineTransform.getTranslateInstance(0, 144); + outline = layout.getOutline(transform); + clipShape.append(outline, false); + + g2.draw(clipShape); + g2.clip(clipShape); + + final int NLINES = 50; + Point2D p = new Point2D.Double(0, 0); + for (int i = 0; i < NLINES; i++) + { + double x = (2 * getWidth() * i) / NLINES; + double y = (2 * getHeight() * (NLINES - 1 - i)) / NLINES; + Point2D q = new Point2D.Double(x, y); + g2.draw(new Line2D.Double(p, q)); + } + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v2ch07/print/PrintTest.java b/corejava第9版/v2ch07/print/PrintTest.java new file mode 100644 index 0000000..8a33f6e --- /dev/null +++ b/corejava第9版/v2ch07/print/PrintTest.java @@ -0,0 +1,26 @@ +package print; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates how to print 2D graphics + * @version 1.12 2007-08-16 + * @author Cay Horstmann + */ +public class PrintTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new PrintTestFrame(); + frame.setTitle("PrintTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/print/PrintTestFrame.java b/corejava第9版/v2ch07/print/PrintTestFrame.java new file mode 100644 index 0000000..cb3aec8 --- /dev/null +++ b/corejava第9版/v2ch07/print/PrintTestFrame.java @@ -0,0 +1,59 @@ +package print; + +import java.awt.*; +import java.awt.event.*; +import java.awt.print.*; +import javax.print.attribute.*; +import javax.swing.*; + +/** + * This frame shows a panel with 2D graphics and buttons to print the graphics and to set up the + * page format. + */ +public class PrintTestFrame extends JFrame +{ + private PrintComponent canvas; + private PrintRequestAttributeSet attributes; + + public PrintTestFrame() + { + canvas = new PrintComponent(); + add(canvas, BorderLayout.CENTER); + + attributes = new HashPrintRequestAttributeSet(); + + JPanel buttonPanel = new JPanel(); + JButton printButton = new JButton("Print"); + buttonPanel.add(printButton); + printButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + try + { + PrinterJob job = PrinterJob.getPrinterJob(); + job.setPrintable(canvas); + if (job.printDialog(attributes)) job.print(attributes); + } + catch (PrinterException e) + { + JOptionPane.showMessageDialog(PrintTestFrame.this, e); + } + } + }); + + JButton pageSetupButton = new JButton("Page setup"); + buttonPanel.add(pageSetupButton); + pageSetupButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + PrinterJob job = PrinterJob.getPrinterJob(); + job.pageDialog(attributes); + } + }); + + add(buttonPanel, BorderLayout.NORTH); + pack(); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/printService/PrintServiceTest.java b/corejava第9版/v2ch07/printService/PrintServiceTest.java new file mode 100644 index 0000000..abfe2f7 --- /dev/null +++ b/corejava第9版/v2ch07/printService/PrintServiceTest.java @@ -0,0 +1,46 @@ +package printService; + +import java.io.*; +import java.nio.file.*; +import javax.print.*; + +/** + * This program demonstrates the use of print services. The program lets you print a GIF image to + * any of the print services that support the GIF document flavor. + * @version 1.10 2007-08-16 + * @author Cay Horstmann + */ +public class PrintServiceTest +{ + public static void main(String[] args) + { + DocFlavor flavor = DocFlavor.URL.GIF; + PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, null); + if (args.length == 0) + { + if (services.length == 0) System.out.println("No printer for flavor " + flavor); + else + { + System.out.println("Specify a file of flavor " + flavor + + "\nand optionally the number of the desired printer."); + for (int i = 0; i < services.length; i++) + System.out.println((i + 1) + ": " + services[i].getName()); + } + System.exit(0); + } + String fileName = args[0]; + int p = 1; + if (args.length > 1) p = Integer.parseInt(args[1]); + if (fileName == null) return; + try (InputStream in = Files.newInputStream(Paths.get(fileName))) + { + Doc doc = new SimpleDoc(in, flavor, null); + DocPrintJob job = services[p - 1].createPrintJob(); + job.print(doc, null); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/rasterImage/RasterImageFrame.java b/corejava第9版/v2ch07/rasterImage/RasterImageFrame.java new file mode 100644 index 0000000..551fdcf --- /dev/null +++ b/corejava第9版/v2ch07/rasterImage/RasterImageFrame.java @@ -0,0 +1,68 @@ +package rasterImage; + +import java.awt.*; +import java.awt.image.*; +import javax.swing.*; + +/** + * This frame shows an image with a Mandelbrot set. + */ +public class RasterImageFrame extends JFrame +{ + private static final double XMIN = -2; + private static final double XMAX = 2; + private static final double YMIN = -2; + private static final double YMAX = 2; + private static final int MAX_ITERATIONS = 16; + private static final int IMAGE_WIDTH = 400; + private static final int IMAGE_HEIGHT = 400; + + public RasterImageFrame() + { + BufferedImage image = makeMandelbrot(IMAGE_WIDTH, IMAGE_HEIGHT); + add(new JLabel(new ImageIcon(image))); + pack(); + } + + /** + * Makes the Mandelbrot image. + * @param width the width + * @parah height the height + * @return the image + */ + public BufferedImage makeMandelbrot(int width, int height) + { + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + WritableRaster raster = image.getRaster(); + ColorModel model = image.getColorModel(); + + Color fractalColor = Color.red; + int argb = fractalColor.getRGB(); + Object colorData = model.getDataElements(argb, null); + + for (int i = 0; i < width; i++) + for (int j = 0; j < height; j++) + { + double a = XMIN + i * (XMAX - XMIN) / width; + double b = YMIN + j * (YMAX - YMIN) / height; + if (!escapesToInfinity(a, b)) raster.setDataElements(i, j, colorData); + } + return image; + } + + private boolean escapesToInfinity(double a, double b) + { + double x = 0.0; + double y = 0.0; + int iterations = 0; + while (x <= 2 && y <= 2 && iterations < MAX_ITERATIONS) + { + double xnew = x * x - y * y + a; + double ynew = 2 * x * y + b; + x = xnew; + y = ynew; + iterations++; + } + return x > 2 || y > 2; + } +} diff --git a/corejava第9版/v2ch07/rasterImage/RasterImageTest.java b/corejava第9版/v2ch07/rasterImage/RasterImageTest.java new file mode 100644 index 0000000..c8a1bb1 --- /dev/null +++ b/corejava第9版/v2ch07/rasterImage/RasterImageTest.java @@ -0,0 +1,26 @@ +package rasterImage; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates how to build up an image from individual pixels. + * @version 1.13 2007-08-16 + * @author Cay Horstmann + */ +public class RasterImageTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new RasterImageFrame(); + frame.setTitle("RasterImageTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/renderQuality/GBC.java b/corejava第9版/v2ch07/renderQuality/GBC.java new file mode 100644 index 0000000..d011b9f --- /dev/null +++ b/corejava第9版/v2ch07/renderQuality/GBC.java @@ -0,0 +1,131 @@ +package renderQuality; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch07/renderQuality/RenderQualityTest.java b/corejava第9版/v2ch07/renderQuality/RenderQualityTest.java new file mode 100644 index 0000000..9ce013e --- /dev/null +++ b/corejava第9版/v2ch07/renderQuality/RenderQualityTest.java @@ -0,0 +1,26 @@ +package renderQuality; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the effect of the various rendering hints. + * @version 1.10 2007-08-16 + * @author Cay Horstmann + */ +public class RenderQualityTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new RenderQualityTestFrame(); + frame.setTitle("RenderQualityTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/renderQuality/RenderQualityTestFrame.java b/corejava第9版/v2ch07/renderQuality/RenderQualityTestFrame.java new file mode 100644 index 0000000..edecf24 --- /dev/null +++ b/corejava第9版/v2ch07/renderQuality/RenderQualityTestFrame.java @@ -0,0 +1,133 @@ +package renderQuality; + +import java.awt.*; +import java.awt.event.*; +import java.awt.geom.*; +import javax.swing.*; + +/** + * This frame contains buttons to set rendering hints and an image that is drawn with the selected + * hints. + */ +public class RenderQualityTestFrame extends JFrame +{ + private RenderQualityComponent canvas; + private JPanel buttonBox; + private RenderingHints hints; + private int r; + + public RenderQualityTestFrame() + { + buttonBox = new JPanel(); + buttonBox.setLayout(new GridBagLayout()); + hints = new RenderingHints(null); + + makeButtons("KEY_ANTIALIASING", "VALUE_ANTIALIAS_OFF", "VALUE_ANTIALIAS_ON"); + makeButtons("KEY_TEXT_ANTIALIASING", "VALUE_TEXT_ANTIALIAS_OFF", "VALUE_TEXT_ANTIALIAS_ON"); + makeButtons("KEY_FRACTIONALMETRICS", "VALUE_FRACTIONALMETRICS_OFF", + "VALUE_FRACTIONALMETRICS_ON"); + makeButtons("KEY_RENDERING", "VALUE_RENDER_SPEED", "VALUE_RENDER_QUALITY"); + makeButtons("KEY_STROKE_CONTROL", "VALUE_STROKE_PURE", "VALUE_STROKE_NORMALIZE"); + canvas = new RenderQualityComponent(); + canvas.setRenderingHints(hints); + + add(canvas, BorderLayout.CENTER); + add(buttonBox, BorderLayout.NORTH); + pack(); + } + + /** + * Makes a set of buttons for a rendering hint key and values. + * @param key the key name + * @param value1 the name of the first value for the key + * @param value2 the name of the second value for the key + */ + void makeButtons(String key, String value1, String value2) + { + try + { + final RenderingHints.Key k = (RenderingHints.Key) RenderingHints.class.getField(key).get( + null); + final Object v1 = RenderingHints.class.getField(value1).get(null); + final Object v2 = RenderingHints.class.getField(value2).get(null); + JLabel label = new JLabel(key); + + buttonBox.add(label, new GBC(0, r).setAnchor(GBC.WEST)); + ButtonGroup group = new ButtonGroup(); + JRadioButton b1 = new JRadioButton(value1, true); + + buttonBox.add(b1, new GBC(1, r).setAnchor(GBC.WEST)); + group.add(b1); + b1.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + hints.put(k, v1); + canvas.setRenderingHints(hints); + } + }); + JRadioButton b2 = new JRadioButton(value2, false); + + buttonBox.add(b2, new GBC(2, r).setAnchor(GBC.WEST)); + group.add(b2); + b2.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + hints.put(k, v2); + canvas.setRenderingHints(hints); + } + }); + hints.put(k, v1); + r++; + } + catch (Exception e) + { + e.printStackTrace(); + } + } +} + +/** + * This component produces a drawing that shows the effect of rendering hints. + */ +class RenderQualityComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 750; + private static final int DEFAULT_HEIGHT = 150; + + private RenderingHints hints = new RenderingHints(null); + private Image image; + + public RenderQualityComponent() + { + image = new ImageIcon(getClass().getResource("face.gif")).getImage(); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHints(hints); + + g2.draw(new Ellipse2D.Double(10, 10, 60, 50)); + g2.setFont(new Font("Serif", Font.ITALIC, 40)); + g2.drawString("Hello", 75, 50); + + g2.draw(new Rectangle2D.Double(200, 10, 40, 40)); + g2.draw(new Line2D.Double(201, 11, 239, 49)); + + g2.drawImage(image, 250, 10, 100, 100, null); + } + + /** + * Sets the hints and repaints. + * @param h the rendering hints + */ + public void setRenderingHints(RenderingHints h) + { + hints = h; + repaint(); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} diff --git a/corejava第9版/v2ch07/renderQuality/face.gif b/corejava第9版/v2ch07/renderQuality/face.gif new file mode 100644 index 0000000000000000000000000000000000000000..7fbdbaac0f0ce8a3b7a32170b7928d2a3723f8e9 GIT binary patch literal 614 zcmWm93rmv$7>40@qNX@%nAWfjW^N!lb=tDEiLSJ^;h`l4BS}0=m}q1+6-1hA;kPi; z5+)hum`ST7wM`_HJjQGoDoP>+A`*65(!DAB$JU+Nje=B7Ls01CKFjK#4yy+9t6(dH&?ZxgV45WogFKp4OUctA9u1@ZtLPzdM&15gPVfqK9M zJOf<7DBuBBfHmMNunGJEwgE)$gr`@P78y(Rg4!~pL6B!C6{s}XS`zQk_K*~~GuBn9 z7Du#9KdO3DA@7=V8s%H7hPd!D>Cq<_-T5uv#kaX1-16poAE!N+dfm_aGzt8AgJK!w zqT`jRk_M(cz9ctQY;7rvO*!A(YKw|(%4ux3#h**=?6hPlt~+d^y3E8HKAS@LOy7X3 zIw4bTtnQ})=G9oW@QUV`Y1GSjM@>nZR71@~$hh}iO?1Z@S;OE9cmJyCgj(wS93@r9 zeR0OAV|RoptB(^$dSMax@;hHKU|7AL%9OKlENaQ6$mgHvIS zkl>VFmf1cLc_I6BWQSIHWAQ*3J42cAH285kkH;mYeLOIu>)~(Ryf##%qVGv{^Ruso vNy%BxgKm|TS76)djS)}HxYIA+PK+-OXgU;MFlN0!^U}3GYfnEC>_>|K type = obj.getClass(); + String mimeType = "application/x-java-serialized-object;class=" + type.getName(); + try + { + flavors[0] = new DataFlavor(mimeType); + flavors[1] = DataFlavor.stringFlavor; + return flavors; + } + catch (ClassNotFoundException e) + { + return new DataFlavor[0]; + } + } + + public boolean isDataFlavorSupported(DataFlavor flavor) + { + return DataFlavor.stringFlavor.equals(flavor) + || "application".equals(flavor.getPrimaryType()) + && "x-java-serialized-object".equals(flavor.getSubType()) + && flavor.getRepresentationClass().isAssignableFrom(obj.getClass()); + } + + public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException + { + if (!isDataFlavorSupported(flavor)) throw new UnsupportedFlavorException(flavor); + + if (DataFlavor.stringFlavor.equals(flavor)) return obj.toString(); + + return obj; + } +} diff --git a/corejava第9版/v2ch07/serialTransfer/SerialTransferTest.java b/corejava第9版/v2ch07/serialTransfer/SerialTransferTest.java new file mode 100644 index 0000000..a6c8a16 --- /dev/null +++ b/corejava第9版/v2ch07/serialTransfer/SerialTransferTest.java @@ -0,0 +1,26 @@ +package serialTransfer; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the transfer of serialized objects between virtual machines. + * @version 1.02 2007-08-16 + * @author Cay Horstmann + */ +public class SerialTransferTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new SerialTransferFrame(); + frame.setTitle("SerialTransferTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch07/shape/ShapeTest.java b/corejava第9版/v2ch07/shape/ShapeTest.java new file mode 100644 index 0000000..9523c3f --- /dev/null +++ b/corejava第9版/v2ch07/shape/ShapeTest.java @@ -0,0 +1,356 @@ +package shape; + +import java.awt.*; +import java.awt.event.*; +import java.awt.geom.*; +import java.util.*; +import javax.swing.*; + +/** + * This program demonstrates the various 2D shapes. + * @version 1.02 2007-08-16 + * @author Cay Horstmann + */ +public class ShapeTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ShapeTestFrame(); + frame.setTitle("ShapeTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains a combo box to select a shape and a component to draw it. + */ +class ShapeTestFrame extends JFrame +{ + public ShapeTestFrame() + { + final ShapeComponent comp = new ShapeComponent(); + add(comp, BorderLayout.CENTER); + final JComboBox comboBox = new JComboBox<>(); + comboBox.addItem(new LineMaker()); + comboBox.addItem(new RectangleMaker()); + comboBox.addItem(new RoundRectangleMaker()); + comboBox.addItem(new EllipseMaker()); + comboBox.addItem(new ArcMaker()); + comboBox.addItem(new PolygonMaker()); + comboBox.addItem(new QuadCurveMaker()); + comboBox.addItem(new CubicCurveMaker()); + comboBox.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + ShapeMaker shapeMaker = comboBox.getItemAt(comboBox.getSelectedIndex()); + comp.setShapeMaker(shapeMaker); + } + }); + add(comboBox, BorderLayout.NORTH); + comp.setShapeMaker((ShapeMaker) comboBox.getItemAt(0)); + pack(); + } + +} + +/** + * This component draws a shape and allows the user to move the points that define it. + */ +class ShapeComponent extends JComponent +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private Point2D[] points; + private static Random generator = new Random(); + private static int SIZE = 10; + private int current; + private ShapeMaker shapeMaker; + + public ShapeComponent() + { + addMouseListener(new MouseAdapter() + { + public void mousePressed(MouseEvent event) + { + Point p = event.getPoint(); + for (int i = 0; i < points.length; i++) + { + double x = points[i].getX() - SIZE / 2; + double y = points[i].getY() - SIZE / 2; + Rectangle2D r = new Rectangle2D.Double(x, y, SIZE, SIZE); + if (r.contains(p)) + { + current = i; + return; + } + } + } + + public void mouseReleased(MouseEvent event) + { + current = -1; + } + }); + addMouseMotionListener(new MouseMotionAdapter() + { + public void mouseDragged(MouseEvent event) + { + if (current == -1) return; + points[current] = event.getPoint(); + repaint(); + } + }); + current = -1; + } + + /** + * Set a shape maker and initialize it with a random point set. + * @param aShapeMaker a shape maker that defines a shape from a point set + */ + public void setShapeMaker(ShapeMaker aShapeMaker) + { + shapeMaker = aShapeMaker; + int n = shapeMaker.getPointCount(); + points = new Point2D[n]; + for (int i = 0; i < n; i++) + { + double x = generator.nextDouble() * getWidth(); + double y = generator.nextDouble() * getHeight(); + points[i] = new Point2D.Double(x, y); + } + repaint(); + } + + public void paintComponent(Graphics g) + { + if (points == null) return; + Graphics2D g2 = (Graphics2D) g; + for (int i = 0; i < points.length; i++) + { + double x = points[i].getX() - SIZE / 2; + double y = points[i].getY() - SIZE / 2; + g2.fill(new Rectangle2D.Double(x, y, SIZE, SIZE)); + } + + g2.draw(shapeMaker.makeShape(points)); + } + + public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); } +} + +/** + * A shape maker can make a shape from a point set. Concrete subclasses must return a shape in the + * makeShape method. + */ +abstract class ShapeMaker +{ + public abstract Shape makeShape(Point2D[] p); + private int pointCount; + + /** + * Constructs a shape maker. + * @param aPointCount the number of points needed to define this shape. + */ + public ShapeMaker(int aPointCount) + { + pointCount = aPointCount; + } + + /** + * Gets the number of points needed to define this shape. + * @return the point count + */ + public int getPointCount() + { + return pointCount; + } + + /** + * Makes a shape out of the given point set. + * @param p the points that define the shape + * @return the shape defined by the points + */ + + public String toString() + { + return getClass().getName(); + } + +} + +/** + * Makes a line that joins two given points. + */ +class LineMaker extends ShapeMaker +{ + public LineMaker() + { + super(2); + } + + public Shape makeShape(Point2D[] p) + { + return new Line2D.Double(p[0], p[1]); + } +} + +/** + * Makes a rectangle that joins two given corner points. + */ +class RectangleMaker extends ShapeMaker +{ + public RectangleMaker() + { + super(2); + } + + public Shape makeShape(Point2D[] p) + { + Rectangle2D s = new Rectangle2D.Double(); + s.setFrameFromDiagonal(p[0], p[1]); + return s; + } +} + +/** + * Makes a round rectangle that joins two given corner points. + */ +class RoundRectangleMaker extends ShapeMaker +{ + public RoundRectangleMaker() + { + super(2); + } + + public Shape makeShape(Point2D[] p) + { + RoundRectangle2D s = new RoundRectangle2D.Double(0, 0, 0, 0, 20, 20); + s.setFrameFromDiagonal(p[0], p[1]); + return s; + } +} + +/** + * Makes an ellipse contained in a bounding box with two given corner points. + */ +class EllipseMaker extends ShapeMaker +{ + public EllipseMaker() + { + super(2); + } + + public Shape makeShape(Point2D[] p) + { + Ellipse2D s = new Ellipse2D.Double(); + s.setFrameFromDiagonal(p[0], p[1]); + return s; + } +} + +/** + * Makes an arc contained in a bounding box with two given corner points, and with starting and + * ending angles given by lines emanating from the center of the bounding box and ending in two + * given points. To show the correctness of the angle computation, the returned shape contains the + * arc, the bounding box, and the lines. + */ +class ArcMaker extends ShapeMaker +{ + public ArcMaker() + { + super(4); + } + + public Shape makeShape(Point2D[] p) + { + double centerX = (p[0].getX() + p[1].getX()) / 2; + double centerY = (p[0].getY() + p[1].getY()) / 2; + double width = Math.abs(p[1].getX() - p[0].getX()); + double height = Math.abs(p[1].getY() - p[0].getY()); + + double skewedStartAngle = Math.toDegrees(Math.atan2(-(p[2].getY() - centerY) * width, + (p[2].getX() - centerX) * height)); + double skewedEndAngle = Math.toDegrees(Math.atan2(-(p[3].getY() - centerY) * width, + (p[3].getX() - centerX) * height)); + double skewedAngleDifference = skewedEndAngle - skewedStartAngle; + if (skewedStartAngle < 0) skewedStartAngle += 360; + if (skewedAngleDifference < 0) skewedAngleDifference += 360; + + Arc2D s = new Arc2D.Double(0, 0, 0, 0, skewedStartAngle, skewedAngleDifference, Arc2D.OPEN); + s.setFrameFromDiagonal(p[0], p[1]); + + GeneralPath g = new GeneralPath(); + g.append(s, false); + Rectangle2D r = new Rectangle2D.Double(); + r.setFrameFromDiagonal(p[0], p[1]); + g.append(r, false); + Point2D center = new Point2D.Double(centerX, centerY); + g.append(new Line2D.Double(center, p[2]), false); + g.append(new Line2D.Double(center, p[3]), false); + return g; + } +} + +/** + * Makes a polygon defined by six corner points. + */ +class PolygonMaker extends ShapeMaker +{ + public PolygonMaker() + { + super(6); + } + + public Shape makeShape(Point2D[] p) + { + GeneralPath s = new GeneralPath(); + s.moveTo((float) p[0].getX(), (float) p[0].getY()); + for (int i = 1; i < p.length; i++) + s.lineTo((float) p[i].getX(), (float) p[i].getY()); + s.closePath(); + return s; + } +} + +/** + * Makes a quad curve defined by two end points and a control point. + */ +class QuadCurveMaker extends ShapeMaker +{ + public QuadCurveMaker() + { + super(3); + } + + public Shape makeShape(Point2D[] p) + { + return new QuadCurve2D.Double(p[0].getX(), p[0].getY(), p[1].getX(), p[1].getY(), + p[2].getX(), p[2].getY()); + } +} + +/** + * Makes a cubic curve defined by two end points and two control points. + */ +class CubicCurveMaker extends ShapeMaker +{ + public CubicCurveMaker() + { + super(4); + } + + public Shape makeShape(Point2D[] p) + { + return new CubicCurve2D.Double(p[0].getX(), p[0].getY(), p[1].getX(), p[1].getY(), p[2] + .getX(), p[2].getY(), p[3].getX(), p[3].getY()); + } +} diff --git a/corejava第9版/v2ch07/splashScreen/SplashScreenTest.java b/corejava第9版/v2ch07/splashScreen/SplashScreenTest.java new file mode 100644 index 0000000..6c2000f --- /dev/null +++ b/corejava第9版/v2ch07/splashScreen/SplashScreenTest.java @@ -0,0 +1,138 @@ +package splashScreen; + +import java.awt.*; +import java.util.List; +import javax.swing.*; + +/** + * This program demonstrates the splash screen API. + * @version 1.00 2007-09-21 + * @author Cay Horstmann + */ +public class SplashScreenTest +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 300; + + private static SplashScreen splash; + + private static void drawOnSplash(int percent) + { + Rectangle bounds = splash.getBounds(); + Graphics2D g = splash.createGraphics(); + int height = 20; + int x = 2; + int y = bounds.height - height - 2; + int width = bounds.width - 4; + Color brightPurple = new Color(76, 36, 121); + g.setColor(brightPurple); + g.fillRect(x, y, width * percent / 100, height); + splash.update(); + } + + /** + * This method draws on the splash screen. + */ + private static void init1() + { + splash = SplashScreen.getSplashScreen(); + if (splash == null) + { + System.err.println("Did you specify a splash image with -splash or in the manifest?"); + System.exit(1); + } + + try + { + for (int i = 0; i <= 100; i++) + { + drawOnSplash(i); + Thread.sleep(100); // simulate startup work + } + } + catch (InterruptedException e) + { + } + } + + /** + * This method displays a frame with the same image as the splash screen. + */ + private static void init2() + { + final Image img = new ImageIcon(splash.getImageURL()).getImage(); + + final JFrame splashFrame = new JFrame(); + splashFrame.setUndecorated(true); + + final JPanel splashPanel = new JPanel() + { + public void paintComponent(Graphics g) + { + g.drawImage(img, 0, 0, null); + } + }; + + final JProgressBar progressBar = new JProgressBar(); + progressBar.setStringPainted(true); + splashPanel.setLayout(new BorderLayout()); + splashPanel.add(progressBar, BorderLayout.SOUTH); + + splashFrame.add(splashPanel); + splashFrame.setBounds(splash.getBounds()); + splashFrame.setVisible(true); + + new SwingWorker() + { + protected Void doInBackground() throws Exception + { + try + { + for (int i = 0; i <= 100; i++) + { + publish(i); + Thread.sleep(100); + } + } + catch (InterruptedException e) + { + } + return null; + } + + protected void process(List chunks) + { + for (Integer chunk : chunks) + { + progressBar.setString("Loading module " + chunk); + progressBar.setValue(chunk); + splashPanel.repaint(); // because img is loaded asynchronously + } + } + + protected void done() + { + splashFrame.setVisible(false); + + JFrame frame = new JFrame(); + frame.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setTitle("SplashScreenTest"); + frame.setVisible(true); + } + }.execute(); + } + + public static void main(String args[]) + { + init1(); + + EventQueue.invokeLater(new Runnable() + { + public void run() + { + init2(); + } + }); + } +} diff --git a/corejava第9版/v2ch07/splashScreen/splash.png b/corejava第9版/v2ch07/splashScreen/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..19643b3f8fd0471438c954ab6dfe2187f281cfb0 GIT binary patch literal 21484 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 fortunes = readFortunes(); + Timer timer = new Timer(10000, new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + int index = (int) (fortunes.size() * Math.random()); + trayIcon.displayMessage("Your Fortune", fortunes.get(index), + TrayIcon.MessageType.INFO); + } + }); + timer.start(); + } + + private List readFortunes() + { + List fortunes = new ArrayList<>(); + try (InputStream inStream = getClass().getResourceAsStream("fortunes")) + { + Scanner in = new Scanner(inStream); + StringBuilder fortune = new StringBuilder(); + while (in.hasNextLine()) + { + String line = in.nextLine(); + if (line.equals("%")) + { + fortunes.add(fortune.toString()); + fortune = new StringBuilder(); + } + else + { + fortune.append(line); + fortune.append(' '); + } + } + } + catch (IOException ex) + { + ex.printStackTrace(); + } + return fortunes; + } +} diff --git a/corejava第9版/v2ch07/systemTray/cookie.png b/corejava第9版/v2ch07/systemTray/cookie.png new file mode 100644 index 0000000000000000000000000000000000000000..1043da50065c459a94ff5a34f740d0a4bd624611 GIT binary patch literal 3158 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch07/systemTray/fortunes b/corejava第9版/v2ch07/systemTray/fortunes new file mode 100644 index 0000000..977703e --- /dev/null +++ b/corejava第9版/v2ch07/systemTray/fortunes @@ -0,0 +1,916 @@ +A day for firm decisions!!!!! Or is it? +% +A few hours grace before the madness begins again. +% +A gift of a flower will soon be made to you. +% +A long-forgotten loved one will appear soon. + +Buy the negatives at any price. +% +A tall, dark stranger will have more fun than you. +% +A visit to a fresh place will bring strange work. +% +A visit to a strange place will bring fresh work. +% +A vivid and creative mind characterizes you. +% +Abandon the search for Truth; settle for a good fantasy. +% +Accent on helpful side of your nature. Drain the moat. +% +Advancement in position. +% +After your lover has gone you will still have PEANUT BUTTER! +% +Afternoon very favorable for romance. Try a single person for a change. +% +Alimony and bribes will engage a large share of your wealth. +% +All the troubles you have will pass away very quickly. +% +Among the lucky, you are the chosen one. +% +An avocado-tone refrigerator would look good on your resume. +% +An exotic journey in downtown Newark is in your future. +% +Another good night not to sleep in a eucalyptus tree. +% +Are you a turtle? +% +Are you ever going to do the dishes? Or will you change your major to biology? +% +Are you making all this up as you go along? +% +Are you sure the back door is locked? +% +Artistic ventures highlighted. Rob a museum. +% +Avert misunderstanding by calm, poise, and balance. +% +Avoid gunfire in the bathroom tonight. +% +Avoid reality at all costs. +% +Bank error in your favor. Collect $200. +% +Be careful! Is it classified? +% +Be careful! UGLY strikes 9 out of 10! +% +Be cautious in your daily affairs. +% +Be cheerful while you are alive. + -- Phathotep, 24th Century B.C. +% +Be different: conform. +% +Be free and open and breezy! Enjoy! Things won't get any better so +get used to it. +% +Be security conscious -- National defense is at stake. +% +Beauty and harmony are as necessary to you as the very breath of life. +% +Best of all is never to have been born. Second best is to die soon. +% +Better hope the life-inspector doesn't come around while you have your +life in such a mess. +% +Beware of a dark-haired man with a loud tie. +% +Beware of a tall black man with one blond shoe. +% +Beware of a tall blond man with one black shoe. +% +Beware of Bigfoot! +% +Beware of low-flying butterflies. +% +Beware the one behind you. +% +Blow it out your ear. +% +Break into jail and claim police brutality. +% +Bridge ahead. Pay troll. +% +Caution: breathing may be hazardous to your health. +% +Caution: Keep out of reach of children. +% +Celebrate Hannibal Day this year. Take an elephant to lunch. +% +Change your thoughts and you change your world. +% +Cheer Up! Things are getting worse at a slower rate. +% +Chess tonight. +% +Chicken Little only has to be right once. +% +Chicken Little was right. +% +Cold hands, no gloves. +% +Communicate! It can't make things any worse. +% +Courage is your greatest present need. +% +Day of inquiry. You will be subpoenaed. +% +Do not overtax your powers. +% +Do not sleep in a eucalyptus tree tonight. +% +Do nothing unless you must, and when you must act -- hesitate. +% +Do something unusual today. Pay a bill. +% +Do what comes naturally. Seethe and fume and throw a tantrum. +% +Domestic happiness and faithful friends. +% +Don't feed the bats tonight. +% +Don't get stuck in a closet -- wear yourself out. +% +Don't get to bragging. +% +Don't go surfing in South Dakota for a while. +% +Don't hate yourself in the morning -- sleep till noon. +% +Don't kiss an elephant on the lips today. +% +Don't let your mind wander -- it's too little to be let out alone. +% +Don't look back, the lemmings are gaining on you. +% +Don't look now, but the man in the moon is laughing at you. +% +Don't look now, but there is a multi-legged creature on your shoulder. +% +Don't plan any hasty moves. You'll be evicted soon anyway. +% +Don't read any sky-writing for the next two weeks. +% +Don't read everything you believe. +% +Don't relax! It's only your tension that's holding you together. +% +Don't tell any big lies today. Small ones can be just as effective. +% +Don't worry so loud, your roommate can't think. +% +Don't Worry, Be Happy. + -- Meher Baba +% +Don't worry. Life's too long. + -- Vincent Sardi, Jr. +% +Don't you feel more like you do now than you did when you came in? +% +Don't you wish you had more energy... or less ambition? +% +Everything that you know is wrong, but you can be straightened out. +% +Everything will be just tickety-boo today. +% +Excellent day for putting Slinkies on an escalator. +% +Excellent day to have a rotten day. +% +Excellent time to become a missing person. +% +Executive ability is prominent in your make-up. +% +Exercise caution in your daily affairs. +% +Expect a letter from a friend who will ask a favor of you. +% +Expect the worst, it's the least you can do. +% +Fine day for friends. +So-so day for you. +% +Fine day to work off excess energy. Steal something heavy. +% +Fortune: You will be attacked next Wednesday at 3:15 p.m. by six samurai +sword wielding purple fish glued to Harley-Davidson motorcycles. + +Oh, and have a nice day! + -- Bryce Nesbitt '84 +% +Future looks spotty. You will spill soup in late evening. +% +Generosity and perfection are your everlasting goals. +% +Give him an evasive answer. +% +Give thought to your reputation. Consider changing name and moving to +a new town. +% +Give your very best today. Heaven knows it's little enough. +% +Go to a movie tonight. Darkness becomes you. +% +Good day for a change of scene. Repaper the bedroom wall. +% +Good day for overcoming obstacles. Try a steeplechase. +% +Good day to deal with people in high places; particularly lonely stewardesses. +% +Good day to let down old friends who need help. +% +Good news from afar can bring you a welcome visitor. +% +Good news. Ten weeks from Friday will be a pretty good day. +% +Good night to spend with family, but avoid arguments with your mate's +new lover. +% +Green light in A.M. for new projects. Red light in P.M. for traffic tickets. +% +Hope that the day after you die is a nice day. +% +If you can read this, you're too close. +% +If you learn one useless thing every day, in a single year you'll learn +365 useless things. +% +If you sow your wild oats, hope for a crop failure. +% +If you stand on your head, you will get footprints in your hair. +% +If you think last Tuesday was a drag, wait till you see what happens tomorrow! +% +If your life was a horse, you'd have to shoot it. +% +In the stairway of life, you'd best take the elevator. +% +Increased knowledge will help you now. Have mate's phone bugged. +% +Is that really YOU that is reading this? +% +Is this really happening? +% +It is so very hard to be an +on-your-own-take-care-of-yourself-because-there-is-no-one-else-to-do-it-for-you +grown-up. +% +It may or may not be worthwhile, but it still has to be done. +% +It was all so different before everything changed. +% +It's a very *__UN*lucky week in which to be took dead. + -- Churchy La Femme +% +It's all in the mind, ya know. +% +It's lucky you're going so slowly, because you're going in the wrong direction. +% +Just because the message may never be received does not mean it is +not worth sending. +% +Just to have it is enough. +% +Keep emotionally active. Cater to your favorite neurosis. +% +Keep it short for pithy sake. +% +Lady Luck brings added income today. Lady friend takes it away tonight. +% +Learn to pause -- or nothing worthwhile can catch up to you. +% +Let me put it this way: today is going to be a learning experience. +% +Life is to you a dashing and bold adventure. +% +"Life, loathe it or ignore it, you can't like it." + -- Marvin, "Hitchhiker's Guide to the Galaxy" +% +Live in a world of your own, but always welcome visitors. +% +Living your life is a task so difficult, it has never been attempted before. +% +Long life is in store for you. +% +Look afar and see the end from the beginning. +% +Love is in the offing. Be affectionate to one who adores you. +% +Make a wish, it might come true. +% +Many changes of mind and mood; do not hesitate too long. +% +Never be led astray onto the path of virtue. +% +Never commit yourself! Let someone else commit you. +% +Never give an inch! +% +Never look up when dragons fly overhead. +% +Never reveal your best argument. +% +Next Friday will not be your lucky day. As a matter of fact, you don't +have a lucky day this year. +% +Of course you have a purpose -- to find a purpose. +% +People are beginning to notice you. Try dressing before you leave the house. +% +Perfect day for scrubbing the floor and other exciting things. +% +Questionable day. + +Ask somebody something. +% +Reply hazy, ask again later. +% +Save energy: be apathetic. +% +Ships are safe in harbor, but they were never meant to stay there. +% +Slow day. Practice crawling. +% +Snow Day -- stay home. +% +So this is it. We're going to die. +% +So you're back... about time... +% +Someone is speaking well of you. +% +Someone is speaking well of you. + +How unusual! +% +Someone whom you reject today, will reject you tomorrow. +% +Stay away from flying saucers today. +% +Stay away from hurricanes for a while. +% +Stay the curse. +% +That secret you've been guarding, isn't. +% +The time is right to make new friends. +% +The whole world is a tuxedo and you are a pair of brown shoes. + -- George Gobel +% +There is a 20% chance of tomorrow. +% +There is a fly on your nose. +% +There was a phone call for you. +% +There will be big changes for you but you will be happy. +% +Things will be bright in P.M. A cop will shine a light in your face. +% +Think twice before speaking, but don't say "think think click click". +% +This life is yours. Some of it was given to you; the rest, you made yourself. +% +This will be a memorable month -- no matter how hard you try to forget it. +% +Time to be aggressive. Go after a tattooed Virgo. +% +Today is National Existential Ennui Awareness Day. +% +Today is the first day of the rest of the mess. +% +Today is the first day of the rest of your life. +% +Today is the last day of your life so far. +% +Today is the tomorrow you worried about yesterday. +% +Today is what happened to yesterday. +% +Today's weirdness is tomorrow's reason why. + -- Hunter S. Thompson +% +Tomorrow will be cancelled due to lack of interest. +% +Tomorrow, this will be part of the unchangeable past but fortunately, +it can still be changed today. +% +Tomorrow, you can be anywhere. +% +Tonight you will pay the wages of sin; Don't forget to leave a tip. +% +Tonight's the night: Sleep in a eucalyptus tree. +% +Troubled day for virgins over 16 who are beautiful and wealthy and live +in eucalyptus trees. +% +Truth will out this morning. (Which may really mess things up.) +% +Try the Moo Shu Pork. It is especially good today. +% +Try to get all of your posthumous medals in advance. +% +Try to have as good a life as you can under the circumstances. +% +Try to relax and enjoy the crisis. + -- Ashleigh Brilliant +% +Try to value useful qualities in one who loves you. +% +Tuesday After Lunch is the cosmic time of the week. +% +Tuesday is the Wednesday of the rest of your life. +% +What happened last night can happen again. +% +While you recently had your problems on the run, they've regrouped and +are making another attack. +% +Write yourself a threatening letter and pen a defiant reply. +% +You are a bundle of energy, always on the go. +% +You are a fluke of the universe; you have no right to be here. +% +You are a very redundant person, that's what kind of person you are. +% +You are always busy. +% +You are as I am with You. +% +You are capable of planning your future. +% +You are confused; but this is your normal state. +% +You are deeply attached to your friends and acquaintances. +% +You are destined to become the commandant of the fighting men of the +department of transportation. +% +You are dishonest, but never to the point of hurting a friend. +% +You are fairminded, just and loving. +% +You are farsighted, a good planner, an ardent lover, and a faithful friend. +% +You are fighting for survival in your own sweet and gentle way. +% +You are going to have a new love affair. +% +You are magnetic in your bearing. +% +You are not dead yet. But watch for further reports. +% +You are number 6! Who is number one? +% +You are only young once, but you can stay immature indefinitely. +% +You are scrupulously honest, frank, and straightforward. Therefore you +have few friends. +% +You are sick, twisted and perverted. I like that in a person. +% +You are so boring that when I see you my feet go to sleep. +% +You are standing on my toes. +% +You are taking yourself far too seriously. +% +You are the only person to ever get this message. +% +You are wise, witty, and wonderful, but you spend too much time reading +this sort of trash. +% +You attempt things that you do not even plan because of your extreme stupidity. +% +You can create your own opportunities this week. Blackmail a senior executive. +% +You can do very well in speculation where land or anything to do with dirt +is concerned. +% +You can rent this space for only $5 a week. +% +You could live a better life, if you had a better mind and a better body. +% +You definitely intend to start living sometime soon. +% +You dialed 5483. +% +You display the wonderful traits of charm and courtesy. +% +You don't become a failure until you're satisfied with being one. +% +You enjoy the company of other people. +% +You feel a whole lot more like you do now than you did when you used to. +% +You fill a much-needed gap. +% +You get along very well with everyone except animals and people. +% +You had some happiness once, but your parents moved away, and you had to +leave it behind. +% +You have a deep appreciation of the arts and music. +% +You have a deep interest in all that is artistic. +% +You have a reputation for being thoroughly reliable and trustworthy. +A pity that it's totally undeserved. +% +You have a strong appeal for members of the opposite sex. +% +You have a strong appeal for members of your own sex. +% +You have a strong desire for a home and your family interests come first. +% +You have a truly strong individuality. +% +You have a will that can be influenced by all with whom you come in contact. +% +You have an ability to sense and know higher truth. +% +You have an ambitious nature and may make a name for yourself. +% +You have an unusual equipment for success. Be sure to use it properly. +% +You have an unusual magnetic personality. Don't walk too close to +metal objects which are not fastened down. +% +You have an unusual understanding of the problems of human relationships. +% +You have been selected for a secret mission. +% +You have Egyptian flu: you're going to be a mummy. +% +You have had a long-term stimulation relative to business. +% +You have literary talent that you should take pains to develop. +% +You have many friends and very few living enemies. +% +You have no real enemies. +% +You have taken yourself too seriously. +% +You have the body of a 19 year old. Please return it before it gets wrinkled. +% +You have the capacity to learn from mistakes. You'll learn a lot today. +% +You have the power to influence all with whom you come in contact. +% +You learn to write as if to someone else because NEXT YEAR YOU WILL BE +"SOMEONE ELSE." +% +You like to form new friendships and make new acquaintances. +% +You look like a million dollars. All green and wrinkled. +% +You look tired. +% +You love peace. +% +You love your home and want it to be beautiful. +% +You may be gone tomorrow, but that doesn't mean that you weren't here today. +% +You may be infinitely smaller than some things, but you're infinitely +larger than others. +% +You may be recognized soon. Hide. +% +You may get an opportunity for advancement today. Watch it! +% +You may worry about your hair-do today, but tomorrow much peanut butter will +be sold. +% +You need more time; and you probably always will. +% +You need no longer worry about the future. This time tomorrow you'll be dead. +% +You never hesitate to tackle the most difficult problems. +% +You never know how many friends you have until you rent a house on the beach. +% +You now have Asian Flu. +% +You own a dog, but you can only feed a cat. +% +You plan things that you do not even attempt because of your extreme caution. +% +You possess a mind not merely twisted, but actually sprained. +% +You prefer the company of the opposite sex, but are well liked by your own. +% +You recoil from the crude; you tend naturally toward the exquisite. +% +You seek to shield those you love and you like the role of the provider. +% +You shall be rewarded for a dastardly deed. +% +You should emulate your heros, but don't carry it too far. Especially +if they are dead. +% +You should go home. +% +You single-handedly fought your way into this hopeless mess. +% +You teach best what you most need to learn. +% +You too can wear a nose mitten. +% +You two ought to be more careful--your love could drag on for years and years. +% +You will always get the greatest recognition for the job you least like. +% +You will always have good luck in your personal affairs. +% +You will attract cultured and artistic people to your home. +% +You will be a winner today. Pick a fight with a four-year-old. +% +You will be advanced socially, without any special effort on your part. +% +You will be aided greatly by a person whom you thought to be unimportant. +% +You will be attacked by a beast who has the body of a wolf, the tail of +a lion, and the face of Donald Duck. +% +You will be audited by the Internal Revenue Service. +% +You will be awarded a medal for disregarding safety in saving someone. +% +You will be awarded some great honor. +% +You will be awarded the Nobel Peace Prize... posthumously. +% +You will be called upon to help a friend in trouble. +% +You will be divorced within a year. +% +You will be given a post of trust and responsibility. +% +You will be held hostage by a radical group. +% +You will be honored for contributing your time and skill to a worthy cause. +% +You will be imprisoned for contributing your time and skill to a bank robbery. +% +You will be married within a year, and divorced within two. +% +You will be married within a year. +% +You will be misunderstood by everyone. +% +You will be recognized and honored as a community leader. +% +You will be reincarnated as a toad; and you will be much happier. +% +You will be run over by a beer truck. +% +You will be run over by a bus. +% +You will be singled out for promotion in your work. +% +You will be successful in love. +% +You will be surprised by a loud noise. +% +You will be surrounded by luxury. +% +You will be the last person to buy a Chrysler. +% +You will be the victim of a bizarre joke. +% +You will be Told about it Tomorrow. Go Home and Prepare Thyself. +% +You will be traveling and coming into a fortune. +% +You will be winged by an anti-aircraft battery. +% +You will become rich and famous unless you don't. +% +You will contract a rare disease. +% +You will engage in a profitable business activity. +% +You will experience a strong urge to do good; but it will pass. +% +You will feel hungry again in another hour. +% +You will forget that you ever knew me. +% +You will gain money by a fattening action. +% +You will gain money by a speculation or lottery. +% +You will gain money by an illegal action. +% +You will gain money by an immoral action. +% +You will get what you deserve. +% +You will give someone a piece of your mind, which you can ill afford. +% +You will have a long and boring life. +% +You will have a long and unpleasant discussion with your supervisor. +% +You will have domestic happiness and faithful friends. +% +You will have good luck and overcome many hardships. +% +You will have long and healthy life. +% +You will hear good news from one you thought unfriendly to you. +% +You will inherit millions of dollars. +% +You will inherit some money or a small piece of land. +% +You will live a long, healthy, happy life and make bags of money. +% +You will live to see your grandchildren. +% +You will lose your present job and have to become a door to door mayonnaise +salesman. +% +You will meet an important person who will help you advance professionally. +% +You will never know hunger. +% +You will not be elected to public office this year. +% +You will obey or molten silver will be poured into your ears. +% +You will outgrow your usefulness. +% +You will overcome the attacks of jealous associates. +% +You will pass away very quickly. +% +You will pay for your sins. If you have already paid, please disregard +this message. +% +You will pioneer the first Martian colony. +% +You will probably marry after a very brief courtship. +% +You will reach the highest possible point in your business or profession. +% +You will receive a legacy which will place you above want. +% +You will remember something that you should not have forgotten. +% +You will soon forget this. +% +You will soon meet a person who will play an important role in your life. +% +You will step on the night soil of many countries. +% +You will stop at nothing to reach your objective, but only because your +brakes are defective. +% +You will triumph over your enemy. +% +You will visit the Dung Pits of Glive soon. +% +You will win success in whatever calling you adopt. +% +You will wish you hadn't. +% +You work very hard. Don't try to think as well. +% +You worry too much about your job. Stop it. You are not paid enough to worry. +% +You would if you could but you can't so you won't. +% +You'd like to do it instantaneously, but that's too slow. +% +You'll be called to a post requiring ability in handling groups of people. +% +You'll be sorry... +% +You'll feel devilish tonight. Toss dynamite caps under a flamenco dancer's +heel. +% +You'll feel much better once you've given up hope. +% +You'll never be the man your mother was! +% +You'll never see all the places, or read all the books, but fortunately, +they're not all recommended. +% +You'll wish that you had done some of the hard things when they were easier +to do. +% +You're a card which will have to be dealt with. +% +You're almost as happy as you think you are. +% +You're at the end of the road again. +% +You're being followed. Cut out the hanky-panky for a few days. +% +You're currently going through a difficult transition period called "Life." +% +You're definitely on their list. The question to ask next is what list it is. +% +You're growing out of some of your problems, but there are others that +you're growing into. +% +You're not my type. For that matter, you're not even my species!!! +% +You're ugly and your mother dresses you funny. +% +You're working under a slight handicap. You happen to be human. +% +You've been leading a dog's life. Stay off the furniture. +% +Your aim is high and to the right. +% +Your aims are high, and you are capable of much. +% +Your analyst has you mixed up with another patient. Don't believe a +thing he tells you. +% +Your best consolation is the hope that the things you failed to get weren't +really worth having. +% +Your boss climbed the corporate ladder, wrong by wrong. +% +Your boss is a few sandwiches short of a picnic. +% +Your boyfriend takes chocolate from strangers. +% +Your business will assume vast proportions. +% +Your business will go through a period of considerable expansion. +% +Your depth of comprehension may tend to make you lax in worldly ways. +% +Your domestic life may be harmonious. +% +Your fly might be open (but don't check it just now). +% +Your goose is cooked. +(Your current chick is burned up too!) +% +Your heart is pure, and your mind clear, and your soul devout. +% +Your ignorance cramps my conversation. +% +Your life would be very empty if you had nothing to regret. +% +Your love life will be happy and harmonious. +% +Your love life will be... interesting. +% +Your lover will never wish to leave you. +% +Your lucky color has faded. +% +Your lucky number has been disconnected. +% +Your lucky number is 3552664958674928. Watch for it everywhere. +% +Your mode of life will be changed for the better because of good news soon. +% +Your mode of life will be changed for the better because of new developments. +% +Your motives for doing whatever good deed you may have in mind will be +misinterpreted by somebody. +% +Your nature demands love and your happiness depends on it. +% +Your object is to save the world, while still leading a pleasant life. +% +Your own qualities will help prevent your advancement in the world. +% +Your present plans will be successful. +% +Your reasoning is excellent -- it's only your basic assumptions that are wrong. +% +Your reasoning powers are good, and you are a fairly good planner. +% +Your sister swims out to meet troop ships. +% +Your society will be sought by people of taste and refinement. +% +Your step will soil many countries. +% +Your supervisor is thinking about you. +% +Your talents will be recognized and suitably rewarded. +% +Your temporary financial embarrassment will be relieved in a surprising manner. +% +Your true value depends entirely on what you are compared with. +% diff --git a/corejava第9版/v2ch07/transferText/TextTransferFrame.java b/corejava第9版/v2ch07/transferText/TextTransferFrame.java new file mode 100644 index 0000000..f7e2eb1 --- /dev/null +++ b/corejava第9版/v2ch07/transferText/TextTransferFrame.java @@ -0,0 +1,84 @@ +package transferText; + +import java.awt.*; +import java.awt.datatransfer.*; +import java.awt.event.*; +import java.io.*; +import javax.swing.*; + +/** + * This frame has a text area and buttons for copying and pasting text. + */ +public class TextTransferFrame extends JFrame +{ + private JTextArea textArea; + private static final int TEXT_ROWS = 20; + private static final int TEXT_COLUMNS = 60; + + public TextTransferFrame() + { + textArea = new JTextArea(TEXT_ROWS, TEXT_COLUMNS); + add(new JScrollPane(textArea), BorderLayout.CENTER); + JPanel panel = new JPanel(); + + JButton copyButton = new JButton("Copy"); + panel.add(copyButton); + copyButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + copy(); + } + }); + + JButton pasteButton = new JButton("Paste"); + panel.add(pasteButton); + pasteButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + paste(); + } + }); + + add(panel, BorderLayout.SOUTH); + pack(); + } + + /** + * Copies the selected text to the system clipboard. + */ + private void copy() + { + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + String text = textArea.getSelectedText(); + if (text == null) text = textArea.getText(); + StringSelection selection = new StringSelection(text); + clipboard.setContents(selection, null); + } + + /** + * Pastes the text from the system clipboard into the text area. + */ + private void paste() + { + Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + DataFlavor flavor = DataFlavor.stringFlavor; + if (clipboard.isDataFlavorAvailable(flavor)) + { + try + { + String text = (String) clipboard.getData(flavor); + textArea.replaceSelection(text); + } + catch (UnsupportedFlavorException e) + { + JOptionPane.showMessageDialog(this, e); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(this, e); + } + } + } +} diff --git a/corejava第9版/v2ch07/transferText/TextTransferTest.java b/corejava第9版/v2ch07/transferText/TextTransferTest.java new file mode 100644 index 0000000..ae9fc9e --- /dev/null +++ b/corejava第9版/v2ch07/transferText/TextTransferTest.java @@ -0,0 +1,27 @@ +package transferText; + +import java.awt.*; +import javax.swing.*; + +/** + * This program demonstrates the transfer of text between a Java application and the system + * clipboard. + * @version 1.13 2007-08-16 + * @author Cay Horstmann + */ +public class TextTransferTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new TextTransferFrame(); + frame.setTitle("TextTransferTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch08/ChartBean.jar b/corejava第9版/v2ch08/ChartBean.jar new file mode 100644 index 0000000000000000000000000000000000000000..94680635caa5eddbde983fe50a8abc8999f5cdd8 GIT binary patch literal 18261 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/ChartBean.mf b/corejava第9版/v2ch08/ChartBean.mf new file mode 100644 index 0000000..a68edd8 --- /dev/null +++ b/corejava第9版/v2ch08/ChartBean.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: chart/ChartBean.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/ChartBean2.mf b/corejava第9版/v2ch08/ChartBean2.mf new file mode 100644 index 0000000..d384e14 --- /dev/null +++ b/corejava第9版/v2ch08/ChartBean2.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: chart2/ChartBean2.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/FilePickerBean.mf b/corejava第9版/v2ch08/FilePickerBean.mf new file mode 100644 index 0000000..81d29d9 --- /dev/null +++ b/corejava第9版/v2ch08/FilePickerBean.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: filePicker/FilePickerBean.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/ImageViewerBean.mf b/corejava第9版/v2ch08/ImageViewerBean.mf new file mode 100644 index 0000000..43b8c22 --- /dev/null +++ b/corejava第9版/v2ch08/ImageViewerBean.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: imageViewer/ImageViewerBean.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/bin/ChartBean.jar b/corejava第9版/v2ch08/bin/ChartBean.jar new file mode 100644 index 0000000000000000000000000000000000000000..94680635caa5eddbde983fe50a8abc8999f5cdd8 GIT binary patch literal 18261 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/ChartBean.mf b/corejava第9版/v2ch08/bin/ChartBean.mf new file mode 100644 index 0000000..a68edd8 --- /dev/null +++ b/corejava第9版/v2ch08/bin/ChartBean.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: chart/ChartBean.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/bin/ChartBean2.mf b/corejava第9版/v2ch08/bin/ChartBean2.mf new file mode 100644 index 0000000..d384e14 --- /dev/null +++ b/corejava第9版/v2ch08/bin/ChartBean2.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: chart2/ChartBean2.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/bin/FilePickerBean.mf b/corejava第9版/v2ch08/bin/FilePickerBean.mf new file mode 100644 index 0000000..81d29d9 --- /dev/null +++ b/corejava第9版/v2ch08/bin/FilePickerBean.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: filePicker/FilePickerBean.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/bin/ImageViewerBean.mf b/corejava第9版/v2ch08/bin/ImageViewerBean.mf new file mode 100644 index 0000000..43b8c22 --- /dev/null +++ b/corejava第9版/v2ch08/bin/ImageViewerBean.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + +Name: imageViewer/ImageViewerBean.class +Java-Bean: True diff --git a/corejava第9版/v2ch08/bin/chart/ChartBean_COLOR_16x16.gif b/corejava第9版/v2ch08/bin/chart/ChartBean_COLOR_16x16.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d97665539c3cb1c85faced3a16ed3d95c456009 GIT binary patch literal 132 zcmZ?wbhEHb6krfwc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` z7Q+uGJy-7)%WTo~;=Jw|?~x~|F>Usb4YODIt&usmBzE@Cx0_Ao>iv-ZR(2pbd!?l1 Id_e|l04gjd;Q#;t literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/chart/ChartBean_COLOR_32x32.gif b/corejava第9版/v2ch08/bin/chart/ChartBean_COLOR_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9b48ace1da0ad739ceb4ff6c76405c8bb2f093d GIT binary patch literal 207 zcmZ?wbhEHbRA5kGc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` zmYNSIJy-9wczt&Fe`%#YrH+Y9Dmy)APsuvEtH9=L?%xHhPtMV imYUA+j6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW3IP59EC2ui01yBW000O|0R0IZNU)&6g9ZU81b~nrfPeoOHWc_U zBE^LXAxf;cP@+GM3pHvS$Wdg(krYjqw3zawOO7N}s*L$^X3Lc@FLvCiaH7wj0RaFz D6ZoXw literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/chart/ChartBean_MONO_32x32.gif b/corejava第9版/v2ch08/bin/chart/ChartBean_MONO_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b1e956d3c5d76e71bfb12b9fc2adcb20dd78843 GIT binary patch literal 166 zcmZ?wbhEHbRA5kGSjfl#1pi?`@h1x-7Xu@M4oDOv&%jjP)4%fcTmHp!_-|xu9*$Tq zT@rVxQJJZWE!`@$Y{Q1xD<7WLvfygjzUKAS6qnmtu3whcIV!$;nPWBaa-w$H*{qo= zS>MFxCgwj${CWFs(SgfqzxSFoJq*z6f4BDArBhOyWsi!7tDDboR}WoMQM%>Dj&dPQ LOHa!n1_o;YXURzG literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/chart2/ChartBean_COLOR_16x16.gif b/corejava第9版/v2ch08/bin/chart2/ChartBean_COLOR_16x16.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d97665539c3cb1c85faced3a16ed3d95c456009 GIT binary patch literal 132 zcmZ?wbhEHb6krfwc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` z7Q+uGJy-7)%WTo~;=Jw|?~x~|F>Usb4YODIt&usmBzE@Cx0_Ao>iv-ZR(2pbd!?l1 Id_e|l04gjd;Q#;t literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/chart2/ChartBean_COLOR_32x32.gif b/corejava第9版/v2ch08/bin/chart2/ChartBean_COLOR_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9b48ace1da0ad739ceb4ff6c76405c8bb2f093d GIT binary patch literal 207 zcmZ?wbhEHbRA5kGc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` zmYNSIJy-9wczt&Fe`%#YrH+Y9Dmy)APsuvEtH9=L?%xHhPtMV imYUA+j6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW3IP59EC2ui01yBW000O|0R0IZNU)&6g9ZU81b~nrfPeoOHWc_U zBE^LXAxf;cP@+GM3pHvS$Wdg(krYjqw3zawOO7N}s*L$^X3Lc@FLvCiaH7wj0RaFz D6ZoXw literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/chart2/ChartBean_MONO_32x32.gif b/corejava第9版/v2ch08/bin/chart2/ChartBean_MONO_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b1e956d3c5d76e71bfb12b9fc2adcb20dd78843 GIT binary patch literal 166 zcmZ?wbhEHbRA5kGSjfl#1pi?`@h1x-7Xu@M4oDOv&%jjP)4%fcTmHp!_-|xu9*$Tq zT@rVxQJJZWE!`@$Y{Q1xD<7WLvfygjzUKAS6qnmtu3whcIV!$;nPWBaa-w$H*{qo= zS>MFxCgwj${CWFs(SgfqzxSFoJq*z6f4BDArBhOyWsi!7tDDboR}WoMQM%>Dj&dPQ LOHa!n1_o;YXURzG literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/clouds.gif b/corejava第9版/v2ch08/bin/clouds.gif new file mode 100644 index 0000000000000000000000000000000000000000..2ccae6b05de46d8282748bf827dbf43163de95b1 GIT binary patch literal 30769 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 YlGfP{K1vL*kMVF$f3%JHqdu!2kdN literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/damageReporter/foo.xml b/corejava第9版/v2ch08/bin/damageReporter/foo.xml new file mode 100644 index 0000000..ab9928d --- /dev/null +++ b/corejava第9版/v2ch08/bin/damageReporter/foo.xml @@ -0,0 +1,31 @@ + + + + + + SEDAN + + + + foo + + + + 181.0 + 65.0 + + + + + 147.0 + 107.0 + + + + + 105.0 + 132.0 + + + + diff --git a/corejava第9版/v2ch08/bin/imageViewer/ImageViewerBean.jar b/corejava第9版/v2ch08/bin/imageViewer/ImageViewerBean.jar new file mode 100644 index 0000000000000000000000000000000000000000..00b9c477d462c1c08355e734a8f729edf89b6822 GIT binary patch literal 1313 zcmWIWW@Zs#-~hruGabztkN_tG3xls~h@-BjpPT-_Qw$8u3<2Kk93T};P-Ou)HH!dM zz%~0i`gyv!28ZbRx{03I$aTm-py8qIgz^(BoF~6{Fkz#g=&MB~QrqJzxsnnjCmvZZR6ph8xjb%H;mK*w&h33Zr~3K1yZ?Uu{mb59nG$+r0>@(E$6Av-R;DZ! z^;yA@7<6z-SLO>XkuxVwtZA~8tX%M5VHd|UQ5}tnBNw)1Ph)j1d29RsMCs*g#U*hm z9Q*H9%{?pn>HQ`io$~^b8`rKnty?~OdbW~>YK%a}bFM4Y@28KQN4+I z&u3+J_C_t$m}9<2!?-l0Rl7Ln1J~Ry>7U6ud8RjNK9T$#B+AJ?k@F5 zaoQWrXa1UgQb75_H083^#~ncj|M;BPr#4A`*RNHPf?-#;=pI_dy8D@g(sR=V=J5}! zlWvQ&A3DjA=j+|ocKgNk3$1yq{iZetgL%6nk}gE;RtMycr`$GfgI*>Ach$tO!>m8?CfS@n-C z^c=fwvaq!OKX$G7%@?JDr)jN!Ynnc}twm_M#IniPm#=@i*QRUU%D0!gyC%6Wd18A~ zyXF1lND(d1ZGVbZ>B%?Gv2*fcFaIv-bh5^7Yp>uhlO&VVjx0~KC!03NeQ8oT!MC9Q z-1c>IZ=YDUa6xH<&F3e{TgsQdPRRVm+xSJYX?cdVqWWQlwRc?@J-1x^(c-D*ro>Zj zaAiV)hLZjAm0v8Ktc6Rrcuy_XuztCoW6nc2*@wX^;ss*A3maI?t%!UaQqLZ0@Zu)d z+QS!4h#$9D``w_+aFfuCCI8zkTt!)SH0{=!*v|RjdHjOA`-bLD!0$89`+R0@wnXaIHus2(k&FOpEL= cP^LwIe?TTFSvbI(l?|ku83?ZfX%nzd0P5HJqW}N^ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/bin/persistentFrame/test.xml b/corejava第9版/v2ch08/bin/persistentFrame/test.xml new file mode 100644 index 0000000..9c9a499 --- /dev/null +++ b/corejava第9版/v2ch08/bin/persistentFrame/test.xml @@ -0,0 +1,68 @@ + + + + + + 33 + 0 + 400 + 200 + + + + + + Load + + + java.awt.event.ActionListener + + load + + + + + + + Save + + + true + + + + + java.awt.event.ActionListener + + save + + + + + + + + + + 3 + + + + 143 + 62 + + + + frame0 + + + PersistentFrameTest + + + + + + true + + + diff --git a/corejava第9版/v2ch08/chart/ChartBean.java b/corejava第9版/v2ch08/chart/ChartBean.java new file mode 100644 index 0000000..16c3842 --- /dev/null +++ b/corejava第9版/v2ch08/chart/ChartBean.java @@ -0,0 +1,215 @@ +package chart; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import java.beans.*; +import javax.swing.*; + +/** + * A bean to draw a bar chart. + * @version 1.31 2007-10-03 + * @author Cay Horstmann + */ +public class ChartBean extends JComponent +{ + public enum Position { LEFT, CENTER, RIGHT }; + + private static final int XPREFSIZE = 300; + private static final int YPREFSIZE = 300; + private static final int INSETS = 10; + + private double[] values = { 1, 2, 3 }; + private String title = "Title"; + private Position titlePosition = Position.CENTER; + private boolean inverse; + private Color color = Color.red; + + public ChartBean() + { + setPreferredSize(new Dimension(XPREFSIZE, YPREFSIZE)); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + if (values == null || values.length == 0) return; + double minValue = 0; + double maxValue = 0; + for (int i = 0; i < values.length; i++) + { + if (minValue > getValues(i)) minValue = getValues(i); + if (maxValue < getValues(i)) maxValue = getValues(i); + } + if (maxValue == minValue) return; + + Rectangle2D bounds = getBounds(); + double clientWidth = bounds.getWidth(); + double clientHeight = bounds.getHeight(); + double barWidth = (clientWidth - 2 * INSETS) / values.length; + + g2.setPaint(inverse ? color : Color.white); + g2.fill(new Rectangle2D.Double(0, 0, clientWidth, clientHeight)); + g2.setPaint(Color.black); + + Font titleFont = new Font("SansSerif", Font.BOLD, 20); + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D titleBounds = titleFont.getStringBounds(title, context); + + double titleWidth = titleBounds.getWidth(); + double y = -titleBounds.getY(); + double x = 0; + if (titlePosition == Position.CENTER) x += (clientWidth - titleWidth) / 2; + else if (titlePosition == Position.RIGHT) x += clientWidth - titleWidth; + + g2.setFont(titleFont); + g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g2.drawString(title, (float) x, (float) y); + + double top = titleBounds.getHeight(); + double scale = (clientHeight - top - 2 * INSETS) / (maxValue - minValue); + y = clientHeight; + + for (int i = 0; i < values.length; i++) + { + double x1 = INSETS + i * barWidth + 1; + double y1 = INSETS + top; + double value = getValues(i); + double height = value * scale; + if (value >= 0) y1 += (maxValue - value) * scale; + else + { + y1 += (int) (maxValue * scale); + height = -height; + } + + g2.setPaint(inverse ? Color.white : color); + Rectangle2D bar = new Rectangle2D.Double(x1, y1, barWidth - 2, height); + g2.fill(bar); + g2.setPaint(Color.black); + g2.draw(bar); + } + } + + /** + * Sets the title property. + * @param t the new chart title. + */ + public void setTitle(String t) + { + title = t; + } + + /** + * Gets the title property. + * @return the chart title. + */ + public String getTitle() + { + return title; + } + + /** + * Sets the indexed values property. + * @param newValue the values to display in the chart. + */ + public void setValues(double[] newValue) + { + double[] oldValue = values; + firePropertyChange("values", oldValue, newValue); + values = newValue; + } + + /** + * Gets the indexed values property. + * @return the values to display in the chart. + */ + public double[] getValues() + { + return values; + } + + /** + * Sets the indexed values property. + * @param i the index of the value to set + * @param value the new value for that index + */ + public void setValues(int i, double value) + { + if (0 <= i && i < values.length) + { + double oldValue = values[i]; + values[i] = value; + for (PropertyChangeListener listener : getPropertyChangeListeners()) + listener.propertyChange(new IndexedPropertyChangeEvent(this, "values", oldValue, + value, i)); + } + } + + /** + * Gets the indexed values property. + * @param i the index of the value to get + * @return the value for that index + */ + public double getValues(int i) + { + if (0 <= i && i < values.length) return values[i]; + return 0; + } + + /** + * Sets the inverse property. + * @param b true if the display is inverted (white bars on colored background) + */ + public void setInverse(boolean b) + { + inverse = b; + } + + /** + * Gets the inverse property. + * @return true if the display is inverted + */ + public boolean isInverse() + { + return inverse; + } + + /** + * Sets the titlePosition property. + * @param p LEFT, CENTER, or RIGHT + */ + public void setTitlePosition(Position p) + { + titlePosition = p; + } + + /** + * Gets the titlePosition property. + * @return LEFT, CENTER, or RIGHT + */ + public Position getTitlePosition() + { + return titlePosition; + } + + /** + * Sets the graphColor property. + * @param c the color to use for the graph + */ + public void setGraphColor(Color c) + { + color = c; + } + + /** + * Gets the graphColor property. + * @param c the color to use for the graph + */ + public Color getGraphColor() + { + return color; + } +} diff --git a/corejava第9版/v2ch08/chart/ChartBeanBeanInfo.java b/corejava第9版/v2ch08/chart/ChartBeanBeanInfo.java new file mode 100644 index 0000000..4e162ac --- /dev/null +++ b/corejava第9版/v2ch08/chart/ChartBeanBeanInfo.java @@ -0,0 +1,59 @@ +package chart; + +import java.awt.*; +import java.beans.*; + +/** + * The bean info for the chart bean, specifying the property editors. + * @version 1.20 2007-10-05 + * @author Cay Horstmann + */ +public class ChartBeanBeanInfo extends SimpleBeanInfo +{ + private PropertyDescriptor[] propertyDescriptors; + private Image iconColor16; + private Image iconColor32; + private Image iconMono16; + private Image iconMono32; + + public ChartBeanBeanInfo() + { + iconColor16 = loadImage("ChartBean_COLOR_16x16.gif"); + iconColor32 = loadImage("ChartBean_COLOR_32x32.gif"); + iconMono16 = loadImage("ChartBean_MONO_16x16.gif"); + iconMono32 = loadImage("ChartBean_MONO_32x32.gif"); + + try + { + PropertyDescriptor titlePositionDescriptor = new PropertyDescriptor("titlePosition", + ChartBean.class); + titlePositionDescriptor.setPropertyEditorClass(TitlePositionEditor.class); + PropertyDescriptor inverseDescriptor = new PropertyDescriptor("inverse", ChartBean.class); + inverseDescriptor.setPropertyEditorClass(InverseEditor.class); + PropertyDescriptor valuesDescriptor = new PropertyDescriptor("values", ChartBean.class); + valuesDescriptor.setPropertyEditorClass(DoubleArrayEditor.class); + propertyDescriptors = new PropertyDescriptor[] { + new PropertyDescriptor("title", ChartBean.class), titlePositionDescriptor, + valuesDescriptor, new PropertyDescriptor("graphColor", ChartBean.class), + inverseDescriptor }; + } + catch (IntrospectionException e) + { + e.printStackTrace(); + } + } + + public PropertyDescriptor[] getPropertyDescriptors() + { + return propertyDescriptors; + } + + public Image getIcon(int iconType) + { + if (iconType == BeanInfo.ICON_COLOR_16x16) return iconColor16; + else if (iconType == BeanInfo.ICON_COLOR_32x32) return iconColor32; + else if (iconType == BeanInfo.ICON_MONO_16x16) return iconMono16; + else if (iconType == BeanInfo.ICON_MONO_32x32) return iconMono32; + else return null; + } +} diff --git a/corejava第9版/v2ch08/chart/ChartBean_COLOR_16x16.gif b/corejava第9版/v2ch08/chart/ChartBean_COLOR_16x16.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d97665539c3cb1c85faced3a16ed3d95c456009 GIT binary patch literal 132 zcmZ?wbhEHb6krfwc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` z7Q+uGJy-7)%WTo~;=Jw|?~x~|F>Usb4YODIt&usmBzE@Cx0_Ao>iv-ZR(2pbd!?l1 Id_e|l04gjd;Q#;t literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/chart/ChartBean_COLOR_32x32.gif b/corejava第9版/v2ch08/chart/ChartBean_COLOR_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9b48ace1da0ad739ceb4ff6c76405c8bb2f093d GIT binary patch literal 207 zcmZ?wbhEHbRA5kGc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` zmYNSIJy-9wczt&Fe`%#YrH+Y9Dmy)APsuvEtH9=L?%xHhPtMV imYUA+j6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW3IP59EC2ui01yBW000O|0R0IZNU)&6g9ZU81b~nrfPeoOHWc_U zBE^LXAxf;cP@+GM3pHvS$Wdg(krYjqw3zawOO7N}s*L$^X3Lc@FLvCiaH7wj0RaFz D6ZoXw literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/chart/ChartBean_MONO_32x32.gif b/corejava第9版/v2ch08/chart/ChartBean_MONO_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b1e956d3c5d76e71bfb12b9fc2adcb20dd78843 GIT binary patch literal 166 zcmZ?wbhEHbRA5kGSjfl#1pi?`@h1x-7Xu@M4oDOv&%jjP)4%fcTmHp!_-|xu9*$Tq zT@rVxQJJZWE!`@$Y{Q1xD<7WLvfygjzUKAS6qnmtu3whcIV!$;nPWBaa-w$H*{qo= zS>MFxCgwj${CWFs(SgfqzxSFoJq*z6f4BDArBhOyWsi!7tDDboR}WoMQM%>Dj&dPQ LOHa!n1_o;YXURzG literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/chart/DoubleArrayEditor.java b/corejava第9版/v2ch08/chart/DoubleArrayEditor.java new file mode 100644 index 0000000..65cbeb7 --- /dev/null +++ b/corejava第9版/v2ch08/chart/DoubleArrayEditor.java @@ -0,0 +1,81 @@ +package chart; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import java.beans.*; + +/** + * A custom editor for an array of floating-point numbers. + * @version 1.21 2007-10-03 + * @author Cay Horstmann + */ +public class DoubleArrayEditor extends PropertyEditorSupport +{ + @Override + public void setValue(Object value) + { + super.setValue(value); + } + + public Component getCustomEditor() + { + return new DoubleArrayEditorPanel(this); + } + + public boolean supportsCustomEditor() + { + return true; + } + + public boolean isPaintable() + { + return true; + } + + public String getAsText() + { + return null; + } + + public void paintValue(Graphics g, Rectangle box) + { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + double[] values = (double[]) getValue(); + StringBuilder s = new StringBuilder(); + for (int i = 0; i < 3; i++) + { + if (values.length > i) s.append(values[i]); + if (values.length > i + 1) s.append(", "); + } + if (values.length > 3) s.append("..."); + + g2.setPaint(Color.white); + g2.fill(box); + g2.setPaint(Color.black); + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D stringBounds = g2.getFont().getStringBounds(s.toString(), context); + double w = stringBounds.getWidth(); + double x = box.x; + if (w < box.width) x += (box.width - w) / 2; + double ascent = -stringBounds.getY(); + double y = box.y + (box.height - stringBounds.getHeight()) / 2 + ascent; + g2.drawString(s.toString(), (float) x, (float) y); + } + + public String getJavaInitializationString() + { + double[] values = (double[]) getValue(); + StringBuilder s = new StringBuilder(); + s.append("new double[] {"); + for (int i = 0; i < values.length; i++) + { + if (i > 0) s.append(", "); + s.append(values[i]); + } + s.append("}"); + return s.toString(); + } +} diff --git a/corejava第9版/v2ch08/chart/DoubleArrayEditorPanel.java b/corejava第9版/v2ch08/chart/DoubleArrayEditorPanel.java new file mode 100644 index 0000000..2983a02 --- /dev/null +++ b/corejava第9版/v2ch08/chart/DoubleArrayEditorPanel.java @@ -0,0 +1,148 @@ +package chart; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.beans.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * The panel inside the DoubleArrayEditor. It contains a list of the array values, together with + * buttons to resize the array and change the currently selected list value. + * @version 1.31 2012-06-10 + * @author Cay Horstmann + */ +public class DoubleArrayEditorPanel extends JPanel +{ + private PropertyEditorSupport editor; + private double[] array; + private JFormattedTextField sizeField = new JFormattedTextField(new Integer(0)); + private JFormattedTextField valueField = new JFormattedTextField(new Double(0.0)); + private JButton sizeButton = new JButton("Resize"); + private JButton valueButton = new JButton("Change"); + private JList elementList = new JList<>(); + private DoubleArrayListModel model = new DoubleArrayListModel(); + + public DoubleArrayEditorPanel(PropertyEditorSupport ed) + { + editor = ed; + setArray((double[]) ed.getValue()); + + setLayout(new GridBagLayout()); + + add(sizeField, new GBC(0, 0, 1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(valueField, new GBC(0, 1, 1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(sizeButton, new GBC(1, 0, 1, 1).setWeight(100, 0)); + add(valueButton, new GBC(1, 1, 1, 1).setWeight(100, 0)); + add(new JScrollPane(elementList), new GBC(0, 2, 2, 1).setWeight(100, 100).setFill(GBC.BOTH)); + + ActionListener listener = EventHandler.create(ActionListener.class, this, "changeSize"); + sizeButton.addActionListener(listener); + sizeField.addActionListener(listener); + + listener = EventHandler.create(ActionListener.class, this, "changeValue"); + valueButton.addActionListener(listener); + valueField.addActionListener(listener); + + elementList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + elementList.addListSelectionListener(new ListSelectionListener() + { + public void valueChanged(ListSelectionEvent event) + { + int i = elementList.getSelectedIndex(); + if (i < 0) return; + valueField.setValue(array[i]); + } + }); + + elementList.setModel(model); + elementList.setSelectedIndex(0); + } + + /** + * This method is called when the user wants to change the size of the array. + */ + public void changeSize() + { + int s = (Integer) sizeField.getValue(); + if (s < 0 || s == array.length) return; + setArray(Arrays.copyOf(array, s)); + editor.setValue(array); + } + + /** + * This method is called when the user wants to change the currently selected array value. + */ + public void changeValue() + { + double v = (Double) valueField.getValue(); + int currentIndex = elementList.getSelectedIndex(); + if (0 <= currentIndex && currentIndex < array.length) + { + model.setValue(currentIndex, v); + elementList.setSelectedIndex(currentIndex); + } + editor.firePropertyChange(); + } + + /** + * Sets the indexed array property. + * @param v the array to edit + */ + private void setArray(double[] v) + { + array = v; + model.setArray(array); + sizeField.setValue(array.length); + if (array.length > 0) + { + valueField.setValue(array[0]); + elementList.setSelectedIndex(0); + } + else valueField.setValue(0.0); + } +} + +/** + * The list model for the element list in the editor. + */ +class DoubleArrayListModel extends AbstractListModel +{ + private double[] array; + + public int getSize() + { + return array.length; + } + + public String getElementAt(int i) + { + return "[" + i + "] " + array[i]; + } + + /** + * Sets a new array to be displayed in the list. + * @param a the new array + */ + public void setArray(double[] a) + { + int oldLength = array == null ? 0 : array.length; + if (oldLength > 0) fireIntervalRemoved(this, 0, oldLength); + array = a; + int newLength = array == null ? 0 : array.length; + if (newLength > 0) fireIntervalAdded(this, 0, newLength); + } + + /** + * Changes a value in the array to be displayed in the list. + * @param i the index whose value to change + * @param value the new value for the given index + */ + public void setValue(int i, double value) + { + array[i] = value; + fireContentsChanged(this, i, i); + } +} diff --git a/corejava第9版/v2ch08/chart/GBC.java b/corejava第9版/v2ch08/chart/GBC.java new file mode 100644 index 0000000..d32bfda --- /dev/null +++ b/corejava第9版/v2ch08/chart/GBC.java @@ -0,0 +1,131 @@ +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +package chart; + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch08/chart/InverseEditor.java b/corejava第9版/v2ch08/chart/InverseEditor.java new file mode 100644 index 0000000..8685212 --- /dev/null +++ b/corejava第9版/v2ch08/chart/InverseEditor.java @@ -0,0 +1,52 @@ +package chart; + +import java.awt.*; +import java.beans.*; +import javax.swing.*; + +/** + * The property editor for the inverse property of the ChartBean. The inverse property toggles + * between colored graph bars and colored background. + * @version 1.30 2007-10-03 + * @author Cay Horstmann + */ +public class InverseEditor extends PropertyEditorSupport +{ + private ImageIcon normalIcon = new ImageIcon(getClass().getResource("ChartBean_MONO_16x16.gif")); + + private ImageIcon inverseIcon = new ImageIcon(getClass().getResource( + "ChartBean_INVERSE_16x16.gif")); + + public Component getCustomEditor() + { + return new InverseEditorPanel(this); + } + + public boolean supportsCustomEditor() + { + return true; + } + + public boolean isPaintable() + { + return true; + } + + public String getAsText() + { + return null; + } + + public String getJavaInitializationString() + { + return "" + getValue(); + } + + public void paintValue(Graphics g, Rectangle bounds) + { + ImageIcon icon = (Boolean) getValue() ? inverseIcon : normalIcon; + int x = bounds.x + (bounds.width - icon.getIconWidth()) / 2; + int y = bounds.y + (bounds.height - icon.getIconHeight()) / 2; + g.drawImage(icon.getImage(), x, y, null); + } +} diff --git a/corejava第9版/v2ch08/chart/InverseEditorPanel.java b/corejava第9版/v2ch08/chart/InverseEditorPanel.java new file mode 100644 index 0000000..6c2efb6 --- /dev/null +++ b/corejava第9版/v2ch08/chart/InverseEditorPanel.java @@ -0,0 +1,51 @@ +package chart; + +import java.awt.event.*; +import java.beans.*; +import javax.swing.*; + +/** + * The panel for setting the inverse property. It contains a button to toggle between normal and + * inverse coloring. + * @version 1.30 2007-10-03 + * @author Cay Horstmann + */ +public class InverseEditorPanel extends JPanel +{ + private JButton button; + private PropertyEditorSupport editor; + private ImageIcon normalIcon = new ImageIcon(getClass().getResource("ChartBean_MONO_16x16.gif")); + + public InverseEditorPanel(PropertyEditorSupport ed) + { + editor = ed; + button = new JButton(); + updateButton(); + button.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + editor.setValue(!(Boolean) editor.getValue()); + updateButton(); + } + }); + add(button); + } + + private void updateButton() + { + if ((Boolean) editor.getValue()) + { + button.setIcon(inverseIcon); + button.setText("Inverse"); + } + else + { + button.setIcon(normalIcon); + button.setText("Normal"); + } + } + + private ImageIcon inverseIcon = new ImageIcon(getClass().getResource( + "ChartBean_INVERSE_16x16.gif")); +} diff --git a/corejava第9版/v2ch08/chart/TitlePositionEditor.java b/corejava第9版/v2ch08/chart/TitlePositionEditor.java new file mode 100644 index 0000000..edee30d --- /dev/null +++ b/corejava第9版/v2ch08/chart/TitlePositionEditor.java @@ -0,0 +1,37 @@ +package chart; + +import java.beans.*; +import java.util.*; + +/** + * A custom editor for the titlePosition property of the ChartBean. The editor lets the user choose + * between Left, Center, and Right + * @version 1.20 2007-12-14 + * @author Cay Horstmann + */ +public class TitlePositionEditor extends PropertyEditorSupport +{ + private String[] tags = { "Left", "Center", "Right" }; + + public String[] getTags() + { + return tags; + } + + public String getJavaInitializationString() + { + return ChartBean.Position.class.getName().replace('$', '.') + "." + getValue(); + } + + public String getAsText() + { + int index = ((ChartBean.Position) getValue()).ordinal(); + return tags[index]; + } + + public void setAsText(String s) + { + int index = Arrays.asList(tags).indexOf(s); + if (index >= 0) setValue(ChartBean.Position.values()[index]); + } +} diff --git a/corejava第9版/v2ch08/chart2/ChartBean.java b/corejava第9版/v2ch08/chart2/ChartBean.java new file mode 100644 index 0000000..987b6b0 --- /dev/null +++ b/corejava第9版/v2ch08/chart2/ChartBean.java @@ -0,0 +1,205 @@ +package chart2; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import javax.swing.*; + +/** + * A bean to draw a bar chart. + * @version 1.31 2007-10-03 + * @author Cay Horstmann + */ +public class ChartBean extends JComponent +{ + public enum Position { LEFT, CENTER, RIGHT }; + + private static final int XPREFSIZE = 300; + private static final int YPREFSIZE = 300; + private static final int INSETS = 10; + + private double[] values = { 1, 2, 3 }; + private String title = "Title"; + private Position titlePosition = Position.CENTER; + private boolean inverse; + private Color color = Color.red; + + public ChartBean() + { + setPreferredSize(new Dimension(XPREFSIZE, YPREFSIZE)); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + if (values == null || values.length == 0) return; + double minValue = 0; + double maxValue = 0; + for (int i = 0; i < values.length; i++) + { + if (minValue > getValues(i)) minValue = getValues(i); + if (maxValue < getValues(i)) maxValue = getValues(i); + } + if (maxValue == minValue) return; + + Rectangle2D bounds = getBounds(); + double clientWidth = bounds.getWidth(); + double clientHeight = bounds.getHeight(); + double barWidth = (clientWidth - 2 * INSETS) / values.length; + + g2.setPaint(inverse ? color : Color.white); + g2.fill(new Rectangle2D.Double(0, 0, clientWidth, clientHeight)); + g2.setPaint(Color.black); + + Font titleFont = new Font("SansSerif", Font.BOLD, 20); + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D titleBounds = titleFont.getStringBounds(title, context); + + double titleWidth = titleBounds.getWidth(); + double y = -titleBounds.getY(); + double x = 0; + if (titlePosition == Position.CENTER) x += (clientWidth - titleWidth) / 2; + else if (titlePosition == Position.RIGHT) x += clientWidth - titleWidth; + + g2.setFont(titleFont); + g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g2.drawString(title, (float) x, (float) y); + + double top = titleBounds.getHeight(); + double scale = (clientHeight - top - 2 * INSETS) / (maxValue - minValue); + y = clientHeight; + + for (int i = 0; i < values.length; i++) + { + double x1 = INSETS + i * barWidth + 1; + double y1 = INSETS + top; + double value = getValues(i); + double height = value * scale; + if (value >= 0) y1 += (maxValue - value) * scale; + else + { + y1 += (int) (maxValue * scale); + height = -height; + } + + g2.setPaint(inverse ? Color.white : color); + Rectangle2D bar = new Rectangle2D.Double(x1, y1, barWidth - 2, height); + g2.fill(bar); + g2.setPaint(Color.black); + g2.draw(bar); + } + } + + /** + * Sets the title property. + * @param t the new chart title. + */ + public void setTitle(String t) + { + title = t; + } + + /** + * Gets the title property. + * @return the chart title. + */ + public String getTitle() + { + return title; + } + + /** + * Sets the indexed values property. + * @param v the values to display in the chart. + */ + public void setValues(double[] v) + { + values = v; + } + + /** + * Gets the indexed values property. + * @return the values to display in the chart. + */ + public double[] getValues() + { + return values; + } + + /** + * Sets the indexed values property. + * @param i the index of the value to set + * @param value the new value for that index + */ + public void setValues(int i, double value) + { + if (0 <= i && i < values.length) values[i] = value; + } + + /** + * Gets the indexed values property. + * @param i the index of the value to get + * @return the value for that index + */ + public double getValues(int i) + { + if (0 <= i && i < values.length) return values[i]; + return 0; + } + + /** + * Sets the inverse property. + * @param b true if the display is inverted (white bars on colored background) + */ + public void setInverse(boolean b) + { + inverse = b; + } + + /** + * Gets the inverse property. + * @return true if the display is inverted + */ + public boolean isInverse() + { + return inverse; + } + + /** + * Sets the titlePosition property. + * @param p LEFT, CENTER, or RIGHT + */ + public void setTitlePosition(Position p) + { + titlePosition = p; + } + + /** + * Gets the titlePosition property. + * @return LEFT, CENTER, or RIGHT + */ + public Position getTitlePosition() + { + return titlePosition; + } + + /** + * Sets the graphColor property. + * @param c the color to use for the graph + */ + public void setGraphColor(Color c) + { + color = c; + } + + /** + * Gets the graphColor property. + * @param c the color to use for the graph + */ + public Color getGraphColor() + { + return color; + } +} diff --git a/corejava第9版/v2ch08/chart2/ChartBeanBeanInfo.java b/corejava第9版/v2ch08/chart2/ChartBeanBeanInfo.java new file mode 100644 index 0000000..ea3d6e4 --- /dev/null +++ b/corejava第9版/v2ch08/chart2/ChartBeanBeanInfo.java @@ -0,0 +1,37 @@ +package chart2; + +import java.awt.*; +import java.beans.*; + +/** + * The bean info for the chart bean, specifying the icons and the customizer. + * @version 1.30 2007-10-05 + * @author Cay Horstmann + */ +public class ChartBeanBeanInfo extends SimpleBeanInfo +{ + private BeanDescriptor beanDescriptor; + private Image iconColor16; + private Image iconColor32; + private Image iconMono16; + private Image iconMono32; + + public ChartBeanBeanInfo() + { + beanDescriptor = new BeanDescriptor(ChartBean.class, ChartBeanCustomizer.class); + } + + public BeanDescriptor getBeanDescriptor() + { + return beanDescriptor; + } + + public Image getIcon(int iconType) + { + if (iconType == BeanInfo.ICON_COLOR_16x16) return iconColor16; + else if (iconType == BeanInfo.ICON_COLOR_32x32) return iconColor32; + else if (iconType == BeanInfo.ICON_MONO_16x16) return iconMono16; + else if (iconType == BeanInfo.ICON_MONO_32x32) return iconMono32; + else return null; + } +} diff --git a/corejava第9版/v2ch08/chart2/ChartBeanCustomizer.java b/corejava第9版/v2ch08/chart2/ChartBeanCustomizer.java new file mode 100644 index 0000000..69c1791 --- /dev/null +++ b/corejava第9版/v2ch08/chart2/ChartBeanCustomizer.java @@ -0,0 +1,239 @@ +package chart2; + +import java.awt.*; +import java.awt.event.*; +import java.beans.*; +import java.util.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * A customizer for the chart bean that allows the user to edit all chart properties in a single + * tabbed dialog. + * @version 1.12 2007-10-03 + * @author Cay Horstmann + */ +public class ChartBeanCustomizer extends JTabbedPane implements Customizer +{ + private ChartBean bean; + private PropertyEditor colorEditor; + private JTextArea data; + private JRadioButton normal; + private JRadioButton inverse; + private JRadioButton[] position; + private JTextField titleField; + + public ChartBeanCustomizer() + { + data = new JTextArea(); + JPanel dataPane = new JPanel(); + dataPane.setLayout(new BorderLayout()); + dataPane.add(new JScrollPane(data), BorderLayout.CENTER); + JButton dataButton = new JButton("Set data"); + dataButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setData(data.getText()); + } + }); + JPanel panel = new JPanel(); + panel.add(dataButton); + dataPane.add(panel, BorderLayout.SOUTH); + + JPanel colorPane = new JPanel(); + colorPane.setLayout(new BorderLayout()); + + normal = new JRadioButton("Normal", true); + inverse = new JRadioButton("Inverse", false); + panel = new JPanel(); + panel.add(normal); + panel.add(inverse); + ButtonGroup group = new ButtonGroup(); + group.add(normal); + group.add(inverse); + normal.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setInverse(false); + } + }); + + inverse.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setInverse(true); + } + }); + + colorEditor = PropertyEditorManager.findEditor(Color.class); + colorEditor.addPropertyChangeListener(new PropertyChangeListener() + { + public void propertyChange(PropertyChangeEvent event) + { + setGraphColor((Color) colorEditor.getValue()); + } + }); + + colorPane.add(panel, BorderLayout.NORTH); + colorPane.add(colorEditor.getCustomEditor(), BorderLayout.CENTER); + + JPanel titlePane = new JPanel(); + titlePane.setLayout(new BorderLayout()); + + group = new ButtonGroup(); + position = new JRadioButton[3]; + position[0] = new JRadioButton("Left"); + position[1] = new JRadioButton("Center"); + position[2] = new JRadioButton("Right"); + + panel = new JPanel(); + for (int i = 0; i < position.length; i++) + { + final ChartBean.Position pos = ChartBean.Position.values()[i]; + panel.add(position[i]); + group.add(position[i]); + position[i].addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + setTitlePosition(pos); + } + }); + } + + titleField = new JTextField(); + titleField.getDocument().addDocumentListener(new DocumentListener() + { + public void changedUpdate(DocumentEvent evt) + { + setTitle(titleField.getText()); + } + + public void insertUpdate(DocumentEvent evt) + { + setTitle(titleField.getText()); + } + + public void removeUpdate(DocumentEvent evt) + { + setTitle(titleField.getText()); + } + }); + + titlePane.add(titleField, BorderLayout.NORTH); + JPanel panel2 = new JPanel(); + panel2.add(panel); + titlePane.add(panel2, BorderLayout.CENTER); + addTab("Color", colorPane); + addTab("Title", titlePane); + addTab("Data", dataPane); + + } + + /** + * Sets the data to be shown in the chart. + * @param s a string containing the numbers to be displayed, separated by white space + */ + public void setData(String s) + { + StringTokenizer tokenizer = new StringTokenizer(s); + + int i = 0; + double[] values = new double[tokenizer.countTokens()]; + while (tokenizer.hasMoreTokens()) + { + String token = tokenizer.nextToken(); + try + { + values[i] = Double.parseDouble(token); + i++; + } + catch (NumberFormatException e) + { + } + } + setValues(values); + } + + /** + * Sets the title of the chart. + * @param newValue the new title + */ + public void setTitle(String newValue) + { + if (bean == null) return; + String oldValue = bean.getTitle(); + bean.setTitle(newValue); + firePropertyChange("title", oldValue, newValue); + } + + /** + * Sets the title position of the chart. + * @param i the new title position (ChartBean.LEFT, ChartBean.CENTER, or ChartBean.RIGHT) + */ + public void setTitlePosition(ChartBean.Position pos) + { + if (bean == null) return; + ChartBean.Position oldValue = bean.getTitlePosition(); + bean.setTitlePosition(pos); + firePropertyChange("titlePosition", oldValue, pos); + } + + /** + * Sets the inverse setting of the chart. + * @param b true if graph and background color are inverted + */ + public void setInverse(boolean b) + { + if (bean == null) return; + boolean oldValue = bean.isInverse(); + bean.setInverse(b); + firePropertyChange("inverse", oldValue, b); + } + + /** + * Sets the values to be shown in the chart. + * @param newValue the new value array + */ + public void setValues(double[] newValue) + { + if (bean == null) return; + double[] oldValue = bean.getValues(); + bean.setValues(newValue); + firePropertyChange("values", oldValue, newValue); + } + + /** + * Sets the color of the chart + * @param newValue the new color + */ + public void setGraphColor(Color newValue) + { + if (bean == null) return; + Color oldValue = bean.getGraphColor(); + bean.setGraphColor(newValue); + firePropertyChange("graphColor", oldValue, newValue); + } + + public void setObject(Object obj) + { + bean = (ChartBean) obj; + + data.setText(""); + for (double value : bean.getValues()) + data.append(value + "\n"); + + normal.setSelected(!bean.isInverse()); + inverse.setSelected(bean.isInverse()); + + titleField.setText(bean.getTitle()); + + for (int i = 0; i < position.length; i++) + position[i].setSelected(i == bean.getTitlePosition().ordinal()); + + colorEditor.setValue(bean.getGraphColor()); + } +} diff --git a/corejava第9版/v2ch08/chart2/ChartBean_COLOR_16x16.gif b/corejava第9版/v2ch08/chart2/ChartBean_COLOR_16x16.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d97665539c3cb1c85faced3a16ed3d95c456009 GIT binary patch literal 132 zcmZ?wbhEHb6krfwc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` z7Q+uGJy-7)%WTo~;=Jw|?~x~|F>Usb4YODIt&usmBzE@Cx0_Ao>iv-ZR(2pbd!?l1 Id_e|l04gjd;Q#;t literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/chart2/ChartBean_COLOR_32x32.gif b/corejava第9版/v2ch08/chart2/ChartBean_COLOR_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9b48ace1da0ad739ceb4ff6c76405c8bb2f093d GIT binary patch literal 207 zcmZ?wbhEHbRA5kGc+3C-4Pe{=rW$~}1`uFjVfh0@fBpa^k%8h*7Dg@xeg++oAjk{` zmYNSIJy-9wczt&Fe`%#YrH+Y9Dmy)APsuvEtH9=L?%xHhPtMV imYUA+j6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW3IP59EC2ui01yBW000O|0R0IZNU)&6g9ZU81b~nrfPeoOHWc_U zBE^LXAxf;cP@+GM3pHvS$Wdg(krYjqw3zawOO7N}s*L$^X3Lc@FLvCiaH7wj0RaFz D6ZoXw literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/chart2/ChartBean_MONO_32x32.gif b/corejava第9版/v2ch08/chart2/ChartBean_MONO_32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b1e956d3c5d76e71bfb12b9fc2adcb20dd78843 GIT binary patch literal 166 zcmZ?wbhEHbRA5kGSjfl#1pi?`@h1x-7Xu@M4oDOv&%jjP)4%fcTmHp!_-|xu9*$Tq zT@rVxQJJZWE!`@$Y{Q1xD<7WLvfygjzUKAS6qnmtu3whcIV!$;nPWBaa-w$H*{qo= zS>MFxCgwj${CWFs(SgfqzxSFoJq*z6f4BDArBhOyWsi!7tDDboR}WoMQM%>Dj&dPQ LOHa!n1_o;YXURzG literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/clouds.gif b/corejava第9版/v2ch08/clouds.gif new file mode 100644 index 0000000000000000000000000000000000000000..2ccae6b05de46d8282748bf827dbf43163de95b1 GIT binary patch literal 30769 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 YlGfP{K1vL*kMVF$f3%JHqdu!2kdN literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/damageReporter/DamageReport.java b/corejava第9版/v2ch08/damageReporter/DamageReport.java new file mode 100644 index 0000000..ecb0770 --- /dev/null +++ b/corejava第9版/v2ch08/damageReporter/DamageReport.java @@ -0,0 +1,126 @@ +package damageReporter; + +import java.awt.*; +import java.awt.geom.*; +import java.beans.*; +import java.util.*; + +/** + * This class describes a vehicle damage report that will be saved and loaded with the long-term + * persistence mechanism. + * @version 1.22 2012-01-26 + * @author Cay Horstmann + */ +public class DamageReport +{ + private String rentalRecord; + private CarType carType; + private boolean removeMode; + private java.util.List points = new ArrayList<>(); + + private static final int MARK_SIZE = 5; + + public enum CarType + { + SEDAN, WAGON, SUV + } + + // this property is saved automatically + public void setRentalRecord(String newValue) + { + rentalRecord = newValue; + } + + public String getRentalRecord() + { + return rentalRecord; + } + + // this property is saved automatically + public void setCarType(CarType newValue) + { + carType = newValue; + } + + public CarType getCarType() + { + return carType; + } + + // this property is set to be transient + public void setRemoveMode(boolean newValue) + { + removeMode = newValue; + } + + public boolean getRemoveMode() + { + return removeMode; + } + + public void click(Point2D p) + { + if (removeMode) + { + for (Point2D center : points) + { + Ellipse2D circle = new Ellipse2D.Double(center.getX() - MARK_SIZE, center.getY() + - MARK_SIZE, 2 * MARK_SIZE, 2 * MARK_SIZE); + if (circle.contains(p)) + { + points.remove(center); + return; + } + } + } + else points.add(p); + } + + public void drawDamage(Graphics2D g2) + { + g2.setPaint(Color.RED); + for (Point2D center : points) + { + Ellipse2D circle = new Ellipse2D.Double(center.getX() - MARK_SIZE, center.getY() + - MARK_SIZE, 2 * MARK_SIZE, 2 * MARK_SIZE); + g2.draw(circle); + } + } + + public void configureEncoder(XMLEncoder encoder) + { + // this step is necessary to save Point2D.Double objects + encoder.setPersistenceDelegate(Point2D.Double.class, new DefaultPersistenceDelegate( + new String[] { "x", "y" })); + + // this step is necessary because the array list of points is not + // (and should not be) exposed as a property + encoder.setPersistenceDelegate(DamageReport.class, new DefaultPersistenceDelegate() + { + protected void initialize(Class type, Object oldInstance, Object newInstance, + Encoder out) + { + super.initialize(type, oldInstance, newInstance, out); + DamageReport r = (DamageReport) oldInstance; + + for (Point2D p : r.points) + out.writeStatement(new Statement(oldInstance, "click", new Object[] { p })); + } + }); + } + + // this step is necessary to make the removeMode property transient + static + { + try + { + BeanInfo info = Introspector.getBeanInfo(DamageReport.class); + for (PropertyDescriptor desc : info.getPropertyDescriptors()) + if (desc.getName().equals("removeMode")) desc.setValue("transient", Boolean.TRUE); + } + catch (IntrospectionException e) + { + e.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch08/damageReporter/DamageReporter.java b/corejava第9版/v2ch08/damageReporter/DamageReporter.java new file mode 100644 index 0000000..09e28d2 --- /dev/null +++ b/corejava第9版/v2ch08/damageReporter/DamageReporter.java @@ -0,0 +1,21 @@ +package damageReporter; + +import javax.swing.*; + +/** + * This program demonstrates the use of an XML encoder and decoder. All GUI and drawing code is + * collected in this class. The only interesting pieces are the action listeners for openItem and + * saveItem. Look inside the DamageReport class for encoder customizations. + * @version 1.02 2012-01-26 + * @author Cay Horstmann + */ +public class DamageReporter extends JFrame +{ + public static void main(String[] args) + { + JFrame frame = new DamageReporterFrame(); + frame.setTitle("DamageReporter"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } +} diff --git a/corejava第9版/v2ch08/damageReporter/DamageReporterFrame.java b/corejava第9版/v2ch08/damageReporter/DamageReporterFrame.java new file mode 100644 index 0000000..18f85b6 --- /dev/null +++ b/corejava第9版/v2ch08/damageReporter/DamageReporterFrame.java @@ -0,0 +1,256 @@ +package damageReporter; + +import java.awt.*; +import java.awt.event.*; +import java.awt.geom.*; +import java.beans.*; +import java.io.*; +import java.util.*; +import javax.swing.*; + +public class DamageReporterFrame extends JFrame +{ + private JTextField rentalRecord; + private JComboBox carType; + private JComponent carComponent; + private JRadioButton addButton; + private JRadioButton removeButton; + private DamageReport report; + private JFileChooser chooser; + + private static Map shapes = new EnumMap<>( + DamageReport.CarType.class); + + public DamageReporterFrame() + { + chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + + report = new DamageReport(); + report.setCarType(DamageReport.CarType.SEDAN); + + // set up the menu bar + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu menu = new JMenu("File"); + menuBar.add(menu); + + JMenuItem openItem = new JMenuItem("Open"); + menu.add(openItem); + openItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent evt) + { + // show file chooser dialog + int r = chooser.showOpenDialog(null); + + // if file selected, open + if (r == JFileChooser.APPROVE_OPTION) + { + try + { + File file = chooser.getSelectedFile(); + XMLDecoder decoder = new XMLDecoder(new FileInputStream(file)); + report = (DamageReport) decoder.readObject(); + decoder.close(); + rentalRecord.setText(report.getRentalRecord()); + carType.setSelectedItem(report.getCarType()); + repaint(); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(null, e); + } + } + } + }); + + JMenuItem saveItem = new JMenuItem("Save"); + menu.add(saveItem); + saveItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent evt) + { + report.setRentalRecord(rentalRecord.getText()); + chooser.setSelectedFile(new File(rentalRecord.getText() + ".xml")); + + // show file chooser dialog + int r = chooser.showSaveDialog(null); + + // if file selected, save + if (r == JFileChooser.APPROVE_OPTION) + { + try + { + File file = chooser.getSelectedFile(); + XMLEncoder encoder = new XMLEncoder(new FileOutputStream(file)); + report.configureEncoder(encoder); + encoder.writeObject(report); + encoder.close(); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(null, e); + } + } + } + }); + + JMenuItem exitItem = new JMenuItem("Exit"); + menu.add(exitItem); + exitItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + System.exit(0); + } + }); + + // combo box for car type + rentalRecord = new JTextField(); + carType = new JComboBox<>(); + carType.addItem(DamageReport.CarType.SEDAN); + carType.addItem(DamageReport.CarType.WAGON); + carType.addItem(DamageReport.CarType.SUV); + + carType.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + DamageReport.CarType item = carType.getItemAt(carType.getSelectedIndex()); + report.setCarType(item); + repaint(); + } + }); + + // component for showing car shape and damage locations + carComponent = new JComponent() + { + private static final int DEFAULT_WIDTH = 400; + private static final int DEFAULT_HEIGHT = 200; + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + g2.setColor(new Color(0.9f, 0.9f, 0.45f)); + g2.fillRect(0, 0, getWidth(), getHeight()); + g2.setColor(Color.BLACK); + g2.draw(shapes.get(report.getCarType())); + report.drawDamage(g2); + } + + public Dimension getPreferredSize() + { + return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); + } + }; + carComponent.addMouseListener(new MouseAdapter() + { + public void mousePressed(MouseEvent event) + { + report.click(new Point2D.Double(event.getX(), event.getY())); + repaint(); + } + }); + + // radio buttons for click action + addButton = new JRadioButton("Add"); + removeButton = new JRadioButton("Remove"); + ButtonGroup group = new ButtonGroup(); + JPanel buttonPanel = new JPanel(); + group.add(addButton); + buttonPanel.add(addButton); + group.add(removeButton); + buttonPanel.add(removeButton); + addButton.setSelected(!report.getRemoveMode()); + removeButton.setSelected(report.getRemoveMode()); + addButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + report.setRemoveMode(false); + } + }); + removeButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + report.setRemoveMode(true); + } + }); + + // layout components + JPanel gridPanel = new JPanel(); + gridPanel.setLayout(new GridLayout(0, 2)); + gridPanel.add(new JLabel("Rental Record")); + gridPanel.add(rentalRecord); + gridPanel.add(new JLabel("Type of Car")); + gridPanel.add(carType); + gridPanel.add(new JLabel("Operation")); + gridPanel.add(buttonPanel); + + add(gridPanel, BorderLayout.NORTH); + add(carComponent, BorderLayout.CENTER); + pack(); + } + + static + { + int width = 200; + int x = 50; + int y = 50; + Rectangle2D.Double body = new Rectangle2D.Double(x, y + width / 6, width - 1, width / 6); + Ellipse2D.Double frontTire = new Ellipse2D.Double(x + width / 6, y + width / 3, width / 6, + width / 6); + Ellipse2D.Double rearTire = new Ellipse2D.Double(x + width * 2 / 3, y + width / 3, + width / 6, width / 6); + + Point2D.Double p1 = new Point2D.Double(x + width / 6, y + width / 6); + Point2D.Double p2 = new Point2D.Double(x + width / 3, y); + Point2D.Double p3 = new Point2D.Double(x + width * 2 / 3, y); + Point2D.Double p4 = new Point2D.Double(x + width * 5 / 6, y + width / 6); + + Line2D.Double frontWindshield = new Line2D.Double(p1, p2); + Line2D.Double roofTop = new Line2D.Double(p2, p3); + Line2D.Double rearWindshield = new Line2D.Double(p3, p4); + + GeneralPath sedanPath = new GeneralPath(); + sedanPath.append(frontTire, false); + sedanPath.append(rearTire, false); + sedanPath.append(body, false); + sedanPath.append(frontWindshield, false); + sedanPath.append(roofTop, false); + sedanPath.append(rearWindshield, false); + shapes.put(DamageReport.CarType.SEDAN, sedanPath); + + Point2D.Double p5 = new Point2D.Double(x + width * 11 / 12, y); + Point2D.Double p6 = new Point2D.Double(x + width, y + width / 6); + roofTop = new Line2D.Double(p2, p5); + rearWindshield = new Line2D.Double(p5, p6); + + GeneralPath wagonPath = new GeneralPath(); + wagonPath.append(frontTire, false); + wagonPath.append(rearTire, false); + wagonPath.append(body, false); + wagonPath.append(frontWindshield, false); + wagonPath.append(roofTop, false); + wagonPath.append(rearWindshield, false); + shapes.put(DamageReport.CarType.WAGON, wagonPath); + + Point2D.Double p7 = new Point2D.Double(x + width / 3, y - width / 6); + Point2D.Double p8 = new Point2D.Double(x + width * 11 / 12, y - width / 6); + frontWindshield = new Line2D.Double(p1, p7); + roofTop = new Line2D.Double(p7, p8); + rearWindshield = new Line2D.Double(p8, p6); + + GeneralPath suvPath = new GeneralPath(); + suvPath.append(frontTire, false); + suvPath.append(rearTire, false); + suvPath.append(body, false); + suvPath.append(frontWindshield, false); + suvPath.append(roofTop, false); + suvPath.append(rearWindshield, false); + shapes.put(DamageReport.CarType.SUV, suvPath); + } +} diff --git a/corejava第9版/v2ch08/damageReporter/foo.xml b/corejava第9版/v2ch08/damageReporter/foo.xml new file mode 100644 index 0000000..ab9928d --- /dev/null +++ b/corejava第9版/v2ch08/damageReporter/foo.xml @@ -0,0 +1,31 @@ + + + + + + SEDAN + + + + foo + + + + 181.0 + 65.0 + + + + + 147.0 + 107.0 + + + + + 105.0 + 132.0 + + + + diff --git a/corejava第9版/v2ch08/filePicker/FilePickerBean.java b/corejava第9版/v2ch08/filePicker/FilePickerBean.java new file mode 100644 index 0000000..91e6dc4 --- /dev/null +++ b/corejava第9版/v2ch08/filePicker/FilePickerBean.java @@ -0,0 +1,125 @@ +package filePicker; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.util.*; +import javax.swing.*; +import javax.swing.filechooser.*; + +/** + * A bean for picking file names. + * @version 1.31 2012-06-10 + * @author Cay Horstmann + */ +public class FilePickerBean extends JPanel +{ + private static final int XPREFSIZE = 200; + private static final int YPREFSIZE = 20; + + private JButton dialogButton; + private JTextField nameField; + private JFileChooser chooser; + private String[] extensions = { "gif", "png" }; + + public FilePickerBean() + { + dialogButton = new JButton("..."); + nameField = new JTextField(30); + + chooser = new JFileChooser(); + setPreferredSize(new Dimension(XPREFSIZE, YPREFSIZE)); + + setLayout(new GridBagLayout()); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.weightx = 100; + gbc.weighty = 100; + gbc.anchor = GridBagConstraints.WEST; + gbc.fill = GridBagConstraints.BOTH; + gbc.gridwidth = 1; + gbc.gridheight = 1; + add(nameField, gbc); + + dialogButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + chooser.setFileFilter(new FileNameExtensionFilter(Arrays.toString(extensions), + extensions)); + int r = chooser.showOpenDialog(null); + if (r == JFileChooser.APPROVE_OPTION) + { + File f = chooser.getSelectedFile(); + String name = f.getAbsolutePath(); + setFileName(name); + } + } + }); + nameField.setEditable(false); + + gbc.weightx = 0; + gbc.anchor = GridBagConstraints.EAST; + gbc.fill = GridBagConstraints.NONE; + gbc.gridx = 1; + add(dialogButton, gbc); + } + + /** + * Sets the fileName property. + * @param newValue the new file name + */ + public void setFileName(String newValue) + { + String oldValue = nameField.getText(); + nameField.setText(newValue); + firePropertyChange("fileName", oldValue, newValue); + } + + /** + * Gets the fileName property. + * @return the name of the selected file + */ + public String getFileName() + { + return nameField.getText(); + } + + /** + * Gets the extensions property. + * @return the default extensions in the file chooser + */ + public String[] getExtensions() + { + return extensions; + } + + /** + * Sets the extensions property. + * @param newValue the new default extensions + */ + public void setExtensions(String[] newValue) + { + extensions = newValue; + } + + /** + * Gets one of the extensions property values. + * @param i the index of the property value + * @return the value at the given index + */ + public String getExtensions(int i) + { + if (0 <= i && i < extensions.length) return extensions[i]; + else return ""; + } + + /** + * Sets one of the extensions property values. + * @param i the index of the property value + * @param newValue the new value at the given index + */ + public void setExtensions(int i, String newValue) + { + if (0 <= i && i < extensions.length) extensions[i] = newValue; + } +} diff --git a/corejava第9版/v2ch08/imageViewer/ImageViewerBean.jar b/corejava第9版/v2ch08/imageViewer/ImageViewerBean.jar new file mode 100644 index 0000000000000000000000000000000000000000..00b9c477d462c1c08355e734a8f729edf89b6822 GIT binary patch literal 1313 zcmWIWW@Zs#-~hruGabztkN_tG3xls~h@-BjpPT-_Qw$8u3<2Kk93T};P-Ou)HH!dM zz%~0i`gyv!28ZbRx{03I$aTm-py8qIgz^(BoF~6{Fkz#g=&MB~QrqJzxsnnjCmvZZR6ph8xjb%H;mK*w&h33Zr~3K1yZ?Uu{mb59nG$+r0>@(E$6Av-R;DZ! z^;yA@7<6z-SLO>XkuxVwtZA~8tX%M5VHd|UQ5}tnBNw)1Ph)j1d29RsMCs*g#U*hm z9Q*H9%{?pn>HQ`io$~^b8`rKnty?~OdbW~>YK%a}bFM4Y@28KQN4+I z&u3+J_C_t$m}9<2!?-l0Rl7Ln1J~Ry>7U6ud8RjNK9T$#B+AJ?k@F5 zaoQWrXa1UgQb75_H083^#~ncj|M;BPr#4A`*RNHPf?-#;=pI_dy8D@g(sR=V=J5}! zlWvQ&A3DjA=j+|ocKgNk3$1yq{iZetgL%6nk}gE;RtMycr`$GfgI*>Ach$tO!>m8?CfS@n-C z^c=fwvaq!OKX$G7%@?JDr)jN!Ynnc}twm_M#IniPm#=@i*QRUU%D0!gyC%6Wd18A~ zyXF1lND(d1ZGVbZ>B%?Gv2*fcFaIv-bh5^7Yp>uhlO&VVjx0~KC!03NeQ8oT!MC9Q z-1c>IZ=YDUa6xH<&F3e{TgsQdPRRVm+xSJYX?cdVqWWQlwRc?@J-1x^(c-D*ro>Zj zaAiV)hLZjAm0v8Ktc6Rrcuy_XuztCoW6nc2*@wX^;ss*A3maI?t%!UaQqLZ0@Zu)d z+QS!4h#$9D``w_+aFfuCCI8zkTt!)SH0{=!*v|RjdHjOA`-bLD!0$89`+R0@wnXaIHus2(k&FOpEL= cP^LwIe?TTFSvbI(l?|ku83?ZfX%nzd0P5HJqW}N^ literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch08/imageViewer/ImageViewerBean.java b/corejava第9版/v2ch08/imageViewer/ImageViewerBean.java new file mode 100644 index 0000000..53d61ab --- /dev/null +++ b/corejava第9版/v2ch08/imageViewer/ImageViewerBean.java @@ -0,0 +1,57 @@ +package imageViewer; + +import java.awt.*; +import java.io.*; +import java.nio.file.*; +import javax.imageio.*; +import javax.swing.*; + +/** + * A bean for viewing an image. + * @version 1.22 2012-06-10 + * @author Cay Horstmann + */ +public class ImageViewerBean extends JLabel +{ + private Path path = null; + private static final int XPREFSIZE = 200; + private static final int YPREFSIZE = 200; + + public ImageViewerBean() + { + setBorder(BorderFactory.createEtchedBorder()); + } + + /** + * Sets the fileName property. + * @param fileName the image file name + */ + public void setFileName(String fileName) + { + path = Paths.get(fileName); + try (InputStream in = Files.newInputStream(path)) + { + setIcon(new ImageIcon(ImageIO.read(in))); + } + catch (IOException e) + { + path = null; + setIcon(null); + } + } + + /** + * Gets the fileName property. + * @return the image file name + */ + public String getFileName() + { + if (path == null) return ""; + else return path.toString(); + } + + public Dimension getPreferredSize() + { + return new Dimension(XPREFSIZE, YPREFSIZE); + } +} diff --git a/corejava第9版/v2ch08/persistenceDelegate/Employee.java b/corejava第9版/v2ch08/persistenceDelegate/Employee.java new file mode 100644 index 0000000..4809f70 --- /dev/null +++ b/corejava第9版/v2ch08/persistenceDelegate/Employee.java @@ -0,0 +1,47 @@ +package persistenceDelegate; + +import java.util.*; + +public class Employee +{ + private String name; + private double salary; + private Date hireDay; + + public Employee(String n, double s, int year, int month, int day) + { + name = n; + salary = s; + GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day); + // GregorianCalendar uses 0 for January + hireDay = calendar.getTime(); + } + + public Employee(String n, double s, Date h) + { + name = n; + salary = s; + hireDay = h; + } + + public String getName() + { + return name; + } + + public double getSalary() + { + return salary; + } + + public Date getHireDay() + { + return hireDay; + } + + public void raiseSalary(double byPercent) + { + double raise = salary * byPercent / 100; + salary += raise; + } +} diff --git a/corejava第9版/v2ch08/persistenceDelegate/PersistenceDelegateTest.java b/corejava第9版/v2ch08/persistenceDelegate/PersistenceDelegateTest.java new file mode 100644 index 0000000..016b8ac --- /dev/null +++ b/corejava第9版/v2ch08/persistenceDelegate/PersistenceDelegateTest.java @@ -0,0 +1,98 @@ +package persistenceDelegate; + +import java.awt.geom.*; +import java.beans.*; +import java.net.*; +import java.util.*; + +/** + * This program demonstrates various persistence delegates. + * @version 1.01 2007-10-03 + * @author Cay Horstmann + */ +public class PersistenceDelegateTest +{ + public static class Point + { + private final int x, y; + + @ConstructorProperties( { "x", "y" }) + public Point(int x, int y) + { + this.x = x; + this.y = y; + } + + public int getX() + { + return x; + } + + public int getY() + { + return y; + } + + } + + public static void main(String[] args) throws Exception + { + PersistenceDelegate delegate = new PersistenceDelegate() + { + protected Expression instantiate(Object oldInstance, Encoder out) + { + Employee e = (Employee) oldInstance; + GregorianCalendar c = new GregorianCalendar(); + c.setTime(e.getHireDay()); + return new Expression(oldInstance, Employee.class, "new", new Object[] { + e.getName(), e.getSalary(), c.get(Calendar.YEAR), c.get(Calendar.MONTH), + c.get(Calendar.DATE) }); + } + }; + BeanInfo info = Introspector.getBeanInfo(Employee.class); + info.getBeanDescriptor().setValue("persistenceDelegate", delegate); + + XMLEncoder out = new XMLEncoder(System.out); + out.setExceptionListener(new ExceptionListener() + { + public void exceptionThrown(Exception e) + { + e.printStackTrace(); + } + }); + + out.setPersistenceDelegate(Rectangle2D.Double.class, new DefaultPersistenceDelegate( + new String[] { "x", "y", "width", "height" })); + + out.setPersistenceDelegate(Inet4Address.class, new DefaultPersistenceDelegate() + { + protected Expression instantiate(Object oldInstance, Encoder out) + { + return new Expression(oldInstance, InetAddress.class, "getByAddress", + new Object[] { ((InetAddress) oldInstance).getAddress() }); + } + }); + + out.setPersistenceDelegate(BitSet.class, new DefaultPersistenceDelegate() + { + protected void initialize(Class type, Object oldInstance, Object newInstance, + Encoder out) + { + super.initialize(type, oldInstance, newInstance, out); + BitSet bs = (BitSet) oldInstance; + for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i + 1)) + out.writeStatement(new Statement(bs, "set", new Object[] { i, i + 1, true })); + } + }); + + out.writeObject(new Employee("Harry Hacker", 50000, 1989, 10, 1)); + out.writeObject(new Point(17, 29)); + out.writeObject(new java.awt.geom.Rectangle2D.Double(5, 10, 20, 30)); + out.writeObject(InetAddress.getLocalHost()); + BitSet bs = new BitSet(); + bs.set(1, 4); + bs.clear(2, 3); + out.writeObject(bs); + out.close(); + } +} diff --git a/corejava第9版/v2ch08/persistentFrame/PersistentFrameTest.java b/corejava第9版/v2ch08/persistentFrame/PersistentFrameTest.java new file mode 100644 index 0000000..263dbc9 --- /dev/null +++ b/corejava第9版/v2ch08/persistentFrame/PersistentFrameTest.java @@ -0,0 +1,85 @@ +package persistentFrame; + +import java.awt.*; +import java.awt.event.*; +import java.beans.*; +import java.io.*; +import javax.swing.*; + +/** + * This program demonstrates the use of an XML encoder and decoder to save and restore a frame. + * @version 1.01 2007-10-03 + * @author Cay Horstmann + */ +public class PersistentFrameTest +{ + private static JFileChooser chooser; + private JFrame frame; + + public static void main(String[] args) + { + chooser = new JFileChooser(); + chooser.setCurrentDirectory(new File(".")); + PersistentFrameTest test = new PersistentFrameTest(); + test.init(); + } + + public void init() + { + frame = new JFrame(); + frame.setLayout(new FlowLayout()); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setTitle("PersistentFrameTest"); + frame.setSize(400, 200); + + JButton loadButton = new JButton("Load"); + frame.add(loadButton); + loadButton.addActionListener(EventHandler.create(ActionListener.class, this, "load")); + + JButton saveButton = new JButton("Save"); + frame.add(saveButton); + saveButton.addActionListener(EventHandler.create(ActionListener.class, this, "save")); + + frame.setVisible(true); + } + + public void load() + { + // show file chooser dialog + int r = chooser.showOpenDialog(null); + + // if file selected, open + if(r == JFileChooser.APPROVE_OPTION) + { + try + { + File file = chooser.getSelectedFile(); + XMLDecoder decoder = new XMLDecoder(new FileInputStream(file)); + decoder.readObject(); + decoder.close(); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(null, e); + } + } + } + + public void save() + { + if (chooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) + { + try + { + File file = chooser.getSelectedFile(); + XMLEncoder encoder = new XMLEncoder(new FileOutputStream(file)); + encoder.writeObject(frame); + encoder.close(); + } + catch (IOException e) + { + JOptionPane.showMessageDialog(null, e); + } + } + } +} diff --git a/corejava第9版/v2ch08/persistentFrame/test.xml b/corejava第9版/v2ch08/persistentFrame/test.xml new file mode 100644 index 0000000..9c9a499 --- /dev/null +++ b/corejava第9版/v2ch08/persistentFrame/test.xml @@ -0,0 +1,68 @@ + + + + + + 33 + 0 + 400 + 200 + + + + + + Load + + + java.awt.event.ActionListener + + load + + + + + + + Save + + + true + + + + + java.awt.event.ActionListener + + save + + + + + + + + + + 3 + + + + 143 + 62 + + + + frame0 + + + PersistentFrameTest + + + + + + true + + + diff --git a/corejava第9版/v2ch09/Calculator.caesar b/corejava第9版/v2ch09/Calculator.caesar new file mode 100644 index 0000000..79af0a6 --- /dev/null +++ b/corejava第9版/v2ch09/Calculator.caesar @@ -0,0 +1,6 @@ +ͽÁ4  + +    + + ?lqlwA+,YFrghOlqhQxpehuWdeohpdlq+^Omdyd2odqj2Vwulqj>,Y VrxufhIlohFdofxodwru1mdyd  FdofxodwruIudph Fdofxodwrumdyd2odqj2RemhfwvhwGhidxowForvhRshudwlrq+L,Y vhwYlvleoh+],Y$  +    -º´    :¾\ºO. ¹.¹´  \ No newline at end of file diff --git a/corejava第9版/v2ch09/CalculatorFrame.caesar b/corejava第9版/v2ch09/CalculatorFrame.caesar new file mode 100644 index 0000000..485adb5 --- /dev/null +++ b/corejava第9版/v2ch09/CalculatorFrame.caesar @@ -0,0 +1,5 @@ +ͽÁ4      +      + + ?lqlwA+,YFrghOlqhQxpehuWdeoh VrxufhIlohFdofxodwru1mdyd  FdofxodwruFdofxodwruSdqhoFdofxodwruIudphmdyd{2vzlqj2MIudph vhwWlwoh+Omdyd2odqj2Vwulqj>,Ydgg-+Omdyd2dzw2Frpsrqhqw>,Omdyd2dzw2Frpsrqhqw>sdfn#   L -º-¹¾\ºO-.¹ Z-¹ +´   !" \ No newline at end of file diff --git a/corejava第9版/v2ch09/CalculatorPanel$1.caesar b/corejava第9版/v2ch09/CalculatorPanel$1.caesar new file mode 100644 index 0000000..09b46fc --- /dev/null +++ b/corejava第9版/v2ch09/CalculatorPanel$1.caesar @@ -0,0 +1,5 @@ +ͽÁ4 + + +  VrxufhIlohFdofxodwru1mdydHqforvlqjPhwkrg +FdofxodwruSdqho'4LqqhuFodvvhvmdyd2odqj2RemhfwFdofxodwruSdqho#     \ No newline at end of file diff --git a/corejava第9版/v2ch09/CalculatorPanel$CommandAction.caesar b/corejava第9版/v2ch09/CalculatorPanel$CommandAction.caesar new file mode 100644 index 0000000..06b04e7 --- /dev/null +++ b/corejava第9版/v2ch09/CalculatorPanel$CommandAction.caesar @@ -0,0 +1,13 @@ +ͽÁ4T # $ % &' () * +, (- ./ (0 (1 .2 34 (5 +6 +8 +9 wklv'3OFdofxodwruSdqho> ?lqlwA+OFdofxodwruSdqho>,YFrghOlqhQxpehuWdeohdfwlrqShuiruphg"+Omdyd2dzw2hyhqw2DfwlrqHyhqw>,Y +:LqqhuFodvvhv*+OFdofxodwruSdqho>OFdofxodwruSdqho'4>,Y VrxufhIlohFdofxodwru1mdyd; +<=> +?@A0 +BCDEF +GHIJKLMN> +OPQRS FdofxodwruSdqho'FrppdqgDfwlrqFrppdqgDfwlrqmdyd2odqj2Remhfw mdyd2dzw2hyhqw2DfwlrqOlvwhqhuFdofxodwruSdqho'4+,Ymdyd2dzw2hyhqw2DfwlrqHyhqwjhwDfwlrqFrppdqg+,Omdyd2odqj2Vwulqj>FdofxodwruSdqho dffhvv'533+OFdofxodwruSdqho>,]mdyd2odqj2Vwulqj htxdov+Omdyd2odqj2Remhfw>,] dffhvv'633++OFdofxodwruSdqho>,Omdyd{2vzlqj2MExwwrq>mdyd{2vzlqj2MExwwrq +vhwWh{w+Omdyd2odqj2Vwulqj>,Y dffhvv'535+OFdofxodwruSdqho>],] dffhvv'735:+OFdofxodwruSdqho>Omdyd2odqj2Vwulqj>,Omdyd2odqj2Vwulqj> +jhwWh{wmdyd2odqj2GrxeohsduvhGrxeoh+Omdyd2odqj2Vwulqj>,G fdofxodwh+G,Y#% -.¸-º´ y©e.¹P-·»œ2/ ¹ +œ-·» /¹ -·» Zª8-·/»Zª,-·-·» ¹»¹-·/»Z-·» Z´5}�ƒ&„/…2‡;ˆ>‹RŒ[�d� ! -.º´ y!"( (7 \ No newline at end of file diff --git a/corejava第9版/v2ch09/CalculatorPanel$InsertAction.caesar b/corejava第9版/v2ch09/CalculatorPanel$InsertAction.caesar new file mode 100644 index 0000000..ce37ba7 --- /dev/null +++ b/corejava第9版/v2ch09/CalculatorPanel$InsertAction.caesar @@ -0,0 +1,12 @@ +ͽÁ4I # $ % &' () (*  +, (- +.  % +/  0  1 +2 +4 +5 wklv'3OFdofxodwruSdqho> ?lqlwA+OFdofxodwruSdqho>,YFrghOlqhQxpehuWdeohdfwlrqShuiruphg"+Omdyd2dzw2hyhqw2DfwlrqHyhqw>,Y +6LqqhuFodvvhv*+OFdofxodwruSdqho>OFdofxodwruSdqho'4>,Y VrxufhIlohFdofxodwru1mdyd7 +89: +;<=>? +@ABCDmdyd2odqj2VwulqjExloghuE:FGH:FdofxodwruSdqho'LqvhuwDfwlrqLqvhuwDfwlrqmdyd2odqj2Remhfw mdyd2dzw2hyhqw2DfwlrqOlvwhqhuFdofxodwruSdqho'4+,Ymdyd2dzw2hyhqw2DfwlrqHyhqwjhwDfwlrqFrppdqg+,Omdyd2odqj2Vwulqj>FdofxodwruSdqho dffhvv'533+OFdofxodwruSdqho>,] dffhvv'633++OFdofxodwruSdqho>,Omdyd{2vzlqj2MExwwrq>mdyd{2vzlqj2MExwwrq +vhwWh{w+Omdyd2odqj2Vwulqj>,Y dffhvv'535+OFdofxodwruSdqho>],] +jhwWh{w dsshqg0+Omdyd2odqj2Vwulqj>,Omdyd2odqj2VwulqjExloghu> wrVwulqj#% -.¸-º´ gyM.¹P-·»œ-·»  +¹ -·» Z-·» ¾ \º-·» ¹¹/¹¹¹ ´ klno'qLr ! -.º´ g!"( (3 \ No newline at end of file diff --git a/corejava第9版/v2ch09/CalculatorPanel.caesar b/corejava第9版/v2ch09/CalculatorPanel.caesar new file mode 100644 index 0000000..74e8dc1 --- /dev/null +++ b/corejava第9版/v2ch09/CalculatorPanel.caesar @@ -0,0 +1,20 @@ +ͽÁ4� 6X 6Y 6Z [ +\ [ 6] 6^ _ +` a  b  c d 6e +f g +h g +i 6j +k l ] m 6n o p q r s t u v w x y z { |  } ~ € +� /[ 8 /‚ /ƒ /„  … +† +‡LqqhuFodvvhvFrppdqgDfwlrqLqvhuwDfwlrq +glvsod|Omdyd{2vzlqj2MExwwrq>sdqhoOmdyd{2vzlqj2MSdqho> uhvxowGodvwFrppdqgOmdyd2odqj2Vwulqj>vwduw] ?lqlwA+,YFrghOlqhQxpehuWdeoh dggExwwrq7+Omdyd2odqj2Vwulqj>Omdyd2dzw2hyhqw2DfwlrqOlvwhqhu>,Y fdofxodwh+G,Y dffhvv'533+OFdofxodwruSdqho>,] dffhvv'633++OFdofxodwruSdqho>,Omdyd{2vzlqj2MExwwrq> dffhvv'535+OFdofxodwruSdqho>],] dffhvv'735:+OFdofxodwruSdqho>Omdyd2odqj2Vwulqj>,Omdyd2odqj2Vwulqj> VrxufhIlohFdofxodwru1mdydBC<=DEFGmdyd2dzw2ErughuOd|rxwˆ‰@A@mdyd{2vzlqj2MExwwrq3FŠ‹ŒQruwk�ŽFdofxodwruSdqho'LqvhuwDfwlrqF� FdofxodwruSdqho'FrppdqgDfwlrqmdyd{2vzlqj2MSdqho>?mdyd2dzw2JulgOd|rxwF�:JK;<2789-45601. Fhqwhu‘’�“ +”•–mdyd2odqj2VwulqjExloghu—˜—™š›œŠFdofxodwruSdqhoFdofxodwruSdqho'4 vhwOd|rxw+Omdyd2dzw2Od|rxwPdqdjhu>,Y+Omdyd2odqj2Vwulqj>,Y vhwHqdeohg+],Ydgg,+Omdyd2dzw2Frpsrqhqw>Omdyd2odqj2Remhfw>,Y*+OFdofxodwruSdqho>OFdofxodwruSdqho'4>,Y+LL,YdggDfwlrqOlvwhqhu%+Omdyd2dzw2hyhqw2DfwlrqOlvwhqhu>,Y-+Omdyd2dzw2Frpsrqhqw>,Omdyd2dzw2Frpsrqhqw>mdyd2odqj2Vwulqj htxdov+Omdyd2odqj2Remhfw>,] dsshqg0+Omdyd2odqj2Vwulqj>,Omdyd2odqj2VwulqjExloghu>+G,Omdyd2odqj2VwulqjExloghu> wrVwulqj+,Omdyd2odqj2Vwulqj> +vhwWh{w#6<=>?@ABCDE +FGHwë-º-¾\º ¹ +-¸ - ¸-¸-¾ \º¸-·¹--·¹¾\-ºO¾\-ºP-¾\º¸-·¾\ + +º¹-.º-.º-.º- /º-!.º-".º-#.º-$/º-%.º-&.º-'.º-(/º-.º-).º- /º-*/º--·+¹´I}!+,./0"4/576A8K9U=`>p@wA~B…CŒE“FšG¡H¨J¯K¶L½MÄOËPÒQÙRàTêUJKH?¾ \.ºQ0/¹,-·0¹-Z´I^ _`aLMHÆ–-·*¹.œ-\· *f¸ ªb-·(¹.œ-\· *j¸ ªI-·$¹.œ-\· *n¸ ª0-· ¹.œ-\· *r¸ ª-· ¹.œ -*¸ -·¾/\º01¹2-· ¹3¹4¹5´I! +˜™5šN›gœx�•ž NOH -·¯I ( PQH -·³I ( RSH" +-]¸¯I ( TUH" +-.]¸³I (VW976 6:6; \ No newline at end of file diff --git a/corejava第9版/v2ch09/FileReadApplet.html b/corejava第9版/v2ch09/FileReadApplet.html new file mode 100644 index 0000000..1642dcc --- /dev/null +++ b/corejava第9版/v2ch09/FileReadApplet.html @@ -0,0 +1,3 @@ + + diff --git a/corejava第9版/v2ch09/aes/AESTest.java b/corejava第9版/v2ch09/aes/AESTest.java new file mode 100644 index 0000000..bd9019b --- /dev/null +++ b/corejava第9版/v2ch09/aes/AESTest.java @@ -0,0 +1,49 @@ +package aes; + +import java.io.*; +import java.security.*; +import javax.crypto.*; + +/** + * This program tests the AES cipher. Usage:
        + * java aes.AESTest -genkey keyfile
        + * java aes.AESTest -encrypt plaintext encrypted keyfile
        + * java aes.AESTest -decrypt encrypted decrypted keyfile
        + * @author Cay Horstmann + * @version 1.01 2012-06-10 + */ +public class AESTest +{ + public static void main(String[] args) + throws IOException, GeneralSecurityException, ClassNotFoundException + { + if (args[0].equals("-genkey")) + { + KeyGenerator keygen = KeyGenerator.getInstance("AES"); + SecureRandom random = new SecureRandom(); + keygen.init(random); + SecretKey key = keygen.generateKey(); + try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(args[1]))) + { + out.writeObject(key); + } + } + else + { + int mode; + if (args[0].equals("-encrypt")) mode = Cipher.ENCRYPT_MODE; + else mode = Cipher.DECRYPT_MODE; + + try (ObjectInputStream keyIn = new ObjectInputStream(new FileInputStream(args[3])); + InputStream in = new FileInputStream(args[1]); + OutputStream out = new FileOutputStream(args[2])) + { + Key key = (Key) keyIn.readObject(); + Cipher cipher = Cipher.getInstance("AES"); + cipher.init(mode, key); + Util.crypt(in, out, cipher); + } + } + } +} + diff --git a/corejava第9版/v2ch09/aes/Util.java b/corejava第9版/v2ch09/aes/Util.java new file mode 100644 index 0000000..9318bcc --- /dev/null +++ b/corejava第9版/v2ch09/aes/Util.java @@ -0,0 +1,41 @@ +package aes; + +import java.io.*; +import java.security.*; +import javax.crypto.*; + +public class Util +{ + /** + * Uses a cipher to transform the bytes in an input stream and sends the transformed bytes to an + * output stream. + * @param in the input stream + * @param out the output stream + * @param cipher the cipher that transforms the bytes + */ + public static void crypt(InputStream in, OutputStream out, Cipher cipher) throws IOException, + GeneralSecurityException + { + int blockSize = cipher.getBlockSize(); + int outputSize = cipher.getOutputSize(blockSize); + byte[] inBytes = new byte[blockSize]; + byte[] outBytes = new byte[outputSize]; + + int inLength = 0; + ; + boolean more = true; + while (more) + { + inLength = in.read(inBytes); + if (inLength == blockSize) + { + int outLength = cipher.update(inBytes, 0, blockSize, outBytes); + out.write(outBytes, 0, outLength); + } + else more = false; + } + if (inLength > 0) outBytes = cipher.doFinal(inBytes, 0, inLength); + else outBytes = cipher.doFinal(); + out.write(outBytes); + } +} diff --git a/corejava第9版/v2ch09/applet.policy b/corejava第9版/v2ch09/applet.policy new file mode 100644 index 0000000..e89adeb --- /dev/null +++ b/corejava第9版/v2ch09/applet.policy @@ -0,0 +1,7 @@ +keystore "client.certs", "JKS"; + +grant signedby "acmeroot" +{ + permission java.lang.RuntimePermission "usePolicy"; + permission java.io.FilePermission "/etc/*", "read"; +}; diff --git a/corejava第9版/v2ch09/auth/AuthTest.java b/corejava第9版/v2ch09/auth/AuthTest.java new file mode 100644 index 0000000..c112cb8 --- /dev/null +++ b/corejava第9版/v2ch09/auth/AuthTest.java @@ -0,0 +1,35 @@ +package auth; + +import java.security.*; +import javax.security.auth.*; +import javax.security.auth.login.*; + +/** + * This program authenticates a user via a custom login and then executes the SysPropAction with the + * user's privileges. + * @version 1.01 2007-10-06 + * @author Cay Horstmann + */ +public class AuthTest +{ + public static void main(final String[] args) + { + System.setSecurityManager(new SecurityManager()); + try + { + LoginContext context = new LoginContext("Login1"); + context.login(); + System.out.println("Authentication successful."); + Subject subject = context.getSubject(); + System.out.println("subject=" + subject); + PrivilegedAction action = new SysPropAction("user.home"); + String result = Subject.doAsPrivileged(subject, action, null); + System.out.println(result); + context.logout(); + } + catch (LoginException e) + { + e.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch09/auth/AuthTest.policy b/corejava第9版/v2ch09/auth/AuthTest.policy new file mode 100644 index 0000000..902e1d0 --- /dev/null +++ b/corejava第9版/v2ch09/auth/AuthTest.policy @@ -0,0 +1,10 @@ +grant codebase "file:login.jar" +{ + permission javax.security.auth.AuthPermission "createLoginContext.Login1"; + permission javax.security.auth.AuthPermission "doAsPrivileged"; +}; + +grant principal com.sun.security.auth.UnixPrincipal "harry" +{ + permission java.util.PropertyPermission "user.*", "read"; +}; diff --git a/corejava第9版/v2ch09/auth/SysPropAction.java b/corejava第9版/v2ch09/auth/SysPropAction.java new file mode 100644 index 0000000..72707a2 --- /dev/null +++ b/corejava第9版/v2ch09/auth/SysPropAction.java @@ -0,0 +1,24 @@ +package auth; + +import java.security.*; + +/** + This action looks up a system property. + * @version 1.01 2007-10-06 + * @author Cay Horstmann +*/ +public class SysPropAction implements PrivilegedAction +{ + private String propertyName; + + /** + Constructs an action for looking up a given property. + @param propertyName the property name (such as "user.home") + */ + public SysPropAction(String propertyName) { this.propertyName = propertyName; } + + public String run() + { + return System.getProperty(propertyName); + } +} diff --git a/corejava第9版/v2ch09/auth/action.jar b/corejava第9版/v2ch09/auth/action.jar new file mode 100644 index 0000000000000000000000000000000000000000..efe3d61363dd3ba48e6f2e3383a8dff2027d4a85 GIT binary patch literal 830 zcmWIWW@Zs#-~hsKS2uG8B*4kQ!r%MB z$s^Jdni(w9pK1O`QxktG9xgV0$ulwSif5{?Gd~r5EMf#Z@$(#K4`Vm*VIjDJ()HeAOcKMwfRb|dPcQOY&xB#nRf1#=e)>AjpjsYuH%&0}Xw>Ga>}7XPz%&lWiKrM1xD zMah;8slQ%u{A3F%nJqF`aNR`HHQ@%YA4%R)b~WL-yHLnPn)`Y5C+`$zlSEs`YUd}3 zy>ri+bk2?3#O+;nrpmEo?yLoetW!)=HvUd7z7I+)OYA=LCNnZH^Z-*#fHxzP2m@+b zgC!(TT0;f!!~;rs=vtAZ9+c7$z!u1aYehc22(rUKNdy6o0hw45On^5l8%Pl| M5bgugSzxCF01UMTH~;_u literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch09/auth/jaas.config b/corejava第9版/v2ch09/auth/jaas.config new file mode 100644 index 0000000..be7b726 --- /dev/null +++ b/corejava第9版/v2ch09/auth/jaas.config @@ -0,0 +1,4 @@ +Login1 +{ + com.sun.security.auth.module.UnixLoginModule required; +}; diff --git a/corejava第9版/v2ch09/auth/login.jar b/corejava第9版/v2ch09/auth/login.jar new file mode 100644 index 0000000000000000000000000000000000000000..e7656ccb25d65afd4d75ae04604de25ceb697f3a GIT binary patch literal 1227 zcmWIWW@Zs#-~d7&S2uG8B*4kQ!r%MB z$s^Jdni(w9pK1O`QxktG9xgV0$ulwSif5{?Gd~r5EMf#Z9#U*;lIf=!^ts$Pl!j2;UtXR^Fc%pBV$227NJ~+3G@t`iFNk@>(nv+X- zn@{>=iE-6UOt(>)5)wJ@D|_YU8rx28#zMaJ%j4_s-`>6d-;Xbn2XyXfyg0mq#n+Kz zG1oBzy+o&DOPZp5I1ObLQ+wjxzSw~k{xz8$y zGuLh7%QfG)UjD_#IeDqcn&%DIzS*N-w#4Rc#r!MWjPv#wXlULp=h>IWRp)%?`?qa7 zUi)(I>Z;>0DEXh-CA}}X%H8wsrOkIHZdmk4Fig^o<(a{=uye^)H#?ucS(ABG$Z6e; zX~+3(PpRBE$8kAZOD@^rsIX1y3&D9ipU!N1H*=fmlV5EIW53UxKYQ8-pQFW${t72A zM9#grDgT+#ox};T_IuCs<_8|NGHbaJ@{vj3^`85?Wy#`?+6>MKe2jhP^ZsV#Do3xQ zVsVBh;kQFK>R!73Z}P2I3lDN1TGMr%N&o+v_{qJ#IJ z&2JpFZ*T36j*)J0o1FCf$-2EfMsIJZDcT$=w6#Bfp{j9~qgF?3-wm&6NuRV0`LmKc zySoAyC+xJ^8}J~kE%DW&73WrJ$SeEBJcrL6he^#_UN4_|G0HlQ$$FW5o8qL>#!Yg9N^xr)_AhLU6HIt7vT&|Y zmY;x~>s!Aq>sT}m16%$GPFxY>V*7Ws=dC%58VhoJN-kqVTn@O2+I2iU<+izwIY=S$R>a?EwaNvnHB+#0hy>- UIKZ2g4J6MDggb%sA7&5_07kaRSO5S3 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch09/classLoader/Caesar.java b/corejava第9版/v2ch09/classLoader/Caesar.java new file mode 100644 index 0000000..d9a0b9d --- /dev/null +++ b/corejava第9版/v2ch09/classLoader/Caesar.java @@ -0,0 +1,32 @@ +package classLoader; + +import java.io.*; + +/** + * Encrypts a file using the Caesar cipher. + * @version 1.01 2012-06-10 + * @author Cay Horstmann + */ +public class Caesar +{ + public static void main(String[] args) throws Exception + { + if (args.length != 3) + { + System.out.println("USAGE: java classLoader.Caesar in out key"); + return; + } + + try(FileInputStream in = new FileInputStream(args[0]); + FileOutputStream out = new FileOutputStream(args[1])) + { + int key = Integer.parseInt(args[2]); + int ch; + while ((ch = in.read()) != -1) + { + byte c = (byte) (ch + key); + out.write(c); + } + } + } +} diff --git a/corejava第9版/v2ch09/classLoader/ClassLoaderTest.java b/corejava第9版/v2ch09/classLoader/ClassLoaderTest.java new file mode 100644 index 0000000..2ce1b90 --- /dev/null +++ b/corejava第9版/v2ch09/classLoader/ClassLoaderTest.java @@ -0,0 +1,129 @@ +package classLoader; + +import java.io.*; +import java.lang.reflect.*; +import java.nio.file.*; +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * This program demonstrates a custom class loader that decrypts class files. + * @version 1.23 2012-06-08 + * @author Cay Horstmann + */ +public class ClassLoaderTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new ClassLoaderFrame(); + frame.setTitle("ClassLoaderTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains two text fields for the name of the class to load and the decryption key. + */ +class ClassLoaderFrame extends JFrame +{ + private JTextField keyField = new JTextField("3", 4); + private JTextField nameField = new JTextField("Calculator", 30); + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + public ClassLoaderFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + setLayout(new GridBagLayout()); + add(new JLabel("Class"), new GBC(0, 0).setAnchor(GBC.EAST)); + add(nameField, new GBC(1, 0).setWeight(100, 0).setAnchor(GBC.WEST)); + add(new JLabel("Key"), new GBC(0, 1).setAnchor(GBC.EAST)); + add(keyField, new GBC(1, 1).setWeight(100, 0).setAnchor(GBC.WEST)); + JButton loadButton = new JButton("Load"); + add(loadButton, new GBC(0, 2, 2, 1)); + loadButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + runClass(nameField.getText(), keyField.getText()); + } + }); + pack(); + } + + /** + * Runs the main method of a given class. + * @param name the class name + * @param key the decryption key for the class files + */ + public void runClass(String name, String key) + { + try + { + ClassLoader loader = new CryptoClassLoader(Integer.parseInt(key)); + Class c = loader.loadClass(name); + Method m = c.getMethod("main", String[].class); + m.invoke(null, (Object) new String[] {}); + } + catch (Throwable e) + { + JOptionPane.showMessageDialog(this, e); + } + } + +} + +/** + * This class loader loads encrypted class files. + */ +class CryptoClassLoader extends ClassLoader +{ + private int key; + + /** + * Constructs a crypto class loader. + * @param k the decryption key + */ + public CryptoClassLoader(int k) + { + key = k; + } + + protected Class findClass(String name) throws ClassNotFoundException + { + try + { + byte[] classBytes = null; + classBytes = loadClassBytes(name); + Class cl = defineClass(name, classBytes, 0, classBytes.length); + if (cl == null) throw new ClassNotFoundException(name); + return cl; + } + catch (IOException e) + { + throw new ClassNotFoundException(name); + } + } + + /** + * Loads and decrypt the class file bytes. + * @param name the class name + * @return an array with the class file bytes + */ + private byte[] loadClassBytes(String name) throws IOException + { + String cname = name.replace('.', '/') + ".caesar"; + byte[] bytes = Files.readAllBytes(Paths.get(cname)); + for (int i = 0; i < bytes.length; i++) + bytes[i] = (byte) (bytes[i] - key); + return bytes; + } +} diff --git a/corejava第9版/v2ch09/classLoader/GBC.java b/corejava第9版/v2ch09/classLoader/GBC.java new file mode 100644 index 0000000..a94ed5f --- /dev/null +++ b/corejava第9版/v2ch09/classLoader/GBC.java @@ -0,0 +1,131 @@ +package classLoader; + +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch09/hash/Digest.java b/corejava第9版/v2ch09/hash/Digest.java new file mode 100644 index 0000000..1500a6d --- /dev/null +++ b/corejava第9版/v2ch09/hash/Digest.java @@ -0,0 +1,32 @@ +package hash; + +import java.io.*; +import java.nio.file.*; +import java.security.*; + +/** + * This program computes the message digest of a file. + * @version 1.20 2012-06-16 + * @author Cay Horstmann + */ +public class Digest +{ + /** + * @param args args[0] is the filename, args[1] is optionally the algorithm (SHA-1 or MD5) + */ + public static void main(String[] args) throws IOException, GeneralSecurityException + { + String algname = args.length >= 2 ? args[1] : "SHA-1"; + MessageDigest alg = MessageDigest.getInstance(algname); + byte[] input = Files.readAllBytes(Paths.get(args[0])); + byte[] hash = alg.digest(input); + String d = ""; + for (int i = 0; i < hash.length; i++) + { + int v = hash[i] & 0xFF; + if (v < 16) d += "0"; + d += Integer.toString(v, 16).toUpperCase() + " "; + } + System.out.println(d); + } +} diff --git a/corejava第9版/v2ch09/hash/input.txt b/corejava第9版/v2ch09/hash/input.txt new file mode 100644 index 0000000..4028891 --- /dev/null +++ b/corejava第9版/v2ch09/hash/input.txt @@ -0,0 +1 @@ +Upon my death, my property shall be divided equally among my children; however, my son George shall receive nothing. diff --git a/corejava第9版/v2ch09/jaas/JAASFrame.java b/corejava第9版/v2ch09/jaas/JAASFrame.java new file mode 100644 index 0000000..a467656 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/JAASFrame.java @@ -0,0 +1,67 @@ +package jaas; + +import java.awt.*; +import java.awt.event.*; +import java.beans.*; +import javax.security.auth.*; +import javax.security.auth.login.*; +import javax.swing.*; + +/** + * This frame has text fields for user name and password, a field for the name of the requested + * system property, and a field to show the property value. + */ +public class JAASFrame extends JFrame +{ + private JTextField username; + private JPasswordField password; + private JTextField propertyName; + private JTextField propertyValue; + + public JAASFrame() + { + username = new JTextField(20); + password = new JPasswordField(20); + propertyName = new JTextField("user.home"); + propertyValue = new JTextField(20); + propertyValue.setEditable(false); + + JPanel panel = new JPanel(); + panel.setLayout(new GridLayout(0, 2)); + panel.add(new JLabel("username:")); + panel.add(username); + panel.add(new JLabel("password:")); + panel.add(password); + panel.add(propertyName); + panel.add(propertyValue); + add(panel, BorderLayout.CENTER); + + JButton getValueButton = new JButton("Get Value"); + getValueButton.addActionListener(EventHandler.create(ActionListener.class, this, "getValue")); + JPanel buttonPanel = new JPanel(); + buttonPanel.add(getValueButton); + add(buttonPanel, BorderLayout.SOUTH); + pack(); + } + + public void getValue() + { + try + { + LoginContext context = new LoginContext("Login1", new SimpleCallbackHandler( + username.getText(), password.getPassword())); + System.out.println("Trying to log in with " + username.getText() + " and " + new String(password.getPassword())); + context.login(); + Subject subject = context.getSubject(); + propertyValue.setText("" + + Subject.doAsPrivileged(subject, new SysPropAction(propertyName.getText()), null)); + context.logout(); + } + catch (LoginException ex) + { + ex.printStackTrace(); + Throwable ex2 = ex.getCause(); + if (ex2 != null) ex2.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch09/jaas/JAASTest.java b/corejava第9版/v2ch09/jaas/JAASTest.java new file mode 100644 index 0000000..4b77405 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/JAASTest.java @@ -0,0 +1,28 @@ +package jaas; + +import java.awt.*; +import javax.swing.*; + +/** + * This program authenticates a user via a custom login and then looks up a system property with the + * user's privileges. + * @version 1.01 2012-06-10 + * @author Cay Horstmann + */ +public class JAASTest +{ + public static void main(final String[] args) + { + System.setSecurityManager(new SecurityManager()); + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new JAASFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setTitle("JAASTest"); + frame.setVisible(true); + } + }); + } +} diff --git a/corejava第9版/v2ch09/jaas/JAASTest.policy b/corejava第9版/v2ch09/jaas/JAASTest.policy new file mode 100644 index 0000000..46acdf3 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/JAASTest.policy @@ -0,0 +1,14 @@ +grant codebase "file:login.jar" +{ + permission java.awt.AWTPermission "showWindowWithoutWarningBanner"; + permission java.awt.AWTPermission "accessEventQueue"; + permission javax.security.auth.AuthPermission "createLoginContext.Login1"; + permission javax.security.auth.AuthPermission "doAsPrivileged"; + permission javax.security.auth.AuthPermission "modifyPrincipals"; + permission java.io.FilePermission "jaas/password.txt", "read"; +}; + +grant principal jaas.SimplePrincipal "role=admin" +{ + permission java.util.PropertyPermission "*", "read"; +}; diff --git a/corejava第9版/v2ch09/jaas/SimpleCallbackHandler.java b/corejava第9版/v2ch09/jaas/SimpleCallbackHandler.java new file mode 100644 index 0000000..e5a15e1 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/SimpleCallbackHandler.java @@ -0,0 +1,38 @@ +package jaas; + +import javax.security.auth.callback.*; + +/** + * This simple callback handler presents the given user name and password. + */ +public class SimpleCallbackHandler implements CallbackHandler +{ + private String username; + private char[] password; + + /** + * Constructs the callback handler. + * @param username the user name + * @param password a character array containing the password + */ + public SimpleCallbackHandler(String username, char[] password) + { + this.username = username; + this.password = password; + } + + public void handle(Callback[] callbacks) + { + for (Callback callback : callbacks) + { + if (callback instanceof NameCallback) + { + ((NameCallback) callback).setName(username); + } + else if (callback instanceof PasswordCallback) + { + ((PasswordCallback) callback).setPassword(password); + } + } + } +} diff --git a/corejava第9版/v2ch09/jaas/SimpleLoginModule.java b/corejava第9版/v2ch09/jaas/SimpleLoginModule.java new file mode 100644 index 0000000..964c155 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/SimpleLoginModule.java @@ -0,0 +1,106 @@ +package jaas; + +import java.io.*; +import java.nio.file.*; +import java.security.*; +import java.util.*; +import javax.security.auth.*; +import javax.security.auth.callback.*; +import javax.security.auth.login.*; +import javax.security.auth.spi.*; + +/** + * This login module authenticates users by reading usernames, passwords, and roles from a text + * file. + */ +public class SimpleLoginModule implements LoginModule +{ + private Subject subject; + private CallbackHandler callbackHandler; + private Map options; + + public void initialize(Subject subject, CallbackHandler callbackHandler, + Map sharedState, Map options) + { + this.subject = subject; + this.callbackHandler = callbackHandler; + this.options = options; + } + + public boolean login() throws LoginException + { + if (callbackHandler == null) throw new LoginException("no handler"); + + NameCallback nameCall = new NameCallback("username: "); + PasswordCallback passCall = new PasswordCallback("password: ", false); + try + { + callbackHandler.handle(new Callback[] { nameCall, passCall }); + } + catch (UnsupportedCallbackException e) + { + LoginException e2 = new LoginException("Unsupported callback"); + e2.initCause(e); + throw e2; + } + catch (IOException e) + { + LoginException e2 = new LoginException("I/O exception in callback"); + e2.initCause(e); + throw e2; + } + + try + { + return checkLogin(nameCall.getName(), passCall.getPassword()); + } + catch (IOException ex) + { + LoginException ex2 = new LoginException(); + ex2.initCause(ex); + throw ex2; + } + } + + /** + * Checks whether the authentication information is valid. If it is, the subject acquires + * principals for the user name and role. + * @param username the user name + * @param password a character array containing the password + * @return true if the authentication information is valid + */ + private boolean checkLogin(String username, char[] password) throws LoginException, IOException + { + try (Scanner in = new Scanner(Paths.get("" + options.get("pwfile")))) + { + while (in.hasNextLine()) + { + String[] inputs = in.nextLine().split("\\|"); + if (inputs[0].equals(username) && Arrays.equals(inputs[1].toCharArray(), password)) + { + String role = inputs[2]; + Set principals = subject.getPrincipals(); + principals.add(new SimplePrincipal("username", username)); + principals.add(new SimplePrincipal("role", role)); + return true; + } + } + return false; + } + } + + public boolean logout() + { + return true; + } + + public boolean abort() + { + return true; + } + + public boolean commit() + { + return true; + } +} diff --git a/corejava第9版/v2ch09/jaas/SimplePrincipal.java b/corejava第9版/v2ch09/jaas/SimplePrincipal.java new file mode 100644 index 0000000..af9b094 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/SimplePrincipal.java @@ -0,0 +1,47 @@ +package jaas; + +import java.security.*; +import java.util.*; + +/** + * A principal with a named value (such as "role=HR" or "username=harry"). + */ +public class SimplePrincipal implements Principal +{ + private String descr; + private String value; + + /** + * Constructs a SimplePrincipal to hold a description and a value. + * @param descr the description + * @param value the associated value + */ + public SimplePrincipal(String descr, String value) + { + this.descr = descr; + this.value = value; + } + + /** + * Returns the role name of this principal. + * @return the role name + */ + public String getName() + { + return descr + "=" + value; + } + + public boolean equals(Object otherObject) + { + if (this == otherObject) return true; + if (otherObject == null) return false; + if (getClass() != otherObject.getClass()) return false; + SimplePrincipal other = (SimplePrincipal) otherObject; + return Objects.equals(getName(), other.getName()); + } + + public int hashCode() + { + return Objects.hashCode(getName()); + } +} diff --git a/corejava第9版/v2ch09/jaas/SysPropAction.java b/corejava第9版/v2ch09/jaas/SysPropAction.java new file mode 100644 index 0000000..7b7fe2f --- /dev/null +++ b/corejava第9版/v2ch09/jaas/SysPropAction.java @@ -0,0 +1,25 @@ +package jaas; + +import java.security.*; + +/** + * This action looks up a system property. + */ +public class SysPropAction implements PrivilegedAction +{ + private String propertyName; + + /** + * Constructs an action for looking up a given property. + * @param propertyName the property name (such as "user.home") + */ + public SysPropAction(String propertyName) + { + this.propertyName = propertyName; + } + + public String run() + { + return System.getProperty(propertyName); + } +} diff --git a/corejava第9版/v2ch09/jaas/jaas.config b/corejava第9版/v2ch09/jaas/jaas.config new file mode 100644 index 0000000..5a0a537 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/jaas.config @@ -0,0 +1,4 @@ +Login1 +{ + jaas.SimpleLoginModule required pwfile="jaas/password.txt" debug=true; +}; diff --git a/corejava第9版/v2ch09/jaas/password.txt b/corejava第9版/v2ch09/jaas/password.txt new file mode 100644 index 0000000..21adb72 --- /dev/null +++ b/corejava第9版/v2ch09/jaas/password.txt @@ -0,0 +1,2 @@ +harry|secret|admin +carl|guessme|HR \ No newline at end of file diff --git a/corejava第9版/v2ch09/permissions/PermissionTest.java b/corejava第9版/v2ch09/permissions/PermissionTest.java new file mode 100644 index 0000000..e8e6538 --- /dev/null +++ b/corejava第9版/v2ch09/permissions/PermissionTest.java @@ -0,0 +1,96 @@ +package permissions; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; + +/** + * This class demonstrates the custom WordCheckPermission. + * @version 1.03 2007-10-06 + * @author Cay Horstmann + */ +public class PermissionTest +{ + public static void main(String[] args) + { + System.setProperty("java.security.policy", "permissions/PermissionTest.policy"); + System.setSecurityManager(new SecurityManager()); + EventQueue.invokeLater(new Runnable() + { + public void run() + { + JFrame frame = new PermissionTestFrame(); + frame.setTitle("PermissionTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} + +/** + * This frame contains a text field for inserting words into a text area that is protected from "bad + * words". + */ +class PermissionTestFrame extends JFrame +{ + private JTextField textField; + private WordCheckTextArea textArea; + private static final int TEXT_ROWS = 20; + private static final int TEXT_COLUMNS = 60; + + public PermissionTestFrame() + { + textField = new JTextField(20); + JPanel panel = new JPanel(); + panel.add(textField); + JButton openButton = new JButton("Insert"); + panel.add(openButton); + openButton.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + insertWords(textField.getText()); + } + }); + + add(panel, BorderLayout.NORTH); + + textArea = new WordCheckTextArea(); + textArea.setRows(TEXT_ROWS); + textArea.setColumns(TEXT_COLUMNS); + add(new JScrollPane(textArea), BorderLayout.CENTER); + pack(); + } + + /** + * Tries to insert words into the text area. Displays a dialog if the attempt fails. + * @param words the words to insert + */ + public void insertWords(String words) + { + try + { + textArea.append(words + "\n"); + } + catch (SecurityException ex) + { + JOptionPane.showMessageDialog(this, "I am sorry, but I cannot do that."); + ex.printStackTrace(); + } + } +} + +/** + * A text area whose append method makes a security check to see that no bad words are added. + */ +class WordCheckTextArea extends JTextArea +{ + public void append(String text) + { + WordCheckPermission p = new WordCheckPermission(text, "insert"); + SecurityManager manager = System.getSecurityManager(); + if (manager != null) manager.checkPermission(p); + super.append(text); + } +} diff --git a/corejava第9版/v2ch09/permissions/PermissionTest.policy b/corejava第9版/v2ch09/permissions/PermissionTest.policy new file mode 100644 index 0000000..e920d90 --- /dev/null +++ b/corejava第9版/v2ch09/permissions/PermissionTest.policy @@ -0,0 +1,4 @@ +grant +{ + permission permissions.WordCheckPermission "sex,drugs,C++", "avoid"; +}; diff --git a/corejava第9版/v2ch09/permissions/WordCheckPermission.java b/corejava第9版/v2ch09/permissions/WordCheckPermission.java new file mode 100644 index 0000000..4210214 --- /dev/null +++ b/corejava第9版/v2ch09/permissions/WordCheckPermission.java @@ -0,0 +1,77 @@ +package permissions; + +import java.security.*; +import java.util.*; + +/** + * A permission that checks for bad words. + */ +public class WordCheckPermission extends Permission +{ + private String action; + + /** + * Constructs a word check permission. + * @param target a comma separated word list + * @param anAction "insert" or "avoid" + */ + public WordCheckPermission(String target, String anAction) + { + super(target); + action = anAction; + } + + public String getActions() + { + return action; + } + + public boolean equals(Object other) + { + if (other == null) return false; + if (!getClass().equals(other.getClass())) return false; + WordCheckPermission b = (WordCheckPermission) other; + if (!Objects.equals(action, b.action)) return false; + if ("insert".equals(action)) return Objects.equals(getName(), b.getName()); + else if ("avoid".equals(action)) return badWordSet().equals(b.badWordSet()); + else return false; + } + + public int hashCode() + { + return Objects.hash(getName(), action); + } + + public boolean implies(Permission other) + { + if (!(other instanceof WordCheckPermission)) return false; + WordCheckPermission b = (WordCheckPermission) other; + if (action.equals("insert")) + { + return b.action.equals("insert") && getName().indexOf(b.getName()) >= 0; + } + else if (action.equals("avoid")) + { + if (b.action.equals("avoid")) return b.badWordSet().containsAll(badWordSet()); + else if (b.action.equals("insert")) + { + for (String badWord : badWordSet()) + if (b.getName().indexOf(badWord) >= 0) return false; + return true; + } + else return false; + } + else return false; + } + + /** + * Gets the bad words that this permission rule describes. + * @return a set of the bad words + */ + public Set badWordSet() + { + Set set = new HashSet<>(); + set.addAll(Arrays.asList(getName().split(","))); + return set; + } +} diff --git a/corejava第9版/v2ch09/rsa/RSATest.java b/corejava第9版/v2ch09/rsa/RSATest.java new file mode 100644 index 0000000..fb2d76d --- /dev/null +++ b/corejava第9版/v2ch09/rsa/RSATest.java @@ -0,0 +1,85 @@ +package rsa; + +import java.io.*; +import java.security.*; +import javax.crypto.*; + +/** + * This program tests the RSA cipher. Usage:
        + * java rsa.RSATest -genkey public private
        + * java rsa.RSATest -encrypt plaintext encrypted public
        + * java rsa.RSATest -decrypt encrypted decrypted private
        + * @author Cay Horstmann + * @version 1.01 2012-06-10 + */ +public class RSATest +{ + private static final int KEYSIZE = 512; + + public static void main(String[] args) + throws IOException, GeneralSecurityException, ClassNotFoundException + { + if (args[0].equals("-genkey")) + { + KeyPairGenerator pairgen = KeyPairGenerator.getInstance("RSA"); + SecureRandom random = new SecureRandom(); + pairgen.initialize(KEYSIZE, random); + KeyPair keyPair = pairgen.generateKeyPair(); + try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(args[1]))) + { + out.writeObject(keyPair.getPublic()); + } + try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(args[2]))) + { + out.writeObject(keyPair.getPrivate()); + } + } + else if (args[0].equals("-encrypt")) + { + KeyGenerator keygen = KeyGenerator.getInstance("AES"); + SecureRandom random = new SecureRandom(); + keygen.init(random); + SecretKey key = keygen.generateKey(); + + // wrap with RSA public key + try (ObjectInputStream keyIn = new ObjectInputStream(new FileInputStream(args[3])); + DataOutputStream out = new DataOutputStream(new FileOutputStream(args[2])); + InputStream in = new FileInputStream(args[1]) ) + { + Key publicKey = (Key) keyIn.readObject(); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.WRAP_MODE, publicKey); + byte[] wrappedKey = cipher.wrap(key); + out.writeInt(wrappedKey.length); + out.write(wrappedKey); + + cipher = Cipher.getInstance("AES"); + cipher.init(Cipher.ENCRYPT_MODE, key); + Util.crypt(in, out, cipher); + } + } + else + { + try (DataInputStream in = new DataInputStream(new FileInputStream(args[1])); + ObjectInputStream keyIn = new ObjectInputStream(new FileInputStream(args[3])); + OutputStream out = new FileOutputStream(args[2])) + { + int length = in.readInt(); + byte[] wrappedKey = new byte[length]; + in.read(wrappedKey, 0, length); + + // unwrap with RSA private key + Key privateKey = (Key) keyIn.readObject(); + + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.UNWRAP_MODE, privateKey); + Key key = cipher.unwrap(wrappedKey, "AES", Cipher.SECRET_KEY); + + cipher = Cipher.getInstance("AES"); + cipher.init(Cipher.DECRYPT_MODE, key); + + Util.crypt(in, out, cipher); + } + } + } +} diff --git a/corejava第9版/v2ch09/rsa/Util.java b/corejava第9版/v2ch09/rsa/Util.java new file mode 100644 index 0000000..c3c47ea --- /dev/null +++ b/corejava第9版/v2ch09/rsa/Util.java @@ -0,0 +1,41 @@ +package rsa; + +import java.io.*; +import java.security.*; +import javax.crypto.*; + +public class Util +{ + /** + * Uses a cipher to transform the bytes in an input stream and sends the transformed bytes to an + * output stream. + * @param in the input stream + * @param out the output stream + * @param cipher the cipher that transforms the bytes + */ + public static void crypt(InputStream in, OutputStream out, Cipher cipher) throws IOException, + GeneralSecurityException + { + int blockSize = cipher.getBlockSize(); + int outputSize = cipher.getOutputSize(blockSize); + byte[] inBytes = new byte[blockSize]; + byte[] outBytes = new byte[outputSize]; + + int inLength = 0; + ; + boolean more = true; + while (more) + { + inLength = in.read(inBytes); + if (inLength == blockSize) + { + int outLength = cipher.update(inBytes, 0, blockSize, outBytes); + out.write(outBytes, 0, outLength); + } + else more = false; + } + if (inLength > 0) outBytes = cipher.doFinal(inBytes, 0, inLength); + else outBytes = cipher.doFinal(); + out.write(outBytes); + } +} diff --git a/corejava第9版/v2ch09/signed/FileReadApplet.java b/corejava第9版/v2ch09/signed/FileReadApplet.java new file mode 100644 index 0000000..b2dcce6 --- /dev/null +++ b/corejava第9版/v2ch09/signed/FileReadApplet.java @@ -0,0 +1,72 @@ +package signed; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.nio.file.*; +import javax.swing.*; + +/** + * This applet can run "outside the sandbox" and read local files when it is given the right + * permissions. + * @version 1.12 2012-06-10 + * @author Cay Horstmann + */ +public class FileReadApplet extends JApplet +{ + private JTextField fileNameField; + private JTextArea fileText; + + public void init() + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + fileNameField = new JTextField(20); + JPanel panel = new JPanel(); + panel.add(new JLabel("File name:")); + panel.add(fileNameField); + JButton openButton = new JButton("Open"); + panel.add(openButton); + ActionListener listener = new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + loadFile(fileNameField.getText()); + } + }; + fileNameField.addActionListener(listener); + openButton.addActionListener(listener); + + add(panel, "North"); + + fileText = new JTextArea(); + add(new JScrollPane(fileText), "Center"); + } + }); + } + + /** + * Loads the contents of a file into the text area. + * @param filename the file name + */ + public void loadFile(String filename) + { + fileText.setText(""); + try + { + fileText.append(new String(Files.readAllBytes(Paths.get(filename)))); + } + catch (IOException ex) + { + fileText.append(ex + "\n"); + } + catch (SecurityException ex) + { + fileText.append("I am sorry, but I cannot do that.\n"); + fileText.append(ex + "\n"); + ex.printStackTrace(); + } + } +} diff --git a/corejava第9版/v2ch09/verifier/VerifierTest.html b/corejava第9版/v2ch09/verifier/VerifierTest.html new file mode 100644 index 0000000..dd84a0e --- /dev/null +++ b/corejava第9版/v2ch09/verifier/VerifierTest.html @@ -0,0 +1,2 @@ + + diff --git a/corejava第9版/v2ch09/verifier/VerifierTest.java b/corejava第9版/v2ch09/verifier/VerifierTest.java new file mode 100644 index 0000000..632556b --- /dev/null +++ b/corejava第9版/v2ch09/verifier/VerifierTest.java @@ -0,0 +1,38 @@ +package verifier; + +import java.applet.*; +import java.awt.*; + +/** + * This application demonstrates the bytecode verifier of the virtual machine. If you use a hex + * editor to modify the class file, then the virtual machine should detect the tampering. + * @version 1.00 1997-09-10 + * @author Cay Horstmann + */ +public class VerifierTest extends Applet +{ + public static void main(String[] args) + { + System.out.println("1 + 2 == " + fun()); + } + + /** + * A function that computes 1 + 2. + * @return 3, if the code has not been corrupted + */ + public static int fun() + { + int m; + int n; + m = 1; + n = 2; + // use hex editor to change to "m = 2" in class file + int r = m + n; + return r; + } + + public void paint(Graphics g) + { + g.drawString("1 + 2 == " + fun(), 20, 20); + } +} diff --git a/corejava第9版/v2ch10/bin/buttons1/groovy.properties b/corejava第9版/v2ch10/bin/buttons1/groovy.properties new file mode 100644 index 0000000..119a86f --- /dev/null +++ b/corejava第9版/v2ch10/bin/buttons1/groovy.properties @@ -0,0 +1,3 @@ +yellowButton.action=panel.background = java.awt.Color.YELLOW +blueButton.action=panel.background = java.awt.Color.BLUE +redButton.action=panel.background = java.awt.Color.RED \ No newline at end of file diff --git a/corejava第9版/v2ch10/bin/buttons1/init.sisc b/corejava第9版/v2ch10/bin/buttons1/init.sisc new file mode 100644 index 0000000..9b130d7 --- /dev/null +++ b/corejava第9版/v2ch10/bin/buttons1/init.sisc @@ -0,0 +1,6 @@ +(import s2j) +(define-generic-java-method set-background) +(define-java-class ) +(define-generic-java-field-accessor :yellow) +(define-generic-java-field-accessor :blue) +(define-generic-java-field-accessor :red) diff --git a/corejava第9版/v2ch10/bin/buttons1/js.properties b/corejava第9版/v2ch10/bin/buttons1/js.properties new file mode 100644 index 0000000..119a86f --- /dev/null +++ b/corejava第9版/v2ch10/bin/buttons1/js.properties @@ -0,0 +1,3 @@ +yellowButton.action=panel.background = java.awt.Color.YELLOW +blueButton.action=panel.background = java.awt.Color.BLUE +redButton.action=panel.background = java.awt.Color.RED \ No newline at end of file diff --git a/corejava第9版/v2ch10/bin/buttons1/sisc.properties b/corejava第9版/v2ch10/bin/buttons1/sisc.properties new file mode 100644 index 0000000..31004db --- /dev/null +++ b/corejava第9版/v2ch10/bin/buttons1/sisc.properties @@ -0,0 +1,4 @@ +# SISC Scheme (http://sisc-scheme.org) +yellowButton.action=(set-background (var 'panel) (:yellow (java-null ))) +blueButton.action= (set-background (var 'panel) (:blue (java-null ))) +redButton.action=(set-background (var 'panel) (:red (java-null ))) diff --git a/corejava第9版/v2ch10/bin/buttons2/action.properties b/corejava第9版/v2ch10/bin/buttons2/action.properties new file mode 100644 index 0000000..d038310 --- /dev/null +++ b/corejava第9版/v2ch10/bin/buttons2/action.properties @@ -0,0 +1,3 @@ +yellowButton=panel.setBackground(java.awt.Color.YELLOW); +blueButton=panel.setBackground(java.awt.Color.BLUE); +redButton=panel.setBackground(java.awt.Color.RED); \ No newline at end of file diff --git a/corejava第9版/v2ch10/bin/bytecodeAnnotations/EntryLoggingAgent.jar b/corejava第9版/v2ch10/bin/bytecodeAnnotations/EntryLoggingAgent.jar new file mode 100644 index 0000000000000000000000000000000000000000..743cf7432aa01ad7e617f4491c556eb38d856bdf GIT binary patch literal 4142 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

        *NxBcRaTO&Q`tx+#YB(s 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%0Dldw1znDiykV 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

      2. eoA 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]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�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�)`eC@Vd^6a)#(36I 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

        XHR>}w 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 `4piOt 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

        8P@> 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

        #JDuY~X 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 DTAPWY literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch10/buttons1/ButtonFrame.java b/corejava第9版/v2ch10/buttons1/ButtonFrame.java new file mode 100644 index 0000000..2ca0080 --- /dev/null +++ b/corejava第9版/v2ch10/buttons1/ButtonFrame.java @@ -0,0 +1,34 @@ +package buttons1; + +import javax.swing.*; + +public class ButtonFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private JPanel panel; + private JButton yellowButton; + private JButton blueButton; + private JButton redButton; + + public ButtonFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + panel = new JPanel(); + panel.setName("panel"); + add(panel); + + yellowButton = new JButton("Yellow"); + yellowButton.setName("yellowButton"); + blueButton = new JButton("Blue"); + blueButton.setName("blueButton"); + redButton = new JButton("Red"); + redButton.setName("redButton"); + + panel.add(yellowButton); + panel.add(blueButton); + panel.add(redButton); + } +} diff --git a/corejava第9版/v2ch10/buttons1/groovy.properties b/corejava第9版/v2ch10/buttons1/groovy.properties new file mode 100644 index 0000000..119a86f --- /dev/null +++ b/corejava第9版/v2ch10/buttons1/groovy.properties @@ -0,0 +1,3 @@ +yellowButton.action=panel.background = java.awt.Color.YELLOW +blueButton.action=panel.background = java.awt.Color.BLUE +redButton.action=panel.background = java.awt.Color.RED \ No newline at end of file diff --git a/corejava第9版/v2ch10/buttons1/init.sisc b/corejava第9版/v2ch10/buttons1/init.sisc new file mode 100644 index 0000000..9b130d7 --- /dev/null +++ b/corejava第9版/v2ch10/buttons1/init.sisc @@ -0,0 +1,6 @@ +(import s2j) +(define-generic-java-method set-background) +(define-java-class ) +(define-generic-java-field-accessor :yellow) +(define-generic-java-field-accessor :blue) +(define-generic-java-field-accessor :red) diff --git a/corejava第9版/v2ch10/buttons1/js.properties b/corejava第9版/v2ch10/buttons1/js.properties new file mode 100644 index 0000000..119a86f --- /dev/null +++ b/corejava第9版/v2ch10/buttons1/js.properties @@ -0,0 +1,3 @@ +yellowButton.action=panel.background = java.awt.Color.YELLOW +blueButton.action=panel.background = java.awt.Color.BLUE +redButton.action=panel.background = java.awt.Color.RED \ No newline at end of file diff --git a/corejava第9版/v2ch10/buttons1/sisc.properties b/corejava第9版/v2ch10/buttons1/sisc.properties new file mode 100644 index 0000000..31004db --- /dev/null +++ b/corejava第9版/v2ch10/buttons1/sisc.properties @@ -0,0 +1,4 @@ +# SISC Scheme (http://sisc-scheme.org) +yellowButton.action=(set-background (var 'panel) (:yellow (java-null ))) +blueButton.action= (set-background (var 'panel) (:blue (java-null ))) +redButton.action=(set-background (var 'panel) (:red (java-null ))) diff --git a/corejava第9版/v2ch10/buttons2/ButtonFrame.java b/corejava第9版/v2ch10/buttons2/ButtonFrame.java new file mode 100644 index 0000000..ad0c61f --- /dev/null +++ b/corejava第9版/v2ch10/buttons2/ButtonFrame.java @@ -0,0 +1,37 @@ +package buttons2; +import javax.swing.*; + +/** + * @version 1.00 2007-11-02 + * @author Cay Horstmann + */ +public abstract class ButtonFrame extends JFrame +{ + public static final int DEFAULT_WIDTH = 300; + public static final int DEFAULT_HEIGHT = 200; + + protected JPanel panel; + protected JButton yellowButton; + protected JButton blueButton; + protected JButton redButton; + + protected abstract void addEventHandlers(); + + public ButtonFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + panel = new JPanel(); + add(panel); + + yellowButton = new JButton("Yellow"); + blueButton = new JButton("Blue"); + redButton = new JButton("Red"); + + panel.add(yellowButton); + panel.add(blueButton); + panel.add(redButton); + + addEventHandlers(); + } +} diff --git a/corejava第9版/v2ch10/buttons2/action.properties b/corejava第9版/v2ch10/buttons2/action.properties new file mode 100644 index 0000000..d038310 --- /dev/null +++ b/corejava第9版/v2ch10/buttons2/action.properties @@ -0,0 +1,3 @@ +yellowButton=panel.setBackground(java.awt.Color.YELLOW); +blueButton=panel.setBackground(java.awt.Color.BLUE); +redButton=panel.setBackground(java.awt.Color.RED); \ No newline at end of file diff --git a/corejava第9版/v2ch10/buttons3/ButtonFrame.java b/corejava第9版/v2ch10/buttons3/ButtonFrame.java new file mode 100644 index 0000000..668b3d5 --- /dev/null +++ b/corejava第9版/v2ch10/buttons3/ButtonFrame.java @@ -0,0 +1,57 @@ +package buttons3; + +import java.awt.*; +import javax.swing.*; +import runtimeAnnotations.*; + +/** + * A frame with a button panel. + * @version 1.00 2004-08-17 + * @author Cay Horstmann + */ +public class ButtonFrame extends JFrame +{ + private static final int DEFAULT_WIDTH = 300; + private static final int DEFAULT_HEIGHT = 200; + + private JPanel panel; + private JButton yellowButton; + private JButton blueButton; + private JButton redButton; + + public ButtonFrame() + { + setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + + panel = new JPanel(); + add(panel); + + yellowButton = new JButton("Yellow"); + blueButton = new JButton("Blue"); + redButton = new JButton("Red"); + + panel.add(yellowButton); + panel.add(blueButton); + panel.add(redButton); + + ActionListenerInstaller.processAnnotations(this); + } + + @ActionListenerFor(source = "yellowButton") + public void yellowBackground() + { + panel.setBackground(Color.YELLOW); + } + + @ActionListenerFor(source = "blueButton") + public void blueBackground() + { + panel.setBackground(Color.BLUE); + } + + @ActionListenerFor(source = "redButton") + public void redBackground() + { + panel.setBackground(Color.RED); + } +} diff --git a/corejava第9版/v2ch10/buttons3/ButtonTest.java b/corejava第9版/v2ch10/buttons3/ButtonTest.java new file mode 100644 index 0000000..aa51253 --- /dev/null +++ b/corejava第9版/v2ch10/buttons3/ButtonTest.java @@ -0,0 +1,26 @@ +package buttons3; + +import java.awt.*; +import javax.swing.*; + +/** + * @version 1.00 2004-08-17 + * @author Cay Horstmann + */ +public class ButtonTest +{ + public static void main(String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + + ButtonFrame frame = new ButtonFrame(); + frame.setTitle("ButtonTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + }); + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch10/bytecodeAnnotations/EntryLogger.java b/corejava第9版/v2ch10/bytecodeAnnotations/EntryLogger.java new file mode 100644 index 0000000..0fabbaa --- /dev/null +++ b/corejava第9版/v2ch10/bytecodeAnnotations/EntryLogger.java @@ -0,0 +1,110 @@ +package bytecodeAnnotations; + +import java.io.*; +import org.apache.bcel.*; +import org.apache.bcel.classfile.*; +import org.apache.bcel.generic.*; + +/** + * Adds "entering" logs to all methods of a class that have the LogEntry annotation. + * @version 1.10 2007-10-27 + * @author Cay Horstmann + */ +public class EntryLogger +{ + private ClassGen cg; + private ConstantPoolGen cpg; + + /** + * Adds entry logging code to the given class. + * @param args the name of the class file to patch + */ + public static void main(String[] args) + { + try + { + if (args.length == 0) + System.out.println("USAGE: java bytecodeAnnotations.EntryLogger classname"); + else + { + JavaClass jc = Repository.lookupClass(args[0]); + ClassGen cg = new ClassGen(jc); + EntryLogger el = new EntryLogger(cg); + el.convert(); + String f = Repository.lookupClassFile(cg.getClassName()).getPath(); + System.out.println("Dumping " + f); + cg.getJavaClass().dump(f); + } + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Constructs an EntryLogger that inserts logging into annotated methods of a given class. + * @param cg the class + */ + public EntryLogger(ClassGen cg) + { + this.cg = cg; + cpg = cg.getConstantPool(); + } + + /** + * converts the class by inserting the logging calls. + */ + public void convert() throws IOException + { + for (Method m : cg.getMethods()) + { + AnnotationEntry[] annotations = m.getAnnotationEntries(); + for (AnnotationEntry a : annotations) + { + if (a.getAnnotationType().equals("LbytecodeAnnotations/LogEntry;")) + { + for (ElementValuePair p : a.getElementValuePairs()) + { + if (p.getNameString().equals("logger")) + { + String loggerName = p.getValue().stringifyValue(); + cg.replaceMethod(m, insertLogEntry(m, loggerName)); + } + } + } + } + } + } + + /** + * Adds an "entering" call to the beginning of a method. + * @param m the method + * @param loggerName the name of the logger to call + */ + private Method insertLogEntry(Method m, String loggerName) + { + MethodGen mg = new MethodGen(m, cg.getClassName(), cpg); + String className = cg.getClassName(); + String methodName = mg.getMethod().getName(); + System.out.printf("Adding logging instructions to %s.%s%n", className, methodName); + + int getLoggerIndex = cpg.addMethodref("java.util.logging.Logger", "getLogger", + "(Ljava/lang/String;)Ljava/util/logging/Logger;"); + int enteringIndex = cpg.addMethodref("java.util.logging.Logger", "entering", + "(Ljava/lang/String;Ljava/lang/String;)V"); + + InstructionList il = mg.getInstructionList(); + InstructionList patch = new InstructionList(); + patch.append(new PUSH(cpg, loggerName)); + patch.append(new INVOKESTATIC(getLoggerIndex)); + patch.append(new PUSH(cpg, className)); + patch.append(new PUSH(cpg, methodName)); + patch.append(new INVOKEVIRTUAL(enteringIndex)); + InstructionHandle[] ihs = il.getInstructionHandles(); + il.insert(ihs[0], patch); + + mg.setMaxStack(); + return mg.getMethod(); + } +} diff --git a/corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.jar b/corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.jar new file mode 100644 index 0000000000000000000000000000000000000000..743cf7432aa01ad7e617f4491c556eb38d856bdf GIT binary patch literal 4142 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 cl, + ProtectionDomain pd, byte[] data) + { + if (!className.equals(arg)) return null; + try + { + ClassParser parser = new ClassParser(new ByteArrayInputStream(data), className + + ".java"); + JavaClass jc = parser.parse(); + ClassGen cg = new ClassGen(jc); + EntryLogger el = new EntryLogger(cg); + el.convert(); + return cg.getJavaClass().getBytes(); + } + catch (Exception e) + { + e.printStackTrace(); + return null; + } + } + }); + } +} diff --git a/corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.mf b/corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.mf new file mode 100644 index 0000000..97f225c --- /dev/null +++ b/corejava第9版/v2ch10/bytecodeAnnotations/EntryLoggingAgent.mf @@ -0,0 +1 @@ +Premain-Class: EntryLoggingAgent diff --git a/corejava第9版/v2ch10/bytecodeAnnotations/LogEntry.java b/corejava第9版/v2ch10/bytecodeAnnotations/LogEntry.java new file mode 100644 index 0000000..dbc525c --- /dev/null +++ b/corejava第9版/v2ch10/bytecodeAnnotations/LogEntry.java @@ -0,0 +1,14 @@ +package bytecodeAnnotations; + +import java.lang.annotation.*; + +/** + * @version 1.00 2004-08-17 + * @author Cay Horstmann + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface LogEntry +{ + String logger(); +} diff --git a/corejava第9版/v2ch10/bytecodeAnnotations/bcel-6.0-SNAPSHOT.jar b/corejava第9版/v2ch10/bytecodeAnnotations/bcel-6.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..87e03098a1ad2d3961e025ef73858e0541bc89ce GIT binary patch literal 601259 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

        *NxBcRaTO&Q`tx+#YB(s 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%0Dldw1znDiykV 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

      3. eoA zfOAiHBq-(_L*cMwZ+%k1oSdz7rE zcE^Y|aORfCvaHs5)06Fc33_e!@RALi#`aKfKKR96@-;7Cpv&ykDIWHyb7J4)EYk{t z&X9->kJQRaM^I$yOh=T=b*@w)M7u?2a)KE?Z=v!llv@}Yg(2-;U%19@Zx#l>ViYm0 zt&l2CUuP>e^qv9^;;?*cnA4bwho zd}pO`T=%1HXqlKgmSouZ_)Kr3M5VC#;}|xhW``QqCI?ib1-xTKPdKEC=#$vv4W~%r z%)CN;F7*))PE=bmXMJb7LjN8M-LYqFC_~k@Gb7yV}U3PyJkbu{z)dS-Zq1QJR=+^ z8W?kKdSQ;8MR>nMrP~)xT?h@o1E}qZVl>I#PA`DIsiO1xUh%s^k1t0LfVnn92&%#3 zd!^hT5F*moO0GldS>nudxN;0m3xta#ni+HX+V>uyBWiTPu?U6TUZo+#g=jEXXD#uX2EW zKyxGZ3ol9hDd@k^Jhoh_t?OghV=B>a<2^xmgzFWyoN)YAx)p~o%-&KFK%>NVh{y~_ z=%|HkT#Y^Q$iF=057Mhi<|6iZzuMS z?Jw^ys2!{;Vfsi^OjT5p{xAYmfBaO_cu`R>nUG4DR8(z+I3xBYq?pl6mEA_^bx+MT zWBu>^MyTdR$F@UNj|SQRzV1I?k4KNgxiI-1B_{397$2w7$%OK?ZlL|%tBnKuPr5Sf zT%Air*@N{q2r0-}Iq#W(Ee6dPs$@BCIf7jgOtm?hnQtty6JQ zv8nNFr8cbxFMutsnT9%^kZl`f(5Zx8L4s5b!r2`Mbcs_@KfD=~sUlkq!hATbTsp_g zR~dEIZ#(PYgbd3Q2o>wrV+fn2SF2C*aNANl`&DT46~MC9l{nS66db^$6n!*%Rgz2g z+atJbf3=3Qptjh1aT<4w#C_Dn(4U-+A^xd8q}0J-%XjtsN*td{ZjBM%1ISU&Dk+={)UXM5#uznvgCW-;2D>T^LNhy^dl)xD8$Sq z!rw#4m!#)q?>CMqnI;8lqF;28a|kd9Vu~lQ2PZZvdJzrSj|I*JJpewR8WA=b*Z|r! z=)AxQF;5Vj3mEbk;1j7a+ibm>IaJ4L5od8reggerx&#K&0ojHPBfM_;h$D5;r;NGx z0V8kXrp#I7B|Hd}mi#gKptuqWoXPM%`vq7_MgN^l<5G5G4&GXvVMaRl6lC4c!QcOR zIJ-eQfR(-vC&#w{;_noL5~8vy($fF9RFaj)zu}Q6Jc+6I_LQ^;d2!A8G7dOl{``PV zf(4YQA`0q3qK3VOdvM`|O_BQt;4g%6aYX!vfdc_GJ5mU4*3?BJ5~oL7>9=jiIc>a8 z)7yI8fUVJ?7RI$i{pA6IP!^TNh=Y$X%qS)^CKRLgLcKDeCLs+xyPBQrD7Mp%7hRh+ z|HHmLTj7aa*G+VLC(7}DK7aSJxknW;oUf<7Mif$}X8m3{nd#9_EYWB!yo1y3cJEZt zWlt>QB>pAF;pL9d~B?H z;`k6p<80Y|mQlD;vQ)^@L|$R>?NOc5QhNysC>y+VQ%R}lj06gPP_`B){J8q{Yo|KG zOI^(YA07j(^fy3ApWkFa?+jL{w}KS;gnuPdTt&$6WXoLeC$K>1+kpbUz#C6JZ-2_T zO@ov06^hnp;8Qvf?JymW$hbmWyBI3G$A-yGxbW< zMSh}0K|QtD5n$DeOje*Z;fPMnG$ z>HO9(%75>@{*KBl;OJ=Jq3mIA^3P(Ys-=W&g5jHDU2m{iMCgcsEd|v)>5l;41kO*j zI}=hO4+l!A+P+F-kZz2e2phq4HgZzsrt92U7Q>{yg6SX{K+J?^`-%Pq@aHG`((^kj zEGB_7M)&6v5BK#u&-6R($K!U*Z$NikY{sqLUoiMcNJGZ#^jAYcQMS^Ot(3bdFl-67 z(sjo+%|$DYVj)2enDc4z_ASYCW~+?HL)=b3=%;y1HH(ouG=A1proyna{7M}Y z?d?p(K_`%gyoo}cs4vb~D#)lfktKd~yV#Cdk^yua8aXG6q*XFbfU#(@Hm_JxRY13= zQ=u@~w^UeMdUV&Ece<^#RRpB%=KmrDtTyOpu0#Z!k|)B{MInemWlVA>Gf8`MCe2-v zg0}o-%K4S&DdSezI-u1YX4 z4R!a>7%w}#D=$0p7&Q_A`UbV+hWE3psHR$C0^yvFW&FG{QV)-aA3q@tP_A!J)~}?! z0SnB(xi`O891@l#KceLt77DoqBgM(5x7gKH8$V~wr~3?y$RL&z+n+U?!)`Z)4ZcGqRw$^9QhCR~kKT5nVZd z2kM(d8cri&b8*@umieLS%nPU^Gh!@X!R#vGq%?_{o;ONPp{@>%7jvpF-z)UXT7r5e zE_vWluQp_xA+mLtC*r+K#s%l2_3@Ur}1OJ=m#S2uw|qD!57w@P8jzVHpfpRj&}H4k_Wck-a{~FJKW7k3^4Zg7C;`` zLTH#xiSEs?>3z4WepH0t!8qpq^Vben0CRVM8{_ZhkK-zx2)_i&`WoP`uV<;IKKMQC z?s)-%p8?K*PGY_Qx1C84-Z5?9pJ&kWqy6B&aGe>1|3tzNAnE5&q+6ku;HnM4F$i*O z_oCldDbIF41XEmaf0B!e`k~@3^eU2w!d~Rx-+U1?%k4^g=Cz-V_Qc|1}oCzku! z5%K#c1>knHOtEbzW=L@QJlpQD7~%G2%Cx znRQ@{-YLY30SA=8^J8^k4}>C2afb{1`kowAEcKK?2F;)Q?UJj|KFthhi~!*7LNZKz!j_7C}FFh_}c2O7;ESvDTditR5de`@HcihqDj)C zm@|V?#X+gNNTk%Zu11fB1jP9D*?k50-U?;M?=&*u^1T=0Os~=qhJf_5!+1^eJZIf! zEqmQBZ`W)Axa0GUVGIc(q~3~)vMDn1_8)i3+&?k+p_zQ&s~&P`Z-RYLQdM`W8Bs7f zjPFuMRZ=T)hm~Eo7zf@NRB{?muSu?w)p_YBi&q= ziHaa&$Y>RNE7F#);?lMyFGd;bGBqXS$V_2s3NT&5jMJJQk(?SwrkG?EGg+mZXt7+H zBvhO_%bb?j%0X8S%UYPgHfe7y!CvaAkC*FaTwoX&F%$1(HaVh5>1nbx4N4kFQCF2~ zfjRV9P*-4KHWl4(nY>-#cG1vpDI8qL&?42esi9zS$)Ox5E>Ypt);N{u%&`QZVgm_z zOu7c6mr=NY`iHNa9^^pIRG>qlW&)2dK&@G1NU$MGxoCgJK=(b~oNbuCs(Y$!DkX+k z9wkzvbf??d9r^9Pwl=k`mEN4ts8PyqhUl0%Q@_eLEfz=URIZQ|l?7*vb3{fs)pf=F zs^o+z~dkP6cSU>W@@*saDxMH&Ym&PqBI+wCEAZ@ z8`9NLrjHNKto)4f(KEJ}9uO)`GR3d~^hus3rPZOigoeR>6||t(btM~LreW*4lI46_ z-i9+wW}iREY~Me?mGd&n^fMDHcrE7#o_{W9H{6uNeompzyR0o|%Vzq#`Q2~E844*d zHLVSeY|(`w3N_|6+bfHSoK$Bmt<^fo1=Mc!h`|o*fV^^q24H%(3o|%tU-0$?Lj|T& z9Xz{5j8gS0gqvtRSB$qOe`K=i*+M?)-;A9%H`2(5yM(T)8J?Pf2+SF5CtQLZxx0mY zJE|WLM7*vL(>FgLhKG?<+$(Ny`~CoJI;^=Mj#ePLC&M||F~FR)v9g=dmLv;0xrb(^9a_7kgx z;`qecJQsdPez;Z6$H_l7*+gEA&lUxE{=O13sw1)ZgFf0sQhW~9!RZ177%#L2Mtex% z66X-2VwLD*4RJ{LesUyam13aJM2bB)Q7s~972#z3UN7V$I~5tbLh4f=Ldapx6FWaq7<;n;=g}04Z9n1d4h?78Q@>|7Bb+Mw z9icl#|2pFav@S)}gGEXg=*w**Zt)8ay-!CPX#-`JSMz$7uZ!3=OhR)NmCxuylWpUW zo((rpQl^ImW6x|RPkHMCi~%!0$r*xE%)$rX|K5jx8C%H1 z4wGfSUn&20$H2d2dCEF=-;M#E)EZi6D?a4~P0g~u90L)mGST71RZDT*KS_9Xo7Mj3 z@q9!60r>^svoH|!E4=%4Czf%lOA5gXJTF#^v%Wjj+vPWCXAt14@r`&3LVhnlNpcX;Lk2MQW} zi;O2wjwLZzd+0E188ebyEAuBGRVnXKeIB_n$~Me63>?O?{1h_Wanp&Vh>%b7rvW0T z=}2y&7DPi>T%kKMVtvI~ji&1}gqr zl9z1zJmCLboynm7{>>~XA+Mq&{?BEq%BkwQD9YDRW|YFWr<0lA$lToM0-=RahtR?* zWgrQtDq2gNO(O@xpN69zB!3=tuUQy zyK7s=^y}Mg$OqUNV26y+mxXcUMIQ#rpe4P-iziM&f^h$oGH}two)YY>2SY9B#p2K6 z9oO>>5y=aB)J?jL$KXZl55Zs^ypiuCN8(Ms!4%R<)XFGGZChNBHtM3E?n%L*n@AU( zSB2@QJb{b-x_Nfn*4zAg#$T(PNi_?bv>WJIv)gQDoUT~xKSzH z(s$?W>a4n;;+UM6q;9T1TY(*>TSHSjV-lpb=49=+uSF6v+zlVYW_7TUe90oT&1@{i zWC`(qI4W{eR*TY{(kdaIqidluP5dy;gsI=@GEaXLk&$nU=N0IyW8q2NZt;lcb8XGP zOPATzZWNRncza{QAsF(?fH3bI>O!H{mT2)h2GwvE!z%s+qePKycSM;kw60Ds@y*3% zO7zbFijWtg3g%L;z>Yl=P!Q3^Bn#-Gu#%Z%rDapGPBr+@mKjrb-hA+e?86 zjADq2+=a$mj!TFiDgx20<~PAOn=;y(eV}SF-Vl@(MJ38KGQ1O~Sv0m5NUWtb0&fp$ zhXF1L3W*x7C1EyMu{XXjlp8|67=J<18-2mrrq|}`2&3E;fC7aoIQ&(Bf$4ZWv}R%J zlGW<1d=$K>s-To!94Ugha~zQIGv91_&YBKNmRViEd^kxo5L+dr>|qp*eHGQ0nUb&2 z`77#js=%g6S^8LXa;pFbr3_~368sGKuJg=88XazvFEvI1I%Lvn11Xw{)8rAcU%ynX zJH-CEvc1&&fK3v*w8@;hR8mRl6Hg*rscXPjZ9S4sCx3%QLXKU9xcg6nVQjZb8Qg-u5H!;mGd&GCqWL z_Mjw84&e^~o=-?DZm%xzI6v$3s5S<5bEag=bje*4B8g~0=29Oh(gcH4!3WA%Lg~eYbiJb?fJfT4?)KG~MAX zANN3F^bsFX-B%6p>lk91IU*D<4b_Vst;dBYzTZi#>D%^{AcSu`4y(v&+zbeP4mcsB zaCr*h*2v?yFbGo=XN_i!8ad_~IX&y{!%ZL6k@0`<|FfVbP`45MC3gS67gVwTqjUfN zx8VJwpzvh%IIWPW6_?M*Joe-- z{q=VD_8yxnhiUk1GyH^4AJou>B~)~91sSqhe;G!e{n>s~-nmsU;=S4wmV(T&`Q970 z-MIdZOJBB1`}nCPW3WU!%ZS}ah?&yX(WRtgMqxZmES|Dl=Z*9p#^ps@M`tqNeZ>+q z9mgk1RLoJ(>w}asel$ehjUkyVu~9z&xTuL)Q*YX0v;COFx@01bA8stJyb)s-Zlfhj zMMtjSKH8x@jB`}XfQdFdUDa8<&y7ZMlNEB#S=BFtE3z@?fNjNjwR1J_kxeCZ^jow? z-;{dTn{QmKQSN;%xin(BO3m?+^F1J7=mj#CKqb1!aOI}eh(+u`cBRB`CW3Ot@z*J& zrYM^*;{Y%i%i=?jaNAWI)?6GuZBH!#F4KYB3~i8x@W}jo=?En!>L}BlLLvB*u7GT! zOdL2Pi0&XJ=P4kBM3zcXBa%-*=mS^WN-IMs+bf=6s055OVU2hKV67aHT%&IJ7bwls z=~9?%${Zi@$HvP~arjv`;Gr~6Rh)z(c#`7Uh2x!|lw?JZePTmG@lsG*D*Ic6uQ6#w zy?S_9Y~~`Qc)NtGD#Fn+{{xg12L%b)iVvy(p80uE!@*a4KXs43KXiZh~uRj}dhIjEam%gHn@+Mz<6ZZBD9gZq}sXyA(u<&3fy=`n}%D zA6OI=$g%|MPH*F@W&=QO1PTHq64Y{P>!g?(A20>Y=fb#JF5{LkFfJMF8!1Rb>a!_e z(!j$-e)Ef4HNPq|w~Cd$rDDK4_c3(?H=Di~s(~}m&qiZRJ?kM-wGKLp(kU4DA$Q`f z$LcUvZjAte+9}K;h{}?C&Z{zWL+9Rcg#5q%h=0BGKSM898-I30a#(QoMh++-OR8pMVqjum{QH9#h8Tny1SWW(8=52q zbNRo4xZ5gzB+uVsGYrTdKM4PiHrLbnxNZw+GWg8taykJy@*jR0bs?^sZ} zgZ*X8+quVNi_7QxQB=~8LAl^Om^cYfbW!rkMma4-1BsW)p&QP^glB=5&hR~O<9OD! zP|k7cn(TgQQuG8d(HhhNRe2*&nFOn?n1S?*B)qAPq)ZeJQ}>`TQd4J$3&C(4((ZW?V~7 zfX`?65r#r7Nd+x;gZ|2ZQjfEEp9C%7N(L&N3>!RuWVA{RsD(~~UAMjnHSF;BD;PJT zSZANe?1*ZkWPaSRC$)>w=#7HI_Y}8;Y$d2#ADc0&2>e?r|4S=e62z>nhVxipdQm&c z><)#|v2LB4(MWq}A>@;L+f*MN#x9-u4T0(b0Tc0!wRIZmQ-KQWv5kk;zMax~)XHwT zz1V$RvKvon<#R~bPS)6vTAhKWb1+dS(!tWG(mt$b#14sdw(4*+5ElmXZ8{NHPyZZ> zT5uJ+soydoRgBmJULY2(dfS8|xvoarjGc_tk>ubcY_Mv>IMp?j(=Gx-V00{6v~N|c zGJ54ZGvjtTnlceb9D4^km~CpQjt3-efJ~B%YTAbDEJ*jLpqoJE4;HWAzy>*x6;Wqkb!6j z1Y$vZZ$HZETz{VqAlHI{F+lPi87~H_Dh_LCh^K1Xtw#}tgd(UV&wVt@RYJL0Ji%jC zYfVscE6%I_{wvV+sP50y{vV-VFxTc;0qcTiLd)S7af}mlJMVYXcU%p3Bw*u+mgsoz z%MbdQonVD+A+ptCvy!Qs01=Yu!PAInNR*`z876C`CPQRO4e9W9e_6ADW4t`=0Bf^iU<(#3a1gqjn)8Sce>*1Uq=e^MU3_?VZM}iKs@yI%tR{87 zEdHG7npyBN{>ur9os#18_&T}rVn4~}@y7%I%oESP8C6?!nwf%7HcPW?wsHqW8JtCedI9BSugY!=1!UEvPHQb^_vq=nN>vKBqX$45>>VY!C`z8}K9|R@Zq~i2kCIR6H@@7q zG5Bi+M$CzcDpn7vxse*Fnc~^(mv(syuMwTW1V>XH35`R%)S zCZoz;UHht7jZ~B?ELOtI@s<*7EYv1tfjKx(>5+RSG8CCvRj9aIFqcbEn&$rE8)9RN zM5^Z_r6?n@zxF_#QY#BkRaJ#)LNoCb zXd^BcbRc_z)3H=AP9S!V8w@&Gn9o4*H;ieK=U66$8>I1BXa!YhxGOY>U#E%AMmSX5 z+Hs#{_{7?J9L;iN7E22hPOH;v0mAZTc`#b!1}5vqV*(-CU$_}4Kb!z@co`^Zvru@2)i z^|8gcM*^7S5eMC1X_YOPON#+07nv&1*L?yQZMPRqjg<88=?-&fSsYyu60$jF>+ORi zhl_DJFtycW^QA`XSk&wMj~csd1<3X`Yo{qPN`9j(ma#)4ln8m9i6LO63uD5b|J4+n*PsTHk%2wXLaO;_C8Nf~*fpjg4E0IAxAS zjc9R49+(H0RDcR+tOJ3E8&B4x*ESV9v#QqU*&6hI`g#=%bJc+W$G#WOo;*bzsqCD$ zYc=2q2{Yfm z#I>sYE3kxP9qr(p7Mz>(O z+=4EN73QJL?=5KnCfw*3sOMP1{R$NInwzNt8EvV~v6!uq=v3 zkO^eg&b4~)2QHte>)*a3DBbOA;oc;U_itLH&(9wX9sx;(Go6HId~o~zjVh{#QH4m(4tuNu68{OG?-t*;yWfei1@L9rtj zYz-A8c+bNA;X~XK=;oN(GU%r8y8i0sn9@?{#*)UVkDr^e#t?I-`pv1H;CDd1LzK4+PyEIf{ zc2mvt*2{k*&E_fM&z8PxS{m^0y7qrKIh-8LEb0H1N6YCunvw{a*^~TRB^RNj{g3?- z@7$tw8_o1>i4an?o@O*HMKHSji-HsqGGs{9+Ql@Ty0ds2>EM@YW^aPN*m>qM+22Wmc)l>6o=Sc-DpL1?5x|tX`RsViG3gLoDAhkraOQIvO1vrUr=s zRZL{gHZ7$F5NUcl)+z_Z3a-GC)=%jPN>WG?*F(55TXan0*oq&Yi7~7CkhCjc$jd3r zG@q@lSw{y}wDcq{2bS8*F7>s9hYbVK(Gx!cYtS1drDA#`iCh-T{YvW&;#(T0rn96L z0MEFnR8{Q@FFuCL=of@YGKh@#=^#=QRHdj^YQmw$`9)8@W_j?F?%P&|Swy}g^VBw- zfcCx2hGOO6*rs!H^`o*)u!R6wXc39w(1JAQfJTiYnGre)S6?tN#(Rq6-$lMUJOy>n zcPHH8w!h-8wR(sGv0BrLm8$*a!Nzhmd#E;Csi6SD+W7{=T|-Wyy)c3MXnISxk=PF_ z#Hv@~3F4G@`fPDYHhZ@cr=_pO%*Gp%xeDRr^hrg#x;cF?l&Jts@P$HEJm?#aGv}UV zR#zW<|B;GZwIo*UqXY>9syO{*ixVdn+Pa=E5JsUt-~sqT+`u)-6mWkN@t{7W8k zquM`=cm;m&V{^~#4e6bP7=q4{LwaWy{HSc(*)_x40blWr6=3|EhIn;>4o)dCJ&qi5 zO=$wzA^t~T8+0iWn}hF_BOZIm%A8OmrWj7Ynatd8@JED|?+J6SC?_(39x~B9&n$dS znwPMD2GQuG)-B(ya7n~=B+iyfQfjwpglFn|FUHL<@fD7d_tQxD{EgvPuPDyVuhiYE zMFe)~J}iMpNR|A2h{NvtU0 zGQ_pNw@1S_a{WK)NB?Vk$U6a?{w=AA__r|_xJF}=Fr>f@w2HNryoy{qC<&u7$_Th& zDak9_MkK&?WuSv4M)Xe2BvOe2| zr`}+X88#Qgn90tJ*B3+kFn9>fUVVz?w)TMvj@U|oW-aT=y(=n&?~b+X zbn69#bl8=HiKv>BXmjG;ErTbew!Rf|XK8K&+$^?6Qf4?Cg-J>KM0DvZoB|#pWewWZ zg79_xlJ+WAomUXo_B_PEh%wb_458pnmSrn$#=ba>0lypUPKOGeV9C6yU1=%{9xg7! z_`^Up30w?`Iz__Ue*VCw_r1u|moFj8O9Mr;PMm%^$-SlaC2Pea-Hrq6FL>M=xl*8T z+^6RJYBK0#67wo1yFb4CK7XM-WtJ=M3X16#6A46^f0pxq#egO2cz3`Y zq`Vb9?t|4srCi_`*yGClo$85=vcgM2SmR{K)FDEJv@vc=15Gm5%y@j-E;inc++XIhpS~gq z-v3SCJZ|A|9rdkmPW%2w+5fljE#T$|Pz2aH0jv!HB>&v}O9H0oXb;f0`ZtOYGa=FU z8#Q1mpK(Fstw^Op8Bxm=%n->@o^mx*j)F)D^u#HyLn555?tJ;H+O&J3 zttCX$!TlnyC*6j~NS7RGt#xf>OOM3nKRR(^+MLhAh^O|NXtz*2yQ3{RBCk)`enx;| zIj2=FF~3A>dg(jU=%@M6TPZd)^g9vYN|t{aC{ZW|k(@5BvId@HUQeyZ+!vfN^s}+y zz=m`aTBte&A|J@suXoq=hbZ0D{z6#p+-2tpfx;B0$-^9i7JS*N!3+&GlvsK%Wl7iH z{*!1Zm_)=Z(ey};%Y9GpSWGR#E({`=?yPLe@*}VQ0rv4XH(VSGxqwqt`df0Yw)Z)a z7g;{07@>4HY=mV$lNlgX$KBugD}YI$2H7CiP|$ybAZVrdCE2$`Lxy!rztB;h){k*liVAn^>euuIkN=m6*#2%k*XXtO8|Zn`1SFcid-dvdU?gs+9vD!G<0^t>1*L zm4)9wi`eP^bbPGzB5oj&Wl&k(;#n(snPGvQyr>5*vZ~j#=sJP*&Bq+H`0lB|c1}#d z>BmdyV-*hYUIo5v5t+X9SKxpK!UY9Mh$?ckd9dMVEpJoinWy zMYfPxU>&Gc;=klU9kNR>*3d;=t7K@QABFXbDs7~15|Ve1t&MH68am=zKvzGnSO^%n z2$la8w_t~Dg4ud1jM7{{B`S*1%DV5k-lL7@HqH#oo})1YeCR}DATA0$2J81#26bCb zcd2g{M~2nvM|py2(L)>4)*vAHsky0Cp(G8Ew#UO3Yg(^A2kkU@3 zNEXL&C!om>S|RKlU!b9Gjzle|AEI&8oIVsLzB|t8|A61iNwc&>l~9_$UFq zy?OL6gsS9-g`=koJYUtGhTqJ+H+$}~z?NsZ^cm$Iz@3z5{7Dp@FFr*0O=CH~svwz8%? zi#NdTnG;K{?9s)6k{t4$gTu?z|Al{c6_AAR<(sV_QWC|*4db&vok%O(V zp)a4VG%ak2GQ)Px3M9`KIf)x-!;s^2ond>Ti9c0ch-kAPN;prIWPE{YTlu*pZnk$; z^hQ~%A~ivreL+oK!}p|_Fy^WDFuBUX#QmuaQHo6b@>n+OZrWNeXhHV-FN{jr(W5l6 zh}dpJ`g_ttwvY1o4FS-#d%qUQdeccugmckxT5=Mebh3?j`}RUz2A5ZB@FiFfHFX!Q zZJE~Ja8D-VB_MoerELBK3SJYaA+N5-K&$SXq{o;6=2U9G4N^Dyz;-cY10I_k|8VEH+oyUVfIBg)Fky zvnjLGyU^I27Hg}S?6SLR5XhrkY_E=nzAh%BSv6EhPt3HsqkVFgRE~Gg!i}iO7Lws= zbE;5`hEuXtDU8k}+;bA?TN@Ao1*#qWCelx7aiS@F3N7d}5L1kd_JY*Wf) zQavTHk}^}wTn%QtFSq1R+T}@6E6w9K#L8o_%gIx)(?sSSbR^wQ(C2{I#eM_PKHOfR zx5>qw_DuXqVjI49a@(4E_}FMFOs6t20rP@E!YVrNe-PSV-98x|i>sgONf+zgN{?Emb(X#qz$r3xzD_Si7K ztk=SDgg@oge(ZZTOlxgkNei1;d`19p4pUvM6c}~x10Hp1ZbOf!{IHmo&JYGVnQ(dF zpOk0zPs80V*NuLh**env0)q;aXw$b-D9ll}%rbCa94QA}`s+bvojm*kw?U&%z>Vay zT_+>%Hm6`GuKNp9Nu12lvXVSx%>E0k$%@ucejHKN_8;J}LBFKxrSeLfGHskHZhl@f$3G~B;2zQ0VaRKJ@n+-Fe zcRxS}sSaX^nM+q2>W}nmjf0Gop9aCf%TYrr=JTby!9%2$HIvm}o}^f= z2GYfmes{54E){O_C@wod>($YCh0dY7btyW4&3(#A+DV#O5MYJP&7Q=y&PXHc-GG|M zv(VTh4<~*1*qTwJHRYZf?8w(U=y0)|${;~cWSmzRs4)J7IYH)mCynVZNfY;0AYhs~ z$glRe;VDb^r$YFl9XYxNV>t9CIk00*dp}wZ)BQf60g& zRHZKh*$rVY$Rea2sf66d@N}dMD~s-Pafc>y38Z&dHE%LyL%9!8`R*w$-dmg8t8HtN!s_pd43Lm%ZNv;%J~gd|wlWV(H~T{B4O~av_&!^`1ugOT%A} zFS>YDuyt>%8HUj&bAzWfdg_=H&J|*Z+6B}M9c5|pE;iUNiWMyN6~gg$O-_5ZwK@4o zHmM+tTvT!cD)gSHIJuy>8sMVnP*TThCC9rKB&1Ef#9iP@>prvQz$qNLD9!0^giR4o z|HR3{1lHt`sNA@CPo^zmRt^Zp-w&-~6>_}d_93SOEkTkGG?oPTD{=82O0uz+!U%8H z=8p;Gu@)vnOz#{Fc;1Eug5aHVO;Hk)Y-04#DKI z_|isqtiPf#5*rfwkaz3cGdZtMel2o%Ga`PPzlm{^#Qb(}W7`jI1CZOuj%3F3)*=)d zmf+DWFBvKj4~%hpoYBg2#87ytdeUTn@kC#+Sne! zi%j)qJY&v=I}!FC+%}Hm6Q6ShI4GK45D3~TXf{}Yl8dh2+DY{Hl?))!uaPpX-dbj0 zQ^Fm$B%c9YLGoQ&I}?*wCGOjm?8_(dEbhDE(yCD}@vh7l$4!{!0oT!(6!QIy3~a|* zGU&4@_T!e-*k55qrxbLUuW$3fkU}dFk+EXMY#y4ob<=5zZ>=gpr7p0BS5UN8On?iF zGf6j9Q5Y{90DLlC$)s15S7fs`*#1(1&mlEvMSpwm{3|}EPuZQtt@r9R-ZV$b(!v6s z8a0it(ucrQc$1 zWb|?oydov7w?xg$iOYW^oc|PO)YgXjVBf_V+BZP-KPfQ&3n2Oze)`YfzpMuT&A%y1 z+syq&^g83Pi!1!eQt;b{>I0I*XYoGRH(HKDK`vWa&_QUmS+X{vE%F?WDxLFA6_K0- zUaR>*lyLA&k4m1Q_FTQo?atWQ`00IU$>xW1jiLa21G42j?z)ql%e0+KjCa=X_o-$wkA;2hWP2UFRTYdpc0ym-hpz9=I8N@I4&AiAFpHYDpl zTh`BI&G&(4(^k7vNw5mY+BA7SRFmM;?0*|QOt};rO+t# z&925#45cGNan}u#3xMH;QKbZ;kgc_1t7Cpkm_8j>OCl%05Xur6KzWZ&KYJ9zu18|a zIto~EHc$Ns)Zi_<-caEoI6DVYPMj#1c#x78zdKailF<^zs-xguHZK0U@;o;E*qr^` z7IID1e_2X&Kb#+V8fh6u?qFDuSdIU1#DrZa|6nZtNHb79abBKZ=IJP-=qBVA#26BY zVW77DLFnM$Y-9#L%-+@gYDsZ-Puox6;RmLXgaV8%4^(1+wFKD$pNz^5sXidR*AlQs zfIXsGbc-;eq3Gt^@-87Dwm)HxheKvLcimL&&mkO{$=z&_WSejF7G5cF>a2=V_}?JEKt|NRvyTRCV5qk1PMX@Mji7KoKKno$=D1Q#q8&mgW! z%#l%wE3ft=H_#c8HtAdfE<23Cy+ihFt_9O)oTp3njy@@d>O7!)_9OcsoS)KppWG(h z9?x%Iw|;$rUlW=$lE_b2V+%qCh^LD(g5x#qHT$*MKMTN!ZLRaXi~$*q2=k@Rb4;^KFn6XDT>$10;eVQf{b&1!InpL1eIp^xB1*#fBn$&U&>DE34UeJmyDx|3%m9sAHKc8ri`nZ0m@+ISC5^s4u@WSM{WJr z*m#kfO2Z4iCWUzx zy(k1LqhM087dqy+7QI=c^BEp{$gz7B7ujq^!#CptGEayD)dsA&o$R)v^F#KSI|zxL zzFSNJQ{sdcTReWlmF(eZ&EBAOF3Qc^V9Gk4>!}VAbbX_*$`kg+wBI82iuu!9ga5*UE$7fKmw6*=vgF1=G;Y590D~Iu`X3 zegpuf^nDlSeOYwA)uj3wKyxtkJ?NhT$0w5hU%&U+(LU%RZUZ1Hh>}H9Ra$>WJq?3b zRPBB6B}%I4ryli{!E_PFdiat9h#ROYZ z)Ryt-Wl2>sp^i|nNzZVmVhR75mfZ$gVOl9cd1V(^=G7h(sgcNdMBI-#nlF&PgLYrBZh!zKVSf`$ z)C=vDSP!lORVHSzUO3mrOfsmI#s3Mim8(&FW7^>#6><>gjsLk>M0E%7T%0nL90AM! z;F)BEMdy_oaV+#mhT8c#j-NqgXI0#PpWQ#DJU{y9ztn91?06H5vkg?ZA3q+k{}0UK zU-%x=e_<9CYHnJZO9`KJ$g_gzfx|sDmgf{in9(%;HG5>3VrpDq3GJ;$!U0JuAM|KcE6 zJeR(EOS9=FO|b9Zva@`uyAuvcD#V`?YwD z0{1IH@sHV%E+=CAJ^y=y<>z2zmUzOaO5fDQa{$R}0m$363;a9upR4X)+dlz!7I0tr zJ6Q$jU%5NFtnX>4Usu?lf_;C?pXuSgDt6ehy~}p~u)NFkeVIT1g8Qo4d5XPOhnq43 zPDM;Du7wHHR=dd6Kw*P`mjv|o%KU_uMqy30H8t=fOHVCc=ogWmH_O#QQ8n!?2$4>0 zRzQJET`mtPW2q5Fv6i+x@P3zLleI9w(Wb(_Flf_0N3>nXYN2LAi4dJN^EqTBZa@qt zA)XQD<-l3k<8NU28Fto_CeBVE`UXbhP!s>xLh2H3kT@h@n~)hzlE$_~EmSGpTA}N|Znw(cm;^}^t3Q9Y1&3hKBki^F?sF^9Wk#!N1Y|2Pb^~uA&NzJieAgVi1vP{el&uM$_KFE;hDq1dTBwUfYplz`A{ol4}6pr;HAngD9ToDfG;!Zi+Hf z6e9R+01i}KZ<4aL-@E7-ofmjgz&2mBfT}~rF0VOc1_tp?W`_LrYc8*LB2MOXX4z9J%K~HBmH{C2;FxMYt0L*at&EFK zQ!;^ekTZYzS227z*69I2MPznERQR49GfnBHm@-R9+q^<)jb!M|c!^5LsE+}Wv8!^j zra3_3P~JAh%*4sEzE^O{JY&>G;~+hg?|4FpPE$p`&hDm1v99Q@FpX{DQXN$Z6~=}w z-meIk&`L8~mp@Hh?!4F*zKr{8W&qLE58SD$ds)?__i+33jkT?tQeI8b1X zsuBh4t3p=ahqhpOM?@qe{eBo(S@m@|SekR-!XOoElXh?R>=+;G6zBW`J}Pi1&>bSe z)L2|L840Y+jaXRAbfafI_ms*U!lBN?wbsV-cv^0G?iV8`2g^#`8Vc*~3I0`Pv~)o zHWoH71G0)ksEJOY3p*#AluUR;L?HaV>l=I!dHg=!8A%md*nR5yYl?yJ_?Qb*w_6-Z z80`_|uc9ieO*WK+Z@2XaE*H7IZLSFJ#gn$S^2W8rkWp=%(9+A~5nXmVGFy+3-LqC` z(EgxN+aeC4$jUNzlscDFd4WwYZ*L5u1UjI-V<9LZ+KSt8v(jzzK|v#a_92+3g2Tne z(C?YA)(UTer)+iri66vYP^}OPHCcXf>H2; z#CZXk`@<~YuE_TV3Ndj^=T@R_UG>7T;=DbIL~=9IHLd^)OT6a!T4U^hu>k4JUtY%W zW(xVAy;3BVm9>UP8bjTS^BNEPB$DsiZ87h`IPaK?D; zLZ@qopbN&(mr!7k$->zrliQBdX2X2#WoWG~soh}eby^9MI>FgWhelS%0r*D)83)}y z7S#~qd>}f(=1L<&Al>v^2=83`#Qa{e`(2)b*A~RQHmUh?B!!FtdmJJrJU^dy;Mo+LGIe@XmKtfWaZHaMX`CHbXy59= zC!Xf9c+M@RxoFk3w12uH;Kzd`k%w7q21Z}Szb`47ByCvHU)v^L5BGXtU%rQ~bw<8X zr50{HqG_cG-_0|Dqpf9xT50=OJuqSVCjy_TFhv`^Qyf~26+f_NmLl8VB0kalav+@!oES-F`@0=6wf1 zmSg`<9`l;tJhZt;jE)9S8)Ar(;PA{omjuR_gj71RJnccj&zOowxN`>(QgK-^kE;DM zRUuhhh@?|H1-*W6Ld-HD9j-0ML(~J1I;6d>4IF_U12j6a(w7)8uD>x|GdO%8(4ga% z|DM^RKcQ%2dyCR4$%<9rcb{>Hg39|r0764iH@h?6w~Uc(NVL&#iG0|12o360a8)52 zb9HETC+3^5BjP{M+Y``TLiGd8xj8%GiX1QxQUiE?yeh6~$R@8d9R3QbWceazL4$JZ{H(#1)x zLz+}Byr(rL*FvlH$3#YaMuha>a_WUHFSY8^6y1xrQ;rxWrq5)@ml)Od0cEwwPO_Ud zo9hE;Df@IC(H5>mMzou?oQoD{320#j$u^=`MzEW;lxyV6wHQe*#0E)Yl`6)boEuse8si-H`U*pb2OeZn6&_ zoUvS`jk0>2z_Ux~X&H)V!e3BF3$kdM!BWP zHtPtTI%>DKJz(FT+=5&Ky+1iS!*sXFpGm#PuCA14#@s%!fUmrrC}#gy z3?0{<%Atn#1zqdkZuA9vf&K*ehe8zSF(xqm`uuO2_%*57W|?m^th-v1SuQ*^U- zGzB=C87cs5Z5+(L)e~<2FQ!tV`lhRRgy#)ULV^pA!JnNy7u*#6S81ah{7h&*6vWZM zu0G>F8kYdues&*}zGI@n;Ym{R!o00@)yb);(G^CR?Sk%fv7zm=G3yE8{O9sx`xU1@ zB>xHD9Kw;;*40~w?w05CmBkWJ`OucKC-zWi&TcaVxf1GXP~5;b1y{1pOB*>Azpd^$ z;-?6F3$SyQ5k|{=+NP!&wbj7wr0Uj18LINQhNJH++0}e*gxI>-Zlf}{8xOk*c>ud{ zlNW{?1Ra$0J-|xX)j@B&^0*F#FzIkz2wPGrM@)u$_6c3GlNms`3C!lC=d*FYAqMgu z^ZQw5I=Hs$z<>Q5g7FJY$xt9K%kA0$!8<3L2tbnOUcMw&m}~sL6PW=W-vKSLHsLxt zyQflxFNtIQ6;}3jQ}u;ggIfF{?}o&t06oebb)4rexf(jC(Rwdb=DVADET`2pD=yfR z=dx*i!4fA(>n?zRfI|zSPi(wZKXk8T-enEfbl7#piPRJbM~%&=M>4K7&lE?l(Ig++ z_KTkgtka`LS#I$s^FuIF3`5S-wB^J;W8qMchI_dY3*USyh&Z+%E$?BrQ#U3{EI3@2 zg_s%xe)wQ`Vh2f_L2=%6t*HeIenTUr+DTVZW<&?H)`f9DqIbk##O3|)-x!`^gnr19 zbC$mF*h#gU^B>xaw(*Og=$9O`%R1CpOy%(8(a@>y5n2ACM;%r#BX+(TrnQ&Q zpcOoh*?zXK>;~;nu(E^6uq;VoU+3LdOuCXHYJg#-K;r`2TJg$kjm^?cbxid#VsMc$ zg3x;U8OG2JjH9IfJZeeCc;IHtMX01KrTnK8g&K?K-+R;0P3HR;?)h-?*+e+9$=wx4 zO_1KvMNVj#X91_n$D@SDt|Jk70omF;Dm4!b;G#%SB5`P;2#fNi#}p>BE5uzz1_IIa?4_R=`-VnJ?|DCphN_ulJFO)jxRUbYzHG9q8PYsjwkQr z>#b}!q`fT9Ejie#s{ZjX(Ug__`fT*`cs6P=EM&e=XM$ebU+k&?3Uh)FKBl=+|Cnge zB=EBgS>=ooNSzBo$@qC7q&y; zZvq5s`2B6$Sst>&Vx>Y)l?{2`(Z)X2grF|V664S&QlX+)q`hZ88T+KJyqLH$js$!$ zz{SM#& z%bgVIv?GWEH=M8KtAkEjh)xjfF3UOpbE18QKZt0y6$syRyeU-W5t9Ys7ZpTZo?bPaRtbXP`bH+=VQ^HKUAEQ~E2&9IouPAqf;@pPXot^8K@C z;FO9&DPkyV-K(#yEL^jt-jl{s^8QP;Q!GH46YGNtB^T&@`O}00BA+B{f>`uJ&=I;U z`VBYTUMUa?JU+A}(UrIa;LOF4fpos*d2qzljnf2eQa z^CLx3b0=1tQK+HoQ+52?4bYZu+P20yt$-gF&a_j+D|BZHk;IIm?(7v zwy+)++8X20*m<^ttAobXD-i36Vo`L7r}PM4aZXQ`MZTjXJD!`p{qb-~vZ(Ja^xQrA z+HLQ7{lmOz4wGt((ky^Dm@%pfSRv2!{8KQWzHo9!m38ulRGCHl%4HNPU ztXWXl>GI|DsY)?Xp^D2eELl7S6KNQMfxFtr)9j| zDf33oj!vk8y0d4r6tKcNjf2#$Cs8#&i!Bd|)DpRil}@z2J2`qNl0E|4{`;JIlAg_c{l}Dqe~gKA8+g`ozp1U`?~C$(qqqbFg{1^-tZen|_5XiOt5tX#yzg&R zp(7$-14Dy%V3-0sLo4!`e*ga7$xB}xe06QD?x?zJkar5=c)r4v{rzzs-6x2@q=9tc zbe_J%Rd8jY3~8cZTWS=Y`365Rm`YT;NH~z&!^>#q$;Ff3vB0=}|4c`S@3W~^u;>J( zQOqC3!Y!@Rw1VlEN>erOlf)6pr2U8FLD(DhCT90XS?L z2oaJzl$;B6YW=CPY*htk7*G2WVtJ=J7gQZC{CG1v4bcMC&qO1 zZnfeok7KAW?z%hF`5i&Y3v~sI6kq= zx&y<6adu| zOFc z?U40&+TdU90%1AhcxG*PZf!%rZW3GHXOAG<^nw2(ni2)LN(Bx%c?%q6F$0{+&kRx* z5n-K_-Q9UNt#uEutE!4>$1tt~-Zw`@bo05FTjnu}jqRO4--x94a3Y_|pOjwx5~u|~ zf9KQgM?DKH_>QiPDW#$-TQML;x&p@}^yo!JOlzUsg0^qqo$)MljEbyb+&n3uZ*Q3OxeuwF zPV6;4Ge8(xnupkz*QE2;b`*_KsWXD$8l}^>r+T;?&iQ>v<2#V9;#Mnbr(BtdG(zV- zJ7`B{W*!e=S3CDl?HKD{{gn6u@*y?Fjg|T#LpV@@Y`*-`JcN=d95{i{J1Ga~vF9dS zwrbE2$bZ-sU-&5STXn7w-iYm}r7rKOLdjL#Vdt^WAE+X1VdjhisQ8hfToJ^h*f+>D zPspD^GI9+73HY+vWwoTheU3gKrCy?x&MV6>nML^GJIK=Dn=mtk+rwa+__7@9NY~|lI^zw%+wD@e?}lF2{z4X$qx+=d z)1f(1-YKwC@l7(qd40l_Se00x~>ywImnuXVre zi~A};wRz@<`#{gkVEWX*`uZ;EG@hGi!qfx?7pl%48xOaVfWhyit`Hov6;psmVz9s=4>##zaE zGgv%OcUIooVbnLA9}52;zTPRiwkTY)-Py5i+qQRX+qP}nJGO1xw(YEB$F`H3bMCEs zs;bqght=AAS`Txy+2$Po=wJU*Rx(O9I#8w3OpR}DG13ZBcdQ-!Z$P!yOkA49R#uvt zn39bV=%I=sitLcU00r|K7eecBFzlLPf38V2!v@4o;V8Q?PvK~nDz-wHJ!GP4M_nDz zk$w|A<0~SgJyz>fVijb$k|x*29@cN)QIO2DmDMg@Z(x+ zYXhsqyNm_*fn0fNlvuX8dGiEk4+++GE5Rc6QM69nw!_-4?>;=ml&+t*hI|U?>LK+# zEf*bamT3$&iMlEdOCN!0=$%5o5>2(7zjOvqVr|Q-sCJG++m_*`-H>fP`zRWgyIn-v z7UiaSqx_uO*Sldxe-AuI_b`oK2KAo6ny8}2<&qxFr^OI^Rtf3l4F?z21jC>gf9-DL2X4W$NMS42&)uTBHMO9v$+ie&5x)Va3c$bx$u($u1pu3uc>Y%k+t!#X|9ddU!Kn)d=joNcVA zmUvAP-|l{09YgT|J0HuWBe7AqQ4zZGmVuF~N$2ioXb$H(b*=rIA%#yL@7bD z_VOvXFMtGS@N!t{Q~;aCrio2-^^Vr2iVeX76GQmVhRo zsZ4slT~#}hDIG(aTCJJJ$<5u1I?~yut5|04sqqBYQ*HGrHT5?p+1W-Bh@GkchLwr& zGmV^?Sv3xJ-jD3`qSz|LKDnu*`tr#`uIw?G*q>e!+T<9iwOD4QB(EAvwm#$n_oiox zH>gIYxrylV*8^3#78se7@sNk#qk~8(iiT!Ao6H5<&&xZ1tY9(C85@&FP;3L$U4vGD zt3uvR$gypJ)aH+#9K3hM2}_@WrlySr^NWW{UH?0X#Fo$m_>&BHG6^UwkP|fXODRK4 zU#P(LfXtHQR@jGdVnM$BIo6U+Me?a;d$CI1)em^CvBpJx5w*4*qD2+2T8y||ptuiXd+_RH!l;|N2zmVYbQXwQ=~5y&gcrwA}6 zO#q1jVhV$d;w(@#+(Vzi$%9niLvO>2{~N|kJV_!}bdU&)i5Te$u9z`Js%B6TCr}9| zN(tAl+E#Au>CdwC(b`p&t$64bLUIWQL0O3uTvJ~i6GW@R@BU~Ga+Hp9W*bH#fp=sq z(`WgTtSvsHhm#FQ|hd9 z4v57-r#=Q4lyjauwejoeN=vPCH5LQ6@j6+=WjN@wG-j@=1l5||8;M#g%?pFVrirq{yc2m|z=b)SltEEPg8&gGF$(Fzq{g9*LYRz8U2)~;QG zWn`-o-YuCAdk8~RwlQmm%ex#=wKwqvV(r}LT?f;%psVUvT9uM zYUn3P<$F#TdKyw9&dl3_!s|)&ZjNb(lQLPJJEGi6_pTj5X;(wqg`GFP?3dBqyFx~{ zU8$~s$zP_Kl+fRZ(=?kh+AU#CPuoe&QQB#yMj4G!4-I!Z#!1QW@>g_BlT@w>JKIpp zw$V!BqitE*O$nm)vdE|68IrIpL0IL187F*IXzL&+zMlT#(@*{ms*T|N9igv64|UTB zvkn-Zc^A4&U}GDS+?VU&)y|c?*qna~u_kg0Ci@moMj}VerTJq95-JNmd?#iL*u3#K z<*J_|v8g@0%yEh^bNLPYp9asqfR%qr9PWWKSpI};TDWrMjVt6)ZjK}6{gj`js$7&5 zR2wTN{eT?5Xl>WNE+gjlSUyVNEzJ;PM%E+`%u!_u*&G+=l_f5fWh(1kX_glqQ1ak9 z0$1i-mL%BY;YYMVgIosx_?lk?r-5xdlkp11{k~W3$igceO$NiaZ>kuVDKT28)Q6ql zQ)F=63(QtlRDVQKN#z%1Zdt(L+0rt&1`9_6BjhvmUQYuyW|O{I&TJCq1lPX3C{k|P%q3r zf9X)~9HJk|(`SM&Xn(q|%q(~08i2x(Q@uQv%FtH{aDsYTr14iVLm6r9sN>HqLjqmF zxHBV38_P)hkWJF=;odXou$@ly?kikxB4TMvur&RG9nQ>dzZYB%dEkAB!c6btKk3-C zV@Ffg`-X#cJrZf?(PlGCrPyzL2ytAx?_+j9N-u^EQAH>Ku7*)JG{m#?@dSfw@Q*>GwQ@PM7(SW#xViEUO0>o zspDOt{57(;x1C_ILMaY3Ym_0Yg6!NMjAOZ3RvA2+fvE+W22G3 zX;nCpUVxu>FQV$rgHk>5@X0=qCUAZ?g6K3MY?UKp9@o2trm|{owh}kE`K8a2i4};x z&ad;U(g?UTM?OF6X1vN#^6DG}E!t5_D}EX9jg=CLY`o3S7oIk9 zLMu~ZJIyhr!!aS1G2v;5W7jqtdckKBkn>@P)ylm!EkGZz{ZcBR;+c}%37|#TEp}bW z^e8EPTswz<3XBRtzmTg>NU4OsASN4I3EZ@1E}V|M*uTBRJ(g0AwhJnCP0568y@zp! z$Z(Py5P3@fujL90#ar@4F3rXsSCM$7&d(jDd(#Lg&&Z*povBlf{=-p%93hFY)z6bZC`8 z)xq_eoh!3}&tA{*Te02Xp)V!y@}J2mHJfG~!3KRB+$<|1DE)(PH-(kww6R34cFZQ0-5UTJu|8M9;&q;h7jG68l1{)#@-aV!uCUP1RJ=p8lR zh;1dGRRGabqD!wB@rt6~h0*=8buoU>Xjd>m@hL?TW5%6uY+d@n;c-tdP1Bt^;@(Z8 zsfLVMHo z^61VyW7f!=@>q#EuGke%ESo1MkSBoc&exf2r}aj-Bba>Ni6>nbK>2_sR~*+C&Nuj; z$`g}b+871@5Ai3S*N{ow77c&sSaX!_O*MNotv&2^hvS=bOx4SS4SA?8JWfnO3x;H! z&YT(7aL;N;j!pR_`xe?GGH+R`6;Ebwd#pGS=*KU`xyJ`V@0Z!oo?&@mx8JJ3e~jK2 z^PoWd>M+xPD<9MZUmt+0@%I&Mrg>A6jdM1lds)_3TK;IcWw-`$yHt{sYCIssFb6;N z-;bTr28;K%3A4o=zdJ|sy(5C)-}(1_j_1W@X;}MQUs1O^Br+{bM)negY^p-UH4vp7 zu2oj`M?=CgEU4R|i}ct|GLAjvX|8tPEi~l`cZe+MR)4e5=B;ar$#kV{w86o(1dneOJEBwPU9{y|ZyY^w z?_1mBcZ}X?{AiqANm=_$hGpmqQF)+jD+fbdDS^%Atvi%3*FqM*4=4K8IbL&Ww@ARv zBFK}Z%~O?hmN+qO>SsUrEygtE)#0+OY3QqvgtWg|;Kb2w z$(4@8M>vXIju7^uykI`4Z5BrnI?YUXz#l3> zD#aInY>o2Dr3gcC!km$O_&tSim*4s1-ZxWKZY$imdiYwu*g1|d9HKD`q}$smty0@0 z$6*IWcziS`)hL|_UGYp|0H0bFlBLi_oMbRrRkI7#7-YRU+8NS+1v0Hy*tR4qHJ=LD zhn@~jjVh5pWx1pyJ0zEbW+a5&+M8BpyPgg>W-#^(CW2{9Ius4lE3}tnj|;52EY+>> zFKz%^7%HrwCYYjr=d>wS$y}ihsgCoYMr|M8o&Es^@LvyJNnpGSK8kq274|rP^K^U} zh75v);{NeiUO|)w6Mi%qWq}0Q{nxGh4@`WxOK8{i2NOrY`9C}U{xfML;Oy*ZVd&y) z@?WHQwi>Lrwo3AMZaTXMJH1^3n+cQ>1q`K4B8$z2;%|~f{e%)5^Nl5AO$w0#-5^jYU?IyyvIGS zlH5fOiMw5HSKY@s_r2dvSMAR}uWF?;zt)7oX>kS)n#TZ;9^R68auWw_5nU0;WU`v_ z?%H^{svM-(i)hl`BZ9CwNYl(va#9DFA+uE8vMgWPfO{xC`ImwLy|Fbt&8intXuT0N zlpZQxzv3I#kX}`HRlvF75jK>c(Y_t(*USLwOUXd%zfYTxYYJ~QfY-uX&j38l2k(~v zAPmhn*iZSTet=(M)oC9<4#l55au4-QbM2?_q88%Ee0z=7aT7Q&i}ED|5DCf6bRQR_ z|55_hhUZpGQ5eOHF zM4Hhwl+6-s0HSwV%5tz<(`D|~5h7CM3iC`B+IbWN*N2gG%Fgixc@oq#9M1J3sdJJd zsT1!^^$3d2?FD2OwTjLmU24>tKMhj|9-0cw$P%<<%^6KIMQmW0Qo_vX^~TO4ge-8| zXuK#ka>9v9mxb%jJeEg=kTn`DuBU?-EXz~zF5_j#jFeBg)|(e%y%MOk@8gGK(%U~Z^&Pc zY8cFqA~RZ~1Y3Fhe&nI3sa9vf&cvIe8GlHI{SJ8PPl| zH6NP$vC!dIr}K>SWmet`V$&Dcsn{8bDun@#?77877+E;c^EW?QB!ebhM00=-fg>06Bv zw-&&=h!Xh_YmFc7ES1-Of&qBa^`(Vxwd&*rxZY0E!w!si1!sHR=q7SmcVyHMRzZk~ zR_t#~sMnyVO^}F^5W!)*$Z)0eErda~vsQWW*AYAI)7D%m|qlru(O(XX&iE${#&2O!WgB}&YM>oJ(R{cL9~ zw_z{DEr=5(ZAP7IR@T&SP$G?*sba2U;xbWS6DlG`hp?_+jV5|5@dv?JNv~2-A8PU{ z>}Z*^#yd0yJ`qJF6NBaDrEB{bb=`k!ET?%ohl}OX4vdbL0ZDGnGON%jD{A-uEJKY| z$7Sv-vFRAA<#;k(7ybqdFCOq)Rb%T;n~jT$W7EA>&rde~o1&+wH(?BE{AGfEc{DK+ zG4x)%USvQQV`G(YkiJfr`2+#JG_YAtD{QW1>_Us-OB<8MVyP6|A+uq%$k!2Y|NhZl z$Ik5$Bg4KxmiV;kjEq}%YRY)am1&#LxHCn^HRF|OTP&mPL$aA3BTp7T5vsb0g1QDY zZa!1_B5cBSFCs9OAWWAGnq39`i#iubcBI51GM&XBvCzpyhG-L2rX)ekRIz<3qnsv@ zZTvl?#5l2fE`FP>iyMhbwc2Kr?JgIEe1wpgx67tvSQ)ssPbVE)Co|6aicQFoOfJ~j zxj6g=FsR}}eGnVX0Ne_&6C$a+{#9yDMhWQx%O=b5q-eDxx3%l#?;$LcV3WXIzo9TWmv9V zM9aiaw)&Uj8(T|5!%0}sww*s4+Qb4JSkN#7-;p{knyyRL7BX{~{BiQ5nfjf`aw5xh zTv%XY@cVch6}{}sgqLpO{-Z6b?CI1oXD!?3T${l4UU^#>lXhnn`X5b!`_=qzgbQlY zeftv6+G;~Md>0*iq~r0J@_5Q!aCa8_?FAy3##=#nlI!yZ)#gh{#j6r^7T5R>xCUrA zYp0}R?@T|XHz~=Swn9_!|5q|=>w12TrJ)lr0Y;m0{^pTrz7y8>TS9ro$*62|zh}=~ zqrO(n&&WnfxKzDy=X0N`ag76BZ#Wi!#L>IRo<3$$Qjf@q^Bds$vKMa$=fCUyxN7%> zFmLzu`{#!PXpQr8+pFH{Ni0@kaG8}qhm@~;=HRKe83owr_~D3J&2hl#om(tj@WUqh zS$;z<)l3dr9_Sh2^550T_4)mN9G#zgBf-K-{a63saCvF-VI8=C%*s%Q+1!TqcrwJ~ zOc>7aHW!n9(tq7Jf`$&f6YKU%vm#$-Xp^9R3 zqrk-l$j*rPz}Q;1zbpFZo8Lje$Uh`XL|qq!&N=md9O(rMHct*1rkzacSM5k=n)bp% zr^cOrg!c{#!Gn|5NQ$K--9)D#UOyA_Eq2swgm#^rQS?6f|h{o=Zfp zxyI_irHW#+o`t=WGjb61j|ybjKzEzmrb?S0Go|b9`37re+B2#2K0Rj{x*G=2;5{Km zT>|d6_E`cpEZXvS(H%Ge(g%yKudNAmB z<4+b3^XvKB*i`8oE^0`RX=*`>)@XbD)&iMSLCwY;o~fkfs-<+*)%xvaMmzoKDf)hb z;5CJQA>%Lb&sTVGF@oLi1t>gal)^fx+r%@ST zv$&)IM6K?1gaJlXZOcDtS;wYtgW$wXg&lNwsM)n8XH~gsrH1I*%p8|5%Z||5RN3)I zXUNvA_%)c@(N18@1Qv;(4CaGj?0#Zf*02uxH}d z2R~oijtg=D%ACGjoWcakjUR=b-5cR~a(fH%y_VP-vQs<$Bj%IWL$K>@B_>3=;3{y$ zAF&Ea-6}q~jGg#YedwyJA18IZzHDVu?+JPqbvT)92yMll)YQzPuo3OH(e)KI*>&(P z9h^97T&g1w%)bY}AwBddz`bYYuY}vmGb*dp7kRc!xTI8E_aB+_^a@s>dmfp0wXEA66Pc%VMk< zUL3LYp26rpj$!of=jb<*15l5k->Mu)y=2@X^H_br=&}0-*o`3yv8wlRg5)8oaRe!Tv(`=2Zk|FL%q{H-!W@)PI}M*P2kK>xY#vliod+P+YQ*N7# zH5QvhwuP?v6GK6x3+fh&w=4Qjvkl+ti#8&d4t&0;EzX~6O5SIlYu~qBczU3<+Pt*GAMyUDk_n7e9qaI;~z zz@S#QLbvV$BXKBO0q7x-sY3_Rf%pd|nEVO|qtr~kKU}Z00JAUM!7_s`^Z~lThvLXN z(~M-Bi<#SOY`_k%P=t<;*R$I-&PHpY)oiTJ_9v1m%oEcxm2jsb@j8&D&!ByK1SJuL!NZBVT+8Klk2Ik-nT|d4J z7X{&*N$gxhg)VX7vy3dv`3jIhQgDVYb8#`eWeQ=Bj$t1jJA`K^d#sUFZF$TIT7aqu zI^N(mQr%rRpCpBn;3twc(pdo>9s0nul!b0!FVVD3nA`yF{4h^gCfXTshw%+RAt6Ur zYe=C_Q1*v@n_O;6ok2Ws77qsNg6Fx9vWrT@{@*aBjo<@?T9Af^taQF{n^Oh>MGMGD z-m3CWKCIV^-Q`ux=%Cc(Q;0?^*PfN^nkxdC6V75L6AP?b zZppjn2CD5Df*R8krzycP>eOx3x5g{J0wKg8Fn6;0@u<91Ik>qggO=zUeT1^4)vv~M+RYxr=3aZ^cZA%}6I~gFzUr`uciz5`bYzXN5x%n^e z5xi9!;%2`cf(o3)%U~m`NX`z*jyATG1e1z)%C0yVi`=7*Ct{}C5w+T|CHF2@sh z?8S`kH{OgMA&AcqxdY{|iHxB~R?z1KVoN6AB$Ma_X@nr;dLa~*FSFF+b+^Gj6NmDF zx73tvgrHXHtjXvb{25@~qxgVR6S79D0Qb#0Sw%Px2gS*ozbqp%#09Iv0zb}YO`5~P zIYynoa+=4>E6TmjSR><_dRLyri6s`s8gSeocdn(COm<#vBS)kT*e~4S<>}VT6PHs| zbvG3~i^>+G(Cwp5t*2Rc1Eqg!1+fGsQPuW@JwGs1z;3JbuV5~VM3t9WIrLE~bEhJZ z`MlMxLnA+uu2TQXih6 zatA6rL5)SS2b`moo#}baQz`H1^gs(LmK$Qbk9!C`(Vs>0VWhdUdAaeaSWgSugB$;FR!E8aHMVpcebHiU^2N*iVP%Up z0^{|8u!}7ai^^V*qDm~={nt!}#<5VQGJnswIc4I+A1u=@SA#a8%wa)FFaAZnAkcc{ z?r{&kq=DLV>3F1p{&{}v>cn@2p?8ROz5aP;Ub%<$d!>qTjQ*OMb2-Lr`z^$Aj>8)z zIZ@>*G%u)w6?&S*R--5lq2T|TV033IZ(I^M!|)bvrJuyYKQFe;a5Z9DGS6X>NK-8I z58}2LYcx%qDLaksu}PKu|ipB4bg=X8KHQh;Bn^+IB8QuCZI^@-zxn+Lc*1TI#iL7`lX;nDUlFugmmF9 z)q6cr&{QX!&(qRmmuqmouSYvh*X_?V-<;1o_jha1&p!`L;2Vv0td}Ih;BgTrfsAHG z5E>jnH~)&+zBgbN+r2L^#H)zYdLMcLzg|8NoHmVvin`Z)kMOkDc;5h7FXdHCnuqGs zh^)tu@w}3($8`Uk=@Aw>?jVya2SH+&>DC5$H-3AU^|pxOJ13x&hGyWonA3C*94*6m zF4$<`D?bDuFpB0In47^t_c;s0V`BiC6W>2u{2EgAS{$Jl5eY8yu`y&v19GE<+{=9H z#drcw_GP{=NA_jCPfwP^daH)~Gd6ZZ{${w%itx*LNsaK!bl(|*Ci^l%k|s*z0rQ}> zMvQ9NOOwcu=#bz`gh`Z6l$36ereYmuE1Mc1Rkl?Ok?>8Vf`wAY$fs&iF*Qq9wo!mx zmSo-}7|r7ZnF8Rnm?t(h!?Akh!-=# zk)9?Uf?N)`HD;1EzmSuSZV65ArQYB|iWt#a4$ZE2Z)zrQbY`wKR>+V>s?cGrH$FFA ziSMu{N{N(Z*qo8b3BMvy*3llzO1LPH7#N6(nw$2Dt~a+-a|FLm^Q*wcUZ&E$h8{+$ zS0*=*I~XTJVO9!GF;uYH7-@SXabvJW{j3*uUR+uecQ&NpK~e*f5*@g;0Ys!lGbf@P z=;2>WUPeYtl3Qd*4)1f4Vu!LlHBRo})(gf>%-!UM_qmtiDFM}%^$q`M z1{R2DG|;0)8X>MxxXz`D&-bD^Cvn^T-HE6nWkkwO;?qwdCTv5;uP0`E9eLtaf{%zu zj_#(o(=-11TzV5Y5|}OyWJ1L`*0?a+v1E*sJ`aiS=VZ0Wc*}Oh*E>8pSvgt~A?cLb zmQ8#t&J%T7UzB*T?PD~?|0RoXz*YlT2I(3uVk+AiL8;vptL#}4PtD9kz66vny(GOL z!^R<6ev8@La3x~>aL>dCv!-5uQ>+YcHb>BnVY-IgmHHHd2&7M>aB19f4 zhVx}x0knj-#mq~*bx#FvSC72FpTI%5u=idmlX^mC=4F+gy{$c7`t~;0`lENUnP`iG z16gx(`u)pR9wJ5os5+B}^o_sS_sM1g7}yV`OwB)ros` zq|ix4$woDZSl6@Gc)d?BQ(=R;&$&4Gsltdq*veqiuXUx__+n-eCa}-KI>1(+;atWJ z`r9l5v58Aoj_$*h#&2nAXcM?3^>Shttl?(jZUo9Fkh44@JlxthvRliKicIdZZY8Bu zO?{XIGdWd4-8WLR@5~-r@0w6M@^U@C11UY=}|&I}bCmXqFTrm{4) z)|8DgPod-D#E@~`O+s`Nl)4s7sZM1bT-nfQa-e!-E>aiMDwFSXVTYMV4kIF%!8!`s z;)W6vKfGD9c5t6U<1rFe6A=GBH`K^$uwM##%=VR33+ZHrh8~LUOr$4)lb9(Q>A5kw z1bEAhi5fhZqF)X#C%iDHX89H0iOq8{S=otaI zY-U3F@^X@kV?{e=Vkj;j?FSk{`63RqJtnn^ZX0|vHW=GhLF|i!N4itSR%T-RDqy zYsX##xTOZ_$RNe!acX)cDDyZ4a?eP`^>1CDhyP>c+5|k8E<5P{NXBcZZWioHzcYHY^~q4e==-kPwO3sts8azOGIbZfj~sUm?tt}%^j8W#40j@ zENqm~5?PoRiE?tzq%LupgY<%Vw-pg{_?bKHcT`YFLx z#(g;>_mK{DhL8q2@^*u#mr$w12v1O|ZisUHrH`j}ZR2dC0(am}f4m7{rH;sae9gdV zgC$x$HZ7^v~Ln3a4{pcZ6DfFvL=I zvmU-!R%8z+ef{8==L0ToCOKZIUlimscASdW0>o~3gl4UBk*b>4&_?_OMhM4DsiCw~ zXkd;~DYS}bHXHuzeLjVLoH3+RG=mN^1!6gSyTrBZ-#8T|y02Ugq*Z%5d55Rd=4y7I zDrP;O*#ubrN6ka^tHlyIOz~c^;OV+czg?d|8_5yG<&S?$q(}Yz;H(aMg%~I&N3p z?=YoW6%B06Ubhgw(@wM+;gsl6s`B0fOw8(XIAw8KT$ryGSy|b($}y{RJlaywH=35iE+|8fO+f5(1W$9WczU7i zb97tc5?jKxL)fQM?$o?dZtg96rn5S2%TDl5p0WEuIbt`2v+VYr#~4o@u?K@6=Dtf> zp`W_o_|G|Ua-OyQrQLdi+nT@&8-h3ss{6V&tXGRG0ACwozFM7t!HrD^VJ`@==HuJH za6DCNdx+g&ac9ssX}*v>6?&ny=Mp?MdJ%SKwIj%HO74o^Ksk4>H^d(5>npEYsf=KD z`{2)DBPY`zb)FszJl}mWTwA^cwDw_EL-O&v)_f2{L)g0ypFK*~d|foF09LGEt$eBDH5~=2T`1t-^DwuG=vlJb$0w(^fil!ckeq1&8DB^Gsp-n7p72DcVlrnHs^U-eI6zEXU1_~yRADnh|5plFgk2TlNi{0 zcN-Dajuz(l+l4JTJ=nCMrg^8uh?rix?P*%3`D#ekIO3=`+->0v*o7URXbvaF>3mGwf3As@S zjm}LePTc&_ByI9U-%j#b^CH`5us>f2xA@-p^fkKY+g#rbeE~G2NTd zXY@k!>zM%T7Q7=vC9s|xfjUt-yS2we7Tk*z@aUctDSZmoqUhxmt;bqHyxkjElu+bU zcx3A3Zk>mjQBtXL%3nZ+8&OgzbE@5A_uC_nDftv`y*a1pr+-5X9Y&&4@k!hg4U<#r zR&fw4q6*5Fw@ErQr^*4aFjuMgRN(k!ZjtD7=@PwOVTR49bSqwHhRvw?eu|=pT_R^y zy0mYhhJXH1&!O9Xo}5j*R>6}Rm3=%<>)&O(*C zN8OE?ba z+9R2f9qAS!;zr%GF}Zqk%;R01dbM|6w0;0Mk9q~`QTW#@k@1MvlWt+@Wc69Ga}+zX z!+MF{>{exE_M1R?0VA$>pLbw!n$FUfdIOF|sdM z*dFd`tOz;XS&a)54sJ!ID#SeIwugbmCT3{hGQD30VC-hEgu>jj;!c5~gDov;Y%SBV zm`O}Y_MIlgd@A15l3!oWx`02=g{q0r-gLx#5B-aYA_XLXnqWX0FS3ZpLd?3PZ)hp8 z8%N;Z`S6aqy*zc^Y&4h=a5D!z5_X@*jxrgdtR@QBnl2&^gw~+o8c7yNn>^u0*y1F6 zw3BBeLO`JzL)H!s`d!FDe5(c3oSbC%C3e0amKoZ)f))c(khP}Qbn0o*EercBS~Yao zP{i#edn;|4{}5`&Os{?Q>_EJ1EGFKe0U3EEHmXBwS$(rnur;urhLnddQdh9AE%(={_ zAV8Qa(ER4+nDHvoEFs_CNtg*>OuoJhfgOZb7zD;E{qCTdLlfuHGyGG`LM$Cco_5UZ zUD@Ayd)e>|7lc<_i}3)1%k(0PGpx7Q4Yo@BmEBm4)aCCZ+?^d zLKuW!;+7`M5zEa;Ne%x7yECf?*5LA!0hh)L9zp6Z zL2{?#fr~-D%&55FP;OwG)h`SLe!D}K8W8cUN7T6X5 z)3-{R!@HZxp1M>ZNZJ8}I#G7D$RBapWs;PU6a*tiNPVwn`vh9LUcXcU`p7Wcy;?$} z*k24NaSyLT9rmY+2~5dZbYUluKw_);T=0I|d!w(ALB0KQOw-eoLsO^S`_6I#)PN&E zDJ&Nm+-PUo8IFFVD`(Kpeq>b4l;-jIWSE6zZ%mO> zGlcTeg9#Wi5N9c!7SXTl7SKcz6nkls^rd)9j zRy4~Y(hG8IAp6p~%p()j#zyJZOQv-gn=O#xTHQuB0`8bTfA9qzUUK_qZ*>3pJ5GYa z@D1%g+%$?~z!hdFb8H7fm-Zll=x0F*cfzXG)ym}}Fh~UCa4rqdyi5hstzU8mg}v7G zi@j(`HxF=3N@)?7H}NCkp7%85e(7+1 z!Ia@ea3St}S2fTh;j^AtI4Hrkc;xvnp>3@si!v=6PUAI})Gn3a=VXEAQX2IUf%>lq zhaA+!o6G2tB!`y{crxcgm7il{dv&f<*`7UI2VWS9UxE zYmxDM1oqP}h~e>>-bj5k^w-|BlAgG|6-yEvV<_5KZE$;<5U>5@JxvaCet*-!`;G3Y zy|P;9f=7A=_1n#fxjUXt(Xy6|M1va(cke83uP^jiq6mzZ&;sN)$WF}L>dNb}`{O6` z2^V+iMJzSZazlR-!ZO(h?x{|8zYq!nnBg!!bZ(ojZ-o#FLMTLaZOI=$B=tn7{p-GqaY#c{SnU&!e{g-5 ztmOsMa9^5Ucu4MeJinLZW_5#8d%H=-6z+mxNs$@$L=YaV4|p)u3DW!*o4KCU@C=3= zVGna%szm0Tj^}|>=DfwXTj&xo;s`RH$K>8NHn|u znkzu`7BUp|Xasl}N_n@^=$5sV9%pve=FAE^-13fVK&%@ve%D4TsdbI%;^o1};E7hLCK?D7Zb9NT= zb&6?*javUa_InM-f9t#CXpR`3Kt$^F)GW=HRt9F1|pvB=Ht=zxyrVI6`9=z zqJ)Sru{zDk1O%bau|M!u%aP(P(#-Olugs6W|@xGVA!9}LtvU<^M-s}F(^ zy$LM-VE(Ri7yN6t&tWZ`U8K3Z&_Z7Sd4zTeUjjH~JhGZ9&sZp`xP;2mH-`4yLcxb9 zPpaJFK!ZCRvPT?L{z6V4*h^_DVXd&wV?{>VQbkRHs8gOdF4IpkInS(|zq>{A?_kCT z+g=Gdzrj;7%SeTS@Q`JyS>o>Yl{lmmMQ1XqURmP{Ofv*4A237PN4bIy#lRACt$s0~ z{y%)3V{;~8l%`|bwr$(CZJTeBj%^#=v2EM7lQ-ztNvGp%&+gXl)KtyYV$& zF7wNC&0&j{LRwpCcAsqgYmCfy7)3*^vs|qcBC37xmKHs}`-eqT!a&Jg3bKgUF(O5D$1 zJjm)H#zTKOu_b!kY~-?)rO2B3T~gxthIJ(%~VJH0oz>D zhs~WuKjP#a+dc}3-&^m_edJk->dhb_MKO#W=uaqHBq}Mtv=!QoO7lQpU7BqGDy}HD z50JHk{oJ-ma$48X6uW?{T7r>HiPnWt1TQ^{Z9)2w*a!RYo>~0ss)7ydp46DISuLua zf}Mn)QOWsj-^h=Bg18%d^?Plx@?b_)h!@{7NCgFB7xML{%>9gLSfwPW7#24l!DtmM8y`ROFBFjHe&9gvSj9$Mo# zf6_Lm#F81eR%xB4^!qTA#+WFrUXw<*_O5xAM%Nxi(iWq}kVdO5e{G1XzpRfy39q}${>fUAVS#yu zk^1lWn;Hec6e`@-CmVwUUOL$zLy3Hx!c+G4uvb^BQl@F36PlnLxZvuNutIJord(OP zO>)~tgQ2N+k(ad#Mv}bh<|v~zNCq3k-ya%VAa>WEF4vIGHCu)ffzanNw*l*H>$pJrzyBbg!XlD=8=})_GT1kzH)?-d z9$jN)=a@Wi_oRDEZz{h&IUMJ}HPo(S!52KC&%_i8`hWg#-+8y>GMy_3&i9y|cuGHc z>ajCM>lIJSX+K6Ojie$&s>1+<(l>@FJ9dm)SvfOpybr~Ud=?6XJKlO!vb8MMX7UH&GW^@`y zo`+&dE%_<$-Qev9MC2YF}{p~JLqqO^5o%-2ec8R}^A zdPkoRU$PwB_=WXoZUwJj(*|`3x910TpZC5sH4J;Kqs}U4;A4Ffw7r3pf3v&1Bw3Mm zGDs9w7X?bv1i)N>?{*@-HHf#QLaf$)O5Zrq4<3{!=}*?@Wqinc425WunAM40{8Nr3 zHVeoo1;_^q5BQWpYwE(@oKKOrG-JYD=?QsP-P15O{Mo8i4EVEyni^|G(lhp#*WZ)w z!O$M5zB$5g=HSoTT|}s6{X+cv*;7^K`IuMkwW3v5H!r=Q$%_xIwH8o|Z zJKTX|=K|BPXXcr9&@=juKmcM^0J!xV<4Ito{qt>Q_*am@Uulak;lawUxF6rxc)$9W zj7ZF^r$BKIuvx-+hL%~z-CwZCdLWrz1LKK`1B;Chd(5)Vgzqqc&I3ZAbxljHCADub zyL-!TP>Q^A-V^q~Iny_>OVzDybS7l@A`EvAW3q_h#4c`Q)V46n2_DNCb@t6b_z=G(`kVRfYuuRb{BD zTNW!-al-*%=@AiE`?>Sy}cdL_`Yj>V3~%Zf`H4-cGQ#Z&R5 zEaCfQpk4}`BEuYG3fNhL`3j+YO2N82=cWU`9;{xTf#pSdmy`jq;8aK~TmY03s!ol0G-xVgQ6+-nf@==wD2Es#YNi=3_p)c6 zsR(Wc`w@F5uRKs8xEVqVrp6*|6Koz!htdU!y_(B~ses(2V89)64!a{L+;C#n2T6b! z8@7hkg;h6}PbgR(;>{DGp-L1S%UpS^h7%a6V{IZB0dSxd$97pBK#zxtxF;aYMd$#@ zMKqAoS&_(+hIbZQ8PGDAn}u`IYTBso=uGO42V+Ki@ejs^?~wqOf-$25c%8Q}!2(HK zS_e46>M;Q61Fa0Rt6+gNE`+zsi4aD`M~S*IKVb}*@5;gUumQCR_<%n@U7M37I}!>n zA@@jJ(5qdF2XZ0441lv>&Zr%_K&;^Qiw@24e_mPqkOSwt)|Qnp|9DY|)0xt~-+dua z#vOGgN*ri#>xyCxs}XoMbC$E=IdE3X5*|hr7>H6fdMligxpsOXix58c94jg+XfboJ zQvaMs`xs8qZ$pbYCuL<&VLRE1$z5Q^&GW{@3_6F%To^L2faH)$)|Jh$&FB`PEt!%~ zWs-FH(Ml_g`JBmzIv7Y9BZD9lW`uC@MY6E?PHH=^!-*mFC@y-OT4y+gi@LkrB#v8x z6i++!=^P<;3?!`#QMPI&Kg}((FQl1{j0bQoM4=kOAwe!R+Bk>US(al)qDQ3Lx zHRWv*wx!9tCOI?mBl!to@Z9fWs7<;4l5wSn#Gx!j_yp5pgAq95#Tf@1u*>-NXfOZ;H%X+p;x|>c#zlUm`IF#X%UMx_^^moddins_Acy4KFF{K9fv!p&bL^)(gYu{RgjiS0^ zZ5*1N_%hs34f5*Z7rwkcey)8{Mj$=>Waq4lx?(f43Of2W5w-hD%0ZcWP2u3%4bOqM zz)bKjfkM1%(Xdja2ylz=Qi@kM;&+L!$~m?2W&UVx{uf4!9+ShJ`$b2Xh)IDy8eM>F zHOJ_J`Xcr?YV?|uBiYce8v^g#)F8B|qGWq-H4@=`9BYt7ZvaA38y?y1h@=!sh>eF;=zy0| zBoNcjpU(6q5}O}tnu@u|>!_4UWTMAsRP-daufxW=^GHtko7;g+{HuBOGs)r5c~j}1 zx{2?G`(E_N#7Lyi@n3<5sOZE)^BOG!4Y#bE4Me)XfQGnJnCwuus@UqXOfBWMyxvlo zt>%u2g?m?YWT5DhEyhsC_hjkV5`h@b7x9iEpOEQcDqvwm7^v=X`zg&G8y&d`p?rjj z{&O&LqEea?m!x!T-{JhmxvW=~rXcSj={d{(u(_v=jVv-pfZ0a^%v*(x?e^H{htl|| z;tx=7Iq5rAXfjr5syb$3O8+eL!`K&T^zX31wR=i*fm0XJe|<|DaA;GE~HtzR;WeE^b^vCu!sjK5rO99R)rqxe+cjqnV@*>-i3~~gDtHa}Rhn|4B z59f_Sf%g=$tplg%wXHa;eqU9lFU#2jgil;x2})3yntcb;VBwV90Kf98qx(7y(!W}>j|S7FB|cnY#U z;*nbG3xD(6Hhg%i?S-U{h92AH&xmR}unaX84tLenwRxyzO1fcF-KKbmtQWET(UDJT zK@tU|t;CMmJr?frDW%rb=A$z&nw4GIho6nO2p}}J>Te`>ZB;T=tNeA%s|s0(sJ67t z$wAq>KsJZ>nihoi=f}zp!KglYBdaZHDr>4KbMvy*bRGS7G2vH9B~{iacl9jHlTkC* zl;_x(fHbCX8`7@VS>fr6h{A?z15Tl2R&ik4HQ4EKd6GSi_8rAd%)Tqj4VvysltvA{ zPyM;Ls{D8jowiC)EIj~0&Vrb`3kOFWgz@3fq>l`51LF8y6WL#Lau5niV ze%X4(xbPOE?0yUxbTLd5W@w4v7jvC!$E?b5J@NR_x?p|~ArL)F0l&}$MI7iW+dQ?H z5G799*Eu+j`IWu*4h)h_LJ9|lOsYuqpSwWiA*!2@_WG-U$(zzKgxWUb(^w@P zTZ?gB1?5{nFM)cA@&|=^r7Eh3IS@*U`2mGgC`U3HWuqL62R|XUVFH!beOZ_JaxIl$5E@b z?_EuLSnk1eZ9#S2Od$Z4G!vJ9dz3ndbBLV@I=7}WJb?!L3;6c)%iypE<53GjgFHd` zM(8A752F*0eL4$$V_Up@znuO2X1*HTx_w#LqrC;KcvtR=(DL1Rv^|wRBq*i+>9Lb6 z;l1LE_9?^>NMn1w|3IE^G_f`qNjZ$ru>{^0L_J*E&4%UY!Dr$BYS2l*gxbIuFmP8^ z`J-UR7Q^yk*S1bU8!DB#j$$St>>RCbX7qYtpEqby%X(?iH>1q0V_lRtAp&Yi#dwTB z0>m9}G=Fe1e;G{xiAWi^bhLrR5vIEBKrCm-R?0+HC{H!*pC_e-GO+_kPAQAUcp+ev zS%W0WBSmnoLLs%CPBdpBm?!JY5-YyDLjIHUm-U&M+5kzBX?|23L~@uLW%8SBTm>>Z zuQG`nRaBm=#CyB=9+k;xq_2V}^l>X_w-|DwEW!isHid&&&z@8&2iH!KzB~{HH*hnk z*Aj-vQjt^63d)ePYI@>Vb(M*5+_P2ZWS+SIts4(zXba)x>P}7n15Sjg z>B0-R+m2-Wn7=;IV=bV-p@gR{4x@6=!nuvVn=pm}5l3KnJJncSKng!D>HrU|ePf7` z7u36I+@dxOfWJ^zYxcw4@2y4R_Fwze_D znhN)nVUGjb`CefypINqZb51wo_Sx&-3b;sICind2_l2Mrvc?4YTyfigmJF%6wp`-1 zBGEg+A1iiZZ-jcp`sm!o<$}C)m+|IW)umy(?ZPU;lcbLlQgbbRhpCcWe{HTi#r0e` zXWgT#yn?-a>wI^gk&Q}SZQ`R)Pc_@Px!ntei zFDx5XL4O1Pw&9Ne^T`2G*p9cj(-Jc{YAiN%2$yB{w1V4C$CFp(BQY89sF8mK>068=+%I3s!sMWY8`bd2QnY zD5no^V5u+u>FLty2wu~?iy+)2sB|klpzJ_A*xIIi;H4ODY~Sfp&PC8>i+*5q{bQq$ zF#@_(4C z+iy+ZXig8;PdMf|$*o*w0Jv zh5Gd)0dHVe_3K99RM0TD$%9z1!LYDgvqU6zu<=Qgvg-}$t4U%Q7sKHQLGAzs{(_=$9$<|o9?u$eK zVl(Go>}#0AYN4P9q@S8*G=QBjLb^iaOx6?bNDyw*7c(x!z}LQ7qkB}ch9V#lHI1$< zIrG7Rc$;UN|Bh$6NKs?|mqh-$;4iIVQ6320E$j>1I|$bsQ{$?uAZpt+OW|J{<68V> z2tmRF>Mc3)s4h4KP+P23Y6%N9`e{S4cL?$WqtZPUq-VN-gjl?gf^uERs|3=L$=H9_ zQa6i1;sa%qWg{(m;QWZ>vU>X09h#_@3lG%b^uL9i`~-C(8pVq5wJ9K+B=WPNX`w0B z|L2m;resYa+0xPvLd+aBch6og^d7jtU=9{Sa3Ck1ymqE~`ipi58(+Fg{V={3tR=sc zxh)1_!LNU&-XAg4eY*`7*e}vTaDGy4;z9MP{s!8xQ(I59z(SmJ?`^{nrbiS06)Mk5 zKJUxQZaozcK9L_{MuolvOp*F3Gu5u}nV~EhF^nwoL+=M6UN(1lRn(*Dhg>k$HMvZp zL$*&@OzcpR*nVn0pb52Zlt{I$)#^6!)HLL}*CZzFtL-(Tj4$bNQ#tZS6EXE_&69NN zcQ>~$EcN7T!*_wdqw7C$gd1}-z0ad_G?4*eEd}xvc57)8vllM58c$BaK24cq`s@WW z@Jd05Q+x5FM3EfyrRJ?w)T`+iY=*RHOU~g!OyX4WM7a_Tjl1g6pY)D*M-a-{NVLvn3hb5rtGycF688;(afeL~V5r-n|-cbip0#Nxtawo|9;7cm7~(@_ zjDc+o!oW%kV0{|sM%nS<^%PDBHIOg{`&Oe2XebByC6yiPO&@zlR7!NKiRaqgMBq)6 zsTPRXMsI)rs|gjEwjGE*RSVGR#Q&+~b%gpm;D^>`%i?Qb>=9&5IP4vlG`fzsmoM~}R3n#&aG8rrOE2^n(yf}u1+w>mFb|(9 zkqY$fps*;gctmoEt}}_LI8|{nWcgT!t`FXNk|raBSgbP6jA~S=K29Q{NkH@ zK2N=8krn!#A>R2;8{`(>PK|%=_I2f0|1|eH;Es-qT4zeG=6%Yg7}0u7-lmVLTFCn+ zPXvRZ2T|9?+pl$`%nFYln)Ff<-aKqq^(njGrwL~J7=NVIRy?%3J_Jxo zrg(SJ{#b|^4bLVjr)h|tm#6r6^65IJ8vLQ&DFu35r31K!^B-uQx8N^NyVbphm3zx_ z13Z4W47a{Ixp!=DAmRgn)+r{%A166oQnBTD8rsgwoW;tww6SKDAm-4f-M9p1WWovc$cTrT6Zb+PkP(H7`?6AWydB;2fN zgNl6Kfkf@f5pkc8YW=z9#BurUC<~}Q#>EPW&P<5L;ONHXXYW*!`|Tvq`@sSq_;JNJ z2cv-l^LOAI3aW=re6xOc=76NP!~<&=9N|doJ9q$5e^}<7@f}nE>ljc;~*VN_|$ZrEm>3dr6bP`hr^$0rrbOFoQlzIYHDLQ9*NV~Qrv- zRWQqtkC9K(RfY9o8{9yI9T0g-0r~RxW4SK>FWJu3Oq(I=JKoXlc3P_2q{SQBDVY9W zGtBC|nQj&d*0vb%+m<)kbr8{ynGlvV&gw>v2kGh@=35$;FnD*&F%DGY<$xCQD02e2 zi77!&&yE=;O%~ea-w10^x^}|ZgLXizW=kx)NCHmqJ~Ej|0nNyISTvxfP`c|L=seA- z`r0Sz==NzkWXUya7bBlpS&*}h>~WTCJK~h`J0AAv6&MZSAXDTxC|N(I#@Bxms{98> z;qadFk@sH+HxS}~2;%;4j)J;}sk#0CQTfHID>^TWp!nx*xC$Ad$R^RUc%$H^Ppr1Ga@ALgpes{`|{0?DW{@+&Q;* z0}i!jl2zHAK#Zfbz;%^0?Wgu2S&KE+ zov!XMA;wYzSF3EI-V9z7lUv0?=WYJU#`UWKUr~%kLp|su|jg|ze3nv!#pgz zrjxPJNYXuuTh)-&P#TaE>M0o{{%Ip4o`CHoF9{HNWkFMr)J{jI{4GUU`yo#zC@S`o zMwFN@VOULGF@%^Ut$SGkkc=F(qd+Iq~;#a-PIc$*L)x|3Mds8E*XXhIvM&j$0a*m zLY;k%`l#%Kx)Ky}yqSnrO^qIp4b!LL{j-YiRKq*){p*!Jh_l6T=RvgN+8n}L3V2Y5 z_=weQJsc7%i7g*?KbM@WysSa+N0Dw+i1f^kad}q9B6|j=7@P@^pFa7=DCH*NP(;Fy zjX;78$-Ve+A?4|}DU&A!_P5Cn$qF%j?F_nDZRfJBBYIWtq)HP&+4hxepLoJU9>Gki z%vYA;&@q|Lk7=-KQ~k=~z|C>3O1IzO`pN@lua3h|Fzps5-Ktvt&V9BZqOCk=BX(c; zfg@!;Jw2yqqU}wp2Q#eon}~M+XUtIt$%S|p1hfvqrVtg#cLMX6$%bZC3#drB%VsI6 zMs{=m5{b9E74Qb#Z)oO`L$~_MKFK_u24q`IRY*J%-@n)g^@o`6-q#KJwavPQDC<|a zLD{tQ2N~7o4e*MV?tTSb(4LXo-SVEAq#WURgUQb{#px1x$0)DQ`MP2*i!|n%#?@!i z<)(6?DbfSCbs%$*!h2(P&uu#0r25ti;lacGdRe|C1$)Eyks|aKj=HMH_H*-uPnD9EHVj-)BHn z@IRZ%RQq0rsjoD(}0u8lPH|0#8rZBLNI0LrQxe3XO6Ah~X$hZHL zt+=9VRWd-;bi#fE2YrpaQQM5a6pnO41H72Thvc}#)jWytbV7r?xIe325U@3WFil{0 z&>YEQ8k;tUg(K6zVj3UexBWg&a-PArU2j&Y#&tcyR&|Blm(y7#m^^`Al4477=ZKt+ zvMeDZ^HEi92@I4dp~Yf#LtS+89rb=Gkj2$*GY6u?%8VkvsE#U|v}?BF zcM_<^$VtX?DWd$Vf4$)L117tjw<~ob{~YIHOd?Hh+Wnr@kZqFFj5{I7C)A!yUa{2= zbCsf8Nw;0s*_?NtAI^y zgqcBdWk5D#8_%-5XS^ZZIsVVy{NR{`1d=G@F}!wXVP|jv2p6u`IcD=mg+sYAoo)1$uv7U za@bl*Q)?=zmbK2P+Sg#mzRcDieZvbAo7LRU&Ih8;aTU}6Z+L$6fTEe6^OZRyej{=k zpfV4569qQ}`hD<$K~4mczUXfw()j;@)L1hP_02t8jY1KUxF3gMK?YrtTB7<|rT}#3 zwbQFiZ;$(^EB5IrjLOv%Ie@SV1h3Ya<~2&1x1~tq6pz%K+Vy-PD|8R#M+zfimQ>q1 zv3s_~nWo^|-%$YjV6iE&-5pWgDScjoMU(0j`Xg|UqGITKk=WL{ZK}q#B~nKk$e>wE z1g_J4ytuyj%UB`U`Ae*f&3Uf6qpSL2BEYOXv01t|wU6k3`IZ_pxaWX3f3CCs6*!4) zJrSrH;kyN+vj@{={YIm6HWA(D6!3Uw%iwsgKRm$KneeCRsR+`et3+g`qBW5Pm9JlU zp`fcSX0!9P_-jcs`-K+>x=7EVI?8l)zg2e;lEpC!6A^~vSda?k8aOK2HF)5Z;s?V!jc&E0%rqJ;z^w^MsZ^%=!)_Xt87Nu zNw~mF?~_cze3B=&Jez6K-@X)4J<1(zn^s@cPidjZi>kReOA6T=+EuWQ@c805KM{uC zXHBwt*8&Lk=cR)walZ>B-4%XZBJ2=zdi${bM`dnQ`?xx&eB-Im@ieO zt-v2o35X?$sRjx~ENv`P0#np&oj8Jv*P~tppY`vK^4UM2$1xb6Igy=buAf!bu2)6t zM_7?BPhDGH|232YQ~9_Xh6w`lmjeWZ;lJxn$vU}vxOtj;*g88&**g6{4%w_8EP!A& zxh@BHRv=#Q0Wh;M(KHyuT0A`lHf@3*%4j^)&2Zrdt-H^(R)*HlL198`uzUO%d&rjTeHeqan#4EV^|4nU7s2DY2NXuojZ zeEvoGU_vl`LB4qx6#i<4`U3gZMEpkl9wrP#82pYfrRyODDjN`$LxTykgb4+IvCIsJ zaB7(*MVLnshY+utBA6rA2E(n}iR)mG(c&CrRFcNQ<&7CAq2a&}8z6+a^3A~FRpx!@bkcgPOy0kFVNseF@P4%9Cb7+Q$uoF zs3KS{WE+eFCXX=?EZ7>}fTlqa$O|@)*&$=nJunJ3j}GV?pajc=GoZQy3!a8FqPZgr zriZA**dTRDA6NxjhcTdc$sbVq7q>BBZjc8;1@D4!!|hPqp#^8cU7-T92WG+AVRq>5 z+=90uoUl8@fqoE1q<6hwevn4ADwrG8ETk;7D(G2g8_X_2+~x2+a=>3A;=rVVmVvl| znt^J_6NnQ?EI{fg-cEG+I*=vd&Kx@%r5+XF2qRD0!xVNaUU4}=(VC#ZXFO5q+ZFW7 zqik8PZdm2fhcOXlr^8Bd{$d)X0liQQNn<&ju}XF21Ef1K^`M*k*=c8`(RKBL$gVIL zNUYWjquy1g=3NCJ1G%fyAUew=S#h)YzHC>RwTy!0+ZA~JlJR?F zxEvoQ-Z0zX8;rA>3aSOtA9hw}p+0%R*G!b!xg?9`EZZZqfcdVdYcV(T5w+;(pMeBw z#bXKB+jf-&v+wD~qlmz?yzFbrI~%L4Q!vH|1FFS)DXnb3J6b5j=$*Y~ZNp$hRfwm* zk~i0~ibI2NMzQ@uS#n|Uv3_=5l40KIrl+KyY7xo99LdKzdAW|l9B9lcNw>2o+D(P; zSuMW8!z^S(AD@m9F37=HjRmL2#Hc-qjp&xuC1FKVjlV_JO`VkS<8u67M|TBLUBcKb z=p`9PQ_4zbnlvh)wn3E9<#F?VZf79e$+2Zo-0K#@;T0 zzFlkMo?d(4@Kti%B{3O!>RLQl=QXgCf*k77B$px2 zBJ6(gU|DxHE;@I;el9hx$~>lAEFCFhI>H!7kvcrr_$H*n)$HmKv(Qb+;xfO_KuVm0FD>q{4b zW=twxQ53&0CR1byI~-G@$1xp+< zhr0@o6a!R;v>#lP_J|Mi-!nnpj``WtJELBqhz$DO3kB@d|7+d;Yspz(m5zFd5-({b zQnWD0C!)AtTPm>%X3Zg#XU>?C3SkWWqaI=ttKE^ms6rB-)CzefTfy>b77P&ZK_z_Daz4ZA=o<&2va{TVGrl6RA9}| zD=t5u$F)f+pFuvL#`vHJh{@tPF-)GW?A}Pmc;QRwEKs|%{UH@xe<$^`6q+F198M^5 zKJqRogc&FZ*B1qiNiZr7*8}#mIFC%}J03=zuvgeE=4=q+m$DpFFP5=?|HLANlPqQkdbydRYhuBkasMZk^(NA!qKfdI1C8msw(%k zg5sQy$QYR&%lEBQ(Xd6dhsiHU%UNK^G2^!#qH59;(?(n}kg%i&yj;ipt(1~d%+TOe zE?1`it;lAIMO(evAh&zdD%-3vd(y{-+^mp28=*^aE#{TNqyEMo9w(i%#lxNcvdFJM zZkBd=wc_S;@f6ohQs6*d+m@`l^-yY&tK^w~VUga3u~?}lx3r@ym0}qpx1_Bf^HSj8 z!qv1qB_&X^KBm65_vBGzkwuovC@Xtb)-_Ykxw2K)x&82*^>io1>4e0Ji)+5w7_Qc3 z1)$Eyq&~}-Ep=!#(ap%I!E2pV$}z~D@U;>`r5!s_AdX9TQHbx;oS*&1yAOM3b%Va%GvJWBa5Y zU#b!|;_!o@9Shvfl;Rphj-HA4B=Tk2>Q-$^>!f^2_>$&po(0Kyz{wIbKBfK1B>UUB zf+bt%XicWRF#p_2o)q(vQKB%vQ&uhIE}gnoc8lC9-RzJC18-5}^iIchRfe?w_&VQl z+v(DFS|KHkXcn&b?FJ)DcW%K0OTUm4t=P?`R<{23XHKzN`Se2GuAhP#{fZ;swnBzK z0UBaa)jfmkA0t-+M{**AK2sPYN3Np4NzNn<8qU!VD4E*fD zIWa$6gI*q5^76RWh~I&2_R|YzV(8FKS9caVq8n1*8k0guC%ze9Gc@*)tk_jP!PRl{ zY;W7p(@5GQ`X|s7^y@asiCN$$j&}_U9JQY)2+*bp1#XSmgGc+cAalavCdDY6W zpYN?EG%TI#J$~>%<@kh0-?I5P{0I-t%huUQ=4ZrqWm#8HX9zs{QA|*u%4Tyido?m+ z$J63#)*Vj3X1i2NKsvdbk((W0Z>`J4Pq7jdM>V0$_LQIPCL(qrw1adK=w46}v3C zkIh_35>fgj)M_QBTwBs-7ZX&@K8=)y(H^llU`N{XYaR|bzGg^ct_`;24LqQ`pUzP! z2JhZD5hCnbS$22kv#d^Ck>*ZQ#KQWLKVH8~50hTc!iQp_xDXuk{@b&t;3HezLX6I6 zXQGGvd-AuLo)}U&yi3BuR0&Ei81@ujg%ep^0~$+Rr4UWrQYtWI1bL=ke}Jj9oQOQE zBtGtp`1uUh7A`p;bm_hE)|inS+s~an@q!9glo`&vozYKh&IvZYxv8^xBnbSlE8D)N zr92Fcu2Ce3+fq+M6y!~*S*+~2$bNUn;w|TM)X(PpFn)yDq6PVzQ$&KnS%O>noGCSy z(8TzmhBtyjOH(7O=tjMD7f2NaA8T?-rTe~zl|Sw)2sG%!)z91Kpy8B~ckh>FGpVt~ z$a6k*rL9Vj+X3B|%~9b52~}?bx967HF2x+S!|882;M2sA9o=!%&zV7P9&LLNjCEKY z>E0II4TAGU`J)84xcCaQdD~(tyI)nNH=|}p_r|ABPwDL!BzVy9^}dePdOA*i@#B%Z z(2fLK)aXX&l-DF$vz8&kL!>+WT==-(;iuP4y4L15c|*OJdwKL!9pQBPLxhjzornIS zvx_)iZ@5hYDgEOb0SDDD0jE8y*&v%XZfca}Iy;Y0Hbk{jUq*R{x71j1Q~-U8YQ)!x2R=6C=$>m$=X@;zyB7^h5MHC|V18dA5 zu*O<+o|KgXFD?8~WzbGRGnLFfOT$NOtfa^Febp78~zY{3SsQ=gLCd+DxMegVv> zHwXN*8|M1Ne-i&Z-gV5+L@nP!?{fK7X{}(AMf)yw84+r6OZqJ@(w&2(S3uY`l(M}U+oa2= zSg^)d$nSd^;IGwlB(YnRblw<%=Bn0n2&q`J6r%5N%g$`}`bcxm(bDDTsBJyp^)OFw z&^uCDmUMm?v{ZOvD9q)OSV<$Y(ASGh1+}sh1GcZ_`QW(9Va>8{RtXEsuKx5Rb4+^? z-@W=Nz!2%y1e4A;;4;XF1cbuiY47H03cH2$0U6dLTEPojOdV3(L(AsE!my<;zBq36 zEv~&ofEqKSen!dUET;YDv}3$k$akWgL+lH#IWP9vHN~N!{uG=x|1;iGaq3b2v^t}4 z=wopz35p(Ph5 zq;-3|m<`5=X~ka8c;b8Fch5OZSbHl$NKWW49EJWqxln;h5%BrB!yB3W+u-F4!K*r15vAw$dnK?(|_+P@Htuk_z(@<@a zoz)M^3cG;0z`>eI8M(ZD50J7MvS4yQ(-YOKu4@#D;$^9W5?zW%cZAsVi6 zuws_(UOFvL9HmY8+!|H+kfsAtnDHvI-o(Ldx2MWKD+>HOUDQEMg>wac-!JXY5DD!o z(6;W82O3+y*FI4!iQJ>4<$cz^j@nxr0;Y0}#r2^cTtU6XA#Ms0_vE2^kx!D7Pg1>^ zsf=&QjQit$e84^2gFZBiKAfX&-Nhd-w=cbPPyW;uy|fvQHHC~DBIRR!oRCBsMy&`* zwdLRk^E(31Sc2I3$JUpN9Z)=miIge8p?$MGXA$bNX)`EFlkLqbbb^%p|6RybPol_-=wVQ8nRKVMdh z#Bx5iz>?qa z;04GRIKmEdcTO4&l+F0SJbzML+NnQ?y~D5k!#{}yM@ZY|on*xjGOu2nb21yrtiq_! zJYTfPTG_F+!@!2UQK_hGeuct0i6Kh%nTWcKQv>Q6SzC!_6SKf9w+17?Fu$0o#tyDJ73 z?-yp;!^b^i!+P5K@w?;X-&@8$dj=kK#aTv79y3K;ofnA>0!dx)p{1b7cm9;W-i&*O zSkBTX8F2J796P>;uqC0Io0IlP{K@9A&-?GP@PDeXrI#BSV! zrYi5mU!?8dz+Uw&K%VXQbvknlQmYv{hd#t?6axw<>JA46%W1a)V6eRBEoK}5U`n>} zkP0RHTX?jtsPHH|?a z;|H)6HHlcJcqV=@>=#pd^yy-3z7feqOr%D(tpk+mqH01jMUPtXnpiKsk7rahGkK3{aRZ{=6O`>@eu6{6MS6n6-bJIx4z?;j31f}} zl*x({luDa^aRdp^$PPNbGZZP03DTv-IB|<&ZGH)+9Pg+Qzw*&DrAVBF1fG$)GfpH| zM;0;~tBkyiOCChD@v630^849suw=Wrq&7`Sx!iV0a#PtbviMwDWw((=46EhQ6GBf12h{-<5V-u4FZGWYe67z7g4{W{e(i@e6sUFTCxfl{Xmlc4 zDoKOqTthgE!&|dXTcgihg;wq?i#4uWw0ys0PN6jH_1B1&1!1+VMUd8qoD87b&8e?OV-I8vkeN-edqVJm_8W-81Mzo!P9ggTlu-cMHB)3R zpe4@uYzIs`P;Ms%|K9BfvXeMr`;pR4F!v!QfV&Tyc+BVnqY8lVe%GFLH#=H#>$dU( zs_e(QdH-zy!JR*t=RRxC)L%q`r%w#TePWjD`ti6xBCAhEK-8A^C-)K2H#i_wqVx9?5(_dO&4e(NP#}D%abDf)=bto~ zkF?=XVHxv)f8*FkF3c=0;^MyIE6Wj~{hjCQ2V`jw!k$btFyBSF;cfo^-=hEH=4h;| z?l1Z;1EB;90z&iOZFB#34noD$!-hi7*5&_3Au{%zw>2=v`^#l7M*eKo*pIJO?eghm zJZ0wIcVF|h)!-A_t`plA9*w&!Z?C0aO0!(^Ko9+AEyx!mQp1!?R2MT`@h(K+_<_$<<5@xBn!ZOo#)Bs~*aGG2V z(*N4h_G68E^7`mXVz9$G$sEwbxzSm%mIKRTji$8ttfo()LnIiT3@ zd&uH^^{JMhPvPduoG{`)G8Wb!hTwj@E3-QT^gjuLVb6#PE!6?BLyT#80^2{U{}*H5 z6dhW$B^%q;iEZ1qZQHhOpV+o-+qUiG6B=6HMTkNv&I+-ugVxvDBpJ+!-= z&Lh^sPPPa*fri`1gMn;X{r)Q7ex;5TY9?0wboqR{i`+8{S2b#5BzD$gh=_pHdbVAP z-Q{V#^cbo#s|={~s-c+P72^EO-&7#CK8l1+-UL27>>+bmAIs}mi6E&;KRx~@5b_lZ z(Q?>2et)j8s!3~OjouB?GQ3|zF~(cB&GtK_o?&2k=`fjEr!_spbv>fv$c)N8c4f|4 z8O!2Kpf;4rU8Ua&OVuG0SwTnLb~!BfL2|rlC4{J2_mtQMd*%h~9e4E(Y-i~X?Z$qO zS7&hZC$0fT@V0PMa1iT3dlM@}p{_w5}l++;40Fmh{=cY8NUAj9D5!*svay4dm;(HV=b6`)-=Y^L`bLlQ@U`A_R|W=xr0G46a)*D9rj zF8s^8k+bU>GZES7jo@;Zz7$NGHDJL@+wq~n_U&qO#CF=Kl1N=3xu!UXh^O_dWVOn23lw9YN zBp;ywpFyDS2=V6u6KsQbqRRqz585yqc&muMCC+XrpOXJx0BiE(?( zYIyyu6Ydrs|9dK=W? zW1!B0zMCMur5<0>jZ?!wwjwH3FAFbz|8X122jk16h6ey3#Q$Fm`TlJi`qwQeMFZMf zSxxgh*Vy#N*by>5zAqSn0+v4A80ih7I0*n2P!c~_44-*Uk}L^Ynro`)v23ooQ$?Y( zW<{-1%B8ZVa!C@kgSpStrX0TGz!n{EvqQyI&1!qOrm|A2Q&Z=|?{sHtidaa(?}Pnx z>o)7r=lii6oc4Rqi4L$$WE-6yq*lfL#S!4|eq`0xK%XAi-Y_b#-|?s(_#J8&u73cV z@e4L)&qWw2Kll#wT`S>6qxBRFRVN_z64P<|RrzH=YqXrqdsw&%QQ7Io$_;=E5u(W@ zYoTS(I-zO!GEhqLN>5C*iGDD|cJa_*MruUO!f^5=w(ws|GNGE5WtpfGe@R49r*@Pl zCZ33m)~ixT9E1ps%1A??WHyq;HMMWUkKyd3j~Pc%^61H|Opxl2@>0f07s`3Mu~C-L zLNs{Jm08iHj=_w^yN-35oUbh3?kn+>(zxiE>%0zIfO&kjfq}tYoo{!l=GK1C;8@1R zj2whjKkv7tSkIm!jl0q)7r9Wni*X<;PJUr$**NastK!oh0XwSYciaZ74c0#!Q@fP; z;Qy8=g1Zm4V@|DCHA49+e2r5gP;ikMRn~~Gq5?x4M{?Nl6~=DI!$^RnJ={L2Psiyl0P?Gt z6Xw$Vrcazu$jaWNxS?gl>iM@~NkR4mk~F|0RMGQEl{EElG`7K-A}fX;kW6n(_s=Dwj~uuShGHlgQo|$0($cso{BFR(j$E~s z&FOU&H0+ufu07UYd;LQS3gRu~>`}I>cc`6J)||N!THEUprOIgXsHwW&1{74QJ!WdT z!qU7+&OzRZ)@b&L&h9>{8>-k!uSAA4?~tM+6DLUr{mY1x3a@!Z_OllZv-!I<8GhzS!oo^ zjczx3vx02adK5`<4~X~8d6!n$hVAP0y~`dtq|c%;51 z#=AA{3+06YfY(JW`IXwJ&Equ4m^du=2#F1xwuG=Jdl?dR7c<6&qi@a|FuJYr3DrlL ztZWe&mg(iGhtS3qs%ex(88WCNqcR^bzNtNG>U1*8gq_tD>Arrzg%`Bsh83*)j)j9A zaTVD^AL52h*~~OabsHw?9QP{+8@3f%OVv=1wMlg6Uis zP4h#CFKzj%=@)Pn>eVA;XTD6;%cQaX^f$^1$hk!a%4DK4A5C}aAN|~GFA!I(+xE@t zCV8Zpa?KJUA zn=)A=>5$f-9t+A`OR~sx23ekG5~oQ-<*4l=LD8k=hrt4+VYO`ov_i0HmTbHR6+D)6 z%3dT`v)vhNlvNu;VnY`dW&aQezjZYzNm&REo?UWfD`b$b~YsQX;5>q$=YH zD(Wx3ky{vy@{A6qLQX1i;5|CE8Ezqa88g%pv}G$M<+c>UgiS8sTgpAhzCteqPd0wr$iU6|-`mNZ(}zlnHNIuQoQZR?YV)vU6n1u)pLev!9G2=PHCh2jlN|oAsbw%gMUG#1|43*jS?< z`FVeF(6WT=4NEyLya1s`=lRE@D$wH$BJ3@ydL&eNYewpvVc2rJo)hdZLGQ?x@eJ3a z)OWCWqmI$*0=Z}Ic(z|4cqLtaTWvoTh8}Xd+oMyqv7ukqgYc-w!kQ0@TG}9&XUgCBQ zdsuAX<{93EQ+PIDJ`4bQwTbm6xt0w$oY+Cq(u|pI8BSgC{H8d4UqX4dXuuoxrZh_Y zMEcF+r4aTRj*R|?rWW53=uwlFutCPX<)T$Nn=Xz&=(kT%$b~ zDLAbh9(jB?9C2Ej#`fe2a#nMLvw5dLYYtLJdVMxfWcKQ+tyCReVoRk;L2}9lATbVA z2g_U|b(|OQZ*=*M-YOzCB6HshrS*&lF9vfMgV`Iv=O1bg*uJoxcNC=0W@!U{nNZ)qG7gA&r(ZR=!*&mI8`(o1 z-EnIV|K78VJZo8d?)GDPgVUKC@d~ib76fVMmOyWXRUf^R|9TXtBKRxEkm$y+$}P0R z>&$@R`>R*rv3I5bAME*2!zRPj{<~9lpPpi$&BeETWK)=kqX$>5nJ5|g)#M}9wYhQ1 zHo=c%c%d<|%?(s%pp`<$BX`OGXAW4mCxo=5s=g8c(dRxefWwVYx%;me>0QMhY z+J0<~U$z83gP_*R%5;A1^U_j~^P&yv=uK*`f6R)$IoxO$gY|?V^aL^VT#YIs9vL#G z3XyL>R#f0rHL@2fs1MIiEoL4FKR)^ojSIv)1l^faYAxaeg>!3ux9_X+>MzRoih6fN z@4TmGEU9JtK4Mc(=#liYVeZ=@oU6ppO8Y*x+ey(FEN%)(xlj-jv zlDELD#b?IkVHsY=nPtm-5;XT4&YPaA3_>b#6?d7kt}+F1^F*AeN`%Qo^7p!7WM&ZD zja!AsO=o2tP_7vfv4cnH`;E^{=im0&u33j8iN7>SdYdy`x%LBe%&#-Uu@Mk1@5y97 z-F*&CF3Ry`m-YNC`U#rCO9IqtZ0+Re@{`EqncB$&=q6(#m>HppRrd`+4N{%C&cZZ_ z?yS-h+?3k!?jN*nei1`Xh_&q8yJXX|95X{ib~6#EsZ`rRrbfm(=*O{c?>>E&NM)3{cSqY77pN{Grk8EqB4d(92 zl^!)jwJB>(dzDmpOhzw%Q1dip?3mx68JNB1p;mtPNbB~2LqPFWZI7%ujesa^T;{h#db0iZ3Lp^nkaWnfYA^W6D}!Ph#jMz&*u zcKgv|-%3{AChB_}FJMiLN8smLeF1v|eE~*Kvw}&I`4LQKk2z+K-DaF&E18>kfN|s znYR|^V@zP}EZw6BIE_4DM0Xs5e>b+@Lgxa)Na(qvwWpU==B0h1wJtOnQXFA|O@_y1v));$@PF{nWeu~7w@WL?HV zbFWJ;h)}RsH8kHu=r6e2j#MLlkBT9$AQS^Rc`y{n_#r$4>|-}CYg$PpnK?UuEJ6Lz zLY55Sb`!-fQ;9Fju+(cjV&0gybkN-=O4S4H7@qLp`Aa-XwIM4ij`C0WeH(e}1ag*@ zO^9Lbn1}~x2L*#5VhmX|`sWIz3-mPfT3axm5P}ltu-a72V9XXjV-jm04HaH|EsfpN z_9fq#C9KZK8f2c|5;Z3-h`9tS3CivED4sCgv2GVGmQDlqw+g>Xs8V&1a+Z8&``%yr z`oi`anoIJ{^FR#tP`fBmX|dEtLjz>gv23wlAXo=OlH5jo$FKx+B#Xs1fVN>9B(*wT z4~j&Kz{P^3u-n@?g*qYmYk5eCMiOskK0hHJ`vfmVUdt##cLdD4!Wr=!7QInqOX~{&iO9R{T3B z4Fb3Ho9t|auhvs;K@2=%!{N>ReQ}IwsYCVwV%Y|>B}$z19eYh~0$;=goQG9kFE7Lg zGTSFaiukg+;!uMdyi7G?Yhg3c*Vt0_Rv{i^S;;HB=7yl9BPw;OR-Y^U8^#8_dcCL| z3o`MFe^+F4s}C-k%e=J02mIGxL?ifD=ALMu)Lm(cDJmg8?8F)k5VUsMDMUS(=PK4Ca3>*V-J`~sIsUH(qEpDFYOvejk(B?TUa=#|KK zAg01@eWYB4bw}ektBIOH_%reNTmy6#bD+p7C)MZYqI_Xj6XxjsRbZ{$^Y@BF6{@J#=I)@7u}B@{f@n)|NYBnX z%E5&m^su->hz#DKSTPmV{H+w@1-m42y54eOK4T1TnJ=Vb#6T?#H)M2bZcSv~DunFl zX_sSz-=vO9D7fWvXH79xJ1ke9j(w|@;96MdG0J0UcJh})H{O|syxGKA&+=_(JFTw1 z6^w8m+Vctslcgtm0L_a@3)Dy?jR1m-e-T!LNcY?(r@vkRX?;v8+3qha>jn2Vkdk3XS}agbg*%qUgy z90n>ehgKqA7(%fE5mw6!fM+>OiKBUO*Xr7V#IqVE+c>yoJJ2f|-BqF+<2b0Mcw$p{ zTA~<8tMK6AuTV`TUN|Eq5d z{ZA$TU&Ir{LO&j-{}Q(9XkcOM{Lg8D7WS@^7jVF>rrImQj6htM^Z22aQvO? z}`V+mKVe_x@03?$ie!SFgk0RS$3M3D6V(+d5|B;a2I?*B_zlB$;y zvKq?wc6^<&1`MG<9Dx!dhfVc8*7A7OB;l zBgaf+7;E@KgZ>t4v6k#cmZYU2UlN~Rc^qwbY(h38%8MDpbspxb-G!t~6%5%pV`VKo z#Bgt8s%1qX@{O2;HKsH3Oyf?Lsmud~Z%z4}98yN?-Oo+EAg)XG&PE+}V@)MVmZ~z- z=HuhZsS+jZ56L<6i9tnF?r*UO);7JiXETVQEo+=JF0l+C;8RT_-3zcb>}+i18o!su zVI(p_r%+4;i@oO>$zV8{IEUv{_Ji%)K;8>dS!}i$sy!ZrTPzAAltR_3Dj?eI2sqW% z_1BbAK!v)Cr_UJ(x@Cd2N39xyh5YH9w(QN&`YYB9_mZ$(-amcbA=w_k-f?FI}SI0TS#t%X)VL z)!UN_jcv$+%bcNLGAn`(DV3TtNRu5!`TcyimoxWSUa{Hspa#`5!UhGmPd`YS+frzV za__~}Hr!0ZyG5FmXDYCh$#Wpgk4U<>8h#?Q^;#ukyyd_((SJ9lOircEH;}8ZXA2?3x76^^Z#y zk+Udm^AIuw_tCuq+vZuygY~M9duDipgUUmm{fTLi`!6>q@gxf*aQlIwp<*Vik`sZG@Y)f;UO za44d$frCdBcu10$0AyYSAW5_coPEc?33|qO1mHU)dYjMdzne$hFwD3+n+F)Q7MYKf z@eCxxr8}%3AOsve6CQdWyt1&KBy1#S#26RqEe?=bGX7K)oyTz668Emq8 z!@>ggq<*^D7M9lFoyn1Dg3sgJX$AHkA9Qq+B${Djjh%HL%0j!4w@ucJt!#qLqB{gd zd1|ipiTavRJW4q$RM<0&;u{#{4pxveAPHjr6*sE@=wZiGQG5xRPQieibh2;=uU|;g z7LUXuekN#uEoY>Wcz+q|z5?}R{c_9*yjD8KzB3g?Ui54N`=N^``Z|rmA++m`@ z2CBuD7L%Zt=b`(wgSc`6R@C1?MpwpUwoMzs29VMyDz7XUbcTz3XAkm#L|(`4Y`S_F z6l%JN(#ijf4iV+p-~oQnq3@4N0_p$S2>#_}%0H1|h~mFmbZoZOXJ)hnw|Jv3rXD0C zAn&0K6;sNO(})X*T-aP!CB|rTHT;TyA+zTXghr>eCr1MR(f&X&bjAu+h}zegxw`IT zvNb+l{*B88$Z%H=2x;cn@>lAYsnS}LcU>HyLDnL*&9ujyh%=^s9EBlibsf{cBL3B1 zcQ&bx0}}_F&~qdpoKTS)%*}aJu6(L6H|E9ogIK!JM+vth+*2VVtKKCx{=E2y@$7@< zhj$s!63OlM?s?cXt`{tD!wln_t=WI_`c3nsyUQ69YYtN!IILQomPdD1Zy-WmjU^lG zJ5ySOzt*p~fep!9kPR}UP$tD6UcjbE%G`_?BpWAp&^_obFeo(E$8fPyrm-osI-tWM z=frrKE9Q@Aanw2B!6)yY5|6y<{f3e9GvR@MBP?=NBjb|47(WR-Tlta^Q@V-tK4`mI zDRI$BUQ+)wU+Qf4x?9?{;=`V`IB0Q^H0~du&n5GH2+c`03*L2{9Vl685#Actl_<6y z&VG(%mP&d~G>A=g4&}{g-oSg{ZfKHD+x~)kR?*8X^wR+6(+~J^P4E{{&R@9!N)_Al zZ;&$1eq)=;%4^cA#Ue}df$!9%NqU4UxyKYepG<2lnDirN$YpL-+7sKF(CV+KIo%_q zwfLIE@&Q#F$7&0`WUoy(AHXvD{7*zj@+F){$q$%_LjVB4|8HvOzk-Kdr7dNYuLf#r z$ovm-`Kq;4w2f=q&1M=(8Wamelnzi$%Ic;_0&IL{Vk=fH=r7C9`-9FeK;BE3<#Z_C zm!oJV-j}P++n)CW_Zu0Ab?X*m*OQ+o>(=|U^E9W^@8j=eEx^nn738+N))2uI+dkY) z!~QQ;YVo$PcZ#k_-JPVm@W1QQ27^f0$}Ot#V@gJYj9xkhjVi2*>((*TxOM3S2ER<9 zRG~xwWujVCnsKr z<1|8L_@{Q+S}q>{A(`%}rp9bq$Z1s`PE)ha?)Hk3FjJv}JS&e>LM-qQak2$9&lb;( z6{u=gK41R5vl>AnF9sA37iz*ojy?)gEc`)R{Ae{HL}EsMB56BQ@8V=qmJvAdL%s=3 z$|NwjkzgU|=`yFd&`i~PNrGf7fV9ym)!8gB@OS=DI6jQJ6jJa(rI(TOEQUuLN*ZG+KU zaAtH@l||u$)Qe9VN`8(8n<1Bb!e=D3AebW|DkQ z9|CW}J&@-gga|G&0_Lf>mVA%Mn|crV_<>?K);1FA;7xjnqJ=#g96fsFk~m#*7Yw^< zGS#q7T~m739!+;w>_6CS2Q29-SDIeTBI9zF73R6vbS$lI(zxeT1dQ0~1;O4iOCwM{ zS(m(RimznxMh_Ib+K~|`b2|1&1C&Qw=(!VqwiBg*0C;NQd+dx*7%nBIy)wOxQ-pNf zys5ZwzGl{#La4(My*D1c>5gV;GrkpiUS%0u0|sh$aJtL$05r3-z&_wczAp9c&~Xlr zT0B0HX&PoOyDWPs^^{sz%0K%yHH(n5Kpa5C%z8J>i&L!N3TqG3{eanXo zXFaMLK1saWvZW+`C)p=p0Z^LoA|auOZ0+P9k_6H7^=MMU!$@~X$ZXu_(j-Hw_ zxm6BzokRDZ0WJkpOR3Y#J>B#$AMgR={%C%H|wjJBRYXv7`hLtwE69&9J>9 zxw}B{#W4umLYn9&A%Jp*1N`~sV*;J$iz0#~pU~%9A$G0+6l`u$>(p9F2Pih~Aq98^ z)2)WA-G2HTJ3#IAN-);RMe1m->wVpO`(bI=IX>XL0y))aknD0GmvPmAFI1rEmplVd z(?XVO2%;|?p~XzZ@Y(q$rs#J$SQ$IjVm>XUManrpD|0MRO{qotviPce3-tietp}|= zg<8;(migmtzW&M!;(+OU`qq0azBnM=eBXD=pclUXcwnqV;{%rY!3lRig!X@Tq;@rN z{FfA0I@N!CcnDh*!&#?dAUF6}CQTZ*=K!W~|*51>yCmy~{s2{EAs zfrf5Sq_a~5=n@v7EvGl+e!GwG%Q=1S8]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�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�)`eC@Vd^6a)#(36I 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

        8P@> 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

        #JDuY~X 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 DTAPWY literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch10/chart/ChartBean.java b/corejava第9版/v2ch10/chart/ChartBean.java new file mode 100644 index 0000000..88716b6 --- /dev/null +++ b/corejava第9版/v2ch10/chart/ChartBean.java @@ -0,0 +1,212 @@ +package chart; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import javax.swing.*; +import sourceAnnotations.*; + +/** + * A bean to draw a bar chart. + * @version 1.31 2007-10-03 + * @author Cay Horstmann + */ +public class ChartBean extends JComponent +{ + public ChartBean() + { + setPreferredSize(new Dimension(XPREFSIZE, YPREFSIZE)); + } + + public void paintComponent(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + if (values == null || values.length == 0) return; + double minValue = 0; + double maxValue = 0; + for (int i = 0; i < values.length; i++) + { + if (minValue > getValues(i)) minValue = getValues(i); + if (maxValue < getValues(i)) maxValue = getValues(i); + } + if (maxValue == minValue) return; + + Rectangle2D bounds = getBounds(); + double clientWidth = bounds.getWidth(); + double clientHeight = bounds.getHeight(); + double barWidth = (clientWidth - 2 * INSETS) / values.length; + + g2.setPaint(inverse ? color : Color.white); + g2.fill(new Rectangle2D.Double(0, 0, clientWidth, clientHeight)); + g2.setPaint(Color.black); + + Font titleFont = new Font("SansSerif", Font.BOLD, 20); + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D titleBounds = titleFont.getStringBounds(title, context); + + double titleWidth = titleBounds.getWidth(); + double y = -titleBounds.getY(); + double x = 0; + if (titlePosition == Position.CENTER) x += (clientWidth - titleWidth) / 2; + else if (titlePosition == Position.RIGHT) x += clientWidth - titleWidth; + + g2.setFont(titleFont); + g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g2.drawString(title, (float) x, (float) y); + + double top = titleBounds.getHeight(); + double scale = (clientHeight - top - 2 * INSETS) / (maxValue - minValue); + y = clientHeight; + + for (int i = 0; i < values.length; i++) + { + double x1 = INSETS + i * barWidth + 1; + double y1 = INSETS + top; + double value = getValues(i); + double height = value * scale; + if (value >= 0) y1 += (maxValue - value) * scale; + else + { + y1 += (int) (maxValue * scale); + height = -height; + } + + g2.setPaint(inverse ? Color.white : color); + Rectangle2D bar = new Rectangle2D.Double(x1, y1, barWidth - 2, height); + g2.fill(bar); + g2.setPaint(Color.black); + g2.draw(bar); + } + } + + /** + * Sets the title property. + * @param t the new chart title. + */ + @Property + public void setTitle(String t) + { + title = t; + } + + /** + * Gets the title property. + * @return the chart title. + */ + public String getTitle() + { + return title; + } + + /** + * Sets the indexed values property. + * @param v the values to display in the chart. + */ + public void setValues(double[] v) + { + values = v; + } + + /** + * Gets the indexed values property. + * @return the values to display in the chart. + */ + public double[] getValues() + { + return values; + } + + /** + * Sets the indexed values property. + * @param i the index of the value to set + * @param value the new value for that index + */ + @Property(editor = "DoubleArrayEditor") + public void setValues(int i, double value) + { + if (0 <= i && i < values.length) values[i] = value; + } + + /** + * Gets the indexed values property. + * @param i the index of the value to get + * @return the value for that index + */ + public double getValues(int i) + { + if (0 <= i && i < values.length) return values[i]; + return 0; + } + + /** + * Sets the inverse property. + * @param b true if the display is inverted (white bars on colored background) + */ + @Property(editor = "InverseEditor") + public void setInverse(boolean b) + { + inverse = b; + } + + /** + * Gets the inverse property. + * @return true if the display is inverted + */ + public boolean isInverse() + { + return inverse; + } + + /** + * Sets the titlePosition property. + * @param p LEFT, CENTER, or RIGHT + */ + @Property(editor = "TitlePositionEditor") + public void setTitlePosition(Position p) + { + titlePosition = p; + } + + /** + * Gets the titlePosition property. + * @return LEFT, CENTER, or RIGHT + */ + public Position getTitlePosition() + { + return titlePosition; + } + + /** + * Sets the graphColor property. + * @param c the color to use for the graph + */ + @Property + public void setGraphColor(Color c) + { + color = c; + } + + /** + * Gets the graphColor property. + * @param c the color to use for the graph + */ + public Color getGraphColor() + { + return color; + } + + public enum Position { LEFT, CENTER, RIGHT }; + + private static final int XPREFSIZE = 300; + private static final int YPREFSIZE = 300; + + private static final int INSETS = 10; + + private double[] values = { 1, 2, 3 }; + private String title = "Title"; + private Position titlePosition = Position.CENTER; + private boolean inverse; + private Color color = Color.red; +} diff --git a/corejava第9版/v2ch10/chart/ChartBeanBeanInfo.java b/corejava第9版/v2ch10/chart/ChartBeanBeanInfo.java new file mode 100644 index 0000000..c82cd34 --- /dev/null +++ b/corejava第9版/v2ch10/chart/ChartBeanBeanInfo.java @@ -0,0 +1,36 @@ +package chart; +public class ChartBeanBeanInfo extends java.beans.SimpleBeanInfo +{ + public java.beans.PropertyDescriptor[] getPropertyDescriptors() + { + try + { + java.beans.PropertyDescriptor titleDescriptor + = new java.beans.PropertyDescriptor("title", chart.ChartBean.class); + java.beans.PropertyDescriptor valuesDescriptor + = new java.beans.PropertyDescriptor("values", chart.ChartBean.class); + valuesDescriptor.setPropertyEditorClass(DoubleArrayEditor.class); + java.beans.PropertyDescriptor inverseDescriptor + = new java.beans.PropertyDescriptor("inverse", chart.ChartBean.class); + inverseDescriptor.setPropertyEditorClass(InverseEditor.class); + java.beans.PropertyDescriptor titlePositionDescriptor + = new java.beans.PropertyDescriptor("titlePosition", chart.ChartBean.class); + titlePositionDescriptor.setPropertyEditorClass(TitlePositionEditor.class); + java.beans.PropertyDescriptor graphColorDescriptor + = new java.beans.PropertyDescriptor("graphColor", chart.ChartBean.class); + return new java.beans.PropertyDescriptor[] + { + titleDescriptor, + valuesDescriptor, + inverseDescriptor, + titlePositionDescriptor, + graphColorDescriptor + }; + } + catch (java.beans.IntrospectionException e) + { + e.printStackTrace(); + return null; + } + } +} diff --git a/corejava第9版/v2ch10/chart/DoubleArrayEditor.java b/corejava第9版/v2ch10/chart/DoubleArrayEditor.java new file mode 100644 index 0000000..65cbeb7 --- /dev/null +++ b/corejava第9版/v2ch10/chart/DoubleArrayEditor.java @@ -0,0 +1,81 @@ +package chart; + +import java.awt.*; +import java.awt.font.*; +import java.awt.geom.*; +import java.beans.*; + +/** + * A custom editor for an array of floating-point numbers. + * @version 1.21 2007-10-03 + * @author Cay Horstmann + */ +public class DoubleArrayEditor extends PropertyEditorSupport +{ + @Override + public void setValue(Object value) + { + super.setValue(value); + } + + public Component getCustomEditor() + { + return new DoubleArrayEditorPanel(this); + } + + public boolean supportsCustomEditor() + { + return true; + } + + public boolean isPaintable() + { + return true; + } + + public String getAsText() + { + return null; + } + + public void paintValue(Graphics g, Rectangle box) + { + Graphics2D g2 = (Graphics2D) g; + g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + double[] values = (double[]) getValue(); + StringBuilder s = new StringBuilder(); + for (int i = 0; i < 3; i++) + { + if (values.length > i) s.append(values[i]); + if (values.length > i + 1) s.append(", "); + } + if (values.length > 3) s.append("..."); + + g2.setPaint(Color.white); + g2.fill(box); + g2.setPaint(Color.black); + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D stringBounds = g2.getFont().getStringBounds(s.toString(), context); + double w = stringBounds.getWidth(); + double x = box.x; + if (w < box.width) x += (box.width - w) / 2; + double ascent = -stringBounds.getY(); + double y = box.y + (box.height - stringBounds.getHeight()) / 2 + ascent; + g2.drawString(s.toString(), (float) x, (float) y); + } + + public String getJavaInitializationString() + { + double[] values = (double[]) getValue(); + StringBuilder s = new StringBuilder(); + s.append("new double[] {"); + for (int i = 0; i < values.length; i++) + { + if (i > 0) s.append(", "); + s.append(values[i]); + } + s.append("}"); + return s.toString(); + } +} diff --git a/corejava第9版/v2ch10/chart/DoubleArrayEditorPanel.java b/corejava第9版/v2ch10/chart/DoubleArrayEditorPanel.java new file mode 100644 index 0000000..2983a02 --- /dev/null +++ b/corejava第9版/v2ch10/chart/DoubleArrayEditorPanel.java @@ -0,0 +1,148 @@ +package chart; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.beans.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * The panel inside the DoubleArrayEditor. It contains a list of the array values, together with + * buttons to resize the array and change the currently selected list value. + * @version 1.31 2012-06-10 + * @author Cay Horstmann + */ +public class DoubleArrayEditorPanel extends JPanel +{ + private PropertyEditorSupport editor; + private double[] array; + private JFormattedTextField sizeField = new JFormattedTextField(new Integer(0)); + private JFormattedTextField valueField = new JFormattedTextField(new Double(0.0)); + private JButton sizeButton = new JButton("Resize"); + private JButton valueButton = new JButton("Change"); + private JList elementList = new JList<>(); + private DoubleArrayListModel model = new DoubleArrayListModel(); + + public DoubleArrayEditorPanel(PropertyEditorSupport ed) + { + editor = ed; + setArray((double[]) ed.getValue()); + + setLayout(new GridBagLayout()); + + add(sizeField, new GBC(0, 0, 1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(valueField, new GBC(0, 1, 1, 1).setWeight(100, 0).setFill(GBC.HORIZONTAL)); + add(sizeButton, new GBC(1, 0, 1, 1).setWeight(100, 0)); + add(valueButton, new GBC(1, 1, 1, 1).setWeight(100, 0)); + add(new JScrollPane(elementList), new GBC(0, 2, 2, 1).setWeight(100, 100).setFill(GBC.BOTH)); + + ActionListener listener = EventHandler.create(ActionListener.class, this, "changeSize"); + sizeButton.addActionListener(listener); + sizeField.addActionListener(listener); + + listener = EventHandler.create(ActionListener.class, this, "changeValue"); + valueButton.addActionListener(listener); + valueField.addActionListener(listener); + + elementList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + elementList.addListSelectionListener(new ListSelectionListener() + { + public void valueChanged(ListSelectionEvent event) + { + int i = elementList.getSelectedIndex(); + if (i < 0) return; + valueField.setValue(array[i]); + } + }); + + elementList.setModel(model); + elementList.setSelectedIndex(0); + } + + /** + * This method is called when the user wants to change the size of the array. + */ + public void changeSize() + { + int s = (Integer) sizeField.getValue(); + if (s < 0 || s == array.length) return; + setArray(Arrays.copyOf(array, s)); + editor.setValue(array); + } + + /** + * This method is called when the user wants to change the currently selected array value. + */ + public void changeValue() + { + double v = (Double) valueField.getValue(); + int currentIndex = elementList.getSelectedIndex(); + if (0 <= currentIndex && currentIndex < array.length) + { + model.setValue(currentIndex, v); + elementList.setSelectedIndex(currentIndex); + } + editor.firePropertyChange(); + } + + /** + * Sets the indexed array property. + * @param v the array to edit + */ + private void setArray(double[] v) + { + array = v; + model.setArray(array); + sizeField.setValue(array.length); + if (array.length > 0) + { + valueField.setValue(array[0]); + elementList.setSelectedIndex(0); + } + else valueField.setValue(0.0); + } +} + +/** + * The list model for the element list in the editor. + */ +class DoubleArrayListModel extends AbstractListModel +{ + private double[] array; + + public int getSize() + { + return array.length; + } + + public String getElementAt(int i) + { + return "[" + i + "] " + array[i]; + } + + /** + * Sets a new array to be displayed in the list. + * @param a the new array + */ + public void setArray(double[] a) + { + int oldLength = array == null ? 0 : array.length; + if (oldLength > 0) fireIntervalRemoved(this, 0, oldLength); + array = a; + int newLength = array == null ? 0 : array.length; + if (newLength > 0) fireIntervalAdded(this, 0, newLength); + } + + /** + * Changes a value in the array to be displayed in the list. + * @param i the index whose value to change + * @param value the new value for the given index + */ + public void setValue(int i, double value) + { + array[i] = value; + fireContentsChanged(this, i, i); + } +} diff --git a/corejava第9版/v2ch10/chart/GBC.java b/corejava第9版/v2ch10/chart/GBC.java new file mode 100644 index 0000000..d32bfda --- /dev/null +++ b/corejava第9版/v2ch10/chart/GBC.java @@ -0,0 +1,131 @@ +/* +GBC - A convenience class to tame the GridBagLayout + +Copyright (C) 2002 Cay S. Horstmann (http://horstmann.com) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +package chart; + +import java.awt.*; + +/** + This class simplifies the use of the GridBagConstraints + class. +*/ +public class GBC extends GridBagConstraints +{ + /** + Constructs a GBC with a given gridx and gridy position and + all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + */ + public GBC(int gridx, int gridy) + { + this.gridx = gridx; + this.gridy = gridy; + } + + /** + Constructs a GBC with given gridx, gridy, gridwidth, gridheight + and all other grid bag constraint values set to the default. + @param gridx the gridx position + @param gridy the gridy position + @param gridwidth the cell span in x-direction + @param gridheight the cell span in y-direction + */ + public GBC(int gridx, int gridy, int gridwidth, int gridheight) + { + this.gridx = gridx; + this.gridy = gridy; + this.gridwidth = gridwidth; + this.gridheight = gridheight; + } + + /** + Sets the anchor. + @param anchor the anchor value + @return this object for further modification + */ + public GBC setAnchor(int anchor) + { + this.anchor = anchor; + return this; + } + + /** + Sets the fill direction. + @param fill the fill direction + @return this object for further modification + */ + public GBC setFill(int fill) + { + this.fill = fill; + return this; + } + + /** + Sets the cell weights. + @param weightx the cell weight in x-direction + @param weighty the cell weight in y-direction + @return this object for further modification + */ + public GBC setWeight(double weightx, double weighty) + { + this.weightx = weightx; + this.weighty = weighty; + return this; + } + + /** + Sets the insets of this cell. + @param distance the spacing to use in all directions + @return this object for further modification + */ + public GBC setInsets(int distance) + { + this.insets = new Insets(distance, distance, distance, distance); + return this; + } + + /** + Sets the insets of this cell. + @param top the spacing to use on top + @param left the spacing to use to the left + @param bottom the spacing to use on the bottom + @param right the spacing to use to the right + @return this object for further modification + */ + public GBC setInsets(int top, int left, int bottom, int right) + { + this.insets = new Insets(top, left, bottom, right); + return this; + } + + /** + Sets the internal padding + @param ipadx the internal padding in x-direction + @param ipady the internal padding in y-direction + @return this object for further modification + */ + public GBC setIpad(int ipadx, int ipady) + { + this.ipadx = ipadx; + this.ipady = ipady; + return this; + } +} diff --git a/corejava第9版/v2ch10/chart/InverseEditor.java b/corejava第9版/v2ch10/chart/InverseEditor.java new file mode 100644 index 0000000..8685212 --- /dev/null +++ b/corejava第9版/v2ch10/chart/InverseEditor.java @@ -0,0 +1,52 @@ +package chart; + +import java.awt.*; +import java.beans.*; +import javax.swing.*; + +/** + * The property editor for the inverse property of the ChartBean. The inverse property toggles + * between colored graph bars and colored background. + * @version 1.30 2007-10-03 + * @author Cay Horstmann + */ +public class InverseEditor extends PropertyEditorSupport +{ + private ImageIcon normalIcon = new ImageIcon(getClass().getResource("ChartBean_MONO_16x16.gif")); + + private ImageIcon inverseIcon = new ImageIcon(getClass().getResource( + "ChartBean_INVERSE_16x16.gif")); + + public Component getCustomEditor() + { + return new InverseEditorPanel(this); + } + + public boolean supportsCustomEditor() + { + return true; + } + + public boolean isPaintable() + { + return true; + } + + public String getAsText() + { + return null; + } + + public String getJavaInitializationString() + { + return "" + getValue(); + } + + public void paintValue(Graphics g, Rectangle bounds) + { + ImageIcon icon = (Boolean) getValue() ? inverseIcon : normalIcon; + int x = bounds.x + (bounds.width - icon.getIconWidth()) / 2; + int y = bounds.y + (bounds.height - icon.getIconHeight()) / 2; + g.drawImage(icon.getImage(), x, y, null); + } +} diff --git a/corejava第9版/v2ch10/chart/InverseEditorPanel.java b/corejava第9版/v2ch10/chart/InverseEditorPanel.java new file mode 100644 index 0000000..6c2efb6 --- /dev/null +++ b/corejava第9版/v2ch10/chart/InverseEditorPanel.java @@ -0,0 +1,51 @@ +package chart; + +import java.awt.event.*; +import java.beans.*; +import javax.swing.*; + +/** + * The panel for setting the inverse property. It contains a button to toggle between normal and + * inverse coloring. + * @version 1.30 2007-10-03 + * @author Cay Horstmann + */ +public class InverseEditorPanel extends JPanel +{ + private JButton button; + private PropertyEditorSupport editor; + private ImageIcon normalIcon = new ImageIcon(getClass().getResource("ChartBean_MONO_16x16.gif")); + + public InverseEditorPanel(PropertyEditorSupport ed) + { + editor = ed; + button = new JButton(); + updateButton(); + button.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent event) + { + editor.setValue(!(Boolean) editor.getValue()); + updateButton(); + } + }); + add(button); + } + + private void updateButton() + { + if ((Boolean) editor.getValue()) + { + button.setIcon(inverseIcon); + button.setText("Inverse"); + } + else + { + button.setIcon(normalIcon); + button.setText("Normal"); + } + } + + private ImageIcon inverseIcon = new ImageIcon(getClass().getResource( + "ChartBean_INVERSE_16x16.gif")); +} diff --git a/corejava第9版/v2ch10/chart/TitlePositionEditor.java b/corejava第9版/v2ch10/chart/TitlePositionEditor.java new file mode 100644 index 0000000..edee30d --- /dev/null +++ b/corejava第9版/v2ch10/chart/TitlePositionEditor.java @@ -0,0 +1,37 @@ +package chart; + +import java.beans.*; +import java.util.*; + +/** + * A custom editor for the titlePosition property of the ChartBean. The editor lets the user choose + * between Left, Center, and Right + * @version 1.20 2007-12-14 + * @author Cay Horstmann + */ +public class TitlePositionEditor extends PropertyEditorSupport +{ + private String[] tags = { "Left", "Center", "Right" }; + + public String[] getTags() + { + return tags; + } + + public String getJavaInitializationString() + { + return ChartBean.Position.class.getName().replace('$', '.') + "." + getValue(); + } + + public String getAsText() + { + int index = ((ChartBean.Position) getValue()).ordinal(); + return tags[index]; + } + + public void setAsText(String s) + { + int index = Arrays.asList(tags).indexOf(s); + if (index >= 0) setValue(ChartBean.Position.values()[index]); + } +} diff --git a/corejava第9版/v2ch10/compiler/ByteArrayJavaClass.java b/corejava第9版/v2ch10/compiler/ByteArrayJavaClass.java new file mode 100644 index 0000000..8c82735 --- /dev/null +++ b/corejava第9版/v2ch10/compiler/ByteArrayJavaClass.java @@ -0,0 +1,35 @@ +package compiler; + +import java.io.*; +import java.net.*; +import javax.tools.*; + +/** + * A Java class that holds the bytecodes in a byte array. + * @version 1.00 2007-11-02 + * @author Cay Horstmann + */ +public class ByteArrayJavaClass extends SimpleJavaFileObject +{ + private ByteArrayOutputStream stream; + + /** + * Constructs a new ByteArrayJavaClass. + * @param name the name of the class file represented by this file object + */ + public ByteArrayJavaClass(String name) + { + super(URI.create("bytes:///" + name), Kind.CLASS); + stream = new ByteArrayOutputStream(); + } + + public OutputStream openOutputStream() throws IOException + { + return stream; + } + + public byte[] getBytes() + { + return stream.toByteArray(); + } +} diff --git a/corejava第9版/v2ch10/compiler/CompilerTest.java b/corejava第9版/v2ch10/compiler/CompilerTest.java new file mode 100644 index 0000000..e8be198 --- /dev/null +++ b/corejava第9版/v2ch10/compiler/CompilerTest.java @@ -0,0 +1,105 @@ +package compiler; + +import java.awt.*; +import java.io.*; +import java.util.*; +import java.util.List; +import javax.swing.*; +import javax.tools.*; +import javax.tools.JavaFileObject.*; + +/** + * @version 1.00 2007-10-28 + * @author Cay Horstmann + */ +public class CompilerTest +{ + public static void main(final String[] args) throws IOException, ClassNotFoundException + { + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + + final List classFileObjects = new ArrayList<>(); + + DiagnosticCollector diagnostics = new DiagnosticCollector<>(); + + JavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null); + fileManager = new ForwardingJavaFileManager(fileManager) + { + public JavaFileObject getJavaFileForOutput(Location location, final String className, + Kind kind, FileObject sibling) throws IOException + { + if (className.startsWith("x.")) + { + ByteArrayJavaClass fileObject = new ByteArrayJavaClass(className); + classFileObjects.add(fileObject); + return fileObject; + } + else return super.getJavaFileForOutput(location, className, kind, sibling); + } + }; + + + String frameClassName = args.length == 0 ? "buttons2.ButtonFrame" : args[0]; + JavaFileObject source = buildSource(frameClassName); + JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null, + null, Arrays.asList(source)); + Boolean result = task.call(); + + for (Diagnostic d : diagnostics.getDiagnostics()) + System.out.println(d.getKind() + ": " + d.getMessage(null)); + fileManager.close(); + if (!result) + { + System.out.println("Compilation failed."); + System.exit(1); + } + + EventQueue.invokeLater(new Runnable() + { + public void run() + { + try + { + Map byteCodeMap = new HashMap<>(); + for (ByteArrayJavaClass cl : classFileObjects) + byteCodeMap.put(cl.getName().substring(1), cl.getBytes()); + ClassLoader loader = new MapClassLoader(byteCodeMap); + JFrame frame = (JFrame) loader.loadClass("x.Frame").newInstance(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setTitle("CompilerTest"); + frame.setVisible(true); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + }); + } + + /* + * Builds the source for the subclass that implements the addEventHandlers method. + * @return a file object containing the source in a string builder + */ + static JavaFileObject buildSource(String superclassName) + throws IOException, ClassNotFoundException + { + StringBuilderJavaSource source = new StringBuilderJavaSource("x.Frame"); + source.append("package x;\n"); + source.append("public class Frame extends " + superclassName + " {"); + source.append("protected void addEventHandlers() {"); + final Properties props = new Properties(); + props.load(Class.forName(superclassName).getResourceAsStream("action.properties")); + for (Map.Entry e : props.entrySet()) + { + String beanName = (String) e.getKey(); + String eventCode = (String) e.getValue(); + source.append(beanName + ".addActionListener(new java.awt.event.ActionListener() {"); + source.append("public void actionPerformed(java.awt.event.ActionEvent event) {"); + source.append(eventCode); + source.append("} } );"); + } + source.append("} }"); + return source; + } +} diff --git a/corejava第9版/v2ch10/compiler/MapClassLoader.java b/corejava第9版/v2ch10/compiler/MapClassLoader.java new file mode 100644 index 0000000..c597824 --- /dev/null +++ b/corejava第9版/v2ch10/compiler/MapClassLoader.java @@ -0,0 +1,28 @@ +package compiler; + +import java.util.*; + +/** + * A class loader that loads classes from a map whose keys are class names and whose values are byte + * code arrays. + * @version 1.00 2007-11-02 + * @author Cay Horstmann + */ +public class MapClassLoader extends ClassLoader +{ + private Map classes; + + public MapClassLoader(Map classes) + { + this.classes = classes; + } + + protected Class findClass(String name) throws ClassNotFoundException + { + byte[] classBytes = classes.get(name); + if (classBytes == null) throw new ClassNotFoundException(name); + Class cl = defineClass(name, classBytes, 0, classBytes.length); + if (cl == null) throw new ClassNotFoundException(name); + return cl; + } +} diff --git a/corejava第9版/v2ch10/compiler/StringBuilderJavaSource.java b/corejava第9版/v2ch10/compiler/StringBuilderJavaSource.java new file mode 100644 index 0000000..0fc8deb --- /dev/null +++ b/corejava第9版/v2ch10/compiler/StringBuilderJavaSource.java @@ -0,0 +1,36 @@ +package compiler; + +import java.net.*; +import javax.tools.*; + +/** + * A Java source that holds the code in a string builder. + * @version 1.00 2007-11-02 + * @author Cay Horstmann + */ +public class StringBuilderJavaSource extends SimpleJavaFileObject +{ + private StringBuilder code; + + /** + * Constructs a new StringBuilderJavaSource. + * @param name the name of the source file represented by this file object + */ + public StringBuilderJavaSource(String name) + { + super(URI.create("string:///" + name.replace('.', '/') + Kind.SOURCE.extension), + Kind.SOURCE); + code = new StringBuilder(); + } + + public CharSequence getCharContent(boolean ignoreEncodingErrors) + { + return code; + } + + public void append(String str) + { + code.append(str); + code.append('\n'); + } +} diff --git a/corejava第9版/v2ch10/runtimeAnnotations/ActionListenerFor.java b/corejava第9版/v2ch10/runtimeAnnotations/ActionListenerFor.java new file mode 100644 index 0000000..54bba9e --- /dev/null +++ b/corejava第9版/v2ch10/runtimeAnnotations/ActionListenerFor.java @@ -0,0 +1,15 @@ +package runtimeAnnotations; + +import java.lang.annotation.*; + +/** + * @version 1.00 2004-08-17 + * @author Cay Horstmann + */ + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface ActionListenerFor +{ + String source(); +} diff --git a/corejava第9版/v2ch10/runtimeAnnotations/ActionListenerInstaller.java b/corejava第9版/v2ch10/runtimeAnnotations/ActionListenerInstaller.java new file mode 100644 index 0000000..028e27d --- /dev/null +++ b/corejava第9版/v2ch10/runtimeAnnotations/ActionListenerInstaller.java @@ -0,0 +1,60 @@ +package runtimeAnnotations; + +import java.awt.event.*; +import java.lang.reflect.*; + +/** + * @version 1.00 2004-08-17 + * @author Cay Horstmann + */ +public class ActionListenerInstaller +{ + /** + * Processes all ActionListenerFor annotations in the given object. + * @param obj an object whose methods may have ActionListenerFor annotations + */ + public static void processAnnotations(Object obj) + { + try + { + Class cl = obj.getClass(); + for (Method m : cl.getDeclaredMethods()) + { + ActionListenerFor a = m.getAnnotation(ActionListenerFor.class); + if (a != null) + { + Field f = cl.getDeclaredField(a.source()); + f.setAccessible(true); + addListener(f.get(obj), obj, m); + } + } + } + catch (ReflectiveOperationException e) + { + e.printStackTrace(); + } + } + + /** + * Adds an action listener that calls a given method. + * @param source the event source to which an action listener is added + * @param param the implicit parameter of the method that the listener calls + * @param m the method that the listener calls + */ + public static void addListener(Object source, final Object param, final Method m) + throws ReflectiveOperationException + { + InvocationHandler handler = new InvocationHandler() + { + public Object invoke(Object proxy, Method mm, Object[] args) throws Throwable + { + return m.invoke(param); + } + }; + + Object listener = Proxy.newProxyInstance(null, + new Class[] { java.awt.event.ActionListener.class }, handler); + Method adder = source.getClass().getMethod("addActionListener", ActionListener.class); + adder.invoke(source, listener); + } +} diff --git a/corejava第9版/v2ch10/script/ScriptTest.java b/corejava第9版/v2ch10/script/ScriptTest.java new file mode 100644 index 0000000..6446fea --- /dev/null +++ b/corejava第9版/v2ch10/script/ScriptTest.java @@ -0,0 +1,125 @@ +package script; + +import java.awt.*; +import java.beans.*; +import java.io.*; +import java.lang.reflect.*; +import java.util.*; +import javax.script.*; +import javax.swing.*; + +/** + * @version 1.01 2012-01-28 + * @author Cay Horstmann + */ +public class ScriptTest +{ + public static void main(final String[] args) + { + EventQueue.invokeLater(new Runnable() + { + public void run() + { + try + { + ScriptEngineManager manager = new ScriptEngineManager(); + String language; + if (args.length == 0) + { + System.out.println("Available factories: "); + for (ScriptEngineFactory factory : manager.getEngineFactories()) + System.out.println(factory.getEngineName()); + + language = "js"; + } + else language = args[0]; + + final ScriptEngine engine = manager.getEngineByName(language); + if (engine == null) + { + System.err.println("No engine for " + language); + System.exit(1); + } + + final String frameClassName = args.length < 2 ? "buttons1.ButtonFrame" : args[1]; + + JFrame frame = (JFrame) Class.forName(frameClassName).newInstance(); + InputStream in = frame.getClass().getResourceAsStream("init." + language); + if (in != null) engine.eval(new InputStreamReader(in)); + getComponentBindings(frame, engine); + + final Properties events = new Properties(); + in = frame.getClass().getResourceAsStream(language + ".properties"); + events.load(in); + + for (final Object e : events.keySet()) + { + String[] s = ((String) e).split("\\."); + addListener(s[0], s[1], (String) events.get(e), engine); + } + frame.setTitle("ScriptTest"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + catch (ReflectiveOperationException | IOException + | ScriptException | IntrospectionException ex) + { + ex.printStackTrace(); + } + } + }); + } + + /** + * Gathers all named components in a container. + * @param c the component + * @param namedComponents + */ + private static void getComponentBindings(Component c, ScriptEngine engine) + { + String name = c.getName(); + if (name != null) engine.put(name, c); + if (c instanceof Container) + { + for (Component child : ((Container) c).getComponents()) + getComponentBindings(child, engine); + } + } + + /** + * Adds a listener to an object whose listener method executes a script. + * @param beanName the name of the bean to which the listener should be added + * @param eventName the name of the listener type, such as "action" or "change" + * @param scriptCode the script code to be executed + * @param engine the engine that executes the code + * @param bindings the bindings for the execution + * @throws IntrospectionException + */ + private static void addListener(String beanName, String eventName, final String scriptCode, + final ScriptEngine engine) throws ReflectiveOperationException, IntrospectionException + { + Object bean = engine.get(beanName); + EventSetDescriptor descriptor = getEventSetDescriptor(bean, eventName); + if (descriptor == null) return; + descriptor.getAddListenerMethod().invoke(bean, + Proxy.newProxyInstance(null, new Class[] { descriptor.getListenerType() }, + new InvocationHandler() + { + public Object invoke(Object proxy, Method method, Object[] args) + throws Throwable + { + engine.eval(scriptCode); + return null; + } + })); + } + + private static EventSetDescriptor getEventSetDescriptor(Object bean, String eventName) + throws IntrospectionException + { + for (EventSetDescriptor descriptor : Introspector.getBeanInfo(bean.getClass()) + .getEventSetDescriptors()) + if (descriptor.getName().equals(eventName)) return descriptor; + return null; + } +} \ No newline at end of file diff --git a/corejava第9版/v2ch10/set/Item.java b/corejava第9版/v2ch10/set/Item.java new file mode 100644 index 0000000..1599ebe --- /dev/null +++ b/corejava第9版/v2ch10/set/Item.java @@ -0,0 +1,56 @@ +package set; + +import java.util.*; +import bytecodeAnnotations.*; + +/** + * An item with a description and a part number. + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class Item +{ + private String description; + private int partNumber; + + /** + * Constructs an item. + * @param aDescription the item's description + * @param aPartNumber the item's part number + */ + public Item(String aDescription, int aPartNumber) + { + description = aDescription; + partNumber = aPartNumber; + } + + /** + * Gets the description of this item. + * @return the description + */ + public String getDescription() + { + return description; + } + + public String toString() + { + return "[description=" + description + ", partNumber=" + partNumber + "]"; + } + + @LogEntry(logger = "global") + public boolean equals(Object otherObject) + { + if (this == otherObject) return true; + if (otherObject == null) return false; + if (getClass() != otherObject.getClass()) return false; + Item other = (Item) otherObject; + return Objects.equals(description, other.description) && partNumber == other.partNumber; + } + + @LogEntry(logger = "global") + public int hashCode() + { + return Objects.hash(description, partNumber); + } +} diff --git a/corejava第9版/v2ch10/set/SetTest.java b/corejava第9版/v2ch10/set/SetTest.java new file mode 100644 index 0000000..c6641d5 --- /dev/null +++ b/corejava第9版/v2ch10/set/SetTest.java @@ -0,0 +1,25 @@ +package set; + +import java.util.*; +import java.util.logging.*; + +/** + * @version 1.02 2012-01-26 + * @author Cay Horstmann + */ +public class SetTest +{ + public static void main(String[] args) + { + Logger.getLogger(Logger.GLOBAL_LOGGER_NAME).setLevel(Level.FINEST); + Handler handler = new ConsoleHandler(); + handler.setLevel(Level.FINEST); + Logger.getLogger(Logger.GLOBAL_LOGGER_NAME).addHandler(handler); + + Set parts = new HashSet<>(); + parts.add(new Item("Toaster", 1279)); + parts.add(new Item("Microwave", 4104)); + parts.add(new Item("Toaster", 1279)); + System.out.println(parts); + } +} diff --git a/corejava第9版/v2ch10/sourceAnnotations/BeanInfoAnnotationProcessor.java b/corejava第9版/v2ch10/sourceAnnotations/BeanInfoAnnotationProcessor.java new file mode 100644 index 0000000..8dc4ad4 --- /dev/null +++ b/corejava第9版/v2ch10/sourceAnnotations/BeanInfoAnnotationProcessor.java @@ -0,0 +1,130 @@ +package sourceAnnotations; + +import java.beans.*; +import java.io.*; +import java.util.*; +import javax.annotation.processing.*; +import javax.lang.model.*; +import javax.lang.model.element.*; +import javax.tools.*; +import javax.tools.Diagnostic.*; + +/** + * This class is the processor that analyzes Property annotations. + * @version 1.11 2012-01-26 + * @author Cay Horstmann + */ +@SupportedAnnotationTypes("sourceAnnotations.Property") +@SupportedSourceVersion(SourceVersion.RELEASE_7) +public class BeanInfoAnnotationProcessor extends AbstractProcessor +{ + @Override + public boolean process(Set annotations, RoundEnvironment roundEnv) + { + for (TypeElement t : annotations) + { + Map props = new LinkedHashMap<>(); + String beanClassName = null; + for (Element e : roundEnv.getElementsAnnotatedWith(t)) + { + String mname = e.getSimpleName().toString(); + String[] prefixes = { "get", "set", "is" }; + boolean found = false; + for (int i = 0; !found && i < prefixes.length; i++) + if (mname.startsWith(prefixes[i])) + { + found = true; + int start = prefixes[i].length(); + String name = Introspector.decapitalize(mname.substring(start)); + props.put(name, e.getAnnotation(Property.class)); + } + + if (!found) processingEnv.getMessager().printMessage(Kind.ERROR, + "@Property must be applied to getXxx, setXxx, or isXxx method", e); + else if (beanClassName == null) + beanClassName = ((TypeElement) e.getEnclosingElement()).getQualifiedName() + .toString(); + } + try + { + if (beanClassName != null) writeBeanInfoFile(beanClassName, props); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + return true; + } + + /** + * Writes the source file for the BeanInfo class. + * @param beanClassName the name of the bean class + * @param props a map of property names and their annotations + */ + private void writeBeanInfoFile(String beanClassName, Map props) + throws IOException + { + JavaFileObject sourceFile = processingEnv.getFiler().createSourceFile( + beanClassName + "BeanInfo"); + PrintWriter out = new PrintWriter(sourceFile.openWriter()); + int i = beanClassName.lastIndexOf("."); + if (i > 0) + { + out.print("package "); + out.print(beanClassName.substring(0, i)); + out.println(";"); + } + out.print("public class "); + out.print(beanClassName.substring(i + 1)); + out.println("BeanInfo extends java.beans.SimpleBeanInfo"); + out.println("{"); + out.println(" public java.beans.PropertyDescriptor[] getPropertyDescriptors()"); + out.println(" {"); + out.println(" try"); + out.println(" {"); + for (Map.Entry e : props.entrySet()) + { + out.print(" java.beans.PropertyDescriptor "); + out.print(e.getKey()); + out.println("Descriptor"); + out.print(" = new java.beans.PropertyDescriptor(\""); + out.print(e.getKey()); + out.print("\", "); + out.print(beanClassName); + out.println(".class);"); + String ed = e.getValue().editor().toString(); + if (!ed.equals("")) + { + out.print(" "); + out.print(e.getKey()); + out.print("Descriptor.setPropertyEditorClass("); + out.print(ed); + out.println(".class);"); + } + } + out.println(" return new java.beans.PropertyDescriptor[]"); + out.print(" {"); + boolean first = true; + for (String p : props.keySet()) + { + if (first) first = false; + else out.print(","); + out.println(); + out.print(" "); + out.print(p); + out.print("Descriptor"); + } + out.println(); + out.println(" };"); + out.println(" }"); + out.println(" catch (java.beans.IntrospectionException e)"); + out.println(" {"); + out.println(" e.printStackTrace();"); + out.println(" return null;"); + out.println(" }"); + out.println(" }"); + out.println("}"); + out.close(); + } +} diff --git a/corejava第9版/v2ch10/sourceAnnotations/Property.java b/corejava第9版/v2ch10/sourceAnnotations/Property.java new file mode 100644 index 0000000..2663914 --- /dev/null +++ b/corejava第9版/v2ch10/sourceAnnotations/Property.java @@ -0,0 +1,10 @@ +package sourceAnnotations; +import java.lang.annotation.*; + +@Documented +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.SOURCE) +public @interface Property +{ + String editor() default ""; +} diff --git a/corejava第9版/v2ch11/activation/Warehouse.java b/corejava第9版/v2ch11/activation/Warehouse.java new file mode 100644 index 0000000..f260868 --- /dev/null +++ b/corejava第9版/v2ch11/activation/Warehouse.java @@ -0,0 +1,11 @@ +import java.rmi.*; + +/** + The remote interface for a simple warehouse. + @version 1.0 2007-10-09 + @author Cay Horstmann +*/ +public interface Warehouse extends Remote +{ + double getPrice(String description) throws RemoteException; +} diff --git a/corejava第9版/v2ch11/activation/WarehouseActivator.java b/corejava第9版/v2ch11/activation/WarehouseActivator.java new file mode 100644 index 0000000..528d902 --- /dev/null +++ b/corejava第9版/v2ch11/activation/WarehouseActivator.java @@ -0,0 +1,44 @@ +import java.io.*; +import java.rmi.*; +import java.rmi.activation.*; +import java.util.*; +import javax.naming.*; + +/** + * This server program instantiates a remote warehouse object, registers it with the naming + * service, and waits for clients to invoke methods. + * @version 1.13 2012-01-26 + * @author Cay Horstmann + */ +public class WarehouseActivator +{ + public static void main(String[] args) throws RemoteException, NamingException, + ActivationException, IOException + { + System.out.println("Constructing activation descriptors..."); + + Properties props = new Properties(); + // use the server.policy file in the current directory + props.put("java.security.policy", new File("server.policy").getCanonicalPath()); + ActivationGroupDesc group = new ActivationGroupDesc(props, null); + ActivationGroupID id = ActivationGroup.getSystem().registerGroup(group); + + Map prices = new HashMap<>(); + prices.put("Blackwell Toaster", 24.95); + prices.put("ZapXpress Microwave Oven", 49.95); + + MarshalledObject> param = new MarshalledObject>( + prices); + + String codebase = "http://localhost:8080/"; + + ActivationDesc desc = new ActivationDesc(id, "WarehouseImpl", codebase, param); + + Warehouse centralWarehouse = (Warehouse) Activatable.register(desc); + + System.out.println("Binding activable implementation to registry..."); + Context namingContext = new InitialContext(); + namingContext.bind("rmi:central_warehouse", centralWarehouse); + System.out.println("Exiting..."); + } +} diff --git a/corejava第9版/v2ch11/activation/WarehouseClient.java b/corejava第9版/v2ch11/activation/WarehouseClient.java new file mode 100644 index 0000000..7a2957b --- /dev/null +++ b/corejava第9版/v2ch11/activation/WarehouseClient.java @@ -0,0 +1,28 @@ +import java.rmi.*; +import java.util.*; +import javax.naming.*; + +/** + * A client that invokes a remote method. + * @version 1.0 2007-10-09 + * @author Cay Horstmann + */ +public class WarehouseClient +{ + public static void main(String[] args) throws NamingException, RemoteException + { + Context namingContext = new InitialContext(); + + System.out.print("RMI registry bindings: "); + Enumeration e = namingContext.list("rmi://localhost/"); + while (e.hasMoreElements()) + System.out.println(e.nextElement().getName()); + + String url = "rmi://localhost/central_warehouse"; + Warehouse centralWarehouse = (Warehouse) namingContext.lookup(url); + + String descr = "Blackwell Toaster"; + double price = centralWarehouse.getPrice(descr); + System.out.println(descr + ": " + price); + } +} diff --git a/corejava第9版/v2ch11/activation/WarehouseImpl.java b/corejava第9版/v2ch11/activation/WarehouseImpl.java new file mode 100644 index 0000000..cf3448e --- /dev/null +++ b/corejava第9版/v2ch11/activation/WarehouseImpl.java @@ -0,0 +1,28 @@ +import java.io.*; +import java.rmi.*; +import java.rmi.activation.*; +import java.util.*; + +/** + * This class is the implementation for the remote Warehouse interface. + * @version 1.0 2007-10-20 + * @author Cay Horstmann + */ +public class WarehouseImpl extends Activatable implements Warehouse +{ + private Map prices; + + public WarehouseImpl(ActivationID id, MarshalledObject> param) + throws RemoteException, ClassNotFoundException, IOException + { + super(id, 0); + prices = param.get(); + System.out.println("Warehouse implementation constructed."); + } + + public double getPrice(String description) throws RemoteException + { + Double price = prices.get(description); + return price == null ? 0 : price; + } +} diff --git a/corejava第9版/v2ch11/activation/client.policy b/corejava第9版/v2ch11/activation/client.policy new file mode 100644 index 0000000..22bd295 --- /dev/null +++ b/corejava第9版/v2ch11/activation/client.policy @@ -0,0 +1,7 @@ +grant +{ + permission java.net.SocketPermission + "*:1024-65535", "connect"; + permission java.net.SocketPermission + "localhost:80", "connect"; +}; diff --git a/corejava第9版/v2ch11/activation/rmid.policy b/corejava第9版/v2ch11/activation/rmid.policy new file mode 100644 index 0000000..7a86cf4 --- /dev/null +++ b/corejava第9版/v2ch11/activation/rmid.policy @@ -0,0 +1,7 @@ +grant +{ + permission com.sun.rmi.rmid.ExecPermission + "${java.home}${/}bin${/}java"; + permission com.sun.rmi.rmid.ExecOptionPermission + "-Djava.security.policy=*"; +}; diff --git a/corejava第9版/v2ch11/activation/server.policy b/corejava第9版/v2ch11/activation/server.policy new file mode 100644 index 0000000..110fb1c --- /dev/null +++ b/corejava第9版/v2ch11/activation/server.policy @@ -0,0 +1,4 @@ +grant +{ + permission java.security.AllPermission; +}; diff --git a/corejava第9版/v2ch11/bin/activation/client.policy b/corejava第9版/v2ch11/bin/activation/client.policy new file mode 100644 index 0000000..22bd295 --- /dev/null +++ b/corejava第9版/v2ch11/bin/activation/client.policy @@ -0,0 +1,7 @@ +grant +{ + permission java.net.SocketPermission + "*:1024-65535", "connect"; + permission java.net.SocketPermission + "localhost:80", "connect"; +}; diff --git a/corejava第9版/v2ch11/bin/activation/rmid.policy b/corejava第9版/v2ch11/bin/activation/rmid.policy new file mode 100644 index 0000000..7a86cf4 --- /dev/null +++ b/corejava第9版/v2ch11/bin/activation/rmid.policy @@ -0,0 +1,7 @@ +grant +{ + permission com.sun.rmi.rmid.ExecPermission + "${java.home}${/}bin${/}java"; + permission com.sun.rmi.rmid.ExecOptionPermission + "-Djava.security.policy=*"; +}; diff --git a/corejava第9版/v2ch11/bin/activation/server.policy b/corejava第9版/v2ch11/bin/activation/server.policy new file mode 100644 index 0000000..110fb1c --- /dev/null +++ b/corejava第9版/v2ch11/bin/activation/server.policy @@ -0,0 +1,4 @@ +grant +{ + permission java.security.AllPermission; +}; diff --git a/corejava第9版/v2ch11/bin/warehouse1/client.policy b/corejava第9版/v2ch11/bin/warehouse1/client.policy new file mode 100644 index 0000000..2245f13 --- /dev/null +++ b/corejava第9版/v2ch11/bin/warehouse1/client.policy @@ -0,0 +1,5 @@ +grant +{ + permission java.net.SocketPermission "*:1099", "connect"; + permission java.net.SocketPermission "localhost:80", "connect"; +}; diff --git a/corejava第9版/v2ch11/bin/warehouse2/client.policy b/corejava第9版/v2ch11/bin/warehouse2/client.policy new file mode 100644 index 0000000..b078ae9 --- /dev/null +++ b/corejava第9版/v2ch11/bin/warehouse2/client.policy @@ -0,0 +1,5 @@ +grant +{ + permission java.net.SocketPermission + "*:1024-65535", "connect"; +}; diff --git a/corejava第9版/v2ch11/bin/warehouse2/server.policy b/corejava第9版/v2ch11/bin/warehouse2/server.policy new file mode 100644 index 0000000..b078ae9 --- /dev/null +++ b/corejava第9版/v2ch11/bin/warehouse2/server.policy @@ -0,0 +1,5 @@ +grant +{ + permission java.net.SocketPermission + "*:1024-65535", "connect"; +}; diff --git a/corejava第9版/v2ch11/bin/webService2/aws.jar b/corejava第9版/v2ch11/bin/webService2/aws.jar new file mode 100644 index 0000000000000000000000000000000000000000..2689bef7dbd24f1bcb064a72dca5dbc3310280fb GIT binary patch literal 189978 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 Qi$S#(4Y(=nR^mo6*MZlnv%@MsS9 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

        nCVFlj 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch11/warehouse1/Warehouse.java b/corejava第9版/v2ch11/warehouse1/Warehouse.java new file mode 100644 index 0000000..f260868 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse1/Warehouse.java @@ -0,0 +1,11 @@ +import java.rmi.*; + +/** + The remote interface for a simple warehouse. + @version 1.0 2007-10-09 + @author Cay Horstmann +*/ +public interface Warehouse extends Remote +{ + double getPrice(String description) throws RemoteException; +} diff --git a/corejava第9版/v2ch11/warehouse1/WarehouseClient.java b/corejava第9版/v2ch11/warehouse1/WarehouseClient.java new file mode 100644 index 0000000..7a2957b --- /dev/null +++ b/corejava第9版/v2ch11/warehouse1/WarehouseClient.java @@ -0,0 +1,28 @@ +import java.rmi.*; +import java.util.*; +import javax.naming.*; + +/** + * A client that invokes a remote method. + * @version 1.0 2007-10-09 + * @author Cay Horstmann + */ +public class WarehouseClient +{ + public static void main(String[] args) throws NamingException, RemoteException + { + Context namingContext = new InitialContext(); + + System.out.print("RMI registry bindings: "); + Enumeration e = namingContext.list("rmi://localhost/"); + while (e.hasMoreElements()) + System.out.println(e.nextElement().getName()); + + String url = "rmi://localhost/central_warehouse"; + Warehouse centralWarehouse = (Warehouse) namingContext.lookup(url); + + String descr = "Blackwell Toaster"; + double price = centralWarehouse.getPrice(descr); + System.out.println(descr + ": " + price); + } +} diff --git a/corejava第9版/v2ch11/warehouse1/WarehouseImpl.java b/corejava第9版/v2ch11/warehouse1/WarehouseImpl.java new file mode 100644 index 0000000..fdbca28 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse1/WarehouseImpl.java @@ -0,0 +1,26 @@ +import java.rmi.*; +import java.rmi.server.*; +import java.util.*; + +/** + * This class is the implementation for the remote Warehouse interface. + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class WarehouseImpl extends UnicastRemoteObject implements Warehouse +{ + private Map prices; + + public WarehouseImpl() throws RemoteException + { + prices = new HashMap<>(); + prices.put("Blackwell Toaster", 24.95); + prices.put("ZapXpress Microwave Oven", 49.95); + } + + public double getPrice(String description) throws RemoteException + { + Double price = prices.get(description); + return price == null ? 0 : price; + } +} diff --git a/corejava第9版/v2ch11/warehouse1/WarehouseServer.java b/corejava第9版/v2ch11/warehouse1/WarehouseServer.java new file mode 100644 index 0000000..22cf793 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse1/WarehouseServer.java @@ -0,0 +1,23 @@ +import java.rmi.*; +import javax.naming.*; + +/** + * This server program instantiates a remote warehouse object, registers it with the naming + * service, and waits for clients to invoke methods. + * @version 1.12 2007-10-09 + * @author Cay Horstmann + */ +public class WarehouseServer +{ + public static void main(String[] args) throws RemoteException, NamingException + { + System.out.println("Constructing server implementation..."); + WarehouseImpl centralWarehouse = new WarehouseImpl(); + + System.out.println("Binding server implementation to registry..."); + Context namingContext = new InitialContext(); + namingContext.bind("rmi:central_warehouse", centralWarehouse); + + System.out.println("Waiting for invocations from clients..."); + } +} diff --git a/corejava第9版/v2ch11/warehouse1/client.policy b/corejava第9版/v2ch11/warehouse1/client.policy new file mode 100644 index 0000000..2245f13 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse1/client.policy @@ -0,0 +1,5 @@ +grant +{ + permission java.net.SocketPermission "*:1099", "connect"; + permission java.net.SocketPermission "localhost:80", "connect"; +}; diff --git a/corejava第9版/v2ch11/warehouse2/Book.java b/corejava第9版/v2ch11/warehouse2/Book.java new file mode 100644 index 0000000..ed41dc8 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/Book.java @@ -0,0 +1,20 @@ +/** + * A book is a product with an ISBN number. + * @version 1.0 2007-10-09 + * @author Cay Horstmann + */ +public class Book extends Product +{ + private String isbn; + + public Book(String title, String isbn, double price) + { + super(title, price); + this.isbn = isbn; + } + + public String getDescription() + { + return super.getDescription() + " " + isbn; + } +} diff --git a/corejava第9版/v2ch11/warehouse2/Product.java b/corejava第9版/v2ch11/warehouse2/Product.java new file mode 100644 index 0000000..5001167 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/Product.java @@ -0,0 +1,34 @@ +import java.io.*; + +public class Product implements Serializable +{ + private String description; + private double price; + private Warehouse location; + + public Product(String description, double price) + { + this.description = description; + this.price = price; + } + + public String getDescription() + { + return description; + } + + public double getPrice() + { + return price; + } + + public Warehouse getLocation() + { + return location; + } + + public void setLocation(Warehouse location) + { + this.location = location; + } +} diff --git a/corejava第9版/v2ch11/warehouse2/Warehouse.java b/corejava第9版/v2ch11/warehouse2/Warehouse.java new file mode 100644 index 0000000..be5a570 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/Warehouse.java @@ -0,0 +1,13 @@ +import java.rmi.*; +import java.util.*; + +/** + The remote interface for a simple warehouse. + @version 1.0 2007-10-09 + @author Cay Horstmann +*/ +public interface Warehouse extends Remote +{ + double getPrice(String description) throws RemoteException; + Product getProduct(List keywords) throws RemoteException; +} diff --git a/corejava第9版/v2ch11/warehouse2/WarehouseClient.java b/corejava第9版/v2ch11/warehouse2/WarehouseClient.java new file mode 100644 index 0000000..2475ce0 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/WarehouseClient.java @@ -0,0 +1,33 @@ +import java.rmi.*; +import java.util.*; +import javax.naming.*; + +/** + * The client for the warehouse program. + * @version 1.0 2007-10-09 + * @author Cay Horstmann + */ +public class WarehouseClient +{ + public static void main(String[] args) throws NamingException, RemoteException + { + System.setProperty("java.security.policy", "client.policy"); + System.setSecurityManager(new SecurityManager()); + Context namingContext = new InitialContext(); + + System.out.print("RMI registry bindings: "); + NamingEnumeration e = namingContext.list("rmi://localhost/"); + while (e.hasMore()) + System.out.println(e.next().getName()); + + String url = "rmi://localhost/central_warehouse"; + Warehouse centralWarehouse = (Warehouse) namingContext.lookup(url); + + Scanner in = new Scanner(System.in); + System.out.print("Enter keywords: "); + List keywords = Arrays.asList(in.nextLine().split("\\s+")); + Product prod = centralWarehouse.getProduct(keywords); + + System.out.println(prod.getDescription() + ": " + prod.getPrice()); + } +} diff --git a/corejava第9版/v2ch11/warehouse2/WarehouseImpl.java b/corejava第9版/v2ch11/warehouse2/WarehouseImpl.java new file mode 100644 index 0000000..d543c89 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/WarehouseImpl.java @@ -0,0 +1,52 @@ +import java.rmi.*; +import java.rmi.server.*; +import java.util.*; + +/** + * This class is the implementation for the remote Warehouse interface. + * @version 1.01 2012-01-26 + * @author Cay Horstmann + */ +public class WarehouseImpl extends UnicastRemoteObject implements Warehouse +{ + private Map products; + private Warehouse backup; + + /** + * Constructs a warehouse implementation. + */ + public WarehouseImpl(Warehouse backup) throws RemoteException + { + products = new HashMap<>(); + this.backup = backup; + } + + public void add(String keyword, Product product) + { + product.setLocation(this); + products.put(keyword, product); + } + + public double getPrice(String description) throws RemoteException + { + for (Product p : products.values()) + if (p.getDescription().equals(description)) return p.getPrice(); + if (backup == null) return 0; + else return backup.getPrice(description); + } + + public Product getProduct(List keywords) throws RemoteException + { + for (String keyword : keywords) + { + Product p = products.get(keyword); + if (p != null) return p; + } + if (backup != null) + return backup.getProduct(keywords); + else if (products.values().size() > 0) + return products.values().iterator().next(); + else + return null; + } +} diff --git a/corejava第9版/v2ch11/warehouse2/WarehouseServer.java b/corejava第9版/v2ch11/warehouse2/WarehouseServer.java new file mode 100644 index 0000000..ba79f0a --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/WarehouseServer.java @@ -0,0 +1,30 @@ +import java.rmi.*; +import javax.naming.*; + +/** + * This server program instantiates a remote warehouse objects, registers it with the naming + * service, and waits for clients to invoke methods. + * @version 1.12 2007-10-09 + * @author Cay Horstmann + */ +public class WarehouseServer +{ + public static void main(String[] args) throws RemoteException, NamingException + { + System.setProperty("java.security.policy", "server.policy"); + System.setSecurityManager(new SecurityManager()); + + System.out.println("Constructing server implementation..."); + WarehouseImpl backupWarehouse = new WarehouseImpl(null); + WarehouseImpl centralWarehouse = new WarehouseImpl(backupWarehouse); + + centralWarehouse.add("toaster", new Product("Blackwell Toaster", 23.95)); + backupWarehouse.add("java", new Book("Core Java vol. 2", "0132354799", 44.95)); + + System.out.println("Binding server implementation to registry..."); + Context namingContext = new InitialContext(); + namingContext.bind("rmi:central_warehouse", centralWarehouse); + + System.out.println("Waiting for invocations from clients..."); + } +} diff --git a/corejava第9版/v2ch11/warehouse2/client.policy b/corejava第9版/v2ch11/warehouse2/client.policy new file mode 100644 index 0000000..b078ae9 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/client.policy @@ -0,0 +1,5 @@ +grant +{ + permission java.net.SocketPermission + "*:1024-65535", "connect"; +}; diff --git a/corejava第9版/v2ch11/warehouse2/server.policy b/corejava第9版/v2ch11/warehouse2/server.policy new file mode 100644 index 0000000..b078ae9 --- /dev/null +++ b/corejava第9版/v2ch11/warehouse2/server.policy @@ -0,0 +1,5 @@ +grant +{ + permission java.net.SocketPermission + "*:1024-65535", "connect"; +}; diff --git a/corejava第9版/v2ch11/webService2/aws.jar b/corejava第9版/v2ch11/webService2/aws.jar new file mode 100644 index 0000000000000000000000000000000000000000..2689bef7dbd24f1bcb064a72dca5dbc3310280fb GIT binary patch literal 189978 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 Qi$S#(4Y(=nR^mo6*MZlnv%@MsS9 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

        nCVFlj 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 literal 0 HcmV?d00001 diff --git a/corejava第9版/v2ch12/employee/Employee.c b/corejava第9版/v2ch12/employee/Employee.c new file mode 100644 index 0000000..eb39bf6 --- /dev/null +++ b/corejava第9版/v2ch12/employee/Employee.c @@ -0,0 +1,26 @@ +/** + @version 1.10 1999-11-13 + @author Cay Horstmann +*/ + +#include "Employee.h" + +#include + +JNIEXPORT void JNICALL Java_Employee_raiseSalary(JNIEnv* env, jobject this_obj, jdouble byPercent) +{ + /* get the class */ + jclass class_Employee = (*env)->GetObjectClass(env, this_obj); + + /* get the field ID */ + jfieldID id_salary = (*env)->GetFieldID(env, class_Employee, "salary", "D"); + + /* get the field value */ + jdouble salary = (*env)->GetDoubleField(env, this_obj, id_salary); + + salary *= 1 + byPercent / 100; + + /* set the field value */ + (*env)->SetDoubleField(env, this_obj, id_salary, salary); +} + diff --git a/corejava第9版/v2ch12/employee/Employee.java b/corejava第9版/v2ch12/employee/Employee.java new file mode 100644 index 0000000..5a4e0ab --- /dev/null +++ b/corejava第9版/v2ch12/employee/Employee.java @@ -0,0 +1,28 @@ +/** + * @version 1.10 1999-11-13 + * @author Cay Horstmann + */ + +public class Employee +{ + private String name; + private double salary; + + public native void raiseSalary(double byPercent); + + public Employee(String n, double s) + { + name = n; + salary = s; + } + + public void print() + { + System.out.println(name + " " + salary); + } + + static + { + System.loadLibrary("Employee"); + } +} diff --git a/corejava第9版/v2ch12/employee/EmployeeTest.java b/corejava第9版/v2ch12/employee/EmployeeTest.java new file mode 100644 index 0000000..58b1570 --- /dev/null +++ b/corejava第9版/v2ch12/employee/EmployeeTest.java @@ -0,0 +1,21 @@ +/** + * @version 1.10 1999-11-13 + * @author Cay Horstmann + */ + +public class EmployeeTest +{ + public static void main(String[] args) + { + Employee[] staff = new Employee[3]; + + staff[0] = new Employee("Harry Hacker", 35000); + staff[1] = new Employee("Carl Cracker", 75000); + staff[2] = new Employee("Tony Tester", 38000); + + for (Employee e : staff) + e.raiseSalary(5); + for (Employee e : staff) + e.print(); + } +} diff --git a/corejava第9版/v2ch12/helloNative/HelloNative.c b/corejava第9版/v2ch12/helloNative/HelloNative.c new file mode 100644 index 0000000..439d9dc --- /dev/null +++ b/corejava第9版/v2ch12/helloNative/HelloNative.c @@ -0,0 +1,12 @@ +/* + @version 1.10 1997-07-01 + @author Cay Horstmann +*/ + +#include "HelloNative.h" +#include + +JNIEXPORT void JNICALL Java_HelloNative_greeting(JNIEnv* env, jclass cl) +{ + printf("Hello Native World!\n"); +} diff --git a/corejava第9版/v2ch12/helloNative/HelloNative.h b/corejava第9版/v2ch12/helloNative/HelloNative.h new file mode 100644 index 0000000..9122ced --- /dev/null +++ b/corejava第9版/v2ch12/helloNative/HelloNative.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class HelloNative */ + +#ifndef _Included_HelloNative +#define _Included_HelloNative +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: HelloNative + * Method: greeting + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_HelloNative_greeting + (JNIEnv *, jclass); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/corejava第9版/v2ch12/helloNative/HelloNative.java b/corejava第9版/v2ch12/helloNative/HelloNative.java new file mode 100644 index 0000000..fe5d91f --- /dev/null +++ b/corejava第9版/v2ch12/helloNative/HelloNative.java @@ -0,0 +1,8 @@ +/** + * @version 1.11 2007-10-26 + * @author Cay Horstmann + */ +class HelloNative +{ + public static native void greeting(); +} diff --git a/corejava第9版/v2ch12/helloNative/HelloNativeTest.java b/corejava第9版/v2ch12/helloNative/HelloNativeTest.java new file mode 100644 index 0000000..1e18ad7 --- /dev/null +++ b/corejava第9版/v2ch12/helloNative/HelloNativeTest.java @@ -0,0 +1,16 @@ +/** + * @version 1.11 2007-10-26 + * @author Cay Horstmann + */ +class HelloNativeTest +{ + public static void main(String[] args) + { + HelloNative.greeting(); + } + + static + { + System.loadLibrary("HelloNative"); + } +} diff --git a/corejava第9版/v2ch12/invocation/InvocationTest.c b/corejava第9版/v2ch12/invocation/InvocationTest.c new file mode 100644 index 0000000..95c8ae5 --- /dev/null +++ b/corejava第9版/v2ch12/invocation/InvocationTest.c @@ -0,0 +1,150 @@ +/** + @version 1.20 2007-10-26 + @author Cay Horstmann +*/ + +#include +#include + +#ifdef _WINDOWS + +#include +static HINSTANCE loadJVMLibrary(void); +typedef jint (JNICALL *CreateJavaVM_t)(JavaVM **, void **, JavaVMInitArgs *); + +#endif + +int main() +{ + JavaVMOption options[2]; + JavaVMInitArgs vm_args; + JavaVM *jvm; + JNIEnv *env; + long status; + + jclass class_Welcome; + jclass class_String; + jobjectArray args; + jmethodID id_main; + +#ifdef _WINDOWS + HINSTANCE hjvmlib; + CreateJavaVM_t createJavaVM; +#endif + + options[0].optionString = "-Djava.class.path=."; + + memset(&vm_args, 0, sizeof(vm_args)); + vm_args.version = JNI_VERSION_1_2; + vm_args.nOptions = 1; + vm_args.options = options; + + +#ifdef _WINDOWS + hjvmlib = loadJVMLibrary(); + createJavaVM = (CreateJavaVM_t) GetProcAddress(hjvmlib, "JNI_CreateJavaVM"); + status = (*createJavaVM)(&jvm, (void **) &env, &vm_args); +#else + status = JNI_CreateJavaVM(&jvm, (void **) &env, &vm_args); +#endif + + if (status == JNI_ERR) + { + fprintf(stderr, "Error creating VM\n"); + return 1; + } + + class_Welcome = (*env)->FindClass(env, "Welcome"); + id_main = (*env)->GetStaticMethodID(env, class_Welcome, "main", "([Ljava/lang/String;)V"); + + class_String = (*env)->FindClass(env, "java/lang/String"); + args = (*env)->NewObjectArray(env, 0, class_String, NULL); + (*env)->CallStaticVoidMethod(env, class_Welcome, id_main, args); + + (*jvm)->DestroyJavaVM(jvm); + + return 0; +} + +#ifdef _WINDOWS + +static int GetStringFromRegistry(HKEY key, const char *name, char *buf, jint bufsize) +{ + DWORD type, size; + + return RegQueryValueEx(key, name, 0, &type, 0, &size) == 0 + && type == REG_SZ + && size < (unsigned int) bufsize + && RegQueryValueEx(key, name, 0, 0, buf, &size) == 0; +} + +static void GetPublicJREHome(char *buf, jint bufsize) +{ + HKEY key, subkey; + char version[MAX_PATH]; + + /* Find the current version of the JRE */ + char *JRE_KEY = "Software\\JavaSoft\\Java Runtime Environment"; + if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, JRE_KEY, 0, KEY_READ, &key) != 0) + { + fprintf(stderr, "Error opening registry key '%s'\n", JRE_KEY); + exit(1); + } + + if (!GetStringFromRegistry(key, "CurrentVersion", version, sizeof(version))) + { + fprintf(stderr, "Failed reading value of registry key:\n\t%s\\CurrentVersion\n", JRE_KEY); + RegCloseKey(key); + exit(1); + } + + /* Find directory where the current version is installed. */ + if (RegOpenKeyEx(key, version, 0, KEY_READ, &subkey) != 0) + { + fprintf(stderr, "Error opening registry key '%s\\%s'\n", JRE_KEY, version); + RegCloseKey(key); + exit(1); + } + + if (!GetStringFromRegistry(subkey, "JavaHome", buf, bufsize)) + { + fprintf(stderr, "Failed reading value of registry key:\n\t%s\\%s\\JavaHome\n", + JRE_KEY, version); + RegCloseKey(key); + RegCloseKey(subkey); + exit(1); + } + + RegCloseKey(key); + RegCloseKey(subkey); +} + +static HINSTANCE loadJVMLibrary(void) +{ + HINSTANCE h1, h2; + char msvcdll[MAX_PATH]; + char javadll[MAX_PATH]; + GetPublicJREHome(msvcdll, MAX_PATH); + strcpy(javadll, msvcdll); + strncat(msvcdll, "\\bin\\msvcr71.dll", MAX_PATH - strlen(msvcdll)); + msvcdll[MAX_PATH - 1] = '\0'; + strncat(javadll, "\\bin\\client\\jvm.dll", MAX_PATH - strlen(javadll)); + javadll[MAX_PATH - 1] = '\0'; + + h1 = LoadLibrary(msvcdll); + if (h1 == NULL) + { + fprintf(stderr, "Can't load library msvcr71.dll\n"); + exit(1); + } + + h2 = LoadLibrary(javadll); + if (h2 == NULL) + { + fprintf(stderr, "Can't load library jvm.dll\n"); + exit(1); + } + return h2; +} + +#endif diff --git a/corejava第9版/v2ch12/invocation/Welcome.java b/corejava第9版/v2ch12/invocation/Welcome.java new file mode 100644 index 0000000..909e041 --- /dev/null +++ b/corejava第9版/v2ch12/invocation/Welcome.java @@ -0,0 +1,17 @@ +/** + * @version 1.20 2004-02-28 + * @author Cay Horstmann + */ +public class Welcome +{ + public static void main(String[] args) + { + String[] greeting = new String[3]; + greeting[0] = "Welcome to Core Java"; + greeting[1] = "by Cay Horstmann"; + greeting[2] = "and Gary Cornell"; + + for (String g : greeting) + System.out.println(g); + } +} diff --git a/corejava第9版/v2ch12/printf1/Printf1.c b/corejava第9版/v2ch12/printf1/Printf1.c new file mode 100644 index 0000000..bfdb636 --- /dev/null +++ b/corejava第9版/v2ch12/printf1/Printf1.c @@ -0,0 +1,19 @@ +/** + @version 1.10 1997-07-01 + @author Cay Horstmann +*/ + +#include "Printf1.h" +#include + +JNIEXPORT jint JNICALL Java_Printf1_print(JNIEnv* env, jclass cl, + jint width, jint precision, jdouble x) +{ + char fmt[30]; + jint ret; + sprintf(fmt, "%%%d.%df", width, precision); + ret = printf(fmt, x); + fflush(stdout); + return ret; +} + diff --git a/corejava第9版/v2ch12/printf1/Printf1.java b/corejava第9版/v2ch12/printf1/Printf1.java new file mode 100644 index 0000000..1eb5e07 --- /dev/null +++ b/corejava第9版/v2ch12/printf1/Printf1.java @@ -0,0 +1,13 @@ +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf1 +{ + public static native int print(int width, int precision, double x); + + static + { + System.loadLibrary("Printf1"); + } +} diff --git a/corejava第9版/v2ch12/printf1/Printf1Test.java b/corejava第9版/v2ch12/printf1/Printf1Test.java new file mode 100644 index 0000000..d16c09f --- /dev/null +++ b/corejava第9版/v2ch12/printf1/Printf1Test.java @@ -0,0 +1,16 @@ +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf1Test +{ + public static void main(String[] args) + { + int count = Printf1.print(8, 4, 3.14); + count += Printf1.print(8, 4, count); + System.out.println(); + for (int i = 0; i < count; i++) + System.out.print("-"); + System.out.println(); + } +} diff --git a/corejava第9版/v2ch12/printf2/Printf2.c b/corejava第9版/v2ch12/printf2/Printf2.c new file mode 100644 index 0000000..d6ac72e --- /dev/null +++ b/corejava第9版/v2ch12/printf2/Printf2.c @@ -0,0 +1,65 @@ +/** + @version 1.10 1997-07-01 + @author Cay Horstmann +*/ + +#include "Printf2.h" +#include +#include +#include + +/** + @param format a string containing a printf format specifier + (such as "%8.2f"). Substrings "%%" are skipped. + @return a pointer to the format specifier (skipping the '%') + or NULL if there wasn't a unique format specifier +*/ +char* find_format(const char format[]) +{ + char* p; + char* q; + + p = strchr(format, '%'); + while (p != NULL && *(p + 1) == '%') /* skip %% */ + p = strchr(p + 2, '%'); + if (p == NULL) return NULL; + /* now check that % is unique */ + p++; + q = strchr(p, '%'); + while (q != NULL && *(q + 1) == '%') /* skip %% */ + q = strchr(q + 2, '%'); + if (q != NULL) return NULL; /* % not unique */ + q = p + strspn(p, " -0+#"); /* skip past flags */ + q += strspn(q, "0123456789"); /* skip past field width */ + if (*q == '.') { q++; q += strspn(q, "0123456789"); } + /* skip past precision */ + if (strchr("eEfFgG", *q) == NULL) return NULL; + /* not a floating-point format */ + return p; +} + +JNIEXPORT jstring JNICALL Java_Printf2_sprint(JNIEnv* env, jclass cl, + jstring format, jdouble x) +{ + const char* cformat; + char* fmt; + jstring ret; + + cformat = (*env)->GetStringUTFChars(env, format, NULL); + fmt = find_format(cformat); + if (fmt == NULL) + ret = format; + else + { + char* cret; + int width = atoi(fmt); + if (width == 0) width = DBL_DIG + 10; + cret = (char*) malloc(strlen(cformat) + width); + sprintf(cret, cformat, x); + ret = (*env)->NewStringUTF(env, cret); + free(cret); + } + (*env)->ReleaseStringUTFChars(env, format, cformat); + return ret; +} + diff --git a/corejava第9版/v2ch12/printf2/Printf2.java b/corejava第9版/v2ch12/printf2/Printf2.java new file mode 100644 index 0000000..75eb682 --- /dev/null +++ b/corejava第9版/v2ch12/printf2/Printf2.java @@ -0,0 +1,13 @@ +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf2 +{ + public static native String sprint(String format, double x); + + static + { + System.loadLibrary("Printf2"); + } +} diff --git a/corejava第9版/v2ch12/printf2/Printf2Test.java b/corejava第9版/v2ch12/printf2/Printf2Test.java new file mode 100644 index 0000000..613af87 --- /dev/null +++ b/corejava第9版/v2ch12/printf2/Printf2Test.java @@ -0,0 +1,16 @@ +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf2Test +{ + public static void main(String[] args) + { + double price = 44.95; + double tax = 7.75; + double amountDue = price * (1 + tax / 100); + + String s = Printf2.sprint("Amount due = %8.2f", amountDue); + System.out.println(s); + } +} diff --git a/corejava第9版/v2ch12/printf3/Printf3.c b/corejava第9版/v2ch12/printf3/Printf3.c new file mode 100644 index 0000000..47ed64a --- /dev/null +++ b/corejava第9版/v2ch12/printf3/Printf3.c @@ -0,0 +1,78 @@ +/** + @version 1.10 1997-07-01 + @author Cay Horstmann +*/ + +#include "Printf3.h" +#include +#include +#include + +/** + @param format a string containing a printf format specifier + (such as "%8.2f"). Substrings "%%" are skipped. + @return a pointer to the format specifier (skipping the '%') + or NULL if there wasn't a unique format specifier +*/ +char* find_format(const char format[]) +{ + char* p; + char* q; + + p = strchr(format, '%'); + while (p != NULL && *(p + 1) == '%') /* skip %% */ + p = strchr(p + 2, '%'); + if (p == NULL) return NULL; + /* now check that % is unique */ + p++; + q = strchr(p, '%'); + while (q != NULL && *(q + 1) == '%') /* skip %% */ + q = strchr(q + 2, '%'); + if (q != NULL) return NULL; /* % not unique */ + q = p + strspn(p, " -0+#"); /* skip past flags */ + q += strspn(q, "0123456789"); /* skip past field width */ + if (*q == '.') { q++; q += strspn(q, "0123456789"); } + /* skip past precision */ + if (strchr("eEfFgG", *q) == NULL) return NULL; + /* not a floating-point format */ + return p; +} + +JNIEXPORT void JNICALL Java_Printf3_fprint(JNIEnv* env, jclass cl, + jobject out, jstring format, jdouble x) +{ + const char* cformat; + char* fmt; + jstring str; + jclass class_PrintWriter; + jmethodID id_print; + + cformat = (*env)->GetStringUTFChars(env, format, NULL); + fmt = find_format(cformat); + if (fmt == NULL) + str = format; + else + { + char* cstr; + int width = atoi(fmt); + if (width == 0) width = DBL_DIG + 10; + cstr = (char*) malloc(strlen(cformat) + width); + sprintf(cstr, cformat, x); + str = (*env)->NewStringUTF(env, cstr); + free(cstr); + } + (*env)->ReleaseStringUTFChars(env, format, cformat); + + /* now call ps.print(str) */ + + /* get the class */ + class_PrintWriter = (*env)->GetObjectClass(env, out); + + /* get the method ID */ + id_print = (*env)->GetMethodID(env, class_PrintWriter, "print", "(Ljava/lang/String;)V"); + + /* call the method */ + (*env)->CallVoidMethod(env, out, id_print, str); +} + + diff --git a/corejava第9版/v2ch12/printf3/Printf3.java b/corejava第9版/v2ch12/printf3/Printf3.java new file mode 100644 index 0000000..b81042c --- /dev/null +++ b/corejava第9版/v2ch12/printf3/Printf3.java @@ -0,0 +1,15 @@ +import java.io.*; + +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf3 +{ + public static native void fprint(PrintWriter out, String format, double x); + + static + { + System.loadLibrary("Printf3"); + } +} diff --git a/corejava第9版/v2ch12/printf3/Printf3Test.java b/corejava第9版/v2ch12/printf3/Printf3Test.java new file mode 100644 index 0000000..8fece26 --- /dev/null +++ b/corejava第9版/v2ch12/printf3/Printf3Test.java @@ -0,0 +1,18 @@ +import java.io.*; + +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf3Test +{ + public static void main(String[] args) + { + double price = 44.95; + double tax = 7.75; + double amountDue = price * (1 + tax / 100); + PrintWriter out = new PrintWriter(System.out); + Printf3.fprint(out, "Amount due = %8.2f\n", amountDue); + out.flush(); + } +} diff --git a/corejava第9版/v2ch12/printf4/Printf4.c b/corejava第9版/v2ch12/printf4/Printf4.c new file mode 100644 index 0000000..7b55d67 --- /dev/null +++ b/corejava第9版/v2ch12/printf4/Printf4.c @@ -0,0 +1,107 @@ +/** + @version 1.10 1997-07-01 + @author Cay Horstmann +*/ + +#include "Printf4.h" +#include +#include +#include + +/** + @param format a string containing a printf format specifier + (such as "%8.2f"). Substrings "%%" are skipped. + @return a pointer to the format specifier (skipping the '%') + or NULL if there wasn't a unique format specifier + */ +char* find_format(const char format[]) +{ + char* p; + char* q; + + p = strchr(format, '%'); + while (p != NULL && *(p + 1) == '%') /* skip %% */ + p = strchr(p + 2, '%'); + if (p == NULL) return NULL; + /* now check that % is unique */ + p++; + q = strchr(p, '%'); + while (q != NULL && *(q + 1) == '%') /* skip %% */ + q = strchr(q + 2, '%'); + if (q != NULL) return NULL; /* % not unique */ + q = p + strspn(p, " -0+#"); /* skip past flags */ + q += strspn(q, "0123456789"); /* skip past field width */ + if (*q == '.') { q++; q += strspn(q, "0123456789"); } + /* skip past precision */ + if (strchr("eEfFgG", *q) == NULL) return NULL; + /* not a floating-point format */ + return p; +} + +JNIEXPORT void JNICALL Java_Printf4_fprint(JNIEnv* env, jclass cl, + jobject out, jstring format, jdouble x) +{ + const char* cformat; + char* fmt; + jclass class_PrintWriter; + jmethodID id_print; + char* cstr; + int width; + int i; + + if (format == NULL) + { + (*env)->ThrowNew(env, + (*env)->FindClass(env, + "java/lang/NullPointerException"), + "Printf4.fprint: format is null"); + return; + } + + cformat = (*env)->GetStringUTFChars(env, format, NULL); + fmt = find_format(cformat); + + if (fmt == NULL) + { + (*env)->ThrowNew(env, + (*env)->FindClass(env, + "java/lang/IllegalArgumentException"), + "Printf4.fprint: format is invalid"); + return; + } + + width = atoi(fmt); + if (width == 0) width = DBL_DIG + 10; + cstr = (char*)malloc(strlen(cformat) + width); + + if (cstr == NULL) + { + (*env)->ThrowNew(env, + (*env)->FindClass(env, "java/lang/OutOfMemoryError"), + "Printf4.fprint: malloc failed"); + return; + } + + sprintf(cstr, cformat, x); + + (*env)->ReleaseStringUTFChars(env, format, cformat); + + /* now call ps.print(str) */ + + /* get the class */ + class_PrintWriter = (*env)->GetObjectClass(env, out); + + /* get the method ID */ + id_print = (*env)->GetMethodID(env, class_PrintWriter, "print", "(C)V"); + + /* call the method */ + for (i = 0; cstr[i] != 0 && !(*env)->ExceptionOccurred(env); i++) + (*env)->CallVoidMethod(env, out, id_print, cstr[i]); + + free(cstr); +} + + + + + diff --git a/corejava第9版/v2ch12/printf4/Printf4.java b/corejava第9版/v2ch12/printf4/Printf4.java new file mode 100644 index 0000000..52e51ff --- /dev/null +++ b/corejava第9版/v2ch12/printf4/Printf4.java @@ -0,0 +1,15 @@ +import java.io.*; + +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf4 +{ + public static native void fprint(PrintWriter ps, String format, double x); + + static + { + System.loadLibrary("Printf4"); + } +} diff --git a/corejava第9版/v2ch12/printf4/Printf4Test.java b/corejava第9版/v2ch12/printf4/Printf4Test.java new file mode 100644 index 0000000..007496a --- /dev/null +++ b/corejava第9版/v2ch12/printf4/Printf4Test.java @@ -0,0 +1,19 @@ +import java.io.*; + +/** + * @version 1.10 1997-07-01 + * @author Cay Horstmann + */ +class Printf4Test +{ + public static void main(String[] args) + { + double price = 44.95; + double tax = 7.75; + double amountDue = price * (1 + tax / 100); + PrintWriter out = new PrintWriter(System.out); + /* This call will throw an exception--note the %% */ + Printf4.fprint(out, "Amount due = %%8.2f\n", amountDue); + out.flush(); + } +} diff --git a/corejava第9版/v2ch12/win32reg/Win32RegKey.c b/corejava第9版/v2ch12/win32reg/Win32RegKey.c new file mode 100644 index 0000000..a20a39d --- /dev/null +++ b/corejava第9版/v2ch12/win32reg/Win32RegKey.c @@ -0,0 +1,363 @@ +/** + @version 1.00 1997-07-01 + @author Cay Horstmann +*/ + +#include "Win32RegKey.h" +#include "Win32RegKeyNameEnumeration.h" +#include +#include +#include + +JNIEXPORT jobject JNICALL Java_Win32RegKey_getValue(JNIEnv* env, jobject this_obj, jobject name) +{ + const char* cname; + jstring path; + const char* cpath; + HKEY hkey; + DWORD type; + DWORD size; + jclass this_class; + jfieldID id_root; + jfieldID id_path; + HKEY root; + jobject ret; + char* cret; + + /* get the class */ + this_class = (*env)->GetObjectClass(env, this_obj); + + /* get the field IDs */ + id_root = (*env)->GetFieldID(env, this_class, "root", "I"); + id_path = (*env)->GetFieldID(env, this_class, "path", "Ljava/lang/String;"); + + /* get the fields */ + root = (HKEY) (*env)->GetIntField(env, this_obj, id_root); + path = (jstring)(*env)->GetObjectField(env, this_obj, id_path); + cpath = (*env)->GetStringUTFChars(env, path, NULL); + + /* open the registry key */ + if (RegOpenKeyEx(root, cpath, 0, KEY_READ, &hkey) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Open key failed"); + (*env)->ReleaseStringUTFChars(env, path, cpath); + return NULL; + } + + (*env)->ReleaseStringUTFChars(env, path, cpath); + cname = (*env)->GetStringUTFChars(env, name, NULL); + + /* find the type and size of the value */ + if (RegQueryValueEx(hkey, cname, NULL, &type, NULL, &size) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Query value key failed"); + RegCloseKey(hkey); + (*env)->ReleaseStringUTFChars(env, name, cname); + return NULL; + } + + /* get memory to hold the value */ + cret = (char*)malloc(size); + + /* read the value */ + if (RegQueryValueEx(hkey, cname, NULL, &type, cret, &size) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Query value key failed"); + free(cret); + RegCloseKey(hkey); + (*env)->ReleaseStringUTFChars(env, name, cname); + return NULL; + } + + /* depending on the type, store the value in a string, + integer or byte array */ + if (type == REG_SZ) + { + ret = (*env)->NewStringUTF(env, cret); + } + else if (type == REG_DWORD) + { + jclass class_Integer = (*env)->FindClass(env, "java/lang/Integer"); + /* get the method ID of the constructor */ + jmethodID id_Integer = (*env)->GetMethodID(env, class_Integer, "", "(I)V"); + int value = *(int*) cret; + /* invoke the constructor */ + ret = (*env)->NewObject(env, class_Integer, id_Integer, value); + } + else if (type == REG_BINARY) + { + ret = (*env)->NewByteArray(env, size); + (*env)->SetByteArrayRegion(env, (jarray) ret, 0, size, cret); + } + else + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Unsupported value type"); + ret = NULL; + } + + free(cret); + RegCloseKey(hkey); + (*env)->ReleaseStringUTFChars(env, name, cname); + + return ret; +} + +JNIEXPORT void JNICALL Java_Win32RegKey_setValue(JNIEnv* env, jobject this_obj, + jstring name, jobject value) +{ + const char* cname; + jstring path; + const char* cpath; + HKEY hkey; + DWORD type; + DWORD size; + jclass this_class; + jclass class_value; + jclass class_Integer; + jfieldID id_root; + jfieldID id_path; + HKEY root; + const char* cvalue; + int ivalue; + + /* get the class */ + this_class = (*env)->GetObjectClass(env, this_obj); + + /* get the field IDs */ + id_root = (*env)->GetFieldID(env, this_class, "root", "I"); + id_path = (*env)->GetFieldID(env, this_class, "path", "Ljava/lang/String;"); + + /* get the fields */ + root = (HKEY)(*env)->GetIntField(env, this_obj, id_root); + path = (jstring)(*env)->GetObjectField(env, this_obj, id_path); + cpath = (*env)->GetStringUTFChars(env, path, NULL); + + /* open the registry key */ + if (RegOpenKeyEx(root, cpath, 0, KEY_WRITE, &hkey) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Open key failed"); + (*env)->ReleaseStringUTFChars(env, path, cpath); + return; + } + + (*env)->ReleaseStringUTFChars(env, path, cpath); + cname = (*env)->GetStringUTFChars(env, name, NULL); + + class_value = (*env)->GetObjectClass(env, value); + class_Integer = (*env)->FindClass(env, "java/lang/Integer"); + /* determine the type of the value object */ + if ((*env)->IsAssignableFrom(env, class_value, (*env)->FindClass(env, "java/lang/String"))) + { + /* it is a string--get a pointer to the characters */ + cvalue = (*env)->GetStringUTFChars(env, (jstring) value, NULL); + type = REG_SZ; + size = (*env)->GetStringLength(env, (jstring) value) + 1; + } + else if ((*env)->IsAssignableFrom(env, class_value, class_Integer)) + { + /* it is an integer--call intValue to get the value */ + jmethodID id_intValue = (*env)->GetMethodID(env, class_Integer, "intValue", "()I"); + ivalue = (*env)->CallIntMethod(env, value, id_intValue); + type = REG_DWORD; + cvalue = (char*)&ivalue; + size = 4; + } + else if ((*env)->IsAssignableFrom(env, class_value, (*env)->FindClass(env, "[B"))) + { + /* it is a byte array--get a pointer to the bytes */ + type = REG_BINARY; + cvalue = (char*)(*env)->GetByteArrayElements(env, (jarray) value, NULL); + size = (*env)->GetArrayLength(env, (jarray) value); + } + else + { + /* we don't know how to handle this type */ + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Unsupported value type"); + RegCloseKey(hkey); + (*env)->ReleaseStringUTFChars(env, name, cname); + return; + } + + /* set the value */ + if (RegSetValueEx(hkey, cname, 0, type, cvalue, size) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Set value failed"); + } + + RegCloseKey(hkey); + (*env)->ReleaseStringUTFChars(env, name, cname); + + /* if the value was a string or byte array, release the pointer */ + if (type == REG_SZ) + { + (*env)->ReleaseStringUTFChars(env, (jstring) value, cvalue); + } + else if (type == REG_BINARY) + { + (*env)->ReleaseByteArrayElements(env, (jarray) value, (jbyte*) cvalue, 0); + } +} + +/* helper function to start enumeration of names */ +static int startNameEnumeration(JNIEnv* env, jobject this_obj, jclass this_class) +{ + jfieldID id_index; + jfieldID id_count; + jfieldID id_root; + jfieldID id_path; + jfieldID id_hkey; + jfieldID id_maxsize; + + HKEY root; + jstring path; + const char* cpath; + HKEY hkey; + DWORD maxsize = 0; + DWORD count = 0; + + /* get the field IDs */ + id_root = (*env)->GetFieldID(env, this_class, "root", "I"); + id_path = (*env)->GetFieldID(env, this_class, "path", "Ljava/lang/String;"); + id_hkey = (*env)->GetFieldID(env, this_class, "hkey", "I"); + id_maxsize = (*env)->GetFieldID(env, this_class, "maxsize", "I"); + id_index = (*env)->GetFieldID(env, this_class, "index", "I"); + id_count = (*env)->GetFieldID(env, this_class, "count", "I"); + + /* get the field values */ + root = (HKEY)(*env)->GetIntField(env, this_obj, id_root); + path = (jstring)(*env)->GetObjectField(env, this_obj, id_path); + cpath = (*env)->GetStringUTFChars(env, path, NULL); + + /* open the registry key */ + if (RegOpenKeyEx(root, cpath, 0, KEY_READ, &hkey) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Open key failed"); + (*env)->ReleaseStringUTFChars(env, path, cpath); + return -1; + } + (*env)->ReleaseStringUTFChars(env, path, cpath); + + /* query count and max length of names */ + if (RegQueryInfoKey(hkey, NULL, NULL, NULL, NULL, NULL, NULL, &count, &maxsize, + NULL, NULL, NULL) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Query info key failed"); + RegCloseKey(hkey); + return -1; + } + + /* set the field values */ + (*env)->SetIntField(env, this_obj, id_hkey, (DWORD) hkey); + (*env)->SetIntField(env, this_obj, id_maxsize, maxsize + 1); + (*env)->SetIntField(env, this_obj, id_index, 0); + (*env)->SetIntField(env, this_obj, id_count, count); + return count; +} + +JNIEXPORT jboolean JNICALL Java_Win32RegKeyNameEnumeration_hasMoreElements(JNIEnv* env, + jobject this_obj) +{ jclass this_class; + jfieldID id_index; + jfieldID id_count; + int index; + int count; + /* get the class */ + this_class = (*env)->GetObjectClass(env, this_obj); + + /* get the field IDs */ + id_index = (*env)->GetFieldID(env, this_class, "index", "I"); + id_count = (*env)->GetFieldID(env, this_class, "count", "I"); + + index = (*env)->GetIntField(env, this_obj, id_index); + if (index == -1) /* first time */ + { + count = startNameEnumeration(env, this_obj, this_class); + index = 0; + } + else + count = (*env)->GetIntField(env, this_obj, id_count); + return index < count; +} + +JNIEXPORT jobject JNICALL Java_Win32RegKeyNameEnumeration_nextElement(JNIEnv* env, + jobject this_obj) +{ + jclass this_class; + jfieldID id_index; + jfieldID id_hkey; + jfieldID id_count; + jfieldID id_maxsize; + + HKEY hkey; + int index; + int count; + DWORD maxsize; + + char* cret; + jstring ret; + + /* get the class */ + this_class = (*env)->GetObjectClass(env, this_obj); + + /* get the field IDs */ + id_index = (*env)->GetFieldID(env, this_class, "index", "I"); + id_count = (*env)->GetFieldID(env, this_class, "count", "I"); + id_hkey = (*env)->GetFieldID(env, this_class, "hkey", "I"); + id_maxsize = (*env)->GetFieldID(env, this_class, "maxsize", "I"); + + index = (*env)->GetIntField(env, this_obj, id_index); + if (index == -1) /* first time */ + { + count = startNameEnumeration(env, this_obj, this_class); + index = 0; + } + else + count = (*env)->GetIntField(env, this_obj, id_count); + + if (index >= count) /* already at end */ + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "java/util/NoSuchElementException"), + "past end of enumeration"); + return NULL; + } + + maxsize = (*env)->GetIntField(env, this_obj, id_maxsize); + hkey = (HKEY)(*env)->GetIntField(env, this_obj, id_hkey); + cret = (char*)malloc(maxsize); + + /* find the next name */ + if (RegEnumValue(hkey, index, cret, &maxsize, NULL, NULL, NULL, NULL) != ERROR_SUCCESS) + { + (*env)->ThrowNew(env, (*env)->FindClass(env, "Win32RegKeyException"), + "Enum value failed"); + free(cret); + RegCloseKey(hkey); + (*env)->SetIntField(env, this_obj, id_index, count); + return NULL; + } + + ret = (*env)->NewStringUTF(env, cret); + free(cret); + + /* increment index */ + index++; + (*env)->SetIntField(env, this_obj, id_index, index); + + if (index == count) /* at end */ + { + RegCloseKey(hkey); + } + + return ret; +} + + diff --git a/corejava第9版/v2ch12/win32reg/Win32RegKey.java b/corejava第9版/v2ch12/win32reg/Win32RegKey.java new file mode 100644 index 0000000..4ff42ae --- /dev/null +++ b/corejava第9版/v2ch12/win32reg/Win32RegKey.java @@ -0,0 +1,89 @@ +import java.util.*; + +/** + * A Win32RegKey object can be used to get and set values of a registry key in the Windows registry. + * @version 1.00 1997-07-01 + * @author Cay Horstmann + */ +public class Win32RegKey +{ + public static final int HKEY_CLASSES_ROOT = 0x80000000; + public static final int HKEY_CURRENT_USER = 0x80000001; + public static final int HKEY_LOCAL_MACHINE = 0x80000002; + public static final int HKEY_USERS = 0x80000003; + public static final int HKEY_CURRENT_CONFIG = 0x80000005; + public static final int HKEY_DYN_DATA = 0x80000006; + + private int root; + private String path; + + /** + * Gets the value of a registry entry. + * @param name the entry name + * @return the associated value + */ + public native Object getValue(String name); + + /** + * Sets the value of a registry entry. + * @param name the entry name + * @param value the new value + */ + public native void setValue(String name, Object value); + + /** + * Construct a registry key object. + * @param theRoot one of HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, + * HKEY_CURRENT_CONFIG, HKEY_DYN_DATA + * @param thePath the registry key path + */ + public Win32RegKey(int theRoot, String thePath) + { + root = theRoot; + path = thePath; + } + + /** + * Enumerates all names of registry entries under the path that this object describes. + * @return an enumeration listing all entry names + */ + public Enumeration names() + { + return new Win32RegKeyNameEnumeration(root, path); + } + + static + { + System.loadLibrary("Win32RegKey"); + } +} + +class Win32RegKeyNameEnumeration implements Enumeration +{ + public native String nextElement(); + public native boolean hasMoreElements(); + private int root; + private String path; + private int index = -1; + private int hkey = 0; + private int maxsize; + private int count; + + Win32RegKeyNameEnumeration(int theRoot, String thePath) + { + root = theRoot; + path = thePath; + } +} + +class Win32RegKeyException extends RuntimeException +{ + public Win32RegKeyException() + { + } + + public Win32RegKeyException(String why) + { + super(why); + } +} diff --git a/corejava第9版/v2ch12/win32reg/Win32RegKeyTest.java b/corejava第9版/v2ch12/win32reg/Win32RegKeyTest.java new file mode 100644 index 0000000..25254cd --- /dev/null +++ b/corejava第9版/v2ch12/win32reg/Win32RegKeyTest.java @@ -0,0 +1,35 @@ +import java.util.*; + +/** + @version 1.02 2007-10-26 + @author Cay Horstmann +*/ +public class Win32RegKeyTest +{ + public static void main(String[] args) + { + Win32RegKey key = new Win32RegKey( + Win32RegKey.HKEY_CURRENT_USER, "Software\\JavaSoft\\Java Runtime Environment"); + + key.setValue("Default user", "Harry Hacker"); + key.setValue("Lucky number", new Integer(13)); + key.setValue("Small primes", new byte[] { 2, 3, 5, 7, 11 }); + + Enumeration e = key.names(); + + while (e.hasMoreElements()) + { + String name = e.nextElement(); + System.out.print(name + "="); + + Object value = key.getValue(name); + + if (value instanceof byte[]) + for (byte b : (byte[]) value) System.out.print((b & 0xFF) + " "); + else + System.out.print(value); + + System.out.println(); + } + } +}

        XHR>}w zBZ;Uw!}X`gEw$~(Qz5ZVLpPI-K;UzNo*N8rTf?OY%gwPr$Cf8YOp5>BBf~-I^$*Pf zBdVBY1d5or4~p|f+$^^3MmjldJN7Tg|J^$U|Gtqff;uD3`|g|8L;e5iq#GIhNBW_X ziIa=9^MCirRCJx@)lhirNww9Ikbwy-L4WSSuf>5Wjp$k>{(l`x!_fjSZe&s|$_)Rl zNnucpFlBW=>i44AdGF-ONHZy$avdZSES_x9i2k5p@NRQ+ySiL$7`Ezqd8+9F)e#mR zMp#NvaEK&maq$X#fRK9Mno(H#S+Nrk5(#U4`eOix|I+;V&p!-AH<$9Y-6B=Q_4h5w zTyleY)oOJ%nuGs`vUiNGwB5EvQ>ltmv2EK<#kN_oZF9!9ZQHhOn-!ztn`lG z_IJ*Y*;-nDK7Dxfw~vS*&W1y)7IMB)Q8d~X=`B|5F2mKYB#2){(Zb}-HMoex*iZvb z584jo>)Ly8^$-e0ba1U$FGNL^9wvs2dRQ{7a(3Jk=cr*Ai!DJ+N0hns;;LG;n{;qe z&v7Wv8d9`e#<_lpgt-PJ(ybO+w@7E)gEh*SP%JDq5)q~MeCcR1O@z6X8rw8_>s&EJ z*ey%ce=wSeQCo-g58bMJ{wCq} z^pybtj5H%w>yWj#IDIm@l0%4q;Ak$T?rz%6s0)=YxK8BjT;XZTove|ibymZh-r<)w z<%_o5Kp7(cUk}M5I-Qt6h+m_gkW?+#c3uTT0v9kZy3OmP!loFU)#nT&t+pXUL3w)8 zeaD*PyScwol8Fw#Mg1J=Hh$FHO=Du^`2E~n%Q?3xlQNE=w3 zVJN*{>I-`ff8soK_Mk@U0nH)TJM?O4rWohUPa4}l(I;@|U@|sqY|&dHJ6tPzuJp_b zEHV$U?=?r}bnHWYyG?fV)g@cwf5{Dns79qH-wZ>EDe6N9N+dckleRMrt`XFof! zFC26G=knf$1i_6~ugT z8m?wYgzo48)!)0G(o)|LYmVSuG{3QeWWy5yd=PjFWEM~Ko*rU$Pg4dc<&H4@Am}DJ z?R^Nzx*{1&V0^_2{NXhY)ZPtge!Vr36y;pM!73VE#& zO@q9(OTtD>@1_R3c_m{9lRJbhBxDN6vN~u_Rj*6)Uor)vrbpe zTcd}iOWLh3lDd;WQ1m&dzLJL**g}FZFN1#HL)RPv)RH6|95?42l4G+vuFuj>Om~p` z`Lq$}98+6eQC~3etJ#M#fE%OFQqES~R_{Os#w4D%ELUB({wfD_mbca2BE_yDbb63d za>Z-E1%P8TMC;}rKUMZ^-Hx`}j3Ud~>&1WWMj+T?941Cup^wlx%K1b1G_FeH`DEl4 z2j&Ki)E;R+*GrTwxhgvi2oD7}aYEFZNs5!pTT>pB{@L+tr}ZZKX+1TNA1NlSryUzn zEG`YLSY;#8P12)z;xnud@GWsbf#H&Y%S}b2GOzgFIg!dDd5I@sO(KL_ z0u)PgV|N#aXW%@GAtthiev>%OhZ5cN(0x`V+OaAyM8lMJo_nj0@bpud(iBjho8%K zKts9?n>PzCX0Yml=muF9TS9nMlO&`yM1cz2<;uuc~A%b}m($3UbAB znkb`(|BN6>04|-g`lOB6@I4_rEcP)S27cAszfn56dxN%(p@4uU(13tQ|2L!kSA#83 zG1XCAKz_eCOX0%%1`L41{zin(59*f&P)!(7?D^z*yQ{zjktfIlJ>vq$CWK5R-js9W7{bJ>UeXHeYlJMtx z8(6o4Qc4h_Z3O0$n{MBfL9;ZO#zyldRFbS_^JEyNOaVZ6w_`i>;Fbo220N^FeOy@Bycq#=eLQ?RdR5u#B4xVgVJN zR@cSA>VLD<9Pj{Jtu#$A;k7LH{kcYrNlX*Kjx}ql7qI6qRSu zz7|m-vqKv${GDB6eV5nyU^1@POz+!0jN0S9bqrjjeYXtl+dW}8XSch=?NpN=GyW?3 zFQs7KqkUP|sA}zpJ-=|;cY4xlpUc3kU9TD?PoB2=bDZ1j@0?jT?{mLgwp@2&;*#xy z^tlnh&#Zk9=oPYjR_BIWB&7BYG~hxqO{vg{lKNRjXDP?Di7>72R=ohu1R7zZQvnal z92D+?7c(E1qeD;)a4V#hQIP5>?SWFhM{pQ4IyOgy?4xp)ACYB~EgEW$TY@tSIUZ3= zpQQQK#%Y{=>0iesFqNEXj&6;#N9sv@f2|m;eY#U0GRQ-+E+xmP4Cz~Y^JZRS;CIJ_ zp=L%Tze8k*%{)UQz>gS;c3<*an6OjQ8ak~d4D|lWjvFV|G4)uqG0-Iu0*pZ~ko#OY z!EY#aVmhU>cGcgJzG_3XQ8-OmBp0$YkxfSV4lYVf?jAuWCCL zF%%GMj~qG*dRXVt!f$I&fpwwk=_U>vCOLPiy^zy@HiDtHm^KzOt`%u#%MzpzqMX?( zd3T^tI4MeWheC+2JSHv$9SrJqBtQPG+d5{-f*wo=9$TwzAP*_p4*)=C9D9{`@QAQQs#H%PgiOi$vKt>G z^ZW`#a5O^;>sDb|seoi+)xUDJ2juwKnFrnaNmXS?P#MB{^@SiK;)H{Q_@1d>!f& zQ8KAaVsi!o$8LuUCfLnkg=msNgXTnxNq=%#33-2LDO~v@jABk|Duu@$?DEF5ftjs- z8vK5Rv&#zJYVNu!4W$wHBTK@(aIA1x$b`YXc!%a?1G`3VG!HFAVDUip_``##)6yG3 zU(1MU-PnjLOeJL)nT5=Acj(m0Ib95BIQDSFn>b9F4_Y*Ic79M~u~)d|ZmK3RX)t-( z2#yPFIc0_fFLZ-6-peWY!KT`_+@weJEWfX)n^i9an54sv!iwaX%hMxHL5dtfUv8)F z0QjnFEDc|e^kUn2f72RWPh2G3W4WAo>xmH5Z=(5pNJ6`B#bSr#_o#$$Q;1U6HVe#j zBTz`nSL8HJU6>+xj!0@sD(jAL*QBVz#~RB{2CY+s)J>+b&Ki_!theLR7%|Ysm`UcB zIV-AJUfei-Ue!>A#psn+h>I&Y^8w-b30wH38(>gXKnMonqgi!N4tD*lt4sT{)$JMr z;IFpLOfX=q2(_i%r>7i#znyAmn~AXZlw`~P5yL4*Hj&1d)^0scyG4GOL<>V!&T>?A zUG$*NN)To5gcu1*?r38J8vp40<9vYb!)jUi*}10^QCu{`X5AE$#U2ZibI8?ZPc^*T z)?`P#u74&Ju1g$40cJs3qCrBj&AFF6U)trlOj~q;RMt^Tdg08{bRkK;!GCLoSZlZ} zkHK1q^~SOpSKZU80d=4)r{XT@tQRhfs{vEsT$R27v9GppsCS^o7oR((FsW~-`x$*z z4Z5s(r%AG4BU+7e$xK#nZ`l7mP9yh0WFYSGb>WS^$wyQZ!^5s!KghYnDO|l2Ge2=p(T5F)xJtK9f!MYk{DMT zDo{E)&{a+9jGBzhY z4_25u-2u?H)!zp^zHP*!^D<~;Y}el4H?khsPJ1>19Q=V(O=B~IVkrze(#i2EoNUj= z?B{iwLX~=8N>fwCnfwJp_3Cn>I9dIzPzf2}NbIIo>N^eyVc0^IosC-c8x7}U6Ut-{ z)?UrYRSXkT!B`zh z@d(vWg0NE9vu#TaKQD!JE+*?DU(Z|A4dOuMTo^c3RJn1-Zk1$nywRgED#@6*shexX zJ=*5{Ha`n(31Pa$Y}#~FitT}v=@efzrw zI_h4K^1;eQzA=@TD95c;@VOCUaXuLC9u3rEd@JQM4N)z0umob&DhPs6!x!atya771sMV5A=-yV)D!k*a;?-GlAjg$o@gNQm+ zt;;3R&m}^{HKp$2d+ZUjPz?*aP0R&Ix<=QQV`(on(#uMXSW^71t1qfO&@~}`AXRO){xjPjREQ)Zfo9Qo! zW0@L?x<({$N2WBb6Ei=+J(dX8!dzWIQ+`0vYfp?glCJ}1fiFs`8MM5z^9opb43^a# z(Q28kV!-TK_~(JrABv+W)}>hUCmA2|bErh|zt!r7F8Z`e4yG2S4z7ReFC*loWH9OB zJmUZs%QU!Bk5tqE7J$@`ayQU>`H~{bu=x1Uyt?L)6BbN#f$g6Ss062wQWk z`kSmg*bN6{Cpt2vy}fAiFY!4Bg6EY*0zJ<@*r|a8aJ`vJ(DO{`z{Q8^Yob*K_4~GR zVgc1jNz#3qKtKXSNvz_n7A0YWAy{8Y{E9xwM7)E>NI~R2so~4@tURnmB^W9#xP)3I zKs+!*X&&p$rC5K-KMFMGclrz*3NGf$Dti($|3ljvEPqFB$5wS2bUZrJ6nz$8sHKi=P>)*?z=> z2zw0n{p>W#HG^io&&vl3-v2sKRP{k<(*49=;d98q@mKf@eDduDtgY-F>~u}79RB}< z^?$R6jF^c}F;}F3sUJC@d|pV3yTV%FCKj(Dn9!K>f^*G$YMk@%gYk*=0asWw_vD%} z%~xMM5P$Z%7~|0}wc5dTy9-b=BC+X% z$uu%@RBJAuf;DI!T9qjw^Oq{hkc@r;@Gnmrc)vlHB=SOI*^(#)HvGJ58%-95ygeOe z#Cj(s>U+;>Y_!6vtp7=(k8SIQ=#vxvEml$LR4+LXmI6U))`2s7w3x&UvD%n=#Kbq& z5>5{h%0WU#XqW)(_~QvZn@_wzYO#?t*ppOoSYZJ$t9UOYn(HIf;UVT8n)R>1o%1nJ zmVE;E{nK&T{tCFiHQIlh2LBsu2{BXBpKd(ZHPS_m&t!^c>03zMM5L&8UDP3qpFb_0 zU5sjSF*!(7ndrE`0R-C@gSw4W62t?P)CsS5CMXBO9zQnjayK!R#qIpi^#Qcp8^l$s zTBo}a=!{c}vxz8P!z2#CHq|T0%MuCt#z8{W;DAI*AkIO6HB!E*)=`P`+JV2{St?5W z0&u9<#5YiHC50Gh4Bd~KaaBoGnEBqKVD-zV#&5?XlZA2Q#{giXk;U^Tv=Cji7i)Bm zcMr*AJX2>oRFa7=cG}pgZ;i6Vp0Ikk9gB; zu5blrn;p?}Ty({Q2x2^It+90KhI{s2{bb0g@Fr5Y?TkapuqXT3*U{#LFg_S%yTpNtj#*odHXT3*pgy49ZvuU8bWPdiIN% zOUtiJ!q4<)jIf@z)lrBm(1#N`I6vGQ|^R|X(y zYGrO}W&EF=H@ZU_nD5hh53C9O@XQ4CsU+unBarDaFy;mMEo7f{+k1~WB#ew9Xmvbr zC=sA=yTP_?!;==|sVy$X+1YO=Mm#@UJipoiDj04|zAb}Sixrceg@=NkAt0`$jWGf{ zLM%vIAXb&*7Ly(9w!e&r4JgFPaxgDGvfy_$@!}zITvH>OaqB-(cw*JIDffw{3)3$8 zDFLItS)#ly69M+L&xCVQ$+!<~irFEHOPajha`L}SC3#-TpDPsQ9-w#u>434TvHUQ}^~p^qmSg{B zmuJYHQnm|70SyJSpO!!=8KyEkq$y>f{Q0FkC-KWKHM2LwfB4>?rw`v!XJh+(c9hSc z`Qxvi{!`4t!Bqc$51n#te_o#(6_uqDFW4_6BdS+qcTf-$kEvL$u7>X<$We2Us?NX( z&jY}#Z>XnhzDxQ@KR9M)oL}7%73Yrg`S>2LAT|I;SSVF{IeR%$MS0WsVE5U4ikYUQ zqHnDP@f;!271NERyEWrkTr4!3u~AU`IR*8#mi(5iE^vrDL;NCMOBe-thuTrw4zZkK zWMJZBzpkrkCnAoA!WI3A3T=^#|;GYqZ^RG}5u=pI9|7UlIk&?#bgA4e%lLavd z6W9;Ki{Bp`6C8mCf@G+>AMpjkz)*kJ(|xvv6Jsj-f_{fglaNwE&Bh0dz+Bo_egg+z zP!z?Yv{a(1(~bG|*Y6`{pNC~CydY-GMN5}+-M&6d{uR**!R4gYVzy@wJJD=6C`=I<)-Im`7NqY45Mf%#BQkN6r=_eF2u}G3Hm&~$enC!}h z7vi7T$aLo(qC8V=Xz8MF8jjZ5;SB*EAu@R3I4R8WZiUUU*v?%|ND^q8Afg1|r_DV6 zfkWxOFxUlsxw=DuB3rM!5(v4|7Z*u-_U2r9iQ`+n+J-+LeUSAXZZSG&=n1{+kS+>( z$s$}og!3gm#J-XqloWhlR3&Wy?gG{vmpLKLuN) zcv6wPN166&mioy0Q$TB3Gq7&S%5T9_J089JC)8~j^d%#i(?Px?b)s=x{M2vU}N5Lt!S z^iF4!BrovCd#P5AB^xH5O(J;p_TpaQmP=BVTioS+hD4K`gbB~|mZKO~cW*b)>L4XB zd(|4bIyuy0A|y)m-(=E?`BfYuz`Kgs^N|jE`7GS%h4EcY+M`v@X-&WZ0tE@C5c4b@ znCvlDWRBZTQsoZQ>!%Q^=O#aZ4P{I@WJEkeX$^S|@=t|$FvS}8-k|EoWr=~ow2{Cn zu_U}jt+tA$Gi=Jug=!=ew$6`3pcl5o$LTPzWIQo2Vb+kUMdFDVhUdKt;B8vvFkT#T zjg)_Rmz_10tV6XQ=-d(+6>6fQnbIfj zX)kZO0$e_cshSzkmUQ-Ci8D{LR8$4ghYKMS87j;M)!u>r)iV`Sw&Dyw0g?QSmyCY} zilnu!!Dp)aH#idhtGa|6`sgd-gA?RCFv^ASTSb!w6_C6lO#QrT>Pc>{rl3BH;%B|R z5_EMD(*G59TL8VN;Myl7Bq(DgK1Z!XF zEbBi|`{PP%qlkwhpQy=yq9*@WsQn|$iT&vh9QFSY5B^)u=|6_qikJ@ZuYanJexfk* zT>4aSCzN;pFdajp06F~HegX^&(l}ej+LZ5gb@;S8J9EJaI=Y4j0wK;SoYY7b7gH(j zQ*Sz(n^`}B&h!TcpcAp@vF6b!YM4TUxJ~ttPs)BneC0GIYa+nbsI-g<3ZcUK*|oWK zat{``8#6n~f^MeqPMu{#yU%gex=4o2)aVZVq|6iz4b?eY8yEgOt9j!kD!vf)4SUxi z@|l+2I*7vP_%Q~8i|0^}tfMnJhZVmZlQ@F3$nUI0iGbM(F+mJKyckx)qzTI)+n3N- zq<}wkBH`bIKEig$=kyzs#D6UUfp9-X93AG}q$>#{kq#LL`~0@r@P9OTpJ;tnDSvmtfv8Dg zcmh;?Nl7}EV2HrwVh5D5mhM#jsC66w>J_>N6yj%@2qlr#T|_^LjpRi%*sEvkMDp=; z?p<4TDKiE1yE=v+IsmVnq$aVS1K&8m2rw6$DOcHPmJW9u9$nJ1`pEx6y#sCddcJe< zT@fCh*MrmjAYhB#3tsJh_w7QW+33a9@w}N!O%JH|q~K`eyGzMmIt~k>UB-4QQwO;0TBX>W4B`4+L9MT~Tu*Vp_pjY-i;7(R zfV;Zgu$byW81qq6Dh~4FW>0$RpkC8TR(NUfwHO)fb+f7ck%6Db6$ zNnSBb;fD3=YR4lK<==@S8u6zeAdaCxG>O?sGm5XH1l-rPlSzPGI}2Zy#qtA_F4gMe zz&CNV4HaI?joQxo)ut+G*O1lBF@`=9Oj_iio_eCcvi4BRecp;y)?%Sbmttvuxa`160LSMNh81|ws!s@2 zrT~w-m^N~A=1$X=7Fw)Zk#r(K=w(pmR~3>xoNdI6%3qiQ3M~1+q7qOTB-8L@f^#IS zOVUo0^M{@|eNHioOYh`i1|+!*Oxx!%Y0Oxj3$FKG-P)yq4$$p7ie0p<6O`D8TFz_U zJ*S@N`fjSj_L>yMa-?gKdMc8yc-_d&nRxQIi9IVEn1m|zbh72hm?lIa9|ysHbrDuB zMgbfhgJAgtL)rKUlQyzC`3AmGVDxp`GYy<@26^);3E`o9fF6K8e<21E_y$kd-28P* z$=_zDU_nGZMPU9C0b4F}JlqBGy9)fB0Y;ws5QJ^7Zs2z7$EA(Sz50 zJCePmtDptNGs<|0U5GM4rnAS!ssmBtn{=-}W;yTRlOO`$;ygxhoyh))ITMr+kC0+z zIw_SKVVznUx)44U9R#`B{BC?REh(K`9v;1SP10M=N$RK>kdnPVs~b*d2W(W6P1vAP z6S09l*xrgGldzBWxq$}<;#!A1C##9FuY_ohG-2ZWZrJ4d(wmRg|C$CN$VI^UKjSI) zXFQeot9bfb;=4F+_#T5%3UOT>;POi5 zv%Y)<^6u>)t)ko1IJZh2UbbDv^Qaeedf`eG9U6{}tx!6!Eop#ti+B5y5Y>Y%7y^I8UvM}f(107}4|6{l;h})3< z43|S60&C}BP$mZglwR3nh8n6MwB;E3Wc+voP~9ZjFz2d+RDU9-D@c{+pOBgABC)Ig zh_H!1CAm}}t}of1%*bdw`INPlzVi0GH-`%3Y)c!YJ5H`JP7vhUP|HA8AUD|~OA3k- zuO`_iy$93R^5Zd<({TrE);`O+oS|AOFsAef6yLdz!DB4R^KjW+089$r?!+Pl zZ=1R&x~gM0Xx*uKt=5_UXKO_e^dRBM=oP&{F56FIQRNPjfXIb>%1lR?-+->M2ds=U z=3*97;8l@HgJ#;VfeEQcO%|Jn5uUo2%m95{gcAvJ4-G8lGq?Jgbe<$Z3htnw+^4%@ z{8fCdz#k-`#@9%4&)cY7%y_v|b#0gKRme%wW2NRwuB6%hA-;0+c(zE8P3Wv97ndN< z*$9?DwYtth@C7P~dsX$@*?5a5TCl73So>2IEh*mxL{JifL!i)93Uzk5Zp@e`KBFD4 zM7cx$98#wk?qY0+;Wz`=)0T)XS$g8iMRN`poM#ZIbyJBuG?c&gMK~ovzP15>)sgt* z56}BvarVne#&D^j0X*^I+u>eL@QVmKOn^7>4hlkPyu1h z-%Nb@iK?YzD4dol9O(@bcnEAM7()T?j0&m*BZkz>D^O7dfwn2l$tW3-f=%QyhN;RW z>q2(fr=HI-l<{vr%Cs*BhDwdf&2}Lx>J>1(@s)_(+AByco@GA)8zWu&(8;iUm&3CAmVy2YVYdnCW9 z;zzWDwuh{MPe*12P;`Zbp|7@ZZi}H=ofNO}{?jP%kKOM|o5rethA8__+ZX&RyI1(H z>fF&z*W!PjNfpGj{i)3ZKjJvendmp?R!kHf;OEHsu7FSV5T$t4hS+LT5>__0&D9`K zczj?DN;1(E$jx-=KU!=ioxPHinu?5p)=b>UbT&u%(ZdX>;7>!C#09xc5s-h4#R&js zAdtZ7W#sc0al;$dx+uG9x&AZ}0nBF3Qk=sbs`pf&LGU8DZ96OE-RU@2h>&6RtHjDe z#U~!Ed=8}ojz!i@zu684eaqT&Tc^rrrNBP}t3iLkz&i~!9+i=c=uCLZ;upC?E>%hIperGPr%4DK|5^vBTS#Nn-`pZ9+>whY{u4?V7 zzEA9AKdZa{H*GZfzwQ9p8Sj`h0J%$PPEAA*tElg~;S| z+1W1eH}owjFPd9*_btRF)hYp{IE#Vi58V$&cvDg!SPQ6TL^~rsO>Sg6^Jn2$Ls6~T z!ndlRmbDtdMo7MH$noE?{V{@yENGE(zb7kXnP5_eI#~OujrPTQ3r$=-MqEK}tnGSk zktMmBRemN~o!hW=9$vNV#gkdSh=F^ikkV9;B(77sP9T(Q+`+=Bg4~!Yd1%yS31q#` zB^gj(MEw%rT~e-rMB}vtkV|KnCmnUO9qOTkt-2oc_cw(_rd*&K5@->K0agm5A*7M> zf_Wa7(7ETWui#%-xfot9ae02z$r_@SEnNep4sfCXI}_(s@6PLTk1*Wq5X0F<5^OMo z+D}N|t^!V~cu-w6*ic^=z9kjhLqOcR<;2Ot8aP6~xIHi} z3El!1@B&#~upQNJ*+q*8-Dtp3PU!pUil5ccN7W2}F!06|6(3%=2Ruow|C>cTjqJB- ze|qxMr$u}U&-`b#Jp2EeEZftHSvmYs!}|ML_P?^#dtqC(rP}JvT&Rv5*>G)qrOule z9+6qDsr&)3zg%VET24lx)r8ZUV3p@L+-{e>@2n&gxiMf@N*-YMumh+?Eyc{rCR$U zP`bXYb>RTK;t+2bhTlkPjswflsiVqsw0UtNb+M2hiyEAI)#OBG?4aSsu&g^>zTgS^ zrd=k!GE#fjpEr3MdWCx{9!C{-kT{n1vYsSyPQx$Wz)R%(!yKUk(TS}$IT6?aEVFSwD2YID-yo@s1gIj!XOMXeAv(8f6UvVo(M z@Uh zJ<*T&EUC;=jz8ghfh{w{)`m?$OsR-$QsGObu8i@4qGo$BHZKpk|4@UE6?-APYoSGB?=kr%Gr7H+;~t<> z0Y@p#hiA(9DRwFe1VZK`$Su$3=UQ&TcY<$4t2Z`Q`Pt#o#aL3)uy z&dUD~0Ox-FPx?rI@=ik0h)pL95D*Um5D?S7EDxK7Y0<9z=L`u*K5a%!MdM`>K+Y6Nvb)d`GdgI^#&lqL4j6 zsgzB44YiF)w^VxH0!m-V19yJn)GqJyhz0+^(OE7qG^M7w5!pt3K3t8kB(H3G%$I3ADDDC4iH z02#2)sRm2;$ka&F5wHtR7VI|EV=nB^Sm>XLeJcA`O6;#0us?5ietn7GyChy>&2P7U zzJlfPpal9l^>`h1^TZEiex2*#E?4?Qirb0(BclHbT^Drp}&YwLFJ zMgFwt-~l%DTHtj!D(UN^%4-_#$HkEM@DuLKb(Ys_5-cx7wi@J%^=lNCmwI^Cj`zV@ z)WMZKuh-5H?ZN)X(-kGJ_VwNp!dsc$J;o7;2md!4S)@n792pnjV+4>d4vZ zxHCY%_w2oPjuenU1b-lnv1)Zv--Hd^=!eKqec#5hg#v3oMkMB`87EDA>4*FRevDm{ zoL~}`8mZ6DBS#?{o3Ua|Tw%kI38%Wgx$0Qoz&dZv*~mHLwEsg!M#D)@jR}V(ufwR9 zr>2iI zL?HY08NqFiHvi$GQQyffs{47>b=vwE`Ko?^FtIyUn$yU!DDb7CpB};oCK;5B`$P<8 zrM}44%06=1HqAcT)OINn*_dYoReieKQ1(|VqcaEAylsYc-xr>M?PI2_>L>$c)DMvVOMPdah5G?Y>Y zrWwI2Ma>o0UMyzJTqBF=g;{Kw#vz3o(aK2mu-!p^-4+}ShKy)*sFeP5HkLO8J9$E7 zerkEUig3G_)X*N%zQz5@qK|v$!`s*;;S=(I1+l4Z156L8vzXFIq(het>j$Syd5v>E5E2(SIUdt8<0u2AvzK1 z4Ky1Uu-9`T*q!mI>x`Z6&MJ(ZVJCsC7ZmUR&b^xLWmL(P!5+!M6^S*G1j5lH?kv3AHnw18tV@hjwe4+lve#(Ig@8JAGtqPRL=ZD zO=>YfFrQV)|E)&#y5%X)uQS()W%awWy+9j#jo?h1mo2*ZE!{dbdt&m8$*VyWL!SRY zVCK=;O?j^-IpspVWVH0?h?ZJ`GKZcRCB05y#d?7udLaxbM@i#Eyx94y0!<1px-$}u zZ$(|1)*|l)l?^rK4GDMMaB`Re-nLc6Y2l#oMW8~&O3Fk8JFdq1LE+iBGQ0iKcM98g zJ$B;(c@RhO5tb5zPoAY!BeB%UMyC18sv-1R<-K327Fo*|D$Y(I)Y#n5 zUFId#SHvk~cMdb)6*8uRi(-X6x<%mXYFt2dfUn{XTL%`JRtx8Y8=c%*Tj`ccJDJ{!pgevYb=~eo6STb8& ze;1sY2wsd5Yq6wBTTIKg6{b|K;Q6%{+bdZhH4|$HUFy^r4lE6j$Xz0SZ#6-Z;;BjD zcVqZ2(b^SAF0T(=1oFU0LiGm9+OA8AP03-CM$RFwUPoSA!<^0B23n*@{2n>29&}N9K9MeS6e(3f!4%={J9{-QMhcx}q!=ek<0PbSJ1G>!pRncCY0}^xk zz+KV<@_}elVZybG@Zxl4FlwQR5J9e3NDcTr?{T)}75%gFE%h#~9Y*1x40y_RSO1%W z`4#K$DS0fEA>#<_GjXBl3MChG>Xx~Zs4qfwG%&$V7+uw=s@!jMw1|%luD=(*b6oZ+ zNq5PLCO9AG3ZMXj=qG(HVMG=}v{AtZ@UxERg_4dJ2Xy(&qk^q|S8ud7E5vGdIZ2v2 z+3yxJ$5vzgR#HODAIt;3hw`7e-F8GL(oL+iAkorzb|A8bhq^=NH2(#xcB8f1uHgK& z;=$zjD(6>vgo{b11utL2X>q~rVVpgIhIZP6q&$xT z`5v;$2w(rejLYl$yl9$x{Z<0(1J~4v(k-6;8p(cT3E_R~DwlB}SCCoKh;8%G0evlD zmwnjr>qXztGYnSVukjf83ql5?@B+UTaqdb?>ojFlZw*9iRez84rA6T*vAwTol|hd!E-kXkz{3Kl=L=x-=e zZRGG7=s9s_N0MVsjOml8kQ0Zek*)_4opps%POFABDlmE!nDzx<)QVRd_zyj!xX~En zO8Oo0TK6Z)k~{E6CbzL_gPVt)BAc-Rt)K-nziusyRupa?(L)SwCapOykOTCD<;9*J z0#>+gkzN}?a4U}*AW+HbTg3`4axk?Vt?;-cm>eZO1<~c6dg5VVQ$mzGUCcOH>aQUa z?Me0_Z^hou2b~JHMvr#^dS-EII}z$NJ^OGHYm%*mp;X(Vc1O+Brlp6SwfDIY5BT4F zw*sgUe9~Eb zK1ugZtKX71A+ESIO^_KkPF2Mj{#VuPDM!5y>}W|Blt>NAMzaF9*4l3!h@pqxsWNql z%^-~SEG*bO-=t>h_LlQ)sR|Ipe9o|rM+t}BDzY8I_$xBEtK^#=Z>64waCwNl1^}OvpUC$bI2Pq)S4WS&(ydhX|2-x z1G&qlvK{w8=m3tI?C$3WV`NjRGNBaj$62MZZZI?%uVyybcJL7@V$<_yC6u>Z5fdP6 zgn8PVDz!p139dA{=5@-2^!yW>3{~Q>r<&i_$cn}ZiLIu@<1NNo$()BC9ZoaQPqoxe zL(JDmWSLdwaa1DRAb7LaAeE9Y`otr%@+Ei!3|&wtuh0v3jB7xrauB8%HM5QepBX@} zkXs+hp!=7O*Q@p_J{2LqZS{kAKqXxPSMCaVfNd3?UCKQ>UkkJowLf-3?#YSc>cDx! z7NJLimE2CO3u72!seHM&djompdG|R^l$+9Mmj6NYvv)1|CLlfmqV}r5|JCW;VX`^> za$Cc<9lK4Jc3I+t;p|R`(Q}4@@l3A*k~8RFBD42=6|!R7{s6u`)k!PGIH1uLp)DbA z;n#U3Vp@lz;bu`y5zw9sK}Wqa)}>@u=OOf}9pM56h>KzV?-5ne#YSK*|2MnSAJXav z0Pbd;L#HHHgsP10-%PQbli86}vHPYDNV|{UC~74nil{Rd`}>)Pza?IzxZD>!ks#16 zax#X@PpLz_#(#N2_kXkxyhN4E|H%;J6=2rhEBMU(tB-kIVvr9%8V;lxkLgtqX$Kh| zu2q#lIkdp9o`6jGYVfD{6LNcS)$UuXX1jFxB+*=kWG}A)gR2}N(hT<#k|YC9GzpTInc^f~=A|gC#&N+H?8~U-h^V&5 zkL^ubOia7VqcD^;>99Bjt%J<>l5 zI#vBP1?PM@rO6u$Sn-4pGNfi_u&z%~P2y`4wj!CzBm3yGkZ(4=!!GsHigKx z?JABBGkZHgMMCrW8L1m%nfI5)BOPlQecB}NP6_?3VmFNQ>-4cZp{n#5jCjorEkiNx z3XUs*Gh&(}(bhC;XzkvNy=kr^ia|MeDt3;LOvY({;-NcSNaY}E#927stQ8atV zO}*r!j<3;$pqRgaV_*EXk1IDv_PfAR6@%&|t$$-rKE=UEIgSI_l!e>DZ#9=)nR;T_ zorv(V!nCYWj1uWCjlr55R%bdES}HVjs9Mwgt9S#Lj)}Ek#%~gf-4~Sep74}1yYclz z-}@Zs@<4}B(|Swg#18Hu66(HJ-Ar-K!}B{I%{kh=Odg!%i;RBj^ep_n6)bd)DF#G` zsH~%uI#(d137tW$IiOd^)F(pMnU|@F9uIYTZ>Bnt)H(QTP)Z|X)6}&Ir>e1v&B+mq zqI3~8H6uTrfRr&m0Pr>1;;n3@2yPq@mE$zM`O*-x^qH7A&=l=|}jp$*GDtQYA z#Q^waRbV8r;_@Z{nK1U1fg>Ptm>c$BzYnl~tcw2h!*JxY-njTcK>Heh!I=2_e?;CX`L>O+N+C|JE%}X#BUN@TA1%n87me7Xk?AUk0#Y+26ncRB*#a z2*DP;1`J}Lq>Q>oy+%q%<%=828i=S!GtJqHrC(Sz!_=3|DxOWXR$H42DmE+{JdQS- z#$#8mj)pE@O5&Q*-9I-J=b7$X_oyG9k90uedSJ8LLa&+V+P!s83+zT*sLm zZMIS9wB47t#;B>+1h2m6w1W}`?TUkA2JP$6eODGBRomWGOadI*169XEe!TJ5B9Ph> zmsN6CLq=%+y!3mYdaydY-Yyw_OKD=8-%nf!FPQsCXf8?GQzSNx2Q_TE!kZ{u()_*} zwPRmy*E`#RI*+*g=xIZ44>EVG3g=C@=0W!^+p*3zLpAge z8%#3v5b9Bxs7CN6-!nHV9$GSdO+d%E{tlw8aJ2;4Ir7w1u)W6c9_4qLoP+FLvfT#x zF5L6L*7RWb+6`^I9mMdSxc8pn*L5__yGzTfe1*v973xg(n1aqr3bl>84(gO$c z6$SY|5-##|oA+o8^3nT&vvc-dx}601J`wJHMEembg7g}M{t@yae?`goo@W0V<@eJ* z%qwr(d%`9B80`vopEvv?`7x^BTmDgoB0{gW7l~0~@4@IjZql2|BH0vGD7H6{(gM&c zoVr3*%k;)oSPhK>x&JV`8bX2aSX}h0D{}<2b&?(YO`RRrpsQWHffq@ zpL&pP#9ox5Z$!GMz>r2+=L$|DB16irU9q&JrgvGx*_uvl2~*UTKX+pLtQi>#Sv7=P z?G7BFUFDuKR|ka8JbiE@lNLf}KAc^_l;3x7moOdeGqyu(TL1E9e^%Bo)!<7oF`RUky4f4CA~ z_&c|B*2Wx7^79#uj84PYC8Ucdcp?TYM7d3zx^!+OulBdO-5S!pg6c@OZ|tfJ*!a=hHh%lmVdpp$$2g|h zDtUCk&~pI1?Yoa|93Y``p>*Bk_u%)fingpTkq)tY!+lz~&L_{y&aF_%6Oz*9nKi-U z$~-wu`2*296Vgf+&8<;Mek8-EMer5uE{D=FH=VDvj;%>Pu1b*!- zI8k>-q%bsw$XuLD4Vdu31*~_U==dhC38hz6_ZDMH`7&jaE)R8R>=@jvfsK>PNjxx? zNUt_iQt85UDLs1k_`5@TDBb@@**gYj5{2v96Wg|J+qSKVZQHi(?@$eo~9bp5mhp&chHVD~BCjwn;_(GeZrBPc;?dTA#_X1B#LhPXeyLg@s z=&j~(C@+42p+%?=#%AbPsjIfHqN$)dR!}&$9e-}biA;sXIq}eHUpl0cdM)MQ9hDAK z8E|eU5Tu$3>iQ$99&Os=#9*Swq<+G@Guy{Y@?{emXjiae%s++pK(7>H**U6~pJ|h$hnrJ#9 zTRQKSN_86o0-Y8IXZvc4I(_1nVk9ao3R?6^r5r^ zSIA{z*rlydHF%nuE6eTb92%Kg%G~Iqmnef)8u}%z3%a8Y4-?B?1V0II2IzGAZ>*N& z(FfOUzohN0+_6F`I~%J@0Kkl#ad9tp*s^MerT#D`VYFN|ZJa8V?TISa@7x&2y?`|E^-{SVX;zc>iPa3kG44v!cJ!w4-i zkLvIl%W_t|pT=+-q}k~@>n3gD7RQ)vX&Tzv6g4S2t>Fx&Q|6kc#&mlIv?kGQw8)Cl z-MaJ@80m><7v0z-WMdKz4D{FTom=@WRzxbN4qYwyd<^38B(izm~rkk0D&q|SoX;)b~xJu$jK__?)-d@c3Jr;blb$W%eEK<)SCEa z8vuJdhTfk4tFQ$FW?M{MhE7d*{_Lvux^A1I#U+Cs*eM4`v_JYJ{XTR}{ABCQ#e<&z zEFzV8&d`RTmHj1xHi1Xt7+ymgPn|=3PkxPE>IM#G8_I5Lztml0xV?!-%-%2^qrD|S zxH)fS%eWk(d*$*lkh9HY9|OU}d8uhZ*(PH~*X(%9@o($e;jVG{}$;sGZ*cC6(Sw%u38EPYiv#R$aN`Sg4Qn3K$?2TbxL&e(R z(JlOR4sZAXl_)il6~9V$O#w-05*@yJB`Tf9aIXw#ItiP3G)4-liDe0Fh7d+*SiAMcL#xYBPdwRDc~` ztAI@UXPDclJ|9CiPOK_(qr}RaQI?y?10{zfgnd`OUd365hYP(O6j7SE_M-y+Hv<=w zgx+y)gk+kKAM)Cv-4pMPe2-%5F(3bZD3bRzoNlkF+kkH*p{`Z$?1l*d<6In`KhhiN zWZk3XYqxU(>xM$SYpH_h*2PcgfPBB)HgE9ZY_ zB${d;3X{zxn_^ulKCi%G0peyjvuFPp#Yxw)Hiq`^*?c;$CxByiWrraLwXQ^^jMS$% z++a8$h}r0KdBoPoiHqJW%5a}=qz-eAFJF-9?Ub}2W$V%#2(BiJHF8`zF@ODsM=bkv z6E?yQh_U_3Id@!FQ*N+m81-?X5lq+_y^rP zN~ynfMF!!3Z`;_rtpORv)$Y#KWPzU0P;2~3Hrs%rnP~D#inUwUVr~3t47%Gi3c8u$ z%^m_}MH%%DCr^H_vAZWYBPG^(Ba{(dM zX_F~l_+3O<^7M&x0BN(W`6^X&09<#1fzosJAs*(o;o(FIqOSbA82(}TI34Dtz-@Mq z!0L~$Gh5;3njXOBqL&?rOFshpPV5N@wn{7&Q(FVxhG7^*N$iaiir+#yte~HVlZR9A zaN~}Q`B24k{Wk07qNXD}HKECc4VwlHF#lc;(B)6=v^hDW^%1u@S=KcvDqtp$2hI4;J<&5x7ah*^@Mw~U3p7ed`BK%5{BkVA zGE1lTLPBL8`b5=)%>Iad0~m<`f`@&eX@El-7@JJMC{dF+T6kQX6m3m>Yhj?;w4BY5 zR{JZx!+mOB_=qiXZS>K+{L~E1tfs<5d}Pj2k|x@rTIEeuvt#{Afb@mmI)BM@#5{x!lGNaacSL9wLPxny5u~lMv^~0<1QVZWJqYGh2-)NhA zdU_Ov=(xza1`~NC8hvY*cx-T^D{RvB-1u3L%kgm~)DWuJ^Z7QcbpQI45i#VX1&Pmq zX>27Y<0=!(3k8}aN}tPTTuqK?z_S%IX@7? zHIn9uUuzl_--VRUVgb3LI>OFHQmDTSw~6)W49(qe=ALspge-D;GdVJP*=NL=Z#Yk` zHk0&dSO6dW)ZabiWpkl0>sUc(6fL!g7bQ5Lh05f)Gr<8ZiQ0S zNC+FX845}0AemB^{Eu*icxwrzqIOtbUXsB-n_fARzY5va9e*z(74Ky)iA-2wc`#9$ zTX9@kjI$Oxs>A&iTS}6d*<|=sh(`vT-3xn)!HOAotLA7C z0HJeBmSv!8??{2*KjQv*;~0Wq^P~idR!}XS^{wr>3%_C*)RnzZzVngx?TPgN4eft` zBLZLYH#x(5;>+tBr6NWs4BLN2|C>_~U+&2cz8m%hf~=(vj`ar-Si`c5kW!?Z_w{3s zBngt_7`Y5Fq;{9C8H&Unc^b-w2xKZp>gRe+C^Nt5FmW6`c9_bOB{C~4;^5g>G(o?3 z7Wla_>?bJYKHSfdO!)9x@kcx_rFo`Rb<@9mtpH^_n&D(cU+__EP&SQVQ?}6siDKGk z;<&)=pu)+weLT?^4Fbph0!X4k$8eza9p7sY^M5SCDCg=Y=q7s+BP`KumWa)E;8*{G z8obJoGx;J@nwedOxRPG~!@~}~6(I>gE)h;H{*Q*@2U@r&9X7Y;st{~R68;ZlUAaG8 z2pkP(8G|rbGKA+GS^F{;(%7XcO`;&1^g8_Q4MM43-JsQan{kvGSNH{I={zzuF~0gv zJV|DsiJ0I^SoRBLbia@oDsd40FI(*x6GTv|OtG^vgi${cv@GJ=dEy;a6B>vaePWi2s%XP5 zYD2E~y7Zx=vbx{DW)x>>o|q`Eeysuk1sqg}UMA=5KzutUnpE;Xgm z(+V8>Gs`2V0T6{Z32~qj1X9x9>9?nNm>AL(9@FG0-`CU|O{<_^t+c6^57XHRk zZjYHR@^oF*D_^7EQHKKGT;mR-MiNag!lDg-tO1ulnn8k2FN95-46|X$3Bz`DNr!H8 z9|DGsu|sGtv>97d@dXOVNArzz7Qp^UoLU2IxP`x(*cv?#1HsMD{+I1AI?gv-n@F~ zBrnERRw9*aj-6;D0C#pl4M^2MVc?dJ_gDLdIfsKvTrridGkKwAybMvlt1Tf}yf>F1 zIn1M)WM?4LeHhy?gW5z=4*zg_APHCMpA@MqRZ$Wa_|%&tQf*+5qKbd2&mpZaXODhe zEMI6lGwn?V`l?}keYS%nV zZJhOL5X^eP>o{V2C(g$%WP!$ey9NkSmu@KxSWgq?eMeoxZmDS$rGNwX^x0>LpGJ+g zM7<5mT(-FsP8StjJtrl7P$C*W0r~i-L^U#MlT1bPH+CM6LnwdO6@dM5zNHJ|Asfkp zMJR8yO$2HSk#8MQwkF?+rs^3bFywm7cB8H%aVG-I?#Hch`yp{R z8j-2z{^Qk;-pQNM_6>noM-RF`%rCKS-5Fh7h*m}YL?SYcV3-He_!1=fNSRhNkMJ`# z7b{#&)v}SL#;_L3xH26m7S&7qyw-79C->f26b0pbHJi=qK*T&!5sCs@AJK&sm4k3? zNF_Bir#M1=I7a-?>@v6mZTyOvJS^*L;VS8-ggx-3;&w1&l`R}cL!zl}3Xdq@BQnN7 zWEHfasKi}k(i?C&>seN&@7`oH_m`4yRydW!N;O@j##;Nz1Bs%N;6Aq z4sx*u=ZTfBzl`pEz#V^aI$h;=TUqYVMd)W`n0SOVZcbkO^Pa@E0&~e;0O8<{UWiD; zBjIqreS-*A@l4Ew+K~ypJq3P)p*?O`8s-0jM-Cp? z0zATln*UK?wj}237P^5C%-B&#L0jWv(d0E z2&N6KKs5v0YN{+Bmbnp8PQK;2?bvPj@S?tMUm-(lruperB#^r0bY4QS7NSCXHET3^ z_K;*I4Z<7notd8u?gT_P%(8E2LrsT)(xdK+=HN)LqNSJwmuVQqn83`&g&b|8g_%K; zG@_*Fi>eAs!@|g*kYs0rr|6(aTO8(5OMB!Kle@x9@Qb>@lF(3)!$D7oiZ*e>kW)z! zXU9I45cAxElT?wDYlM~MBrPMSV1$`bkW?vwPSBu8D~`OWB;^H$B(bBVV2U=yB;_ee zuOg?khM9?>O3RWZ(f5a|BwY!LNN++%hbFb4r6`InN=WO64d;WWNT5hhIys}0`zj)* zFoX?DN&gKqqa)dnlx{;yX-*MtA_tY>VT=zs3i-Z!EE1l?q&y{QMq={cRODEwDY2=- zswlx_s5K?TZvph=SdyeN(eXzm!_vQq$+b{ZYM>`p!j5o7A529Tu_DTNX;aKmq%%wv z(8-0kMWh|b$$eoa6vB?aZ@DmOTUOfP`)OjJ$>|z7VN+t2kW;#0CIrHc3`HNR(87*XL?5t8c;uxE$jOyZQYv63lF5_UC5d?ua@oo2@$gPV zovaN;&CN|Jitg?NE9s`wVq6_Uw&kms(0?BTPs_FRx9H&QA?^jSC9n6>K^q4P)1nQ6 z3niYq09eqIu|-*iA@EC6%o9(r^xsmyjBG0wGaoR`rN=*j_BcbX{0z~}Y97B!{9K6I zrA7!Xlt2j0eH##>MhvC3AF~)u))MIIqJF2$Jwy-QW7=_GMsf8h-Fmjp`EAX5vZAj6 zUzBz2ebtKHuf<&=Q|;!MX|m((@@i~q&E!qHY4kK~>5kc$F?9vT2W{-(x4nQAncW## zZ_J2jflDHSuo|M%ErzwHV1ZW<8u768&T7QpbjM($7JsvTg^0bXK2g1o!TVdC5h4(| z*$1BSGK^O?-{s+Wb`2T>SQ5@O4+V4kbbQ0 z)$)amBUADhSNURzJ2If2nl2C)Uy+WOD+`}*PY8*v3(-U za()sNF#AKyW&cAU%Iy_Ft9uxgj)E&!*Qd{RicSl`qtFrW_tDK%0?UPNRF@v&F>y>A z@Y2P6=uttFAC5M0R1cZp7P*QC6v3Pv`jp6(Z?JdBeS<|PcEp`qM1~h|I#l#h>$N;( zjQdWCdVKJAp7KXkOpvH9;dD7~IsH@+N`I6YCs86q-Y-IDQOAc(v;Y{=Sbqky<7UX3 z7RB6X$sQJ|;3C4M^US&`Y5>CLjORI&=e{G~D{k^nT(V3mTtLY%b{`;>>nw z_-!;CL;c zF?%8G6B7!aBg2=CWjII2X3U2*Eqh~Dqz$K81m#wv1uJa9_BsDYZ%xC~2wIR-y{A)! zE10Y~c)IBFDykc7QMKxHCi9aE|DBLGOe}I}D@Sas|8hM+(dCTW3xlsARsTss`l1Z4 zDpe8j8Wquf-{Kl9RA(A2$kCee!+H_1hbcoW5Ob;cg{WTaHrDA3EE&)XhyHWdMwzHh2&#ZF#W}E=aekBB>y;_eNxMA z9M&T5icVIkREjg;g=P)@uS9)ck{OPST8h{`=$}9vgPeDUB<`~p`5<8;Vc>b-44naWlIHl5C6R>klRFJwknf_oZbSZ{Scuwl|$<6V7^_|G$dDnOk+Nz(GZDSERx&Up2!t|TFXkd zQ*I6tsPMhXd~YIC5n6j>PxD*qut`4+f#ydedTCgO$yfp%5_E1%R^bjU7H?xIv#~>s z4+r;I-uL2Hz{-RitVptlgNbpV7cIG@>?{2rw?Hdti6)Ug zlpOFKqxN#NX8gxG+*pb*mOwf79%lN99mNv*$!|SI7=65MY0CTDdC1@;MT-C7cNJ2> z8OLJLVC09zwk~!wA30H+m?TC-5h*B%C?JpMpMw96&hy0LayBWtV!n#;sog|4F zo}DVaWQ{)+%0LZj1upUt%iW^RzZj=IfgDK_4U%^iF#4N)&q*?$NUbY{GiM2QWs@Gp z+;}%dbds{yN5Fe}uiSq*=R2`pj6jI1!2iP*hZKGTmG*6-0fGMUL+bz8p75>4a4>iI zPfn1yxtsZa6rKMc8jNxcJvDSG^nX5{mQWFr6R_ALfF~mG^@sO|W>RU6808 z&CLk#9MiSUU>Jch^;PQDB~0oQNmdl;!1q#mB`z{-Vl!3m^_z3o&)%g|yS{+O2c#c` zV%TS+(VA}iW%`OZ-0^G=m$eB@@JG&yjHd|t{h5%A2Pp|tkef~tV-3L`c}a*AU}PP% ziEFw}1~;Xus;kawW7uLJc{}tUz0h(6J9exM))CXdAty6>XiJ7}V?NixYM#Mnd~23N zpTRC;rj5ye{5X6F5eJB)<^7J5ZA1#-!BWp}aKCOPu_i33D&pb&zu9{UurPD*$(v(P!M;-jRwRghWl5Q>R&7crsbNZl;;QFOz2 zT=D@NB7m`)=oU{~`I0n$Vz|}wUzZNiI4H2cQQTEAKPt<@Dca8^Z)KC0eTWq{IIHKY z(|UV~qUO}X>F1s;>n5n(K6RqWDreZ9$`NJT6*_#?)>ErkaOfivI!>y)zUpYjP~pa; zuus=xk$9es`x0Qsw6gZj20$YI1eiVjX?<7|2?gyj3p7Xp zbc8t%=?w$=^frW)c02?di->^(%|DunWkeLc)LxmR#M8#hz)MM2c!RBx;#I%3_TeT_1d^^Q_KY75o4wNQzMZ;Zj_+VrGpLuVZ3?6RqWB%ej_X2I5x1r z5(db6_+HVEWm=EA`;8rzW#f^vsC$uOVYxT~7G9##5pqEG%<{OA-U#8f){|AAv9@pY z<>oDHs*JZUb5Ov$IYo$jN-6d*^8VqIuHI|hf%#c zvsGh$5Bg4`{~r?Af9bHkJ+a@&AysoH7jxHd@X3Ex&H119q%0jTJT07vzQgeh`Wl@y zUh9b5nYXGxL!D@-Y`Un`dtL@3-3AkM($?;YOU7wnN_S zwcw9?4EN_1>R!wdFz1&2U2H=2FQddmyjK9PFLgwu>1zhBKY4dCa3Tf6VRh z-41teq(s5Km(x3 z)bBPZr~zDc$iw=3z{GF2Oe-Flk>t{0A3v1oByFhhG0Cj1I_d)0h#Oj|+MneRB|U}G;$kFrrZ|4uEPEG zG3A=*8QhoJ5S=K-fU<@=OWo=mFJX~AW**e^A}EG>k9V)N$60I-cN=;1KL6;hqSf5! zWu%Jyzul?{dS8GE+^5tP`p-~@cP*BuBJ&N0e2B%Fc@5)if-a6$(A@RP-sD+~&xp;f zX}5FHtH8sDSQV`*@}?A<;Cy48I?hh1Sz)m+LhV58h}dCtmC-L zQ5rqW(>b?~&GR(97*m6JvaR*v_yo$i{FXzB;{rlaFY%bm5*;0F1AwvCSPvl;Cto-% zt*&(h^zvfbraB-Lv8;ErJ3~WsFNgP5#Z;28<-ta}7)5%l2LS$InW+O{SsAnIF3Pr{ zSW)DN#e+f)1YO1z2Er(M{-~Oc{PTxzUw*e%M~GtO7t#0Gc;`}PIu0m=RU0JSUz>$y zNL3>evrc9OvRrI6up8Eq1c^IL z<4tB0xlFkhwY2av+VRV`?kjpt_=}e|<;6X}6zLmMW*kb73$)4$EW+t{+cticKRs$1 z;7102dm-Foqfh0 zL<4&h!?p}mtCKS!nNPq3-CAmKc{sIkgp?Qg>04g(^TXh5eYww&oAg`azOVfZ~ z>QUTtvQf?38eP>=-jY{B&p6w4lE#;Hq*dM>uEp(zB1uwm zn<=J{;tteMevjgB9`Wa=8#cBw5gBA6AuoSX5}!5j+z~tUS&bEZg7*Wfui;{2SL-P| zc(Z#Vj!(^PHoj)pSZ!7FsZ#Uz_TNx2jiK=>-AFg`#7Tmx8EVY(^wX8Wl6s6-p`Tte z(*CyYe->06h=SMCp13+~FMG3JQ`Pe$^{T6+PE}b{=4){0K~mdVRbB^VO|sIX90=_hT<6L$4n6ue4*5>8HhXw6PVjiPO>`fs zD>aKp>L&fm(-eEdJNT_GN(EtunlrVpT95AJ%ptl-6+q9U{-N`92rtzdSwKmXVUYG0 zn#M3((2VCjSauZB3CyxK{h}$?jlnH|jArM|=#WE!Js)_&O1c6W{dmo{5RtgdF5dD@ zF!w;>8aCWM8gQVnEsv>K%7(Dh4)Mf-@b*MtGTa}DZcp^)QY-2LGNIlU2=4}*5EQwc zKirV*eg*@z*c^jW08_p}UPzD+hEu@M;e}%XabP5vcjz=<*w7~MaoCqV$urEme(18* zI}zpfUU(Pz(P0R$#TzU7MV#0%%bN^)?E`r@) z*LB!eFv&B-`_LmEU&w1*maGc^w>QL z0*$!r79u=Q5a2(+ray=U(XpRfeT+So*Q5Izgr+$?7k$LIu2#^WbH2Niz{LH-O`zgI z9o&(Bh87wB?>{eQ4Qv;3Fp`+ux6(lzZJ(KXNm04>uV*wmP? zswk0bJ8cbc(9jSfGzK*EJBt}6BK_yn*B+ba)2wWIl}v&C*l2xLO5p`;>xKlxLct?Z-Nv>VB1j>hsLjH0yWDOXrNzVM?^uYcr?#6jmdOMz!6R|^9TkrzsOLd>d7)1f$?U)z-D zQ(XBMjB*Ik1{!!yRF`rd8I}lGz@&cF$cBIUx}>(ubpW)+hYjC9sV_76yI*=KVv-Mi z7wy^inG=TSpokRbrZ9=H;{6MNAj_o*9f%- z7$^}IB1ynD^|2Y;zsl&$KT29i`p~sWFNe*2BKlgwF4trId7lr1Vps?;?Jz{gxM5+x z*`SJJ#`0&EoTQmKLGW9LF9o?i?#ZcjdYz7Ruf6%y?z3eZFMq$pkh zyc+mGeocTWEy6^3@-hp;`*te3ol#iCsT8DlE2T+U82M0)b4ojX_UisnhBrEfTirg{ zymPzB81<4ZU0uj?I^5Ja)HE?U%xIh`?y0YjYsB@sGokTBQ&_`NM2xajSV{~I!OPF) z=?F)ia^dxzoR|+@i~Hn+#Cw=jTyzN`H&UT2h3;M<4O#$ioO9~Hf=V0Hn(fnRWW3!! z-LG(0Ud03Td_O}!q>ajNcw#@r_D$yQf~;$`pFMp_NF6ZOUGVbxxFDnHXr}T=$KJ6* zb&gNlen>AfMZolywjY+0NhthUW}6|~!H>_@WIRy;mX3GFIrK-fHag*@XQe|D-8LL# zM%3SMvCWHYRvY^&A?o#vi<-nuAV1@~VP#MV!(2mOzw8t%h7oa&`bFz)xaXJdQHSC% zs(smjvYD>hP_XqvZ7FB;esq5y)$b%;^t)F;@&Mo4)RCQnLT>$Ehu#KZu&?z;lW6-y zS2BucW@h+bl&0VfHIH1>UqyAPu3|Ws1x5EPX^~db6Y)GH8ZG-8>?k`je>r9QVQiFC z12gz48bbTXx(<3EC;LV4O9=eQ;^8fO;o@ps9NK(-t@0%P$u~$`xRb*#ed>X^<#Mh)Q0tt|Dmx~7S9diCB-2v>)WnJ7%pf`arD<8HSZC%% z>Tx&4$))AX)z#xxA8_f+7Q?BZF8xy06g5NKhamX#On^2CHrk~=C>^L$k zSdF?Rj`!9nZL&d7Gcq}Bdy}GV>d>foX?lEnPvQg7pnZOW?fxG4zrNA_gL`Ax;PjC6 z&ArL~CY}6WnXv!$jV7+7Au2Cnq~YXb{y!5j=_(W7h$3Wv`%!W>$>t8*ZDb0Rmir@- z`#s3XA}EFaRJT!&Mb_uA?C3qCPW%wqfFRF6soL*kac<_X0F6JGUB88lc7N2G3dYJn zS<7!UFz1VG6!WGI(2J2|B%_KLNH)T{UpplR6R^PFMDQwxDPE9TP5n!p9cVU)vxOIH zTnr#anpsYT-$o!SjLo>qN#Wwhxzkexs*zw$}Dk0E;S zXRX&0_`Qp|AV+@t+O8dF&WGUHe08S|A)mO68z&k6F)A>yC@B7$c_gR6o>;ikIv!Bl zbm*brP24i4lp0mw+pJrm)N%$EEGSPBN{?+9ia&@RaYG||B%BIbj4&8i-J?35sSV|i zWYHsCA%>w%nrxnSmhoXY+>qSJ60%Sry&?bO5~a$wdirh&&@KA6k*Hgu6b2qR$a`D# z1ydC%6b8XNrVthVzu~z56Kqua4ea|4aPoJ6|F2-9{|d0YlA_dq53d}P*f*w9vR?4l zVl~&Fn4}Emfx!@M;;`+8B86HrpZKk0TL;(Mx?v%c(?(?St50g@ILYBzi&?+ZyxZjL zm&8-8AF)}|rsI;RLpa*lGR0PE1PaD+Bt#R+FnzQ`(hyxu-6Q?a*t}d|1S6tj8v9)4 zAB%r-{nh+*EzV-np8Yy)0l&<$JVWLWOGvi6jySa5|E8eNrNQ&m4Nt~*xHj~;s#>#~ zbxbDdtLcth!bhuiPX4rqtSC!yP0RS0iOqpe6rZV39DvcEq@X6)*IbIZq%}EHK<%c4ObV5A1XG7> zq0ZL)rXMU&ay?t?xn!*d0gy3+gy=Hw!&)#kV?C2Fk}I>K402B#X3(&Bm08NC2>43e zNm~HtHT+2+RPqTD-7OR*!wV%JHK6prM(=+(-89MC9fs(Ce7o*`{1E$pPpyh6OQ@-d z8T~hFTaVv=TH9WEUcON++498TA>cZYSg4|+#KLI}R#EgK(9(k!Awy=Okd$mJY{t$; z$ewlG(Q-S;FI^~=>P|JjJGM1-b#09He`<8?TU%Fd^FDT`fn03a@XueLfhiw1{!Fw0m!A9ZTf!Z! zBP0jPH}US#s=XPV!`!_Y-NRnJnjPX4MpPZ*7)DfG!{oi1-NRTa5uwBQ7G}TnrqLb^N<^^W z+?-n&F)vI|LfN~DV?;)yMi?815hA0@x7jhK_;`xtd!aeq3uc8&1vp911@i}Y$w_k9R|o$f;tI_&L3;);?W zRKau>NBN3%;7raiJ4E0q1m${g#qD*Pim!ibNujw2w)4tj6%E8Y@eToUSa|M@GFZ9Z zEfQE%mj~!K1=X=juef_BZidS^UEHZqurE3e&TZUd6m1s=`j~rde$EBlMp#&92cic0 zWwEhuqZIH;tljEZndb*m4zCgS{-%4~`dC_bMfoZQ6EhlJ9h(%toQFmZbTd0<5i(;O z+Rsqdxvge(7Y8c63UnKX zs6tC4rd{hbvHo3N`dCV52Qmiy#}T?H^CKW#UbC=D)1#il z?#jrm+r6&=@HC>?>-nSWHI(t+`1@C|oZq;o&?MPJ!1O^+zHi{c$=vqe@LZ*ix3t`^ z{ge7_KS1o9`+Yd$KR_(gPD3h=PJL{>+r4MzYb0au>IhfYE0xe&CS&i)NT2&X5uyJn z=5M(o3EAcH`SNc`Q3m2UdF|pzydo{lqucqac`u_tZBfgRdsC2SM=lYf(?oC=z1tyi zTL&-CI7KXUJO0(E2~SuRy~l(}CVur4m>Z9LCWQn3EPjL=kA5c9qI81ORC1XWyKfq! z)a7E$6pLStK_=As!_SLJF*ol@#<7d0G%54HPs#x1S&Aul9>YwGu39(K*1V!AS_8%9 zWAe<})nhZR)s!jXo3_s4%(F?FuDt3gT-=EvH}4L{iq6I`oXw&sT?0i=xm_6^wajMy z2k1u0t|%i(%C z?QYZ?wBze~~-gy1~wF$521`>Z~!whvpi-lJ}513{vdq%t3x7 zhLy4yakr79!k_?$extyKp)`OD9KX1GKxThT(nBY}ihl+>!PWVAGvmfd@WRLi*fJyA z=%4{OlEk5KQ7>a4#55Fwu?2+I11uvX$|8PLG)qTnH`LyT>#epR(}W#73)eEF1pLOa zg_A_ej$&qs---{OB__G7Eh!%j`De9)deH0B>76OfV+lSquudPAe%^Fp>GEB}$AKqA zlgJvTfjwkj*i`FdQ`oXu>Dp^yFzPp!?#(6q!#c3)-UbWZp6a{Yc`@fdfNifiV@(F(d9oRds`2EZKO5_67VEjdWH%m-E%Jgc~h?HGtH zy%GY+A+U*g4%=E=EM%0j8p0dutnrGK>)g3E> zYHoJzv&mybFX=i)m}~A}5V!1SuN8O9+`zGj;b0x(=Kc=m8VUs0S8x#CX?64v$z{p` zip7+^#>0&Ob&_LSson@P+1Pao;&=7i6gQp2s`aHu2QXG*KC^{$?a6@B8+|4GELf8; zUJ|^yOmc<6%$t(A1U{BEb3_fyEDTtbi&V4@HUaDEVFR3P2gVhwSeo)!Q%6&-P*j0= zlrR{Zlt*2DA)4Z2w@`l7DY+o*R1{hbJanBP3K5p2mSJc2ok^z35)77m%LZ{3KX|T7 zK=K|LbM~Nz?8xn{CEXd_7}(J7t3UHnX^qLg)$xPyIn7}h%n+Os@^7dy3>%cR*x|by zH(U5HslsJ_97!~V4a$eR+tQZZOq`a@Lh~qal7r&z@_la9icX+I3qlNUB!dgYRR)4$ z$|0slTyHiM5lBVg%v-AP#AJ;2M{YH9)j`X#o<*8Kuy?GYAQ?6Fp2Ugp62|7JNAYU379lt9c@YdcLlH$lR~4;m7t!<(4w#` zlSnx3Rn{UN8!!He@L2qM!+DXE^^n{dhHA>I!+ot4yEBMYZ$Na{ynmEE?JVQujBBzl<4Fwtknk*xj$SV2 z&*fboZz6kGFzTjh%~D}9ljv8kTcnO!E2s`IO-6%*vK&fs3X!;KBCWHvTDWSV{!DE8 zkf)KrC2Q==d)14^l@UEi&^a|zK)vdh^?y)MfO*%kJ6Mmn@)m=Q@OsYF1X|4eQ!V=V z-tD6xGFMtqCsCPGs-=}b2wd9IG5`x_qnTI zKP$uQ+<%IBkx^hV7^WL}$q77IbtdIXppVM-7%T|KdR}8XR>^Vt9GP^6we+}!ND-1{ zvbrh|ZqR3T9=RmylW38~Ny9Y$>8(tUFNsj5ZkWY-cvtB3lA}>h^YL%w_MTLdrMfFG zTE<)77J1WKzGUmrJx;DUZiIIKu(p)(bXO;qgnlz?r~ahO-Lxk3&f_nzS<|;ktNpo} zLmnHj{`eW{N{wNqg$k8JUjaidfU2_oT|YU##Rq29Hf@T1L+*Y4_>_y5-`KB;3;T}; zPI4M$n->>^7)ikbj#WJJ^kxuO2cvus=H@Ay8QS1@SKRod=l}w&x%)Y{W4B{$`%F8_ z9)c9`I*xKxQeMUURza42;xLSSaaAyBcUZc+gayp@C)-L%F#~L|hE;|+l%7taD2Qq& zd6r11R_*K*n6c2g>jt2$s4w2JDerHu)z5A4TT;9w|M_+CCe6r^mZ0o-6gpKp9thR_ zavFb<5(q^a4i)bS@(J^WixPv&Rfwq1Sz+I>+QoGl-82mct$%?TaCJ>a#$HFb-lX2y z7{G)w=P|#_@n0K0{`djBEEg%Z0*gvu8>FY*X8ja;0xkrJTOBZyhXO7FTzDNYjSOAO zIEZj|8dZ&V(%fbjxOFuGCXBIW803~JT1I^q6N?eY?lZ2m(*p-5Jbz|f6IdgsEST&n zE36qN`NVq`gyUWvEq#mu?ZjHNu6VeYn7GoJOorNP+YL^Nu)45o(T`@1wthINatt41 zA+!CMN?I37C$SN7rl$O?gFy4V&1LzPkAlgQY~zdrLAV}79-{pa)!zL-Z&eA!J&13s z=@Mh!WLI?XYBEiR3-w0`f^_dG`7Abux@+sp%oU9~&gvGtCC)8kR4T*C`6=5+$e}ew zIC34e<^-`5<%}E0$#}<_}@=O%hpCFBqy_I%P;zHj9!yew$jsTIV#f zhIyB>2bZF6QQs~Ce%8*&@m0`gUd6ef(8)G!p0pJ;ImE>4jc<5Lbo-H@9?(pCA>w3u z2eFZwI>}%kkz&XWqPQp3GFNm4m?XZRabkR(`T_QiMbX%s{h z;c4*So}Ig-N)?dIm3ie)iytJSj6S*h>8x#>ZkZ5^V);ZfWggm$cW+Bt6ItIahN*-ul+ z`PST9sW|P0l+W1ylKeT?reJy=m-8Z1Dps!|(ZuCIFK0tWXn7Qg-|tBeq>_O`BaE_y zqFLkH=(oqO_fjZS!ok)PlnCrg=<+smpKYRnlt4oK3fw_y;4+=9OY?OeyzAHcRM z8J-dogPGi*$I)yWw#5)z-m+o28FC&#gH&QHmt>1=C`iQZg{5l0e5@yB&4R%NBUXRM z2>}fp;j5si?BM*yQ2Ht>a5iMS?{JT#cCGBrDu!4?eok6|<%TX`Hxn?$ltAWwof`jz zvdR<~B!lMwt8O&Sh~gy~i^_qnENvocF&Ds+7Wg2@W`U$Eoo6M3h76I-iz`?zUdk0l z`xF^SD$ygehOA31__z|}yoiSbu+OZ+L#EVH662BWPc{r{i|p-B3OZ}1KdTs){bW?D z3arBtxjR8{bePh=ps-auStL3y>&jAjSWW(sswSJRtG3=3A{R<0@IdR`DrHDk|7ZNt zj4Nb_8zoiX!DlhOR~q6lxvP~9pR;n=MF3+jRD48~ez0wMa_|L;*VIe}-GZ-_{+~kf zEP@@snYw&UsHklj-Rgn_rU6!rBrUw0`a)Zr6@j9UwXQ`&`2WY*IR#f1er-NZ$F^6jhkq+?D`%{MjmpNpxl=3-y0t6jCK)>C^w@4J2vcSpoO z0Db`av7Uo}daY#G6%pAKk!DKGAJ9%(=hiPs2&$f=gnY}ae6y*6S~G04a#GZ&EAXWct5(m@mpkKX*u-Jtp%6@5T-8wr6IUwzj6Q#*3#9U@>H^%N->8 z7C2k*OZd81Tu1`lspNH;5Y*T=QhL+V4Y-bZ%NyF(t*Efw^Lh(9&rT4alD6g;dd07A zCj`2>;_`aBx}x&@ySkF{-nw350)DuRA)sf_rgk*CEA}EYJv3`|+=iGQ(23xd-wmf9 z6sny_!1413b&hca(q)8CaYy00*~y~K7ylkzMwhXP?-Y` z+uFz-TGrNCN?&ha&ykbcG?Z<{T}WpfkCC&V><QkjBv6 z=)nx`Dv4jJwhmK7(olSk%(pHx)Wh~7pKM=m4&ZUlqYD=kf;4r45j~UOn%FPr67AW&J+vK6$&l}+;+gw5x(|D zif0>&Sepu7N@;9k8yBhpZKNd%@(EmGyalLf9go%TY{Mr%3W+w2-X&ig`=mefl^ZsW zICOWN%KGZ+){C?&rdrvL@XliOO`!_5kX_L5zZnRjBqzM_eWp!PlO0UP$jQ=DwtGdq zD#;?7RVL5%6bwuT_C()T!|}Y<2Fy_vJx$=OfGfk`OHsD!q|es~E8mU{D4W2JZ=i~B z(lPvNE(ek&*H-n^a6)ITiLD{k$5k!At{jv3^czt{D;5c@=6(VIwea4VNS)8IhL~m-`vL2cUk$f_nZ%5|ANg z^n+a9p4Mg*-fJkpWvu^4Ez4hFA{$}{4vFqhJIt&;;um&-hO@{a)|205c(V?0hq7&l zOYk(Pm@$&G!>zTgISCSdH9C3wiju#G%1hX=I?jSG^A%NmqdEqh6;WZB;iXC$ zHI8xC_q)?1!*Ve7YN83#hL6(2UHiz5%N>eY3?SvyAy#cH|9E*@6|u9$C2XGL2zDOX zV`5`;6$l-&Pg_nCAV7A2&)|Vk-5Dsra{qOGocTJ}#?>_*pWSaP0?Y3lV7aF|V^l9{ zJi1*3zxwL_J_SpBY}pk6vikI+jp~?#`6XD=!is8yW3T?sMM_w(sm#<21`J*ruJNp5 z`Hq_3pP2Z)Q!5iA~B@?5(Bqb} z9KL2LM_PTlT6>E3kisoRbNgF=#VBdwv9BY97jzhoh`lwxc5sYGt$WSc;VH#U)!)a^ z_(7Y}Y4LT9;I@}mCOg@t_@@nN_JB|yVTv7#-tRYfY6c|Yg9x?Ohr_5Qe>rwSJN3F=O4N;iy zVN9kX)ylj+&97s5v&^pV)*FVVYQ-A(%iHM$ zQ98s2m+^b=A9P!(C6!{c9q_t1`3awUf>#@zFLxs z`mf}A3M8c8r35VF>u4N91a@3_lGLB-etHJtkt*qrNFqM2WXuph#8BVM*+`j-QwGgX zoo%N&=`6SM*^M&UjSAU~QrL}b32;C(%PTAg4dts3K7yh``e8JH8k9Bay^s5~RCZ*Y z@ra1`KJJG;PP-9OAzhRo%q~C5da^Q-cHv3_a3=1Ae%5V3Cl>4}co|OC8yPiW+)Xj~ z4fSE%O;3}Ayc^wKhKJq_v6|2zmdWoc;Ywtc6tHG9i+hQ&8Ae`*L!Pob(4;R|J}dDi zGgEjC%ZLftX+ozE_hIyg&ut=@6Kg0q|MUXKM9Y&WLm@Ez24};`R7IHg6FzUB)c~f& z6`FGo)EFM#0TJ>U- zwv7>!#)cC6hrF}_$_qtwd8qzRI~2m!e~*F~Z`tXB5w1W9j$GVS6-N+He5t%DA6Fl1 z5RS&BdGW&EDZRR8iHit0Ay#V?4XO%d$_ez@d~UkLnvGC#yHwXWC# z439hTyV{rnHAO!*h;{7lE1m`eN_k3Qt?>GCgjgf2;yPWd7Gqyx=wc`s)%ccBrC3&S zqI-(%EKp82YKd5Xb&IqxrJbj3nx$SxV#Ku(Pb}ND60!ELFFF)UD$<8%K_y;PR#Bg2b|MT;dl!{Q4+;ryerwveI>}<-jOY6~fBQpmQwnv|$ctZeg zPkbwNK~u%>`-e&G@2T}>VO;-MT>o5L|43Z_OkDqZY^-J;chwtS=a>b^wt_0OZ)AJ~jXg4uB=` zpeOmje>wNvQ#0`~UGBlLbC9t*F2wuikbLK zVe^3+ewTxy2)BL&k4Ug(0gWRrxQK#BMMA zhFlG-U2_tnG}~JCy7G4Z@}rsXYd{w!xAuYtFw~q`#pg*ZY3ur-)h)s zSp=tR3bFK|m+-AquC-`*5<-pp7!x5^-I1@ZWjI`9f<9xJ7sYIEIgOkxrHCw@=a27J zxwQ2!{4>*-u)C3K^r)$cx$}_HS!T;H>0CoO?8*x2$n%uR&EI$&Ba~D5G)3m~TM#Jp zl|CGJf2fzMh$G-Ej3KtfLZxk3b$Cr^%ZDi?$YRz`6NX_1Fz4^;B0Lsw?>{bb1FNkGo`o+_-7QAF3OY`R2r>1e708Q0ourhpQo@Y6Xev%+;6{80q6 zkmru7EHOqkscXC@}-ElNkfGu_7MluCi zX4qIc4hI1}iupx$7&t09Z3N7oP=?afR5$TBiW(#85ULOVXQx$?g<(`+@HCy6I=nTI`(4)GFt3zo>C=5x(tBhr*le zu#okjGjzZpb?6(+#}!DURjVL?HH2H-$77MPZ#08WP}pJ!)HtiP0>v>Wq*gPXE2w+O z?3H!u?+olk?^{=NwY5fJ-e*;#dH09eFL+U6Un@Wd7|oP|JT-^u_{ zpb$9}N}QLEg2diQ38WDY&Cq5^nwdK$Y_y^dId`eH!w|bGyH=cflU9D@-_f&m+PT5w z0|mh-6K2%STYgt!VJ7C$ETH6bZYORq6Z6n+^z<#tf%J26Cxi%=_JQ?*UF_zX%GNb@ zsbmr^Lw)79Knmb>o`l90qY`$ZhD0M!*C7@t zLOq(L0Q!Kzy7+m4Pb1)p5oecIJ36>Jpd?G~oXHA%KYYy;MmRqGZfKJg%iD|vi{$T& zKRdgVygz1mh8CdK_0i55k|dgVo&rZeA=HsEmYr(+NKwA<$LZe_=~ZmAXe)0e@(6uZV|$M**ypK59LSlwWnn@b$OthN1Jy|BmSWjwqyvmp zh5MUzYOW)U^P~gEPOtD`iyTpCNsKQWg?yqA1P()%kEVTY3Fd-eKmPVDzic>)Tz@e! zu!`mw^x5y@)Hq zF=sCC+wnpA9Vw_iQtSo!Qr=JTuTxl$R6>36@F_cvsG(m}FNCn9R=NzXHbNMyWh{QM zA_Nch#{#PC(;Jp_-eay_Q`;{r+YFs^H{0O-Zm|L~+OZ~=`<(iD`KH%-x2n0XpB@w5 z`aBPJ$6ARka zz&kZXnFbALUS6I+<3MTv6wbhy6R15#2GPgGZ&g_WwvaZ$JO=eyCeThBE!f$;@c%tlIR|52hx4%@k!M8r_(Z@*{uIFdoezgVe)VLkcNgBJH9~|uL z`Z3)c_8)~%l&8x9cJy$i03F#HH@IqjXw! z<~!`etl?r;*yV}FzgIyFHT<7KhD2Yci?IzHRTSL0@GnpSX{k}4%j^%vE7?C7Z=BP} zW_sUv1D0hDgKrdzzeo^L|Lw19m+$I-;EL5z|5nYgNe>)QE5Q-~_@iY+4NEJca4i@# zEgg-Uf_+c~GOK2ME@H=2xr$LnXhvZ8sk%7MQTY+CZD*}@%WnZBM8>90L^y8waLd(r z%qD!;aodazCw_DzUw6YXrbygKSv!7;pB`X}{pK z8_i4)uH=3t((!oXwc#IEHdjTnX9@J*m>9K>0KO6nqk0OB7-dvz>W~3s012chq9y{^ z`-AT#n{g3sN{2syvZ^&@&7-=PfPTm=U_Jgg@`U<0DG9cK(+_Zemj%F(PAdZJ4TlOM zo!8~ifo2(txc5Hz7#l3IdYis0F^f-un%q`HF!N}DRt zbZH1c-!6s&4&L$%bE?+0uD!7=*?jXS5o<#`?E`9KnTn~Enw?v|T~|cZ=#WVYKQ5J? zXN-2vS`1Z~pX(B`O)Zf_Dc5f)dpW?bQ4$5q#-TnP^Ll622ImW~=5kvLf{gR;)}n0o zp9`BWoTFmR?hpc`xNL9)2@U+6v+HKZXNh=Z|)ylG;93ZaHR zKp%J>;U=Ls-!;%K)>xZQ+l0yB%0WxJbl4byf$peKmh8y^zUxF~Vq1>vNl=G*zB1V# z+<=Ou4DklNQ`ZRDdx~LC(HE(gq9Fq1*z-2$GP1z}C1UHMNoD6p>2ZP%LvXz3omD=I zGmz?zyH|E6X7kwa`A09o(}e%6tS^f&%gspE5#)1b0P4SNoc*XfQ&k#&$eSt@kO&vKUv?M zqAta5D#7vQo#{*A7Q+{5Q5wmF@nq5w&7JuR$_tHS?Yjg4%@;s1y~uv~7-xh0g{Mw3 zs5;_Edn4h_{)*;~;L7)UH4%S z(>$o{eG5cVHwd=@W?js^@SAqmh1(vMSKCHBpP{XIZdMPjl8~36x09&g8M!_(AONht zoZp|zr)v0uqQOC>cm0g~1?#OUcb|A@@y-wggMW22``mSKkLODl6cP+cbG1SEp6XlCCos&b z=u%Hf*B53CV$eLv9E|~D%k_NL8dZP(lejXS=5%x(l#_&fvwcSW*oYQJx?d)OV!p?+ z+?xXIw*FyF%;s&8Ef}l#PO7ULQ1W^sBNk?dv@EVJM)vX!ggNL0)-fC-2uUN3GpqVJ zhe^3|`IGOG9h9(2bBK4TFL44n14mg$8Ar}h2_CLB?^F`HaVZ033x# zXnd`5Q#%gd5VDWFc-d)Mi79qv=l>yWKb-WP>Jz_2h6bn}cntCL6*Wa{N{hb}K$fjq30V7pX@&Huh;-ZFPRG9VVBNqGbOC>ARS68YvlxqRHEIe9}ie{^|V zgJ4Q!`O+2>%Y}FgANQa(!nj&t>oPh1{d-g1h8zuOrid`PQvW4+pF8rUKRh~Mh}oLd zuXk(=2uji6zHJs!oBlNV5ku|}bgx>Mxt(m#F2m>;;%O`WR6+7ott`^2q^E+Tu*9ur zqfKL@eTWB<(~c_kIR2Rv*u=saF-(^KQOrA_jL94!hU5ED+}Wy3MqH`VDH#+@TYs5` zkR+x`3UeP-QmKpy36221DUlKrIsiDPAlK&84aO&r&5y6z0+S_miy7)v3JkbF7hi#$ z++x5Mhs!~QWkqH~q!=Xmk~5$^XI1cqmn8aLj2soi?~2&@^?#+2w=29Dp8nfHufhKR zx+5(ms;DNa^`Cd7f!h8qSlW1B1&w*zJ-RaAl5){ae0PqhkEm0~p&(>wZBQXnIU_RB zdHj`~u$>=`9-W3qq*v`UZzFEB>@)N(TI85y!I&1b-hQ&Yxs2gSUy<-@6};xUN)_0C z%vs$W|CvNeT+Yec7CH&oy?L8^`k3?X7kt_H9R;?sPla@`AAXv$(g;q61iK$=suva& z1Puv~Y^#!@=Bm@1WWyWlUE`C4+p8TG`UE$r&(%vpqH-&WRNkpL6va6MjEcCtq8BbX zD5V#sK1!tHtv3aC!jLD?2Ekz!VbT{Z-P-1>+~Q#sVf`#xzV*GYc@Fj2r4JvdI*>PW zQIOdwF3}w+cy^11F;;cWifn)f^#C_9!AdHXT3=RR+_FWg)LnX&#z_R%`y9dJFcZ!s3OCw&iJiJiGBTM3=Se zrY-_1-}&~XMZ<8_UA!6iZKQT{e*(P6cpe|-euE9C4vpiQ79O;{@*-XS7z(=n>! z;mOmzW8_k4LE-GN%#xa4aSi*>L=C;iG`p?Mcl`R#T)mQjqrYsHsIw>G^=noBFCN9^ z?c-9A%>_p{vJN7{-3H7^FL-fw%)3?|jT!TeY4o48s`yTlL_95&B3f-ey90asr7Mm; zrYNSuyUQ{PLM1N}ld8f*p-8^O-{Ua&3WR-vtxaAn>O`$cfgI2902J0D29nAeHK}3rZ!n>@EfOkAwfjQP-jV*7N z1|B~2=Z$}a(2OUFd7GZNF3d~wF zC;)^ybNtv}|2ol7e!5(J@u%Z8U?BE9P@Pv13B-h{6Z(Cl7f^GxmZW;Y6`IJOyI5k5 zkvqEPjTxXl{&X8il(1g47epj7h=Nz2x56&skU%IR(phgSkd;I_!ex%PyW~t`mJd)r zTmN?x(=&e<5NPx}bAE2SmjW!$#Rl_{$Z>8Y_PpWd0tG%UcIo zeMpvXspD%|PS9J}#y^KpisO=E>QuvFLVcONND;t2TFpI-*fIk1GH-aTBWUG8g60mr zk57bxAh0ip(vm1Gu_HQ=|PkfyZxmxK7WfVK6`&oKC%=agR87x zUr=)Hq`}Fp_VDxd*Ug=rX$f8ugHPzxekTQ^RuN`>{X}@_uq=Pgdh zHaoP^LomVGLon_H7hf+>A&%gHy$$ZDiY{Q<=JBCYNbVDihu^#1NO_T}gHU|s5Fc8^ znzrcupJ6^Z0$4UTm*+4In{?1x$Ef3nU1ooz?Cb9 z6(ywIz@SNleSCY_IFhR+!M%G|!wsd-NZHU((B^UA7ARaznuSLKnvLIajY41yS&q#U zO3FW0-{YBax5lotKwp-|$|2^rnL?{S+6ZF8*RrF?F=%}$>n_m(+P+dh{j>yty6UJ) z9Fdm$llRGOlP6L}QW(c#;au`=;H|oYLZ8TL%eyfm(uy8ffV-L%3*zxU?yUaVT356u zp+tmEzf@rf^6>LDWWsu1Ro@PBT)|T^$%_XVxgF)%$pFLA|59(jP?;e+3RDWWC$^Gf zhW+XV9LZ?Ky4^`gHk5D`QKqQ-nFuxlmKu+vY4Cq3sGLixP~U%0N9GLI4kF!i$k|6M zIp{geYqWj;831sK6h*_l9XO{^c*XK7o`90$;~?sDx=TLY_~_JDEOqYgZSgd-Hrwp^ z(Bn98nAE8mH3Cpukqc3K2=t)1O#c<9iHVgQcUcl@%eLKw=Wc(s>!vpYTAHmT@=4<< zSMW;b;>BH&dUDK}E_^i;oEmRKywarUVf-wU;AG;YSSEa6UFmhKP$fvPTIk_a^TdZv zA)ATTKoR3ddP#2x6cVzAgF7<~FOz1~_ruh;aT2ae!EP_Xx*cfWzv3KkBodHnM2IC5 zEoF99UnPZ?7xOkh=A-qW7u^;JSE=TXE&-UH-qRPzCW+4Ai-CMonQY?)zjXzmwy^w6 z4{|i?v_o}&&*{1+8103rR=^*77f{VZ@IwO6kcGHYd$krs2tpas<5TgjSgJ1e{h20ZZ-l-R*hCr;#W*RD&A5Kr#=G*jq z5rjGV^11>e5_)sOFw&W;+yq8dCUdcpAH3qy@@abEP|%q!VOHTd+!=I!y3r`!8I?hL zP>6Q9F}v(5)^gcybIwwOZqq$MyQ<%BWh)d;t$5lLQyMXH)120&HRj&1CEal=Q=W~< zAPggESSM0Bj{~gNo|M!8h$nNDx+&h6o<r$2s7pI}mAA|&u zZkMI;wX}<4$>zspN8e7A6JyzOYG%R+Q+VPDHIa(htJ9Hp0RpTIjQ3!6*Fc33Lwu}Q z?fHDxIE$PX0{0lc0g6BGh1q{$&E^$6;d-V0&FKFqxr%A z3Sewma7)Beu#OH)oJ>QL-I=FX%S-@Fxyop)N+NSF2ANjDNO_F^k!<%Y%Em+`rjiBkfp?r}l?D5qOq?oQb3CA};f);#B$Td)NIRwiu%V*sOa0 zu&&mz6E)4ja!X31Gyu56~l>Baa8Aog!X(5rxD)+GGnQzcKTj9-cimk z$Y3~|wE)&e13@=|yKmi@i<451?%v5Sf>x+B(~Qt*iUU8A(pdk@BQtm=IzLo;4J>kC~##jkV^ zomQB>fujG!{i!bp=^EPTr!i<&4rZz#PhEBOW24KdO34-GO+Im14!3tv(bk<>sd+wI zWm1gnk<-x;TsI|mD9C#~DeO#}Oz?;3&}l+V|EZ_Q({Gj(11Syp>WF=#2#S}(9qA;& zK&NJ-GSySC8nwtQeu9CGF23|o#y$`*pt!1Jc3_vzttwumK5ZXCI#C$eX7TDX2^`Ixv8U6*#%TNa!~JSHM4;#3valS zv|I){vh_6z;^mp1c5>cO-l4cWY5tt6K-@<*Or-KKX75Hh+e$qyS51V!+akXJ6JA?J z=Yxua8W{WwZge9feoF8)4Yhti?FU*DKfbOdbzq*0QVCt8uq@FEA;Q&ZFhb<) z%-Tp})lF!$L$y^&Az4OG=&gX)Ybp!BcA`m$M~>l3##O1@@|FDr6AlVFpg5}2IwBeV z()0-xa&A7QVm@QGtIxB0=#E~c!D{9ur}LdI1%{Z`L=U`bI{78^>ThET=J9o zh6vucc*^swup6NWb)pvYxK^gsjb0T4{*+IOay(`NQ=HGQJ@CLb$X}N6vSB49O6lIMU3sRV-2}x;7E?b60m04;x2=(`zX0r zLGxnSV{-MF(XiqowQ_x+JbGrqq5^jHjxOm4qbNxi-n^aJedVOZlTSLqUC69zK5|Aq z>7|=-!Lpb+&O^6WK7=`<8}m%9Rz8LR0^SfHpTm4i+)5|4TsBN0Z&6J>?V(#g+0~t2 zDO=8bQge)eIS8)^;MA?2jL0=8n+E0@hy_oS6GK^MP}c}Gmg%K&5j$kzEB-on%VE9{ zjNW5XwDZ($n1+$8RZ84RK)A7Cv5;Hi*hto76^210yt97Y9Zx zOYSNUH62!8pLOevSaU;_tvlv4QbZC^J!6 z2>n44@>2#V72Cd*Ws#;Z-DKibx#}d20#6Swy=fYrA5_#Vk%o7MLa*OBoNlJHt+o53 zf&3J~Q=9W4swBjy#VTs|Qaw4`_3ZL+>%)dtgqpn>jop zvSVMrQ4!Rh>eYy>!T67*>_AOrM{}W^bW1XM911$__~o zqF0d?)Q_OmTpps5D}m0;TevY39GMd2_iadsQm{D1w-1CV!v(rMYbY?4Qs1g&f(=eoCk2Xfj4peQ6nW@_ZaLIR5;c^(} zI7e_aVf6Er1~eCKco!B)G;h^sI@Qg8lh#?T%*iB%@&(dU@b*yCjROx&@1<}l$N(xx z_wnT?xPuoC9P~nT7zr&d4&Y{zr06)5acGNmVoO&y7fM-GSB^Ibl014^x9sYZ)R3W( z9Eu4D%bMiqs~=jlQ&d!X`xP4-B{fxOWY5AeZv6h8L(SglvG62m+LX;Mlc`jpzc?*T z@+AT{!X2D>))J{kYBTAzPJ$4%F}-QsYH#ubeMu#5g4XbINJ zmTGe!5H|$i`}ZwT&KlXKOmo>jOkuf|Q#%@U$#KJFRx0ka6@weIE}Y@App}Q>J#aBy z;IHA@0q;22)n?b*9J5K)=y1{@#xWS_;L7#OQ9Z!QLO@lb8aP4aNbO zj?azMlJ$~Aj+Zwf9hjtphzH|3dWxW5@DZdAEKu#~?k6?FbUmiLbw zRG!(@#MOc~y~i2tD`+qmj?MCEn|*FkTa#5J9e-Aw4b)p)tM~5KXUOUp*HTj7ukhouCt*hk2W8@F|K^_=geXM8JF8m#ALa`uf_YOTl>yU+O~*XaG? z;xZ!hDYl9_yXnxBq1^%6s4Y5O?3hZHYB~3Apsanll}1$hF^`7n;Ef|LBGU&8XhwO! ztOlvV?Z_6<2LipN!mC$l52Y=C8;uDdU8~Pf5Qg=;G@!X;1C#`T>)LV|H@?=RN9b9Eq$foZ zgkbY5{$%guWy|Hi9GNxd%(l9L`3iC!Ro>jeQ}_LK98CmjurYJvgCjuVXM`k1_wp2h ze65z3c;!gBW=70q+}w+~0bgRb^aB)m4gX5Tz4VnkS3)hU&5n)9AR$G&I_P(dO7W_P z$$rJ^BUM&ILy}{{PX~pbM0W>$J_zCKTh3d*6}L>ECAwOoO&ud{VObtoya?@T&2f^H z=!U!lYmQr=M@RLCY9GXuG%Y>9;a_c!o~b45X&R}I+VFYgo|YN%KU8sMEp3I^UpMSD zKtwp%jc4Kv$MCNE5_^Q|Ts6er=50&U{Yg0^WC_NC{d05Sp4$PgsJ2a$l$o7or3LWI z(|G{|S(OfaV_1P_wi?8)rhI^nM98T|6-4v31o@>mhgya?TZsld*AO3kU1=k-iWDyB zbOBK|1W$UL>dR9D=*ZQ7Z`oZB$+{+X-KuxSY&4NO*HRgnP>B95N2AS^EkJ9MSsFn) zu4Fv2owSj4w!F^DNS7JkpGN?z1w8u0F)*2TOH^Iba8O0%HJ)2ukNUQ9d}&kRiVvz; zDA8gBK6HYAhcP&pO6JJwCJujf=kVG%WO{}u`i;63%W~&Su)Fc?Q?ZT zV(corap>_5i?Zc0ymkW)!(#_^}VJrVmt& zD;NO?NliekKUjQDx(R7M`J8Pl=`j63cM1g2R5%{=PK3OFGkHex4TOID0#5ZtTsSiQ zOm@<6P;|@RpCkghqTCfe+NA3>g_XwO(uT_m$gUV zt5zO=QJY?t4Xj>aRu#p<5MS)&BsQo~x||^|@Pqa8)Qs$5=U`d> zwWlpHVem)@@IFNHe`N&JG~cxtjmp31itDJCcQHH&3K>&es`O`8ruisZdO5VWFR7^J_kJTax_nW5*PWn4XOg_QBzSL2qOpFOmEX$o+T2W7(F$hM?FvUer-A{*1RD zM25eEMMOiT&pt|_ZjqW#Wt2meW{I{-PbsZ6!KusCb%&S3{3KiW9=#hx-rY<0_t;UF zbRaF_E`-s|a?)%~gU)3(U2Kh-&dXCS=Hf!_kDuC<;msuanyl`*5i`OT!;ygiY~NUI zH@N4FACGDh{WFNx8lQ_`*gW4-HSZ(`WngGaZOY(TQ7}=V+C=yTd%$WM{!bwd?_btU z!WK4<9LZ_Hn984%m{!BihosfL%A14-YYK9{{RuUyzt{!qSZP5JRt}OkYfHF?(}Y;l z#@+sSe;F=VD!Srmv*=4-u6<{w=2@TmE&!zlyP_~x3krDs(}*W(11NlW%Jg(y^i#?} z4#VpV6jKmeD^G=?$z%IncYC9y!thL)rqx;E3II2)6dzP#bcA3v%8$*1n0yV1Cfyo@9878e9M*axi zfK>ZH%yxvn3;x0aBiDjs!vf*m4XHgAMHOVO!tWa90IX|9LWzr@vFy3JGTSi2V*VMC zl*aFf-f|0#Yr^FF>pBEpCwN6W>(!UZYD7OqI%)60{98K`4~_V#P%P?2$Ewzh+O{?c zM-G6jqbbrsmFttwVK+e~Xsl&jINSxRCmeUhT*n15B^;*&WKhiy!330~x1hNY9;*(J0&`cc zb<%Qg`fZfhYBZfd`FFqHl5;?#N;vj|J=ZkoY@A^ZWJ&JMK?riq>ax`vp? zs{Y0)gin`fJ-)LY-X*s;(>_#Vt;0dE=@^#TqM6$+gza#CL}1bf)%*lMZ<0bT`Lko= z`!SD5Mw5f1gA2h<{$*f&NI(A73>a(AA3Si~lj{5=`A=UcLi7Hj?w=n7_K*6;{onP4 z*#9>Nm6GkhNT>-z$l#)gkzdV>@@9u{g!$gJ+NkKTWGS8ViFy=ix;eVUb3>3mv~0sb z)x7qXO$ywX)GRioM0DhQysSyo~;{0jRO~djbDIusZ)hu)P1B2KT{ z;z(E*bN&dElT%d65E1cPc%B2QcUU&c@{EwvbrjlI7%4GK6RH%HI~n8M6B>^^8DrF~ z?Kg%ke?lo9;X}!ysKp3avVfrxWuGHDo*Gdb(OS6YIvh(~tY}M~RwgFRmUy%Cb}hq> z*0vG_1P>-$X!RC5EIOBIMe7YbMmsCAHWN+6mgKoi`iOL`U-zClddrq)!vs5*_Ajx!a(OJMG}}0*7iy}7YB;R=B`U%+ZD*H>q5KYWly24wzS9-a zFoCC#*;mvNUTJvh5aNZ9nGxX&{DBuM6f#K2j#!)d3z|7qZ7tXy)!76}H)Kx3DU1r7 zuuHrC-ZRwG1JYk$W|wdx{ObPhbKS)}ovF(HLb`SEY~|rotWk4%S21M0vFWOD7_Y$^ z+BryzH2Zy(5*BE-av)Ck-4u%`b3PpkW#o$Jv zHojV&F&;prSc63n(*NP*v=VQoqy^DFdIQC`#IzN(vZO^A0zNd7%! z+G`zp4?vteZ>N`XqtbzuBrD30RWAFG=22ZV=Vo8XoC3QIXcF4S@UC0U&dVqd{AI}9 zilZFinrK9~Abzw@9x}M;bwl)OxV}mvm23fEwUf3zV(z5`hm3)dFoP}3faw((S;PJi z*+9Tp@k(R=_J_hEoD`?Jl6RUdvaC)TZbf33#_`vU(mT}GAj`M-RWt*q<>ytXGm=Uy z1vR28>X>rxvj?np54@Y-`lT}-#c#-E%BX>N3HP$S${V566|zNbb>Jy$_xxhPKQE%N zg-uxcoJ#$PRCG$>v6wiHFUy`Qu zb&L`JQ~D96CrWmIYkA&D-5m{lY{!7~qzyKk`&@b<434oEI5qk$8t!%>ac@DSn#+%M zMK+{W;>;;Ei;K{=va+}~s6X)6A~|jJ;!YW?{B1T(RDyV%xTD+qP{d72CFLS8Ut1 zjS4ExO@Dp*JAKc%qwgJK|JpzIe#V;XS#z#Afi{P20ciAVF}&PS2MD-UX%PegWR`al zQP&pDe=V@(7?4KH(o}>*2eh#{k5McMVrK57VfD<>ReD8OxL0mX08rAF>Jj;BYbLOI zQ0AEpO&nxypwlKT#v&yXIVPoN=t$;zP0%7|$vR5C?y3TsjOoRs)P%4~p~{nes)lEynGeR8Y>i1XJoHu^V!j+6Q)}*(n?|4u4UB zb@fO%ZBc0K1o5qjQ$Y!pWVe+mG)0`cJF{7~P8h8g7P1{2=XDcmikJPF_H8tyXqOt8 z!4AL{D!sr&qZ1z`TIBKlVX#a#wzYO>q_o=pTySWmNQ$&wL3jly^DBeCY8Aww;>@hC zBAr^G;#4BnShEAW$?7@y$FbnYu{*jl<(x?dw3gygz)pA$h}SeD+m#7E@LR2xJ#Z6( zUSpR2)H|Y0^I*1H7GEEBa-HR?7b(3wp0to+5iRiFD;ZZCap^2QAf&ZWpR12x@xQQ( z7U)V|zGLa0b5NS9+1G*HIaeQX!xYaDkrl&L?s8cVa<(QP24-bZ=WMwZ42`zI5n<C1bAL^YVqeDZI;+ zO{rl6%-iz>kf61G3q2_9TP2ltJ;~4Il{^RI(uD=N8OZ89o#2 z+;MGTF%YL1etYOWV4l%7O8p#s7)HU|E~1q3WQT7vTilL%^uzCf}~4QhZ?|!e=gwBfj%pS{&;q? z=ga?#FE5sf3(+OCZqr>-V|_DTDdNCLw8nh+Gxj)}lv%5ZE@QUo&ij1JaYGE4=S{q- zQ((p_=xJ_Z?PbMWDQF)uUw}(`21L(%|KAG9Kiq)9@?p~YzxzVz?_%;F-GKj9NCfQd zMI8-nOo*BPtClEf$^C=74?$h7p;Cp0)`f4@r;GRR%^VJ5j?-85>3vw5w2i%Dp0IB0 zp!p<1@?lhvaKDAPErc{%mZ9%f$9=j?XFBmd;Y#J`VSj_w$GSjCy6YXH#%)*cBZ8=e z!{t&(N}B-ZthR${`d~kkVo}`lGlo|rCQCY%%RpSCN$Q$A#a9@4NEpzyC~RB-&WyGi zWa$7tlHDZo-{@w2u=U24|04i~poRL*uB@O&vYrEDv^J0A=jUb)AjuXlrl>y}da$_Y zkY3F!GndZxXY@ITV#fNEmsvDR&oN&}WhO|J&?{X-5J5KOWPMvsVnUrXGU9Xt`b&;W zMu1~J;d`b>nTZ-4xx;3FTnczhX%N_Sx*hyZ3B2Fk4GE1{IxoAEuTd!CUn-aglS;Y? zB)CU(|HNB=;@?!e9$hSVe;wG38=;f8Tm`3zbtmWQ!-9FbyWus8{%e~O$_AlOy}s{` zWA$iXwKHQDHFuxCHN1DGseWaH?q)n}p0ErO9L>Yyr=U057Su9dIZ9WNz4 zfYj@N>Q6BEfhqk5L2l*4xN213js5G6UfNE!?XEFi-eT!?esJ?o1c!^Dp-^+E*Yx+f z;AqTOV!^3mS23M7_$~MMFH*Hr8H+zxLE1L1( zD-kcu4C3BCC|`VIG&d1*9IU%_-o!OCdk@o32t^AyUV3O||_ci+$-~ zSO#0e1>XjRtSQ>mMngm7!|2PO2JzI7){zEBax4SxYBzwVE{}?F79m=_^GD6q;=2-q zZe*JC%wZ;evRJ|?=(B3HIx@}&19}21CKf?VP!ldCEhltJ*PX?NB_0@y>z5gbV2mZzc)`=ZrE%5I@3HRd%&42up zLUy*_F7dX`ss`3BCjW&8Y8P%uBFJAdnXU_0^JqzGTI66-8A+nWcecX}xmC{oVgs!|ifah)>D$(V-o(PHLMrj892?Lx63GtB;F@opackwVj^~W(l zDg}@f!Yg3B!6(9}Dgb99K|u*IO4jEh4IqjdQx9upxoh=vF^=ETih0QO17S?q&qfQq z|E&umVyw9Bjw)mycH@n+-;74`e#wur%sLd!Nw|#l z?priXH&tai#8?nDr>~~5&|KGF#h&@)uB=^jH&{|!RV}B!2Y|qF5-_DDLoR+OMVzKtFRb(&gv-ymq{`%^jG#Z`RNE= zewTZp6x2+9O2{LDOIRexA=1D^5AiKF0|Ydd3)zDtSq5c95WulUwl$dhKLAUO7FTlz z?KVR}pjd|L>3tfGoLT5mjLPmM?prx^V^^|VCFOy@_Gg7_fMSHH97iR8W#dL3mL%!o zyYx0%IX|Kfn@B%rrvAEKr9?%eGSk7_b&_WljKPQ)lfNXd9wk$Lz0Qhg4FyDiD-69& zYmc@e($nssDW`@!H%-gYY*j+k`3w=(WNC-47_8D=>UHF-10||l-eC{0$5qljB(U5+ z*`D4dyB1Z+_5yt;>ZN&LbP~^keW|DNbzsqmw3MwuwZz)0_F!rh9LG;o=IIDvdIwlg zE6CoFH|VM}G)va%6;ngqCyXl;e@{{@8W5Eav`-;uABd7)HU)temI*bZq?#Sdu`tRd zw;BR+TW3i&jn$cXz%Y^85srHwpVJ%iCHv@}Sqj5kHa;%ec({l+745NlDBLl)&{O2f zAkjlm6{2Oenwy=AnUdV1g_|WSdldP@H)^D6tz(ztl|C0XAGEx9Yz(n9ACCC$~j9VVxSK zIr^Nc)8kJmh9nFB_L4OUiN}xLXNeSLVVbNPzOM@ib>VE@ptquQ-e}L?ASyTW6pvgx z5U7|I7aL$UT7P>oC-71=k~9M*y>S!_F|l0OVT6e5X7PD=gfupwSk8k3_zLhy1g`T` z-<#LsUYPral&K!VLy$kdCg?Lam>VzHM-!g3!26__YG79k00(HvRR&WKaEHSBsk6*R z%vIoGg^%R31Wf1e2-<19WO$95s52s+iX!iN0BPoO=77@_eKZ3%!DpH$lc>_^Gc^oF z;8L{KB`?!*E)l=4A3qnDCU=aFx9N^)IiOub9f1KGa|ILeU!;uC`-M6*00E}l=M*}= z7rK>fbN}N0X`tU)!xeWoQ3Tzx(6MbG;U^z@CvYWP-OodD_bH6?+2*n*i|5-4}Uy(rbY)`J`AP6wYx$@ButOW@r7fm(=z6LU*C(y48? zmNZ+U9i14(Ggh?OB+*6~w5j5Grl@Ysg>gc-&1W2z;OMLyH($3K0^bLQxkf0Bj{*6C zizx$V_xlD2I*}Yx$l<~T8^3}${KZI}f04I9GEtp9L_|0^OfzdRfq|N&BD1W4c%03l z3#EpbGT?8$^$B@OsxoPPK&y&G74`rn;h-#{T-<8ITiG^;uRRN2T2QEZVcARNlPV`- zGJ4uZ0oJ z*gQ5AEV2OT;j&H6p<-OZEZccj>C{ak#6*RFuJcX!lQ88+(mkIadREmpv`G@+C5)$x z!H>`;vnu&j^JCZHl&cakvxx$26P4VN%e7EJI$t3Fd!rgHVW?vZ_Tz^#;QxkFO3nsG zRx$?m%KwlZ{}ZLERjr(mOptxIH=(pnyNZ$9kPVzHK*IRJDC1Bekt2di77JVwsn1fJ z*+?@LXJg4@K7rEb975>4zgM#2os;7CGMPSqeEBi?-tm>qbVw|~G?g&PlD_5m(4BCf zaLjll?tFf}aQF?VLl!_33OMga;Q2UqVh*C$*yKOP;H?~`0s3RH91q;#DWpeN9QbU( z=`n7A;STdaRPsV%J1xzw8aVQI2g#H2giZ;JeGk_<4P;(BRV;#UvPU|s3eh-W!1P10J2A6|4bA6A(}CGZ!?aY+%Gn>l>e=^I~x z8#N0`D3m}Lb?^~^niVF2Pb5Z9t5|D?09341YnuJkNmoTWi_L8^#k2s@@3D(()kPds z6t(d~z|^1Acl~glwLjQW?NT}}rd8H-cnRBH%X%eMj_q9$UsUcg4MYK}w*+0AD> zIxWS1Ei$!p5u@_rnxd#8yS<`!ilSq6)rQUM_rN}|mnib;*pAGai4|I~^|65xmD-c1 zCpc|QHTw?y2?hFmj?mlv5*A(8BT>L0P+(qlYWVHx3FNDxyk{n=eVOdXBRF6llTgmp z1H2rXM7eVv<%`C&pYTQwLROLAnU)kQ1~)IapDgRdVkQz=`un60}|rwd6B zpWq&kLgMdvtL0~>s`$SuS*>R!x-7j5P3%bR(qGqQainI>F)}AY7enk$imi-qez}5? z@X=MXq{=uK9&3FF!AstWbtdvn`DM;zpMu@UcemYQ_FN*4l>Fha-NVcbn*s683{J(% z%rCe=aIpa9h9?k zW;gdTb>lZNp8HVZuTS-mSIjTtA4Kx@xL2)yTdm^yP*3L~Spy~zukZucL?oe*N~8$2 zWdHS$)r(~j?>7@~=Uwg96q?7QiPL1iVIR@5U~34|69TE#E%~(nhVGIPyx~DC=l9qp zJnl(h_{+{*6lN0em1=lnUJ<8~Ws#%`*c3{WG<##trIF+MIwcwQ zt8XlGD5ZHOe(u#o`IV5LT&5rm(j_`J}_b%x;Um6*)|L5z)zY4dAt@Hmsx>mJu!dgP{ts(YWX-HUYK-wR)mB~QUa4Zm1l0>=; z8H7?WG>QnwhVQL9YVM4wLYW``HYcM9y8TQ5?+08tLo@kcoB|BMxq<+Io%KB_zLpP= zTmP>gKG!-PCbcGF^Wf|!I&oVFyF$?=b>m{OO?GxpMhPGoMPE$!KF zU3!nraN~1!$O$ud?Op-D)EKp+Y)-g&1&>hQY1ZPf36Q%&y%C4Q!sJl zFgT4#Pm?E;R%fM4bBP{L#woB1RDJ+sRl-UAnNIu8aDJG(_Rt~KO)cNWp;~p7#cvr- zL>2N1%kWk_@KN1%d<6qH3|ttlif_6+^xH!(_s+j8`ZnyGysTZ(nhE1Sg `4piOt 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