<!DOCTYPE html>
<html>
<head>
    <!--
        http://www.gutenberg.org/ebooks/41252

        "This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org."
    -->
    <title>Chapter reflow performance test: English prose infinite</title>
    <script src="../resources/runner.js"></script>
</head>
<body>
    <pre id="log"></pre>
    <div id="target" style="width: 300px; display: none;">
        <p><span>Germany's war Juggernaut by the morning of Monday, August 3, was in full, but incredibly noiseless, motion. I always knew it was a magnificently well greased machine, geared for the maximum of silence, but I felt sure it could not swing into action without some reverberating creaks. Yet Berlin externally had been far more feverishly agitated on Spring Parade days at recurring ends of May than it was now, with "enemies all around" and that "war on two fronts," which most Germans used to talk about as something,</span> <em class="italics">Gott sei Dank</em><span>, they would never live to see. One's male friends of military age--it was now the second day of mobilization--kept on melting away from hour to hour, but amid a complete lack of fuss and bustle. It almost seemed as if the army had orders to rush to the fighting-line in gum-shoes and that everything on wheels had rubber tires. As the Fatherland for years had armed in silence, so she was going to battle. We saw no seventeen-inch guns rumbling to the front. Those were Germany's best-concealed weapons. A military attaché of one of the chief belligerents, who lived in Berlin for four years preceding the war, has since confessed that he never even knew of the "Big Berthas'" existence!</span></p>

        <p><span>Germany girding for Armageddon was distinctly a disappointment. I entirely agreed with a portly dowager from the Middle West, who, between frettings about when she could get a train to the Dutch frontier, continually expressed her chagrin at such "a poor show." She imagined, like a good many of the rest of us, that mobilization in Germany would at the very least see the Supreme War Lord bolting madly up and down</span> <em class="italics">Unter den Linden</em><span>, plunging silver spurs into a foaming white charger and brandishing a glistening sword in martial gestures as Caruso does when he plays Radames in the finale of the second act of Aida. Verdi's Egyptian epic is the Kaiser's favorite opera, and he ought to have remembered, we thought, how a conquering hero should demean himself at such a blood-stirring hour. At least Berlin, we hoped, would rise to the occasion, and thunder and rock with the pomp and circumstance of war's alarums.</span></p>

        <p><span>There was amazingly little of anything of that sort. The Kaiser instead automobiled around town in a prosaic six-cylinder Mercedes, as he long was wont to do, just keeping some rather important professional engagements with the Chief of the General Staff, the Imperial Chancellor and the Secretary of the Navy. As he flitted by, the huge crowds lined up on the curbstone stiffened into attitudes, clicked heels, doffed hats and "</span><em class="italics">hoched</em><span>." The atmosphere was</span> <em class="italics">stimmungsvoller</em> <span>than usual, for German phlegm had vanished along with high prices on the Bourse, but the paroxysm of electric excitement which I always fancied would usher in a German war was unaccountably missing. When you mentioned that phenomenon to German friends, their bosoms swelled with visible pride. They were immeasurably flattered by your indirect compliment that the Kaiser's war establishment was so perfect a mechanism that it could clear for action almost imperceptibly.</span></p>

        <p><span>I had now deserted my home in suburban Wilmersdorf, which I nicknamed the "District of Columbia," for in and all around it Berlin's American colony was domiciled, and taken a room for the opening scenes of the war drama in the Hotel Adlon. With its broad fronts on the Linden and Pariser Platz, and the French, British and Russian Embassies within a stone's throw to the right and left, the Adlon was an ideal vantage point. If there were to be "demonstrations," I could feel sure, at so strategic a point, of being in the thick of them. Events of the succeeding thirty-six hours were to show that I did not reckon without my host on that score.</span></p>

        <p><span>From window and balcony overlooking the Linden I could now see or hear at intervals detachments of Berlin regiments, Uhlans or Infantry of the Guard, or a battery of light artillery, swinging along to railway stations to entrain for the front. Occasionally battalions of provincial regiments, distinguishable because the men did not tower into space like Berlin's guardsmen, crossed town en route from one train to another. The men seemed happier than I had ever before seen German soldiers. That was the only difference, or at least the principal one. The prospect of soon becoming cannon-fodder was evidently far from depressing. Most of them carried flowers entwined round the rifle barrel or protruding from its mouth. Here and there a bouquet dangled rakishly from a helmet. Now and then a flaxen-haired Prussian girl would step into the street and press a posey into some trooper's grimy hand. Yet, except for the fact that the soldiers were all in field gray, (I wonder when the Kaiser's military tailors began making those millions of gray uniforms!) with even their familiar spiked headpiece masked in canvas of the same hue, the Kaiser's fighting men marching off to battle might have been carrying out a workaday route-march. Then, suddenly, a company or a whole battalion would break into song, and the crowd, trailing alongside the bass-drum of the band, just as in peace times, would take up the refrain, and presently half-a-mile of</span> <em class="italics">Unter den Linden</em> <span>was echoing with</span> <em class="italics">Deutschland, Deutschland über Alles</em><span>, and I knew that the Fatherland was at war.</span></p>

        <p><span>At the railway stations of Berlin and countless other German towns and cities at that hour heart-rending little tragedies were being enacted, as fathers, mothers, wives, sisters and sweethearts bade a long farewell to the beloved in gray. Only rarely did some man in uniform himself surrender to the emotions of the moment. These swarthy young Germans, with fifty or sixty pounds of impedimenta strapped round them, were endowed with Spartan stolidity now, and smilingly buoyed up the drooping spirits of the kith and kin they were leaving behind. "</span><em class="italics">Es wird schon gut, Mütterchen! Es wird schon gut!</em><span>" (It will be all right, mother dear! It will be all right!) Thus they returned comfort for tears.</span> <em class="italics">"Nicht unterliegen! Besser nicht zurückkehren!</em><span>" (Don't be beaten! Better not come back at all!) was the good-by greeting blown with the final kisses as many a trainload of embryonic heroes faded slowly from sight beneath the station's gaping archway. Germany was now indubitably convinced that its war was war in a holy cause. The time had come for the Fatherland to rise to the majesty of a great hour. "</span><em class="italics">Auf wiedersehen!</em><span>" sang the country to the army. But if there was to be no reunion, the army must go down fighting to the last gasp for</span> <em class="italics">unsere gerechte Sache</em><span>, manfully, tirelessly, ruthlessly, till victory was enforced. Such were the inspiring thoughts amid which the boys in field gray trooped off to die for Kaiser and Empire.</span></p>

        <p><span>The outstanding event of August 3 was the publication of the German Government's famous apologia for the war, the so-called "White Paper" officially described as "Memorandum and Documents in Relation to the Outbreak of the War." Early in the afternoon a telephone message arrived for me at the Adlon to the effect that if I would call at the Press Bureau of the Foreign Office at five o'clock,</span> <em class="italics">Legationsrat</em> <span>Heilbron, one of Hammann's lieutenants whom I had known for many years, would be glad to deliver me an advance copy for special transmission to London and New York. I lay great stress on the fact that up to sun-down of August 3, 1914, I continued to be</span> <em class="italics">persona gratissima</em> <span>with the Imperial German Government. It was true that one of the young Foreign Office cubs told off to censor press cablegrams at the Main Telegraph Office had, during the preceding three days, expressed annoyance with what he considered my eagerness to "go into details," but</span> <em class="italics">Legationsrat</em><span>Heilbron's invitation to fetch the "White Paper" was gratifying evidence that my relations with the powers-that-be were still "correct," even if not cordial. I was glad of that, because there was constantly in my mind the desire to remain in Germany, whatever happened, with a front-row seat for the big show. At the appointed hour I presented myself in Herr Heilbron's room on the ground floor of the Wilhelmstrasse front of the Foreign Office. He greeted me with old-time courtesy, though I found his demeanor perceptibly depressed. He handed me a copy of the</span> <em class="italics">Denkschrift</em><span>, and, when I begged him for a second one, he complied with a gracious</span> <em class="italics">bitte sehr</em><span>.</span></p>

        <p><span>A London colleague had already intimated to me that the Imperial Chancellor, desiring to place the German case promptly and fully before the British and American publics, would "do his best" with the military authorities who were now in supreme control of the postal telegraph and cable lines to induce them to allow London and New York correspondents to file exhaustive "stories" on the White Paper. As I was sure, however, that Reuter's Agency for England and the Associated Press for America would be handling the affair at great length, my treatment of it was confined, as was usual under such circumstances, to telegraphing a brief introductory summary.</span></p>

        <p><span>What struck me instantly as the hall-marks of the German publication were its treatment of the war as an exclusively Russian-provoked Russo-German affair and its brazenly</span> <em class="italics">ex-parté</em> <span>character--how</span> <em class="italics">ex-parté</em> <span>I did not fully realize till I read England's White Paper a week later. Sir Edward Grey laid his cards on the table, without marginal notes or comment of any kind, and asked the world to pass judgment. Doctor von Bethmann Hollweg's White Paper began with a lengthy plea of justification and ended with quotation of such communications between the Kaiser's Government and its ambassadors and between the German Emperor and the Czar as would most plausibly support the Fatherland's case for war. It was manifestly a biased and incomplete record. It was in fact a doctored record, and suggested that its authors had Bismarck's mutilation of the Ems telegram in mind as a precedent, in emulation of which no German Government could possibly go wrong.</span></p>

        <p><span>Although compiled to include events up to August 1, the German White Paper was silent as the grave in regard to Belgium and the negotiations with the Government of Great Britain. Issued on the night of August 3, when hundreds of thousands of German troops were waiting at Aix-la-Chapelle for the great assault on Liége--if, indeed, at that hour they were not already across the Belgian frontier--this sacred brief designed to establish the Fatherland's case at the bar of world opinion had no single word to say on what was destined to be almost the supreme issue of the war. It was the last word in Imperial German deception. If the German public had known that Sir Edward Grey on July 30 had already "warned Prince Lichnowsky that Germany must not count upon our standing aside in all circumstances," I imagine its bitterness a few nights later, when the fable of England's "treacherous intervention" was sprung upon the deluded Fatherland, might have been less barbaric in its intensity.</span></p>

        <p><span>Next to the omission of all reference to what Sir Edward Grey called Germany's "infamous proposal" for the purchase of British neutrality--a pledge not to despoil France of European territory if England would stand with folded arms while Germany violated Belgium and ravished the French Colonial Empire--the striking feature of the Berlin White Paper was the admission of German-Austrian complicity in the humiliation of Serbia. The Foreign Office, as I have previously explained, had zealously affirmed Germany's entire detachment from Austria's programme for avenging Serajevo. What did the White Paper now tell us? That</span></p>
        <div class="vspace c1"/>
        <p class="pfirst"><span>"Austria had to admit that it would not be consistent either with the dignity or the self-preservation of the Monarchy to look on longer at the operations on the other side of the border without taking action....</span> <em class="italics">We were able to assure our ally most heartily of our agreement with her view of the situation, and to assure her that any action she might consider it necessary to take in order to put an end to the movement in Servia directed against the existence of the Austro-Hungarian Monarchy would receive our approval</em><span>. We were fully aware, in this connection, that warlike moves on the part of Austria-Hungary against Servia would bring Russia into the question, and might draw us into a war in accordance with our duties as an ally."</span></p>
        <div class="vspace c1"/>
        <p class="pfirst"><span>The historic and ineffaceable fact is that Austria--wabbly, invertebrate Austria, which would even to-day, but for Germany, lay prostrate and vanquished--never made a solitary move in the whole plot to coerce Serbia without the full concurrence of the big brother at Berlin. It would be an insult to the intelligence of German diplomacy, stupid as it is, to imagine that the Kaiser's Government sat mute, unconsulted and nonchalant, while Austria worked out a scheme certain, as the Germans themselves admit in their White Paper, to plunge Europe into war.</span></p>

        <p><span>It was my privilege on arriving in the United States on August 22, to furnish the</span> <em class="italics">New York Times</em> <span>with the first copy of the German White Paper to reach the American public. In preparing a prefatory note to accompany the verbatim translation published in next day's paper, I selected the paragraph above quoted as</span> <em class="italics">primâ-facie</em> <span>evidence that the German claim of non-collusion with Austria is subterfuge--to give it the longer and less unparliamentary term.</span></p>

        <p><span>The German White Paper was prepared formally for the information of the Reichstag, which was summoned to meet on Tuesday, August 4 of imperishable memory, for the purpose of voting $325,000,000 of initial war credits. Paris was not won in the expected six weeks, and the Reichstag has voted $7,500,000,000 of war credits up to this writing (September 1, 1915), with melancholy promise of still more to come. The twenty-four hours preceding the war sitting had not been eventless. Monsieur Sverbieff and the staff of the Russian Embassy were the victims of gross insults from the mob in</span> <em class="italics">Unter den Linden</em><span>, as they left their headquarters in automobiles for the railway station. Mounted police were present to "keep order," but their "vigilance" did not deter German men and youths from spitting in the faces of the Czar's representatives, belaboring them with walking-sticks and umbrellas, and offering rowdy indignities to the women of the ambassadorial party. In front of the French Embassy menacing crowds stood throughout the day and night, waiting for a chance to exhibit German patriotism at Monsieur Cambon's expense. When Señor Polê de Bernábe, the Spanish Ambassador, who was calling to arrange to take over the representation of France during the war, made his appearance, the mob mistook him for Cambon and was just prevented in the nick of time from assaulting the Spaniard. How the French Embassy finally got away from Germany, under circumstances which would have shamed a Fiji Island government, was later related for the benefit of posterity in the French</span> <em class="italics">Yellow Book</em><span>. When I read it months later, I remembered my first German teacher in Berlin, a noblewoman, once telling me, when I asked her how to say "gentleman" in German: "There is no such thing as a 'gentleman' in the German language." That was paraphrased to me by another German on a later occasion, when, discussing the ability of German science, so well demonstrated during this war, to devise a substitute for almost anything, he remarked: "The only thing we can't make is a gentleman, because we never had a proper analysis of the necessary ingredients." The Germans, in their communicative moments, always used to acknowledge that Bismarck was right when he called them "a nation of house-servants." It is impressively exemplified on their stage, which boasts the finest character actors imaginable; but when a German player essays to portray the gentleman, he is grotesque. He gropes helplessly in a strange and unexplored realm.</span></p>

        <p><span>On the day before the war session of the Reichstag, the Kaiser, more conscious than ever now of his partnership with Deity, ordained Wednesday, August 5, as a day of universal prayer for the success of German arms. Soon after its proclamation, William II, thunderously acclaimed, appeared in</span> <em class="italics">Unter den Linden</em><span>intermittently, en route to conference with high officers of state. He was clad, like every German soldier one now saw, in field-gray, and ready, one heard, to leave for the front at a moment's notice, to take up his post, assigned him by Hohenzollern warrior traditions, on the battlefield in the midst of his loyal legions. Mobilization was now in full swing, and more and more troops were in evidence, crossing town to railway stations from which they were to be transported east or west, as the Staff's emergencies required. A week before, all these soldiers were in Prussian blue. They were gray now, from head to foot, millions of them. Obviously the clothing department of the army had not been taken by "surprise" by the cruel war "forced" on pacific Germany. Three million uniforms can not be turned out in a whole summer--even in Germany. I thought of this, as gray streams, far into the evening, kept pouring through Berlin, and I thought what a marvelously happy selection that peculiar shade of drab-gray, of almost dust-like invisibility from afar, was for field purposes. To shoot at lines no more colorful than that, it seemed to me, would be like banging away at the horizon itself....</span></p>

        <p><span>History, I suppose, will date Armageddon from August 1, when the German army and navy were mobilized, or perhaps from August 2, when Germany claims that Russia and France fired the first miscreant shots. But the red-letter day of the World Massacre's opening week was beyond all question Tuesday, August 4, which began with the war sitting of the Reichstag and ended with England's declaration of war on Germany. It was destined to be especially big with import for me--of vital import, as events hanging over my unsuspecting head were speedily to reveal.</span></p>

        <p><span>At midday, two hours before the session of the Reichstag in its own chamber, Parliament was "opened" by the Kaiser personally in the celebrated White Hall of the Royal Castle. I had applied for admission after the few available press tickets were already exhausted, but it was not difficult for me to visualize the scene. I had been in the White Hall on several memorable occasions in the past--during the visit of King Edward VII in February, 1909, at a brilliant State banquet and at the ball which followed; at the wedding of the Emperor's daughter, "the sunshine of my House," Princess Victoria Luise, and Duke Ernest August of Brunswick, in May, 1913; and a month later during the Silver Jubilee celebration of the Kaiser's reign, when our own Mr. Carnegie showered plaudits on the Prince of the world's peace. Tower, of</span> <em class="italics">The World</em> <span>and</span> <em class="italics">Daily News</em><span>, was lucky enough to secure a ticket to the Castle ceremonial, and he was bubbling over with excitement at having been privileged to participate in so memorable a function. My old friend, Günther Thomas, late of the</span> <em class="italics">Newyorker-Staatszeitung</em><span>, now joyous in the prospect of joining the German Press Bureau's war staff, came back from the Castle almost pitying me for not having been there. "Wile, I tell you," I can hear him saying now, "it was beautiful, simply beautiful! You missed it! It was enough to make one cry!" Thomas lived in New York seventeen years, but he returned to Germany a more devout Prussian than ever, as a man ought to be whose father fell gloriously at Königgrätz.</span></p>

        <p><span>The description furnished by my English and Prussian colleagues evidently did not exaggerate the splendor and impressiveness of the scene at the White Hall. The Kaiser, in field-general's gray, entered, escorting the Empress. He was solemn, but not anxious-looking. Around the marble-pillared chamber, where only fifteen months before I had seen the Czar and George V of England tripping the minuet with German princesses as the Kaiser's honored guests, were grouped the first men of the Empire. In the places of distinction, closest to the canopied throne, each according to his Court rank, stood the Imperial Chancellor, General von Moltke, Grand-Admiral von Tirpitz and a score of other eminent officers of the civil, naval and military governments. Among the foreign ambassadors only the representatives of Russia and France were missing from their old-time places. Mr. Gerard, modest and retiring as always, amid the glitter of gold lace and brass buttons flashing on all sides, cut a more than ever self-effacing figure in his diplomatic uniform--the plain evening dress of an American gentleman.</span></p>

        <p><span>The Kaiser read his War Speech, which he held in his right hand, while the left firmly gripped his sword-hilt. Beginning in a quiet tone, His Majesty's voice appreciably rose in intensity and volume as he approached the kernel of his message which told how "with a heavy heart I have been compelled to mobilize my army against a neighbor with whom it has fought side by side on so many fields of battle." The Imperial Russian Government, William II went on to say, "yielding to the pressure of an insatiable nationalism, has taken sides with a State which by encouraging criminal attacks has brought on the evil of war." That France, also, the Kaiser continued, "placed herself on the side of our enemies could not surprise us. Too often have our efforts to arrive at friendlier relations with the French Republic come in collision with old hopes and ancient malice." And when the Kaiser had ended, with an invitation to "the leaders of the different parties of the Reichstag" (there were no Socialists present) "to come forward and lay their hands in mine as a pledge," the White Hall reverberated with applause which must have seemed almost indecorous in so august an apartment, but which, no doubt, rang true. It was then, I suppose, that Thomas felt like weeping, and so should I, perhaps, had I been there. The Kaiser, his handshaking-bee over, strode from the scene amid an awesome silence, and the statesmen, the generals and the admirals went their respective ways. All was now in readiness for the real Reichstag session, in which words of deathless significance were to fall from the Chancellor's lips.</span></p>

        <p><span>We were accustomed to sardine-box conditions in the always overcrowded press gallery of the Reichstag on "great days," but to-day we were piled on top of one another in closer formation even than a Prussian infantry platoon in the charge. Familiar faces were missing. Comert, of</span> <em class="italics">Le Temps</em><span>, Caro, of</span> <em class="italics">Le Matin</em><span>, and Bonnefon, of</span> <em class="italics">Le Figaro</em><span>, were not there. They had escaped, we were glad to hear, by one of the very last trains across the French frontier. Löwenton (a brother of Madame Nazimoff), Grossmann, Markoff and Melnikoff, our long-time Russian colleagues, were absent, too. Had they gained Wirballen in time, we wondered, or were they languishing in Spandau?</span></p>

        <p><span>Doctor Paul Goldmann,</span> <em class="italics">doyén</em> <span>of our Berlin corps, was in his accustomed seat, beaming consciously, as became, at such an hour, the correspondent-in-chief of the great allied Vienna</span> <em class="italics">Neue Freie Presse</em><span>. The British and American contingents were on hand in force. Never had we waited for a</span> <em class="italics">Kanzlerrede</em> <span>in such electric expectancy. "Copy" in plenty, such as none of us had ever telegraphed before, was about to be made. Goldmann, a Foreign Office favorite, as well as the all-around most popular foreign journalist in Berlin, may have had an advance hint what was coming, as he frequently did, but to the vast majority of us--British, American, Swedish, Dutch, Italian, Swiss, Spanish and Danish, sandwiched there in the</span> <em class="italics">Pressloge</em> <span>so closely that we could hear, but not move--I am certain that the momentous words and extraordinary scenes about to ensue came as a staggering revelation.</span></p>

        <p><span>Doctor von Bethmann Hollweg, who is flattered when told that he looks like Abraham Lincoln--the resemblance ends there--began speaking at three-fifteen o'clock. Gaunt and fatigued, he tugged nervously at the portfolio of documents on the desk in front of him during the brief introductory remarks of the President of the House, the patriarchal, white-bearded Doctor Kaempf. The Chancellor's manner gave no indication that before he resumed his seat he would rise to heights of oratorical fire of which no one ever thought that "incarnation of passionate doctrinarianism" capable. What he said is known to all the world now; how, in Bismarckian accents, he thundered that "we are in a state of self-defense and necessity knows no law!" How he confessed that "our troops, which have already occupied Luxemburg, may perhaps already have set foot on Belgian territory." How he acknowledged, in a succeeding phrase, to Germany's eternal guilt, that "that violates international law." How he proclaimed the amazing doctrine that, confronted by such emergencies as Germany now was, she had but one duty--"to hack her way through, even though--I say it quite frankly--we are doing wrong!" Our heads, I think, fairly swam as the terrible portent of these words sank into our consciousness. "Our troops may perhaps already have set foot on Belgian soil." That meant one thing, with absolute certainty. It denoted war with England. Trifles have a habit at such moments of lodging themselves firmly in one's mind; and I remember distinctly how, when I heard Bethmann Hollweg fling that challenge forth, I leaned over impulsively to my Swedish friend, Siosteen, of the</span> <em class="italics">Goteborg Tidningen</em><span>, and whispered: "That settles it. England's in it now, too." Siosteen nods an excited assent. It is in the midst of one of the frequent intervals in which the House, floor and galleries alike, is now venting its impassioned approval of the Chancellor's words. I had heard Bülow and Bebel and Bethmann Hollweg himself, times innumerable, set the Reichstag rocking with fervid demonstrations of approval or hostility, but never has it throbbed with such life as to-day. It is the incarnation of the inflamed war spirit of the land. The more defiant the Chancellor's diction, the more fervid the applause it evokes. "</span><em class="italics">Sehr richtig! Sehr richtig!</em><span>" the House shrieks back at him in chorus as he details, step by step, how Germany has been "forced" to draw her terrible sword to beat back the "Russian mobilization menace," how she has tried and failed to bargain with England and Belgium, how she has kept the dogs of war chained to the last, and only released them now when destruction, imminent and certain, is upon her.</span></p>

        <p><span>All eyes in the Press Gallery are riveted on the broad left arc of the floor usurped by the one hundred and eleven Social Democratic deputies of the House of three hundred and ninety-seven members. For the first time in German history their cheers are mingling with those of other parties in support of a Government policy. That, after the Belgian revelation, is beyond all question the dominating feature of a scene tremendous with meaning in countless respects. There is nothing perfunctory about the "Reds'" enthusiasm; that is plain. It is real, spontaneous, universal. No man of them keeps his seat. All are on their feet, succumbing to the engulfing magnitude of the moment. That, it instantly occurs to us, means much to Germany at such an hour. It means that the hope which more than one of the Fatherland's prospective foes in years gone by has fondly cherished, of Socialist revolt in the hour of Germany's peril, was illusory hope. The Chancellor knows what it means. "Our army is in the field!" he declares, trembling with emotion. "Our fleet is ready for battle! The whole German nation stands behind them!" As one man, the entire Reichstag now rises, shouting its approval of these historic words in tones of frenzied exaltation. For two full minutes pandemonium reigns unchecked. Bethmann Hollweg is turning to the Social Democrats. His fist is clenched and he brandishes it in their direction--not in anger this time, but in triumph--and, as if he were proclaiming the proud sentiment for all the world to hear, he exclaims, at the top of his voice, "Yea, the whole nation!" Thus was Armageddon born. Germany, all present knew, would be at war before another sun had gone down, not only with Russia and France, but with England, and, of course, with Belgium, too.</span></p>

        <p><span>"Supposing the Belgians resist?" I asked Schmidt, of the</span> <em class="italics">B. Z. am Mittag</em><span>, a German colleague whom I once christened Berlin's "star" reporter, as we wandered, thinking hard, back to</span> <em class="italics">Unter den Linden</em><span>.</span></p>

        <p><span>"Resist?" he replied, half pitying the feeble-mindedness which prompted such a question. "We shall simply spill them into the ocean."</span></p>
    </div>
    <script>
        var target = document.getElementById("target");
        var style = target.style;

        function test() {
            style.display = "block";
            style.width = "280px";
            target.offsetLeft;
            style.width = "300px";
            target.offsetLeft;
            style.width = "290px";
            target.offsetLeft;
            style.display = "none";
        }

        PerfTestRunner.measureRunsPerSecond({ run: test });
    </script>
</body>
</html>
