# HG changeset patch # User casties # Date 1378458360 -7200 # Node ID 9189ba27fcf84b5467bb7c1dc1b5a8285518e1cc # Parent 38be9940e142da9bb5202570c3639e6e3fcafd96# Parent fa5a64d04471bb47914033852ef736d384afb9c0 merge diff -r 38be9940e142 -r 9189ba27fcf8 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Fri Sep 06 11:06:00 2013 +0200 @@ -0,0 +1,9 @@ + +syntax: regexp +^target$ +syntax: regexp +^\.classpath$ +syntax: regexp +^\.project$ +syntax: regexp +^\.settings$ \ No newline at end of file diff -r 38be9940e142 -r 9189ba27fcf8 old/digilib-short-1.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/old/digilib-short-1.graffle Fri Sep 06 11:06:00 2013 +0200 @@ -0,0 +1,584 @@ + + + + + CanvasColor + + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + Head + + ID + 8 + + ID + 9 + Points + + {108, 117} + {72, 117} + + Style + + stroke + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 1 + + + + Bounds + {{9, 90}, {63, 54}} + Class + ShapedGraphic + ID + 8 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 Image files} + + + + Bounds + {{215, 137}, {79, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 7 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 (image data)} + + Wrap + NO + + + Bounds + {{216, 120}, {86, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 6 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 HTTP-answer} + + Wrap + NO + + + Bounds + {{219, 84}, {87, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 5 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 HTTP-request} + + Wrap + NO + + + Class + LineGraphic + ID + 4 + Points + + {207, 135} + {306, 135} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 3 + Points + + {306, 99} + {207, 99} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + TailArrow + 0 + + + + + Bounds + {{306, 72}, {99, 90}} + Class + ShapedGraphic + ID + 2 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 digilib-client\ +(web browser)} + + + + Bounds + {{108, 72}, {99, 90}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Scaler\ +(Servlet)} + + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + YES + MagnetsVisible + NO + ModificationDate + 2006-09-18 19:03:59 +0200 + Modifier + Robert Casties + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG + koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX + gSJwhAdbODgxNmNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K + PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT + VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt + MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0 + PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp + Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ + cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPl80X29zY19rb25pXzIyQ19LTV9EcnVja2Vu + PC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8 + ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwv + a2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50 + aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21h + bmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2RE + YXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5WjwvZGF0ZT4KCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxp + bnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+ + Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5 + PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+ + CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9y + aWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20u + YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5w + cmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOS0xOFQxNToz + NjoyOVo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9h + cnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1T + Y2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tl + eT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+CgkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNv + bS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1 + OjM2OjI5WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0 + ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8 + L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5Q + TVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50 + aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFu + YWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJy + YXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVhbD43MjwvcmVh + bD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIw + MDYtMDktMThUMTU6MzY6MjlaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJ + PC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5Q + YWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2NhbGluZzwva2V5 + PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl + cjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCTxkYXRlPjIwMDYtMDktMThUMTU6MzY6MjlaPC9kYXRlPgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVn + ZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5 + PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNrZXQ8L2tleT4K + CTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3Rl + ZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFu + YWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFy + cmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFy + cmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4K + CQkJCQkJPHJlYWw+NzYzLjcwMDAxMjIwNzAzMTI1PC9yZWFsPgoJCQkJCQk8cmVhbD41 + ODMuNzAwMDEyMjA3MDMxMjU8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20u + YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1 + OjQ0OjIyWjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3Rh + dGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4K + CQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTUFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVj + dDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE0LjIwMDAxMjIwNzAzMTI1 + PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTQuMTAwMDAwMzgxNDY5NzI3PC9yZWFsPgoJCQkJ + CQk8cmVhbD43NzcuNzk5OTg3NzkyOTY4NzU8L3JlYWw+CgkJCQkJCTxyZWFsPjU5Ny45 + MDAwMjQ0MTQwNjI1PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxl + LnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0wOS0xOFQxNTo0NDoy + Mlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxh + Zzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwv + YXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5Q + TUNvbnN0cmFpbmVkUGFwZXI8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5DVVBTX0NQTDwvc3Ry + aW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+ + CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBh + cGVySW5mby5QTUNvbnN0cmFpbmVkUGFwZXI8L2tleT4KCQkJCQk8ZmFsc2UvPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3Ry + aW5nPkNVUFNfQ1BMPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5Wjwv + ZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9r + ZXk+CgkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJh + eT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFw + ZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0cmluZz4KCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8YXJyYXk+ + CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1Q + YXBlck5hbWU8L2tleT4KCQkJCQk8c3RyaW5nPm5hLWxldHRlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3Ry + aW5nPkNVUFNfQ1BMPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5Wjwv + ZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9r + ZXk+CgkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJh + eT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5h + ZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0cmlu + Zz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJ + CQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBl + ckluZm8uUE1VbmFkanVzdGVkUGFnZVJlY3Q8L2tleT4KCQkJCQk8YXJyYXk+CgkJCQkJ + CTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVh + bD43NjMuNzAwMDEyMjA3MDMxMjU8L3JlYWw+CgkJCQkJCTxyZWFsPjU4My43MDAwMTIy + MDcwMzEyNTwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmlu + dGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDktMThUMTU6MzY6MjlaPC9k + YXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5 + PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFk + anVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0cmlu + Zz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJ + CQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBl + ckluZm8uUE1VbmFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJ + CQk8cmVhbD4tMTQuMjAwMDEyMjA3MDMxMjU8L3JlYWw+CgkJCQkJCTxyZWFsPi0xNC4x + MDAwMDAzODE0Njk3Mjc8L3JlYWw+CgkJCQkJCTxyZWFsPjc3Ny43OTk5ODc3OTI5Njg3 + NTwvcmVhbD4KCQkJCQkJPHJlYWw+NTk3LjkwMDAyNDQxNDA2MjU8L3JlYWw+CgkJCQkJ + PC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+ + CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwv + aW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5QTVBhcGVyTmFtZTwva2V5PgoJCTxk + aWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CQk8c3RyaW5nPkNVUFNfQ1BMPC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5QTVBhcGVyTmFtZTwva2V5 + PgoJCQkJCTxzdHJpbmc+TGV0dGVyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0 + cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5 + PgoJCQkJCTxkYXRlPjIwMDYtMDktMThUMTU6MzY6MjlaPC9kYXRlPgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdl + cj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVyc2lvbjwva2V5PgoJCTxzdHJp + bmc+MDAuMjA8L3N0cmluZz4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQucHJp + dmF0ZUxvY2s8L2tleT4KCQk8ZmFsc2UvPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC50eXBlPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + VGlja2V0PC9zdHJpbmc+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuQVBJVmVyc2lvbjwva2V5PgoJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0LnByaXZhdGVMb2NrPC9rZXk+Cgk8ZmFsc2UvPgoJ + PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8L2tleT4KCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50LlBhZ2VGb3JtYXRUaWNrZXQ8L3N0cmluZz4KPC9kaWN0Pgo8L3Bs + aXN0PgqGkoSZmRROU1ZlcnRpY2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkPTlNQcmlu + dEFsbFBhZ2VzhpKgkoSZmQhOU0NvcGllc4aSqJKEmZkLTlNQYXBlck5hbWWGkoSZmQZM + ZXR0ZXKGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZCU5TUHJpbnRl + coaShISECU5TUHJpbnRlcgCUkoSZmRk0LW9zY19rb25pXzIyQy1LTV9EcnVja2VuhoaS + hJmZDU5TUmlnaHRNYXJnaW6GkoShm6+hJIaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlv + boaSoJKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaSoJKEmZkOTlNCb3R0b21N + YXJnaW6GkoShm6+hJIaShJmZDE5TTGVmdE1hcmdpboaShKGbr6EkhpKEmZkLTlNUb3BN + YXJnaW6GkoShm6+hJIaShJmZCk5TTGFzdFBhZ2WGkoShm6KXgn////+GkoSZmQtOU0Zp + cnN0UGFnZYaSqJKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSqJKEmZkNTlNPcmll + bnRhdGlvboaSoIaG + + ReadOnly + NO + RowAlign + 0 + RowSpacing + 36 + SheetTitle + Arbeitsfläche 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + NO + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{321, 43}, {761, 789}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{-95, 0}, {730, 645}} + Zoom + 1 + + + diff -r 38be9940e142 -r 9189ba27fcf8 old/digilib-short-1.png Binary file old/digilib-short-1.png has changed diff -r 38be9940e142 -r 9189ba27fcf8 old/digilib-short-2.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/old/digilib-short-2.graffle Fri Sep 06 11:06:00 2013 +0200 @@ -0,0 +1,799 @@ + + + + + CanvasColor + + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Bounds + {{251, 263}, {91, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 36 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 (html + js data)} + + Wrap + NO + + + Bounds + {{252, 246}, {86, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 35 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 HTTP-answer} + + Wrap + NO + + + Bounds + {{255, 210}, {87, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 34 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 HTTP-request} + + Wrap + NO + + + Class + LineGraphic + ID + 33 + Points + + {243, 261} + {342, 261} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 32 + Points + + {342, 225} + {243, 225} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + TailArrow + 0 + + + + + Bounds + {{144, 207}, {99, 72}} + Class + ShapedGraphic + ID + 31 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 frontent-server\ +(JSP or ZOPE)} + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 30 + Points + + {144, 333} + {108, 333} + + Style + + stroke + + HeadArrow + FilledArrow + TailArrow + FilledArrow + + + Tail + + ID + 22 + + + + Bounds + {{45, 306}, {63, 54}} + Class + ShapedGraphic + ID + 29 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 Image files} + + + + Bounds + {{251, 353}, {79, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 28 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 (image data)} + + Wrap + NO + + + Bounds + {{252, 336}, {86, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 27 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 HTTP-answer} + + Wrap + NO + + + Bounds + {{255, 300}, {87, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 26 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Cap + 0 + Draws + NO + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 HTTP-request} + + Wrap + NO + + + Class + LineGraphic + ID + 25 + Points + + {243, 351} + {342, 351} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 24 + Points + + {342, 315} + {243, 315} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + TailArrow + 0 + + + + + Bounds + {{342, 207}, {99, 171}} + Class + ShapedGraphic + ID + 23 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 digilib-client\ +(web browser)} + + + + Bounds + {{144, 288}, {99, 90}} + Class + ShapedGraphic + ID + 22 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Scaler\ +(Servlet)} + + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + YES + MagnetsVisible + NO + ModificationDate + 2006-09-25 16:46:33 +0200 + Modifier + Robert Casties + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG + koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX + gSJwhAdbODgxNmNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K + PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT + VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt + MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0 + PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp + Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ + cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPl80X29zY19rb25pXzIyQ19LTV9EcnVja2Vu + PC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8 + ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwv + a2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50 + aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21h + bmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2RE + YXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5WjwvZGF0ZT4KCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxp + bnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+ + Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5 + PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+ + CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9y + aWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20u + YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5w + cmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOS0xOFQxNToz + NjoyOVo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9h + cnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1T + Y2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tl + eT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+CgkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNv + bS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1 + OjM2OjI5WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0 + ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8 + L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5Q + TVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50 + aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFu + YWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJy + YXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVhbD43MjwvcmVh + bD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIw + MDYtMDktMThUMTU6MzY6MjlaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJ + PC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5Q + YWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2NhbGluZzwva2V5 + PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl + cjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCTxkYXRlPjIwMDYtMDktMThUMTU6MzY6MjlaPC9kYXRlPgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVn + ZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5 + PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNrZXQ8L2tleT4K + CTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3Rl + ZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFu + YWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFy + cmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFy + cmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4K + CQkJCQkJPHJlYWw+NzYzLjcwMDAxMjIwNzAzMTI1PC9yZWFsPgoJCQkJCQk8cmVhbD41 + ODMuNzAwMDEyMjA3MDMxMjU8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20u + YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA5LTI1VDE0 + OjQxOjI3WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3Rh + dGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4K + CQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTUFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVj + dDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE0LjIwMDAxMjIwNzAzMTI1 + PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTQuMTAwMDAwMzgxNDY5NzI3PC9yZWFsPgoJCQkJ + CQk8cmVhbD43NzcuNzk5OTg3NzkyOTY4NzU8L3JlYWw+CgkJCQkJCTxyZWFsPjU5Ny45 + MDAwMjQ0MTQwNjI1PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxl + LnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0wOS0yNVQxNDo0MToy + N1o8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxh + Zzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwv + YXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5Q + TUNvbnN0cmFpbmVkUGFwZXI8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5DVVBTX0NQTDwvc3Ry + aW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+ + CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBh + cGVySW5mby5QTUNvbnN0cmFpbmVkUGFwZXI8L2tleT4KCQkJCQk8ZmFsc2UvPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3Ry + aW5nPkNVUFNfQ1BMPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5Wjwv + ZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9r + ZXk+CgkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJh + eT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFw + ZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0cmluZz4KCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8YXJyYXk+ + CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1Q + YXBlck5hbWU8L2tleT4KCQkJCQk8c3RyaW5nPm5hLWxldHRlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3Ry + aW5nPkNVUFNfQ1BMPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5Wjwv + ZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9r + ZXk+CgkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJh + eT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5h + ZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0cmlu + Zz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJ + CQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBl + ckluZm8uUE1VbmFkanVzdGVkUGFnZVJlY3Q8L2tleT4KCQkJCQk8YXJyYXk+CgkJCQkJ + CTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVh + bD43NjMuNzAwMDEyMjA3MDMxMjU8L3JlYWw+CgkJCQkJCTxyZWFsPjU4My43MDAwMTIy + MDcwMzEyNTwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmlu + dGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDktMThUMTU6MzY6MjlaPC9k + YXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5 + PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFk + anVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0cmlu + Zz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJ + CQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBl + ckluZm8uUE1VbmFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJ + CQk8cmVhbD4tMTQuMjAwMDEyMjA3MDMxMjU8L3JlYWw+CgkJCQkJCTxyZWFsPi0xNC4x + MDAwMDAzODE0Njk3Mjc8L3JlYWw+CgkJCQkJCTxyZWFsPjc3Ny43OTk5ODc3OTI5Njg3 + NTwvcmVhbD4KCQkJCQkJPHJlYWw+NTk3LjkwMDAyNDQxNDA2MjU8L3JlYWw+CgkJCQkJ + PC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+ + CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CQk8ZGF0ZT4yMDA2LTA5LTE4VDE1OjM2OjI5WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwv + aW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5QTVBhcGVyTmFtZTwva2V5PgoJCTxk + aWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CQk8c3RyaW5nPkNVUFNfQ1BMPC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5QTVBhcGVyTmFtZTwva2V5 + PgoJCQkJCTxzdHJpbmc+TGV0dGVyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Q1VQU19DUEw8L3N0 + cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5 + PgoJCQkJCTxkYXRlPjIwMDYtMDktMThUMTU6MzY6MjlaPC9kYXRlPgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdl + cj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVyc2lvbjwva2V5PgoJCTxzdHJp + bmc+MDAuMjA8L3N0cmluZz4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQucHJp + dmF0ZUxvY2s8L2tleT4KCQk8ZmFsc2UvPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC50eXBlPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + VGlja2V0PC9zdHJpbmc+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuQVBJVmVyc2lvbjwva2V5PgoJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0LnByaXZhdGVMb2NrPC9rZXk+Cgk8ZmFsc2UvPgoJ + PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8L2tleT4KCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50LlBhZ2VGb3JtYXRUaWNrZXQ8L3N0cmluZz4KPC9kaWN0Pgo8L3Bs + aXN0PgqGkoSZmRROU1ZlcnRpY2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkPTlNQcmlu + dEFsbFBhZ2VzhpKgkoSZmQhOU0NvcGllc4aSqJKEmZkLTlNQYXBlck5hbWWGkoSZmQZM + ZXR0ZXKGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZCU5TUHJpbnRl + coaShISECU5TUHJpbnRlcgCUkoSZmRk0LW9zY19rb25pXzIyQy1LTV9EcnVja2VuhoaS + hJmZDU5TUmlnaHRNYXJnaW6GkoShm6+hJIaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlv + boaSoJKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaSoJKEmZkOTlNCb3R0b21N + YXJnaW6GkoShm6+hJIaShJmZDE5TTGVmdE1hcmdpboaShKGbr6EkhpKEmZkLTlNUb3BN + YXJnaW6GkoShm6+hJIaShJmZCk5TTGFzdFBhZ2WGkoShm6KXgn////+GkoSZmQtOU0Zp + cnN0UGFnZYaSqJKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSqJKEmZkNTlNPcmll + bnRhdGlvboaSoIaG + + ReadOnly + NO + RowAlign + 0 + RowSpacing + 36 + SheetTitle + Arbeitsfläche 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + NO + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{321, 43}, {761, 789}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{-95, 1}, {730, 645}} + Zoom + 1 + + + diff -r 38be9940e142 -r 9189ba27fcf8 old/digilib-short-2.png Binary file old/digilib-short-2.png has changed diff -r 38be9940e142 -r 9189ba27fcf8 old/digilib-short.odt Binary file old/digilib-short.odt has changed diff -r 38be9940e142 -r 9189ba27fcf8 old/digilib-short.pdf Binary file old/digilib-short.pdf has changed diff -r 38be9940e142 -r 9189ba27fcf8 src/site/markdown/digilib-short.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/site/markdown/digilib-short.md Fri Sep 06 11:06:00 2013 +0200 @@ -0,0 +1,97 @@ +# A short introduction to digilib + +## digilib -- how does it work? + +The image server digilib is a state-less web-based client-server +application for interactive viewing and manipulation of images. + +## Frontend and Scaler server + +digilib consists mainly of two parts, the image server component proper, +called "Scaler" and a client-side part that runs in the users web +browser. + +![digilib client and Scaler server](images/digilib-short-1a.png) + +The users browser sends an HTTP request for a certain (zoomed, scaled, +rotated) image to the Scaler server and the server returns the image +data as HTTP response. + +To complete the schematics of figure 1 we must also take into account +that the client-side part consisting of HTML and Javascript code has +also been requested and loaded from a frontend-web server into the users +browser. + +![digilib client with frontend and Scaler server](images/digilib-short-2.png) + +To date there are several frontend implementations for digilib like the +current "jquery" version that only requires static HTML and Javascript and the +older "greyskin" version (grey buttons, implemented in JSP) that come with +the default [digilib distribution][1] or the "[Zogilib][2]" frontend version +implemented in ZOPE. + +The frontend-server and the Scaler-server do not have to run +on the same machine and often there are several frontends that use the +same Scaler server. + +### Request formats + +The format of the HTTP requests for the frontend and the +Scaler server can be completely different. The HTML and Javascript code +of the frontend just has to generate the correct request for the Scaler +to produce the desired image. Most of the current frontend implementations +share some or all of the parameters with the Scaler API. + +### Scaler + +The [Scaler API](scaler-api.html) is documented on the digilib.berlios.de +pages. Here is a minimal version: + +The Scaler servlet takes parameters in the HTTP request format: +`Scaler/request\_path/?param1=value1¶m2=value2&...` Unknown parameters +will be silently ignored. + +Recognised parameters: + +- `request_path` path to file or directory. +- `fn` path to file or directory. This path will be added to the + `request_path` behind the servlet name. Either parameter can be + empty. All paths are relative to the configured base directory + (digilib-config parameter `basedir-list`). +- `pn` page number. Index into the (alphabetically sorted) + directory given by the path. Starts with 1. Ignored if the path + points to a file. Default: 1. +- `dw` destination image width (pixels). If omitted the image is + scaled to fit `dh.` +- `dh` destination image height (pixels). If omitted the image + is scaled to fit `dw`. +- `wx` relative x offset of the image area to be sent (0 <= + `wx` <= 1). Default: 0. +- `wy` relative y offset of the image area to be sent (0 <= + `wy` <= 1). Default: 0. +- `ww` relative width of the image area to be sent (0 <= `ww` + <= 1). Default: 1. +- `wh` relative height of the image area to be sent (0 <= `wh` + <= 1). Default: 1. +- The image to be loaded can be specified by the `request_path` + (deprecated) or the `fn` (preferred) parameter and the optional + index `pn` + - if `fn` points to a directory then the file with the index `pn` + (in alphabetical order according to ASCII) will be loaded + - if `fn` points to a file (with or without extension) then this + file will be loaded + +The image will be scaled equally in horizontal and vertical direction +such that the resulting image does not exceed the rectangle [`dw`,`dh`]. +If only either height or width is given the image is scaled to match +only the given parameter. The size of the resulting image in the other +parameter is determined by the aspect ratio of the image. + +An example for a Scaler URL is: +`http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler?fn=experimental/digilib-test/images&wh=0.1712&ww=0.1282&wy=0.1681&wx=0.6895&dw=862&dh=904` +such a URL can be used as src attribute to an img element in the +frontend HTML. + +[1]: http://hg.berlios.de/repos/digilib/file/default/webapp/src/main/webapp + +[2]: http://itgroup.mpiwg-berlin.mpg.de/cgi-bin/cvsweb.cgi/zogiLib/ diff -r 38be9940e142 -r 9189ba27fcf8 src/site/markdown/install-digilib.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/site/markdown/install-digilib.md Fri Sep 06 11:06:00 2013 +0200 @@ -0,0 +1,74 @@ +# Installing digilib + +To run digilib you need: + +* [Java](http://www.java.com/) (1.6 or higher) +* a Servlet Container like [Tomcat](http://tomcat.apache.org/) (version 7 or +higher) or [Jetty](http://www.eclipse.org/jetty/) (version 8 or higher) +* the digilib web application as a WAR file or application directory + +## Run the Servlet Container + +Install and run the Servlet Container of your choice: +[Tomcat](http://tomcat.apache.org/tomcat-7.0-doc/setup.html) or +[Jetty](http://wiki.eclipse.org/Jetty/Howto/Run_Jetty). + +When it runs you should be able to access the start page on + + +## Install a digilib WAR file + +1. Download a digilib WAR file of a recent digilib release from the +BerliOS [Download page](http://developer.berlios.de/project/showfiles.php?group_id=251) +or the latest digilib build from the +[daily build page](http://digilib.berlios.de/downloads/daily-build/). +2. Rename the WAR file to `digilib.war`. +3. Deploy the WAR file, i.e. drop it into the `webapps` directory of your +Servlet Container. +4. Restart your Servlet Container (this may not be necessary). +5. Access your digilib instance at . + +You will now be able to see the sample images provided with the digilib +installation. + +If you want to use digilib to show your own images you have to change the +configuration file [digilib-config.xml](digilib-config.html) **inside** the +web application. This is hard to do with a WAR file so its better to +deploy digilib as a web application directory. + +## Install digilib as a web application directory + +Unpack the WAR file into a directory called `digilib` using +an unzip tool or the `jar -xf` Java command. + +Alternatively you can look into the `webapps` directory of your Servlet +Container (when its not running) to see if it created an unpacked web +application directory called `digilib`. + +Alternatively you can build your own version of digilib as documented +[here](build-maven.html). + +Then: + +1. Make sure that your Servlet Container is not running and remove any +`digilib.war` files from the `webapps` directory. +2. Copy your `digilib` directory into the `webapps` directory of the +Servlet Container. +3. Edit the `digilib-config.xml` file in the `WEB-INF` subdirectory of the +`digilib` directory and adjust the `basedir-list` parameter to point to +the directory with your image files [according to the +documentation](digilib-config.html). If there is no file `digilib-config.xml` +you can either create a new file or rename the sample file +`digilib-config.xml.template` to `digilib-config.xml` and edit it. +4. Start your Servlet Container. +5. Access your digilib instance at + +You can now view your own images in digilib by providing the directory and file +name as the `fn` parameter to `digilib.html`, e.g. if your file is called +`flower.jpg` and it is in a subdirectory of the base directory called +`digilib-test` you can now access the URL + + + +Read more about the layout of image files and directories +[here](image-directories.html). diff -r 38be9940e142 -r 9189ba27fcf8 src/site/markdown/scaler-api.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/site/markdown/scaler-api.md Fri Sep 06 11:06:00 2013 +0200 @@ -0,0 +1,112 @@ +# The digilib Scaler API + +The Scaler servlet takes parameters in the HTTP request format: + + Scaler/request_path/?param1=value1¶m2=value2&... + +Unknown parameters will be silently ignored. + +Recognised parameters (as of Version 2.2.2, for the most recent list of +parameters +[use the source](http://hg.berlios.de/repos/digilib/file/default/servlet/src/main/java/digilib/conf/DigilibServletRequest.java) +): + +- `request_path`: path to file or directory. +- `fn`: path to file or directory. This path will be added to the + `request_path` behind the servlet name. Either parameter can be + empty. All paths are relative to the configured base directory + (digilib-config parameter `basedir-list`). +- `pn`: page number. Index into the (alphabetically sorted) + directory given by the path. Starts with 1. Ignored if the path + points to a file. Default: 1. +- `dw`: destination image width (pixels). If omitted the image is + scaled to fit `dh.` +- `dh`: destination image height (pixels). If omitted the image + is scaled to fit `dw`. +- `wx`: relative x offset of the image area to be sent (0 <= + `wx` <= 1). Default: 0. +- `wy`: relative y offset of the image area to be sent (0 <= + `wy` <= 1). Default: 0. +- `ww`: relative width of the image area to be sent (0 <= `ww` + <= 1). Default: 1. +- `wh`: relative height of the image area to be sent (0 <= `wh` + <= 1). Default: 1. +- `ws`: additional scaling factor. The resulting image will have + the size \[`ws`\*`dw` x `ws`\*`dh`\]. Default: 1. +- `cont`: change contrast of the image. Negative values reduce + contrast, positive values enhance contrast. Pixel value is + multiplied by 2^`cont`. Default: 0 +- `brgt`: change brightness of image. Negative value reduces + brightness, positive value enhances brightness. The value `brgt` is + added to the pixel value. Default: 0 +- `rot`: rotate image. Rotation angle is given in degrees. + Default: 0 +- `rgbm`: modify colour by multiplication. The contrast of the + red green and blue components of the image can be reduced or + enhanced similar to the `cont` parameter. The factors for red, green + and blue are separated by slashes (e.g. `0.86/0/-0.5`). + Default: `0/0/0` +- `rgba`: modify colour by addition. The brightness of the red + green and blue components of the image can be reduced or enhanced + similar to the `brgt` parameter. The factors for red, green and blue + are separated by slashes (e.g. `100/0/25`). Default: `0/0/0` +- `ddpi`: resolution of client display for `osize` mode. Either + `ddpi` or `ddpix` and `ddpiy` must be set to use `osize` mode. +- `ddpix`: resolution of client display in x direction for + `osize` mode. +- `ddpiy`: resolution of client display in y direction for + `osize` mode. +- `scale`: absolute scale factor applied to the highest resolution image + for `ascale` mode. +- `colop`: additional color operation. One of "GRAYSCALE" (produces grayscale + image), "NTSC\_GRAY" (uses NTSC formula to produce grayscale image), + "INVERT" (inverts colors), "MAP\_GRAY\_BGR" (produces false-color image). +- `mo`: list flags for the mode of operation separated by comma ",". + - `fit`: always scale the image to fit \[`dw` x `dh`\] (default). + - `clip`: send the file in its original resolution, cropped + to fit \[`dw` x `dh`\]. + - `osize`: scale to original size based on image + resolution (from the image metadata) and display resolution + (from parameter ddpi). Fails if either resolution is unknown. + - `ascale`: scale the highest resolution image by an absolute + factor given by the `scale` parameter. + - `file`: send the file as-is (may be very large and all + sorts of image types!). If configuration doesn't allow sending + files (`sendfile-allowed=false`) revert to `clip`. + - `rawfile`: send the file as-is with a mime-type of + "application/octet-stream" so it can be downloaded with the + browser. + - `errtxt`: send error response as plain text. + - `errimg`: send error response as image (default). + - `errcode`: send error response as HTTP status code. + - `q0`-`q2`: quality of interpolation in scaling (q0: + worst, default). + - `lores`: try to use scaled image (default) + - `hires`: always use the highest resolution image. + - If the image is zoomed (`ww`, `wh` \< 1) the use of the scaled + image files depends on the requested resolution. + - `vmir`: mirror image vertically. + - `hmir`: mirror image horizontally. + - `jpg`: the resulting image is always sent as JPEG + (otherwise TIFF and PNG images are sent as PNG). + - `png`: the resulting image is always sent as PNG + (otherwise JPEG and J2K images are sent as JPEG). + +The image to be loaded can be specified by the `request_path` +(deprecated) or the `fn` parameter (preferred) and the optional +index `pn`: + +- if `fn` points to a directory then the file with the index `pn` + (in alphabetical order according to ASCII) will be loaded +- if `fn` points to a file (with or without extension) then this + file will be loaded + +Find more information on the directory layout [here](image-directories.html). + +The image will always be scaled equally in horizontal and vertical direction, +preserving the aspect ratio, +such that the resulting image does not exceed the rectangle \[`dw` x `dh`\]. + +If only either height or width is given the image is scaled to match +only the given dimension. The size of the resulting image in the other +dimension is determined by the aspect ratio of the image. diff -r 38be9940e142 -r 9189ba27fcf8 src/site/resources/images/digilib-short-1.png Binary file src/site/resources/images/digilib-short-1.png has changed diff -r 38be9940e142 -r 9189ba27fcf8 src/site/resources/images/digilib-short-2.png Binary file src/site/resources/images/digilib-short-2.png has changed