GOOF----LE-8-2.0‰è]}4hæg] gguile¤ ¤ gdefine-module*¤ ¤ ¤ gweb¤ ghttp¤ ¤ gfilenameS¤ f web/http.scm¤ gimportsS¤ gsrfi¤ gsrfi-1¤   ¤ gselectS¤ g append-map!¤ gmap!¤ ¤ ¤ gsrfi-9¤  ¤ ¤ gsrfi-19¤  ¤ ¤ gice-9¤ grdelim¤ ¤ ¤ gmatch¤ ¤ ¤ !gq¤ "!¤ #"¤ $g binary-ports¤ %$¤ &%¤ 'grnrs¤ (g bytevectors¤ )'(¤ *)¤ +guri¤ ,+¤ -,¤ . #&*- ¤ /gexportsS¤ 0gstring->header¤ 1gheader->string¤ 2gdeclare-header!¤ 3gdeclare-opaque-header!¤ 4g known-header?¤ 5g header-parser¤ 6gheader-validator¤ 7g header-writer¤ 8g read-header¤ 9g parse-header¤ :g valid-header?¤ ;g write-header¤ gparse-http-method¤ ?gparse-http-version¤ @gparse-request-uri¤ Agread-request-line¤ Bgwrite-request-line¤ Cgread-response-line¤ Dgwrite-response-line¤ Egmake-chunked-input-port¤ Fgmake-chunked-output-port¤ Gghttp-proxy-port?¤ Hgset-http-proxy-port?!¤ I0123456789:;<=>?@ABCDEFGH¤ Jgset-current-module¤ KJ¤ LJ¤ Mgstring->symbol¤ Ngstring-downcase¤ Og ¤ Pg%make-header-decl-procedure¤ Qgmake-syntax-transformer¤ RQ¤ SQ¤ Tgmake-header-decl¤ Ugmacro¤ Vg $sc-dispatch¤ WV¤ XV¤ Yg_¤ Zgany¤ [YZZZZZ¤ \g syntax-object¤ ]glambda¤ ^g m-556baa-a¤ _gtop¤ `^_¤ agribcage¤ bg t-556baa-5¤ cg t-556baa-6¤ dg t-556baa-7¤ eg t-556baa-8¤ fg t-556baa-9¤ gbcdef¤ h`````¤ if l-556baa-f¤ jf l-556baa-10¤ kf l-556baa-11¤ lf l-556baa-12¤ mf l-556baa-13¤ nijklm¤ oaghn¤ pa¤ qgx¤ rq¤ s`¤ tf l-556baa-c¤ ut¤ varsu¤ wgshift¤ xg proc-name¤ ygargs¤ zxy¤ {_¤ |{{¤ }fl-1e8ba8b5a-2ba¤ ~fl-1e8ba8b5a-2bb¤ }~¤ €az|¤ gkey¤ ‚gvalue¤ ƒgname¤ „gformals¤ …gbody¤ †‚ƒ„…¤ ‡{{{{{¤ ˆfl-1e8ba8b5a-2ad¤ ‰fl-1e8ba8b5a-2ae¤ Šfl-1e8ba8b5a-2af¤ ‹fl-1e8ba8b5a-2b0¤ Œfl-1e8ba8b5a-2b1¤ ˆ‰Š‹Œ¤ Ža†‡¤ gmake-procedure-name¤ ¤ ‘{¤ ’fl-1e8ba8b5a-29d¤ “’¤ ”a‘“¤ •{¤ –fl-1e8ba8b5a-29c¤ —–¤ ˜ar•—¤ ™`opvwpppp€Ž”˜ ¤ šghygiene¤ ›š ¤ œ\]™›¤ {opv¤ žš¤ Ÿ\ƒž¤  gparser¤ ¡\ ž¤ ¢g validator¤ £\¢ž¤ ¤gwriter¤ ¥\¤ž¤ ¦g multiple?¤ §\¦ž¤ ¨Ÿ¡£¥§¤ ©g make-struct¤ ªg m-556baa-3¤ «ª_¤ ¬gt-1e8ba8b5a-38d¤ ­gt-1e8ba8b5a-38c¤ ®gt-1e8ba8b5a-38b¤ ¯¬­®¤ °gm-1e8ba8b5a-38e¤ ±°_¤ ²±±±¤ ³fl-1e8ba8b5a-392¤ ´fl-1e8ba8b5a-393¤ µfl-1e8ba8b5a-394¤ ¶³´µ¤ ·a¯²¶¤ ¸g ctor-args¤ ¹¸¤ ºfl-1e8ba8b5a-37a¤ »º¤ ¼a¹•»¤ ½gctor¤ ¾gfield¤ ¿½¾¤ Àfl-1e8ba8b5a-376¤ Áfl-1e8ba8b5a-377¤ ÂÀÁ¤ Ãa¿|¤ Ägform¤ Åg type-name¤ Ægconstructor-spec¤ Çg field-names¤ ÈÄÅÆǤ É{{{{¤ Êfl-1e8ba8b5a-36b¤ Ëfl-1e8ba8b5a-36c¤ Ìfl-1e8ba8b5a-36d¤ Ífl-1e8ba8b5a-36e¤ ÎÊËÌͤ ÏaÈÉΤ Ðg record-layout¤ Ñgfunctional-setters¤ Ògsetters¤ Ógcopier¤ Ôggetters¤ Õg constructor¤ Öggetter-identifiers¤ ×gfield-identifiers¤ ØÐÑÒÓÔÕÖפ Ù{{{{{{{{¤ Úfl-1e8ba8b5a-343¤ Ûfl-1e8ba8b5a-341¤ Üfl-1e8ba8b5a-33f¤ Ýfl-1e8ba8b5a-33d¤ Þfl-1e8ba8b5a-33b¤ ßfl-1e8ba8b5a-339¤ àfl-1e8ba8b5a-337¤ áfl-1e8ba8b5a-335¤ âÚÛÜÝÞßàᤠãaØÙ⤠äfl-1e8ba8b5a-334¤ åä¤ æar•å¤ ç«opvwp·ppp¼ÃpÏãæ¤ è\©ç›¤ é\Ož¤ ê\ 盤 ëèé꟡£¥§¤ ìœ¨ë¤ ígeach-any¤ îY팤 ïgsyntax-violation¤ ðï¤ ñï¤ òfWrong number of arguments¤ óg identifier?¤ ôó¤ õó¤ ö{pv¤ ÷\Pöž¤ øï¤ ùï¤ úf-source expression failed to match any pattern¤ ûgrecord-type-vtable¤ üû¤ ýû¤ þg pwpwpwpwpw¤ ÿgdefault-record-printer¤ ÿ¤ ÿ¤ ƒ ¢¤¦¤ gset-struct-vtable-name!¤ ¤ ¤ gvtable-offset-user¤ ¤ ¤  g%header-decl?-procedure¤  g header-decl?¤  YZ¤  g m-556baa-1f¤   _¤ g t-556baa-1e¤ ¤  ¤ f l-556baa-24¤ ¤ a¤ f l-556baa-21¤ ¤ ar¤  pwpppp€Ž”˜ ¤ \]›¤ gobj¤ gt-1e8ba8b5a-47e¤ gt-1e8ba8b5a-478¤ gt-1e8ba8b5a-479¤ gt-1e8ba8b5a-47a¤ gt-1e8ba8b5a-47d¤ gt-1e8ba8b5a-47c¤  gt-1e8ba8b5a-47b¤ ! ¤ "gm-1e8ba8b5a-47f¤ #"_¤ $#######¤ %fl-1e8ba8b5a-483¤ &fl-1e8ba8b5a-484¤ 'fl-1e8ba8b5a-485¤ (fl-1e8ba8b5a-486¤ )fl-1e8ba8b5a-487¤ *fl-1e8ba8b5a-488¤ +fl-1e8ba8b5a-489¤ ,%&'()*+¤ -a!$,¤ .g copier-id¤ /.¤ 0fl-1e8ba8b5a-476¤ 10¤ 2a/•1¤ 3g ctor-name¤ 43¤ 5fl-1e8ba8b5a-46e¤ 65¤ 7a4•6¤ 8Ǥ 9fl-1e8ba8b5a-46c¤ :9¤ ;a8•:¤ fl-1e8ba8b5a-46a¤ ?>¤ @a=•?¤ Ag immutable?¤ BA¤ Cfl-1e8ba8b5a-468¤ DC¤ EaB•D¤ Fg field-count¤ GF¤ Hfl-1e8ba8b5a-466¤ IH¤ JaG•I¤ Kg getter-ids¤ LK¤ Mfl-1e8ba8b5a-463¤ NM¤ OaL•N¤ Pg field-ids¤ QP¤ Rfl-1e8ba8b5a-460¤ SR¤ TaQ•S¤ Ugpredicate-name¤ Vg field-spec¤ WAÄÅÆUV¤ X{{{{{{¤ Yfl-1e8ba8b5a-453¤ Zfl-1e8ba8b5a-454¤ [fl-1e8ba8b5a-455¤ \fl-1e8ba8b5a-456¤ ]fl-1e8ba8b5a-457¤ ^fl-1e8ba8b5a-458¤ _YZ[\]^¤ `aWX_¤ a«pwp-pppp2p7p;p@pEpJpOpT`ãæ¤ b\a›¤ cb¤ dgand¤ e\da›¤ fgstruct?¤ g\fa›¤ hgb¤ igeq?¤ j\ia›¤ kg struct-vtable¤ l\ka›¤ mlb¤ n{p¤ o\Onž¤ pjmo¤ qehp¤ rcq¤ s{p¤ t\ sž¤ ugthrow-bad-struct¤ vu¤ wu¤ xgheader-decl-name¤ yg%header-decl-name-procedure¤ zgfree-id¤ {g %%on-error¤ |g m-556baa-2b¤ }|_¤ ~}¤ f l-556baa-2d¤ €¤ ar~€¤ ‚}pwpppp€Ž”˜ ¤ ƒ\{‚›¤ „zƒ¤ …„Z¤ †g%%type¤ ‡gt-1e8ba8b5a-3a5¤ ˆgt-1e8ba8b5a-3a6¤ ‰gt-1e8ba8b5a-3a7¤ Šgt-1e8ba8b5a-3a8¤ ‹gt-1e8ba8b5a-3a9¤ Œgt-1e8ba8b5a-3aa¤ gt-1e8ba8b5a-3ab¤ Ž‡ˆ‰Š‹Œ¤ gm-1e8ba8b5a-3ac¤ _¤ ‘¤ ’fl-1e8ba8b5a-3b0¤ “fl-1e8ba8b5a-3b1¤ ”fl-1e8ba8b5a-3b2¤ •fl-1e8ba8b5a-3b3¤ –fl-1e8ba8b5a-3b4¤ —fl-1e8ba8b5a-3b5¤ ˜fl-1e8ba8b5a-3b6¤ ™’“”•–—˜¤ šaŽ‘™¤ ›ggetter¤ œgindex¤ ›œ¤ žfl-1e8ba8b5a-3a3¤ Ÿfl-1e8ba8b5a-3a4¤  žŸ¤ ¡a| ¤ ¢ÅK.¤ £{{{¤ ¤fl-1e8ba8b5a-39e¤ ¥fl-1e8ba8b5a-39f¤ ¦fl-1e8ba8b5a-3a0¤ §¤¥¦¤ ¨a¢£§¤ ©«pwpšppp¡p¨ãæ¤ ª\†©›¤ «zª¤ ¬Y…«Z¤ ­gck¤ ®gerr¤ ¯gs¤ °®¯¤ ±}}¤ ²f l-556baa-30¤ ³f l-556baa-31¤ ´²³¤ µa°±´¤ ¶}µpwpppp€Ž”˜ ¤ ·\­¶›¤ ¸gquote¤ ¹\¸¶›¤ º{µp¤ »\Oºž¤ ¼¹»¤ ½¼¤ ¾g%%index¤ ¿\¾©›¤ Àz¿¤ ÁY…ÀZ¤ Âf l-556baa-35¤ Ãf l-556baa-36¤ ÄÂä Åa°±Ä¤ Æ}Åpwpppp€Ž”˜ ¤ Ç\­Æ›¤ È\¸Æ›¤ ÉÅp¤ Ê\ Éž¤ ËÈʤ Ìˤ Íg%%copier¤ Î\Í©›¤ ÏzΤ ÐY…ÏZ¤ Ñf l-556baa-3a¤ Òf l-556baa-3b¤ ÓÑÒ¤ Ôa°±Ó¤ Õ}Ôpwpppp€Ž”˜ ¤ Ö\­Õ›¤ ×\¸Õ›¤ Øg%%-set-fields¤ Ù{Ôp¤ Ú\ØÙž¤ Û×Ú¤ ÜÛ¤ Ýg t-556baa-2a¤ Þݤ ßf l-556baa-3f¤ àߤ áaÞ~ठâ}ápwpppp€Ž”˜ ¤ ã\]⛤ ä«ápwpšppp¡p¨ãæ¤ å\¯ä›¤ æå¤ çgif¤ è\ç䛤 é\i䛤 ê\k䛤 ëêå¤ ì{áp¤ í\O잤 îéëí¤ ïg struct-ref¤ ð\ï䛤 ñáp¤ ò\ ñž¤ óðåò¤ ô\u䛤 õ\¸ä›¤ ö\x잤 ÷õö¤ øôå÷¤ ùèîóø¤ úãæù¤ û{p¤ ü\yûž¤ ýgheader-decl-parser¤ þg%header-decl-parser-procedure¤ ÿg m-556baa-46¤ ÿ_¤ ¤ f l-556baa-48¤ ¤ ar¤ pwpppp€Ž”˜ ¤ \{›¤ z¤ Z¤  «pwpšppp¡p¨ãæ¤  \† ›¤  z ¤  Y Z¤  ¤ f l-556baa-4b¤ f l-556baa-4c¤ ¤ a° ¤ pwpppp€Ž”˜ ¤ \­›¤ \¸›¤ {p¤ \Ož¤ ¤ ¤ \¾ ›¤ z¤ YZ¤ f l-556baa-50¤ f l-556baa-51¤ ¤ a° ¤  pwpppp€Ž”˜ ¤ !\­ ›¤ "\¸ ›¤ #p¤ $\ #ž¤ %"$¤ &%¤ '\Í ›¤ (z'¤ )Y(Z¤ *f l-556baa-55¤ +f l-556baa-56¤ ,*+¤ -a° ,¤ .-pwpppp€Ž”˜ ¤ /\­.›¤ 0\¸.›¤ 1{-p¤ 2\Ø1ž¤ 302¤ 43¤ 5g t-556baa-45¤ 65¤ 7f l-556baa-5a¤ 87¤ 9a68¤ :9pwpppp€Ž”˜ ¤ ;\]:›¤ <«9pwpšppp¡p¨ãæ¤ =\¯<›¤ >=¤ ?\ç<›¤ @\i<›¤ A\k<›¤ BA=¤ C{9p¤ D\OCž¤ E@BD¤ F\ï<›¤ G9p¤ H\ Gž¤ IF=H¤ J\u<›¤ K\¸<›¤ L\ýCž¤ MKL¤ NJ=M¤ O?EIN¤ P;>O¤ Q{p¤ R\þQž¤ Sgheader-decl-validator¤ Tg %header-decl-validator-procedure¤ Ug m-556baa-61¤ VU_¤ WV¤ Xf l-556baa-63¤ YX¤ ZarWY¤ [VpZwpppp€Ž”˜ ¤ \\{[›¤ ]z\¤ ^]Z¤ _«pZwpšppp¡p¨ãæ¤ `\†_›¤ az`¤ bY^aZ¤ cVV¤ df l-556baa-66¤ ef l-556baa-67¤ fde¤ ga°cf¤ hVgpZwpppp€Ž”˜ ¤ i\­h›¤ j\¸h›¤ k{gpZ¤ l\Okž¤ mjl¤ nm¤ o\¾_›¤ pzo¤ qY^pZ¤ rf l-556baa-6b¤ sf l-556baa-6c¤ trs¤ ua°ct¤ vVupZwpppp€Ž”˜ ¤ w\­v›¤ x\¸v›¤ yupZ¤ z\ yž¤ {xz¤ |{¤ }\Í_›¤ ~z}¤ Y^~Z¤ €f l-556baa-70¤ f l-556baa-71¤ ‚€¤ ƒa°c‚¤ „VƒpZwpppp€Ž”˜ ¤ …\­„›¤ †\¸„›¤ ‡{ƒpZ¤ ˆ\؇ž¤ ‰†ˆ¤ Š‰¤ ‹g t-556baa-60¤ Œ‹¤ f l-556baa-75¤ Ž¤ aŒWŽ¤ VpZwpppp€Ž”˜ ¤ ‘\]›¤ ’«pZwpšppp¡p¨ãæ¤ “\¯’›¤ ”“¤ •\ç’›¤ –\i’›¤ —\k’›¤ ˜—“¤ ™{pZ¤ š\O™ž¤ ›–˜š¤ œ\ï’›¤ pZ¤ ž\ ž¤ Ÿœ“ž¤  \u’›¤ ¡\¸’›¤ ¢\S™ž¤ £¡¢¤ ¤ “£¤ ¥•›Ÿ¤¤ ¦‘”¥¤ §{pZ¤ ¨\T§ž¤ ©gheader-decl-writer¤ ªg%header-decl-writer-procedure¤ «g m-556baa-7c¤ ¬«_¤ ­¬¤ ®f l-556baa-7e¤ ¯®¤ °ar­¯¤ ±¬p°wpppp€Ž”˜ ¤ ²\{±›¤ ³z²¤ ´³Z¤ µ«p°wpšppp¡p¨ãæ¤ ¶\†µ›¤ ·z¶¤ ¸Y´·Z¤ ¹¬¬¤ ºf l-556baa-81¤ »f l-556baa-82¤ ¼º»¤ ½a°¹¼¤ ¾¬½p°wpppp€Ž”˜ ¤ ¿\­¾›¤ À\¸¾›¤ Á{½p°¤ Â\OÁž¤ ÃÀ¤ Ää Å\¾µ›¤ ÆzŤ ÇY´ÆZ¤ Èf l-556baa-86¤ Éf l-556baa-87¤ ÊÈɤ Ëa°¹Ê¤ ̬Ëp°wpppp€Ž”˜ ¤ Í\­Ì›¤ Î\¸Ì›¤ ÏËp°¤ Ð\ Ïž¤ ÑÎФ ÒѤ Ó\͵›¤ ÔzÓ¤ ÕY´ÔZ¤ Öf l-556baa-8b¤ ×f l-556baa-8c¤ ØÖפ Ùa°¹Ø¤ Ú¬Ùp°wpppp€Ž”˜ ¤ Û\­Ú›¤ Ü\¸Ú›¤ Ý{Ùp°¤ Þ\ØÝž¤ ßÜÞ¤ àߤ ág t-556baa-7b¤ âᤠãf l-556baa-90¤ ä㤠åaâ­ä¤ æ¬åp°wpppp€Ž”˜ ¤ ç\]曤 è«åp°wpšppp¡p¨ãæ¤ é\¯è›¤ êé¤ ë\ç蛤 ì\i蛤 í\k蛤 îíé¤ ï{åp°¤ ð\O ñìîð¤ ò\ï蛤 óåp°¤ ô\ óž¤ õòéô¤ ö\u蛤 ÷\¸è›¤ ø\©ïž¤ ù÷ø¤ úöéù¤ ûëñõú¤ üçêû¤ ý{p°¤ þ\ªýž¤ ÿgheader-decl-multiple?¤ g %header-decl-multiple?-procedure¤ g m-556baa-97¤ _¤ ¤ f l-556baa-99¤ ¤ ar¤ pwpppp€Ž”˜ ¤ \{›¤  z¤   Z¤  «pwpšppp¡p¨ãæ¤  \† ›¤  z ¤ Y  Z¤ ¤ f l-556baa-9c¤ f l-556baa-9d¤ ¤ a°¤ pwpppp€Ž”˜ ¤ \­›¤ \¸›¤ {p¤ \Ož¤ ¤ ¤ \¾ ›¤ z¤ Y Z¤ f l-556baa-a1¤ f l-556baa-a2¤  ¤ !a° ¤ "!pwpppp€Ž”˜ ¤ #\­"›¤ $\¸"›¤ %!p¤ &\ %ž¤ '$&¤ ('¤ )\Í ›¤ *z)¤ +Y *Z¤ ,f l-556baa-a6¤ -f l-556baa-a7¤ .,-¤ /a°.¤ 0/pwpppp€Ž”˜ ¤ 1\­0›¤ 2\¸0›¤ 3{/p¤ 4\Ø3ž¤ 524¤ 65¤ 7g t-556baa-96¤ 87¤ 9f l-556baa-ab¤ :9¤ ;a8:¤ <;pwpppp€Ž”˜ ¤ =\]<›¤ >«;pwpšppp¡p¨ãæ¤ ?\¯>›¤ @?¤ A\ç>›¤ B\i>›¤ C\k>›¤ DC?¤ E{;p¤ F\OEž¤ GBDF¤ H\ï>›¤ I;p¤ J\ Iž¤ KH?J¤ L\u>›¤ M\¸>›¤ N\ÿEž¤ OMN¤ PL?O¤ QAGKP¤ R=@Q¤ S{p¤ T\Sž¤ Ugeach¤ VZZ¤ WUV¤ XZWŒ¤ YZXŒ¤ ZZYŒ¤ [g %%set-fields¤ \gdummy¤ ]gcheck?¤ ^gexpr¤ _\]¯›^¤ `g m-556baa-b2¤ a`_¤ ba««««¤ cf l-556baa-b7¤ df l-556baa-b8¤ ef l-556baa-b9¤ ff l-556baa-ba¤ gf l-556baa-bb¤ hcdefg¤ ia_bh¤ ja¤ kf l-556baa-b4¤ lk¤ marjl¤ ngt-1e8ba8b5a-3c4¤ ogt-1e8ba8b5a-3c6¤ pgt-1e8ba8b5a-3c5¤ qnop¤ rgm-1e8ba8b5a-3c7¤ sr_¤ tsss¤ ufl-1e8ba8b5a-3cb¤ vfl-1e8ba8b5a-3cc¤ wfl-1e8ba8b5a-3cd¤ xuvw¤ yaqtx¤ zfl-1e8ba8b5a-3c1¤ {fl-1e8ba8b5a-3c2¤ |fl-1e8ba8b5a-3c3¤ }z{|¤ ~a¢£}¤ «ipmwpyppp~ãæ ¤ €\[›¤ {ipm¤ ‚\Ož¤ ƒ\xž¤ „\ýž¤ …\Sž¤ †\©ž¤ ‡\ÿž¤ ˆƒ„…†‡¤ ‰gmap¤ Š‰¤ ‹‰¤ Œglist¤ gmake-hash-table¤ Žg*declared-headers*¤ g hashq-ref¤ glookup-header-decl¤ ‘g multiple?S¤ ’‘ Œ¤ “’¤ ”gerror¤ •fbad header decl¤ –gstring?¤ —g hashq-set!¤ ˜gstring-titlecase¤ ™gsymbol->string¤ šgdisplay¤ ›g %read-line¤ œgstring-suffix?¤ f ¤ žgstring-drop-right¤ Ÿg bad-header¤  gread-header-line¤ ¡”¤ ¢”¤ £fno matching pattern¤ ¤g peek-char¤ ¥gread-continuation-line¤ ¦g string-append¤ §gcall-with-input-string¤ ¨f¤ ©gread¤ ªg*eof*¤ «g string-null?¤ ¬gstring=?¤ ­g string-index¤ ®g%read¤ ¯g substring¤ °gstring-trim-both¤ ±gchar-set:whitespace¤ ²fheader name not a symbol¤ ³f: ¤ ´f ¤ µg eof-object?¤ ¶greverse!¤ ·gthrow¤ ¸gbad-header-component¤ ¹gformat¤ ºfBad ~a header: ~a ¤ »gbad-header-printer¤ ¼fBad ~a header component: ~a ¤ ½gbad-header-component-printer¤ ¾gset-exception-printer!¤ ¿gparse-opaque-string¤ Àgvalidate-opaque-string¤ Ágwrite-opaque-string¤ Âgstring->char-set¤ Ãf[^][()<>@,;:\"?= ]¤ Ägseparators-without-slash¤ Åg string-rindex¤ Ægvalidate-media-type¤ Çg media-type¤ Ègparse-media-type¤ Ég string-length¤ Êgchar-whitespace?¤ Ëg string-ref¤ Ìgskip-whitespace¤ Ígtrim-whitespace¤ Îgsplit-and-trim¤ Ïglist-of?¤ Ðglist-of-strings?¤ Ñg write-list¤ Òf, ¤ Ógwrite-list-of-strings¤ Ôgsplit-header-names¤ Õgsymbol?¤ Öglist-of-header-names?¤ ×gwrite-header-list¤ Øg make-string¤ Ùgsubstring-move!¤ Úg string-set!¤ Ûgcollect-escaped-string¤ Üg incremental?S¤ ÝÜ Œ¤ Þݤ ßgqstring¤ àg parse-qstring¤ ág string-split¤ âf\"¤ ãg write-qstring¤ ägstring=¤ åf1¤ æf1.¤ çf1.0¤ èf1.00¤ éf1.000¤ êgquality¤ ëf0¤ ìf0.¤ íg char->integer¤ îg parse-quality¤ ïgnon-negative-integer?¤ ðgvalid-quality?¤ ñg integer->char¤ òg write-quality¤ ógstring-prefix?¤ ôfq=¤ õgparse-quality-list¤ ögvalidate-quality-list¤ ÷f;q=¤ øf,¤ ùgwrite-quality-list¤ úgnon-negative-integer¤ ûgparse-non-negative-integer¤ ügnumber?¤ ýgexact?¤ þginteger?¤ ÿgdefault-val-parser¤ gdefault-val-validator¤ gdefault-val-writer¤ gmin¤ gkey-value-list¤ gparse-key-value-list¤ gkey-value-list?¤ gwrite-key-value-list¤ gchar-set¤ gparam-delimiters¤  gchar-set-adjoin¤  gparam-value-delimiters¤  gparse-param-component¤  g param-list¤  gparse-param-list¤ gvalidate-param-list¤ f;¤ gwrite-param-list¤ g string-match?¤ YZZ¤ g syntax->datum¤ g char-numeric?¤ g t-556baa-43c¤ ¤ g m-556baa-43d¤ _¤ ¤ f l-556baa-440¤ ¤ a¤ ¤ g m-556baa-439¤ _¤  ¤ !f l-556baa-43a¤ "!¤ #a "¤ $gc¤ %$¤ &f l-556baa-437¤ '&¤ (a%•'¤ )glp¤ *gi¤ +gtests¤ ,)*+¤ -f l-556baa-431¤ .f l-556baa-432¤ /f l-556baa-433¤ 0-./¤ 1a,£0¤ 2gp¤ 32¤ 4f l-556baa-424¤ 54¤ 6a3•5¤ 7gstr¤ 8gpat¤ 978¤ :f l-556baa-420¤ ;f l-556baa-421¤ <:;¤ =a9|<¤ >f l-556baa-419¤ ?>¤ @ar•?¤ A{pp#p(p1ppp6=p@¤ B\Až¤ C\ËAž¤ D\¯Až¤ Egchar-alphabetic?¤ Fg t-556baa-442¤ GF¤ Hg m-556baa-443¤ IH_¤ JI¤ Kf l-556baa-446¤ LK¤ MaGJL¤ N{pMp#p(p1ppp6=p@¤ O\ENž¤ P\ËNž¤ Q\¯Nž¤ Rgeqv?¤ Sg t-556baa-448¤ Tg t-556baa-449¤ UST¤ Vg m-556baa-44a¤ WV_¤ XWW¤ Yf l-556baa-44e¤ Zf l-556baa-44f¤ [YZ¤ \aUX[¤ ]{p\p#p(p1ppp6=p@¤ ^\R]ž¤ _\Ë]ž¤ `\¯]ž¤ aZí¤ bglet¤ cg t-556baa-426¤ dg t-556baa-427¤ ecd¤ fg m-556baa-428¤ gf_¤ hgg¤ if l-556baa-42c¤ jf l-556baa-42d¤ kij¤ laehk¤ m{plppp6=p@ ¤ n\bmž¤ o\¯mž¤ p\dmž¤ qg=¤ r\qmž¤ s\Émž¤ tso¤ ugmonth¤ vg parse-month¤ wfGMT¤ xfUTC¤ yg zone-offset¤ zgparse-zone-offset¤ {gdate¤ |{¤ }{¤ ~gparse-rfc-822-date¤ g current-date¤ €g date-year¤ gparse-rfc-850-date¤ ‚gparse-asctime-date¤ ƒgdate-zone-offset¤ „gtime-utc->date¤ …gdate->time-utc¤ †gnormalize-date¤ ‡gcatch¤ ˆ‡¤ ‰‡¤ Šg parse-date¤ ‹g truncate/¤ Œgfloor/¤ gexpt¤ Žgtime-tai->date¤ gdate->time-tai¤ g date-week-day¤ ‘fSun, ¤ ’fMon, ¤ “fTue, ¤ ”fWed, ¤ •fThu, ¤ –fFri, ¤ —fSat, ¤ ˜fbad date¤ ™gdate-day¤ šg date-month¤ ›f Jan ¤ œf Feb ¤ f Mar ¤ žf Apr ¤ Ÿf May ¤  f Jun ¤ ¡f Jul ¤ ¢f Aug ¤ £f Sep ¤ ¤f Oct ¤ ¥f Nov ¤ ¦f Dec ¤ §g date-hour¤ ¨g date-minute¤ ©g date-second¤ ªf GMT¤ «g write-date¤ ¬fW/¤ ­f"¤ ®gparse-entity-tag¤ ¯g entity-tag?¤ °gwrite-entity-tag¤ ±gparse-entity-tag-list¤ ²gentity-tag-list¤ ³gentity-tag-list?¤ ´gwrite-entity-tag-list¤ µg authorization¤ ¶gbasic¤ ·g credentials¤ ¸gparse-credentials¤ ¹gvalidate-credentials¤ ºgwrite-credentials¤ »g challenge¤ ¼gparse-challenge¤ ½greverse¤ ¾gparse-challenges¤ ¿gvalidate-challenges¤ Àgwrite-challenge¤ Ágwrite-challenges¤ Âg bad-request¤ Ãg bad-response¤ Äg*known-versions*¤ Åg http-version¤ ÆfHTTP/¤ Çgwrite-http-version¤ Ègfor-each¤ ÉfHTTP/1.0¤ ÊfHTTP/1.1¤ ËÉʤ ÌfGET¤ ÍgGET¤ ÎfHEAD¤ ÏgHEAD¤ ÐfPOST¤ ÑgPOST¤ ÒfPUT¤ ÓgPUT¤ ÔfDELETE¤ ÕgDELETE¤ ÖfOPTIONS¤ ×gOPTIONS¤ ØfTRACE¤ ÙgTRACE¤ ÚfInvalid method: ~a¤ ÛfMissing Request-URI¤ Üf*¤ Ýg build-uri¤ ÞgpathS¤ ßgqueryS¤ àgfragmentS¤ ág string->uri¤ âfInvalid URI: ~a¤ ãfBad Request-Line: ~s¤ äg¤ å,ä¤ æ,ä¤ çguri-host¤ èg uri-scheme¤ éf://¤ êg uri-userinfo¤ ëguri-port¤ ìguri-path¤ íf"Empty path and no host for URI: ~s¤ îfNon-absolute URI path: ~s¤ ïg uri-query¤ ðg write-uri¤ ñg default-port?¤ ò,ñ¤ ó,ñ¤ ôf/¤ õf?¤ öfBad Response-Line: ~s¤ ÷g%date?-procedure¤ ø÷¤ ù÷¤ úgdeclare-date-header!¤ ûgdeclare-string-list-header!¤ ügdeclare-symbol-list-header!¤ ýgdeclare-header-list-header!¤ þgdeclare-integer-header!¤ ÿg absolute-uri?¤ ,ÿ¤ ,ÿ¤ gdeclare-uri-header!¤ g string->uri*¤ ,¤ ,¤ g%uri?-procedure¤ ,¤ ,¤  gdeclare-relative-uri-header!¤  gdeclare-quality-list-header!¤  gdeclare-param-list-header!¤  gdeclare-key-value-list-header!¤  g*¤ gdeclare-entity-tag-list-header!¤ gdeclare-credentials-header!¤ gdeclare-challenge-list-header!¤ f Cache-Control¤ gmax-age¤ g min-fresh¤ gs-maxage¤ g max-stale¤ gprivate¤ gno-cache¤ gno-store¤ g no-transform¤ g only-if-cache¤ gmust-revalidate¤ gproxy-revalidate¤ g cache-control¤ f Connection¤ gclose¤  fclose¤ !fDate¤ "fPragma¤ #fTrailer¤ $fTransfer-Encoding¤ %fUpgrade¤ &fVia¤ 'fWarning¤ (gwarning¤ )glength¤ *fAllow¤ +fContent-Disposition¤ ,gcontent-disposition¤ -fContent-Encoding¤ .fContent-Language¤ /fContent-Length¤ 0fContent-Location¤ 1f Content-MD5¤ 2f Content-Range¤ 3g content-range¤ 4fbytes ¤ 5gbytes¤ 6f Content-Type¤ 7g content-type¤ 8g string-trim¤ 9gstring-trim-right¤ :fThu, 01 Jan 1970 00:00:00 GMT¤ ;g*date-in-the-past*¤ f-1¤ ?ë>¤ @f Last-Modified¤ AfAccept¤ BfAccept-Charset¤ CfAccept-Encoding¤ DfAccept-Language¤ Ef Authorization¤ FfExpect¤ GfFrom¤ HfHost¤ Ighost¤ JfIf-Match¤ KfIf-Modified-Since¤ Lf If-None-Match¤ MfIf-Range¤ NfIf-Unmodified-Since¤ Of Max-Forwards¤ PfProxy-Authorization¤ QfRange¤ Rfbytes=¤ Sgrange¤ TfReferer¤ UfTE¤ Vf User-Agent¤ Wf Accept-Ranges¤ XfAge¤ YfETag¤ ZfLocation¤ [fProxy-Authenticate¤ \f Retry-After¤ ]fServer¤ ^fVary¤ _fWWW-Authenticate¤ `g read-line¤ agchar=?¤ bgstring->number¤ cgread-chunk-header¤ dg keep-alive?S¤ ed Œ¤ fe¤ ggget-bytevector-n!¤ hgget-u8¤ igmake-custom-binary-input-port¤ jfchunked input port¤ kg close-port¤ lgq-empty?¤ mgdeq!¤ ngq-length¤ ognumber->string¤ pg write-char¤ qgmake-q¤ rgmake-soft-port¤ sgenq!¤ tgstring-for-each¤ uf0 ¤ vg force-output¤ wfw¤ xgmake-object-property¤ yg%http-proxy-port?¤ zgsetter¤ {z¤ |z¤C5hHk·]4   ./I54L>"GMNh·]456¯gname  gfilenamef web/http.scmŒ K ŒŒ  M ŒŒ M ŒŒ  gnamegstring->headerŒg documentationf%Parse NAME to a symbolic header name.ŒC0ROhÏ]¨CÇgname  gparser  g validator   gwriter   g multiple?   gfilenamef web/http.scmŒ O ŒŒ   gnameg%make-header-decl-procedureŒCPR4STUX[ìh’]CŠg t-556baa-5  g t-556baa-6  g t-556baa-7   g t-556baa-8   g t-556baa-9      CîñTòhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   C÷h]C   Cùú hp€]45$@45$ O@45$4O?$@  6  6xgx  ngtmp ngtmp  " ngtmp  > ngfilenamef web/http.scmŒ O ŒŒ  n C5TRýþO¨4O>"G –PiªOROht]¦$§‚CClgobj  gfilenamef web/http.scmŒ O ŒŒ   gnameg%header-decl?-procedureŒC R4S UX rh3]C+g t-556baa-1e    Cîñ òhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   Cth]C   Cùú hp€]45$@45$ O@45$4O?$@  6  6xgx  ngtmp ngtmp  " ngtmp  > ngfilenamef web/http.scmŒ O ŒŒ  n C5 ROwxhv]§& ©C6ngs  gfilenamef web/http.scmŒ O ŒŒ   gnameg%header-decl-name-procedureŒCyR4SxUX¬·½h:]ŒŒC2gerr  gs    CÁÇÌh:]ŒŒC2gerr  gs    CÐÖÜh:]ŒŒC2gerr  gs    C úh3]C+g t-556baa-2a    CîñxòhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   Cüh]C   Cùúh¸¼]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66´gx  ³gtmp ³gtmp  " ³gtmp  9 ³gtmp  P ³gtmp  g ³gtmp  ƒ ³gfilenamef web/http.scmŒ O ŒŒ  ³ C5xROwýhx]§& ©C6pgs  gfilenamef web/http.scmŒ O ŒŒ   gnameg%header-decl-parser-procedureŒCþR4SýUX h:]ŒŒC2gerr  gs    C!&h:]ŒŒC2gerr  gs    C)/4h:]ŒŒC2gerr  gs    C Ph3]C+g t-556baa-45    CîñýòhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   CRh]C   Cùúh¸¼]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66´gx  ³gtmp ³gtmp  " ³gtmp  9 ³gtmp  P ³gtmp  g ³gtmp  ƒ ³gfilenamef web/http.scmŒ O ŒŒ  ³ C5ýROwSh {]§& ©C6sgs  gfilenamef web/http.scmŒ O ŒŒ   gnameg %header-decl-validator-procedureŒCTR4SSUXbinh:]ŒŒC2gerr  gs    Cqw|h:]ŒŒC2gerr  gs    C…Šh:]ŒŒC2gerr  gs    C ¦h3]C+g t-556baa-60    CîñSòhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   C¨h]C   Cùúh¸¼]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66´gx  ³gtmp ³gtmp  " ³gtmp  9 ³gtmp  P ³gtmp  g ³gtmp  ƒ ³gfilenamef web/http.scmŒ O ŒŒ  ³ C5SROw©h x]§& ©C6pgs  gfilenamef web/http.scmŒ O ŒŒ   gnameg%header-decl-writer-procedureŒCªR4S©UX¸¿Äh:]ŒŒC2gerr  gs    CÇÍÒh:]ŒŒC2gerr  gs    CÕÛàh:]ŒŒC2gerr  gs    C üh3]C+g t-556baa-7b    Cîñ©òhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   Cþh]C   Cùúh¸¼]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66´gx  ³gtmp ³gtmp  " ³gtmp  9 ³gtmp  P ³gtmp  g ³gtmp  ƒ ³gfilenamef web/http.scmŒ O ŒŒ  ³ C5©ROwÿh {]§& ©C6sgs  gfilenamef web/http.scmŒ O ŒŒ   gnameg %header-decl-multiple?-procedureŒCR4SÿUXh:]ŒŒC2gerr  gs    C#(h:]ŒŒC2gerr  gs    C+16h:]ŒŒC2gerr  gs    C Rh3]C+g t-556baa-96    CîñÿòhO]L6Gga  gfilenamef web/http.scmŒ  O ŒŒ  CYõh?]L67gfilenamef web/http.scmŒ  O ŒŒ   CTh]C   Cùúh¸¼]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66´gx  ³gtmp ³gtmp  " ³gtmp  9 ³gtmp  P ³gtmp  g ³gtmp  ƒ ³gfilenamef web/http.scmŒ O ŒŒ  ³ C5ÿR4SØUXZ€‚ˆ‹Œh v]45ŒŒŒŒŒCngdummy  gcheck?  gs   ggetter   gexpr      Cùúh(º] 45$@6²gx  "gtmp "gfilenamef web/http.scmŒ O ŒŒ  " g macro-typeg syntax-rulesŒgpatternsgcheck?gsggettergexprg...C5ØR4i5ŽRŽhw]6ogsym  gfilenamef web/http.scmŒ [ ŒŒ \ ŒŒ  gnameglookup-header-declŒCR“”•–O—Ž0 h›-/03#"645$M$C$9$/¨445>"GC"ÿÿ "ÿÿœ"ÿÿ˜"ÿÿ”“gname  Œgparser  Œg validator   Œgwriter   Œg multiple?   Œgdecl  \ |gfilenamef web/http.scmŒ ^ ŒŒ $ h ŒŒ 0 h ŒŒ 0 d ŒŒ 1 d ŒŒ ; d ŒŒ A d ŒŒ \ e ŒŒ \ e ŒŒ _ f ŒŒ d f 'ŒŒ q f ŒŒ  Œ  g multiple?S Œgnamegdeclare-header!Œg documentationf;Declare a parser, validator, and writer for a given header.ŒC2ROwx˜™h8ò] 45$§& ©C6456êgsym  2gdecl 2gfilenamef web/http.scmŒ j ŒŒ  l ŒŒ l ŒŒ  m ŒŒ  n ŒŒ * o ŒŒ 2 o ŒŒ  2 gnamegheader->stringŒg documentationf0Return the string form for the header named SYM.ŒC1Rh]45$CCùgsym  gfilenamef web/http.scmŒ q ŒŒ  t ŒŒ t ŒŒ   gnameg known-header?Œg documentationkpReturn  #t iff SYM is a known header, with associated parsers and serialization procedures.ŒC4ROwýhO]CGgx  gfilenamef web/http.scmŒ ~ ŒŒ   Ch0§] 45$§& ©C6CŸgsym  *gdecl *gfilenamef web/http.scmŒ v ŒŒ  { ŒŒ { ŒŒ  | ŒŒ  } ŒŒ  * gnameg header-parserŒg documentationföReturn the value parser for headers named SYM. The result is a procedure that takes one argument, a string, and returns the parsed value. If the header isn't known to Guile, a default parser is returned that passes through the string unchanged.ŒC5ROwS–h0ý] 45$§& ©C6Cõgsym  +gdecl +gfilenamef web/http.scmŒ € ŒŒ  „ ŒŒ „ ŒŒ  … ŒŒ  † ŒŒ  + gnamegheader-validatorŒg documentationkDReturn a predicate which returns  #t if the given value is valid for headers named SYM. The default validator for unknown headers is  string? .ŒC6ROw©šh0]] 45$§& ©C6CUgsym  +gdecl +gfilenamef web/http.scmŒ ‰ ŒŒ  ŒŒ ŒŒ  Ž ŒŒ  ŒŒ  + gnameg header-writerŒg documentationk¤Return a procedure that writes values for headers named SYM to a port. The resulting procedure takes two arguments: a value and a port. The default writer is  display .ŒC7R›–œžŸ ¢£ hpå]!45ˆ$MŽ45$, ‡$45$ 6C664  56Ýgport  lgv lgw   _gx   _gw  I Sgw  U _gfilenamef web/http.scmŒ ’ ŒŒ  – ŒŒ 1 › ŒŒ 5 › ŒŒ 9 › ŒŒ = › ŒŒ D œ ŒŒ I – ŒŒ O Ÿ ŒŒ S Ÿ ŒŒ U – ŒŒ [ Ÿ ŒŒ _ Ÿ ŒŒ ` – ŒŒ  l gnamegread-header-lineŒg documentationf¡Read an HTTP header line and return it without its final CRLF or LF. Raise a 'bad-header' exception if the line does not end in CRLF or LF, or if EOF is reached.ŒC R¤¥¦ hHï] 45 †$" 45 †$44556Cçgport  Agval  Agt  &gfilenamef web/http.scmŒ ¡ ŒŒ  ¢ ŒŒ ¢ ŒŒ ¢ ŒŒ  £ ŒŒ # £ ŒŒ * ¢ ŒŒ / ¥ ŒŒ 4 ¦ -ŒŒ < ¥ ŒŒ > ¤ ŒŒ  A gnamegread-continuation-lineŒC¥R4§i¨©i5ªR «¬ª­Ÿ®0¯9¥°±hê]4545$" 45$D4:5$" 454 4  554 4 4 —555Dâgport  ‰gline ‰gt   +gt  > Xgdelim  X ‰gsym  i ‰gfilenamef web/http.scmŒ « ŒŒ  ² ŒŒ ² ŒŒ ³ ŒŒ  ³ ŒŒ ´ ŒŒ & ´ ŒŒ ( ´ ŒŒ / ³ ŒŒ 5 µ ŒŒ 6 ¶ ŒŒ > ¶ ŒŒ M · ŒŒ Q · &ŒŒ U · ŒŒ X ¶ ŒŒ [ ¸ ŒŒ ^ ¸ $ŒŒ i ¸ ŒŒ i ¶ ŒŒ n » ŒŒ s ½ ŒŒ x ¿ ŒŒ ¿ 8ŒŒ ƒ ¿ ŒŒ … ½ ŒŒ ‡ » ŒŒ ‰ ¹ ŒŒ  ‰ gnameg read-headerŒg documentationfRead one HTTP header from PORT. Return two values: the header name and the parsed Scheme value. May raise an exception if the header was known but the value was invalid. Returns the end-of-file object for both values if the end of the message body was reached (i.e., a blank line).ŒC8R5h]456ÿgsym  gval  gfilenamef web/http.scmŒ Á ŒŒ  Ä ŒŒ Ä ŒŒ  gnameg parse-headerŒg documentationfdParse VAL, a string, with the parser registered for the header named SYM. Returns the parsed value.ŒC9R6”²h ]Š$ 4566gsym  gval  gfilenamef web/http.scmŒ Æ ŒŒ  É ŒŒ É ŒŒ Ê ŒŒ  Ê ŒŒ  Ë ŒŒ  Ë ŒŒ   gnameg valid-header?Œg documentationfRReturns a true value iff VAL is a valid Scheme value for the header with name SYM.ŒC:Rš1³7´hP]]445>"G4>"G445>"G6Ugsym  Pgval  Pgport   Pgfilenamef web/http.scmŒ Í ŒŒ  Ð ŒŒ  Ð ŒŒ  Ð ŒŒ  Ñ ŒŒ Ñ ŒŒ ' Ñ ŒŒ 0 Ò ŒŒ 1 Ò ŒŒ @ Ò ŒŒ L Ó ŒŒ P Ó ŒŒ  P gnameg write-headerŒg documentationkTWrite the given header name and value to PORT, using the writer from  header-writer .ŒC;R8µ¶h8Á]4L> G45$6ŒŒ"ÿÿϹgheaders  3gk 3gv  3gfilenamef web/http.scmŒ Ø ŒŒ  Ù !ŒŒ  Ù ŒŒ  Û ŒŒ  Û ŒŒ % Ü ŒŒ * Ý ŒŒ 3 Ý ŒŒ  3 gnameglpŒChý] OQ6õgport  glp gfilenamef web/http.scmŒ Õ ŒŒ Ø ŒŒ  Ø ŒŒ  Ø ŒŒ   gnameg read-headersŒg documentationfRRead the headers of an HTTP message from PORT, returning them as an ordered alist.ŒC"GŽ"ÿÿÖC"ÿÿÌÑgheaders  :gport  :gheaders   2gfilenamef web/http.scmŒ ß ŒŒ  â ŒŒ ã ŒŒ ã ŒŒ  å ŒŒ  å ŒŒ  å 'ŒŒ  å ŒŒ * æ ŒŒ 0 æ ŒŒ 2 â ŒŒ  : gnameg write-headersŒg documentationkÐWrite the given header alist to PORT. Doesn't write the final  \r\n , as the user might want to add another header.ŒC=R·Ÿh‹]6ƒgsym  gval  gfilenamef web/http.scmŒ ï ŒŒ  𠌌 𠌌  gnameg bad-headerŒCŸR·¸h•]6gsym  gval  gfilenamef web/http.scmŒ ñ ŒŒ  ò ŒŒ ò ŒŒ  gnamegbad-header-componentŒC¸R¹º1h(¨)3L456-13L6 gsym gval g_ # 'gfilenamef web/http.scmŒ õ ŒŒ  ÷ ŒŒ  ÷ /ŒŒ  ÷ ŒŒ # õ ŒŒ ' ø ŒŒ   # ' Chº]O@²gport  gkey  gargs   gdefault-printer   gfilenamef web/http.scmŒ ô ŒŒ  õ ŒŒ   gnamegbad-header-printerŒC»R¹¼h(Ÿ)3L6-13L6—gsym gval g_  "gfilenamef web/http.scmŒ û ŒŒ  ý ŒŒ  ý ŒŒ  û ŒŒ " þ ŒŒ    " ChÄ]O@¼gport  gkey  gargs   gdefault-printer   gfilenamef web/http.scmŒ ú ŒŒ  û ŒŒ   gnamegbad-header-component-printerŒC½R4¾iŸ»i>"G4¾i¸½i>"Ghq]Cigstr  gfilenamef web/http.scmŒ  ŒŒ   gnamegparse-opaque-stringŒC¿R–h}]6ugval  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ   gnamegvalidate-opaque-stringŒCÀRšhŒ]6„gval  gport  gfilenamef web/http.scmŒ  ŒŒ  ŒŒ  gnamegwrite-opaque-stringŒCÁR4ÂiÃ5ÄR­ÅÄh8É] 4/5$4/5‘$ 45€CCCÁgstr  2gidx 2gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ #  ŒŒ $  ŒŒ -  ŒŒ  2 gnamegvalidate-media-typeŒCÆRÆM¸Çh ›]45$66“gstr  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   gnamegparse-media-typeŒCÈRÉÊËh`-.,3# # 45"*’$4455$ —"ÿÿÜCC"ÿÿÎügstr Zgstart Zgend  Zgi  ( Rgfilenamef web/http.scmŒ  ŒŒ   8ŒŒ (  ŒŒ -  ŒŒ 1  ŒŒ 2  ŒŒ 5  )ŒŒ ?  ŒŒ C  ŒŒ F  ŒŒ L  ŒŒ R  ŒŒ Z gnamegskip-whitespaceŒCÌRÉÊËh`-.,3# # 45"+’$44™55$ ™"ÿÿÛCC"ÿÿÍgstr [gstart [gend  [gi  ( Sgfilenamef web/http.scmŒ  ŒŒ   8ŒŒ (  ŒŒ -  ŒŒ 1  ŒŒ 2  ŒŒ 5  +ŒŒ <  ;ŒŒ >  +ŒŒ @  ŒŒ D  ŒŒ G  ŒŒ M  ŒŒ S  ŒŒ [ gnamegtrim-whitespaceŒCÍRÉ­°±ÎhˆS-.,3#,# # 45’$H454$"54$—"5ŒCCKgstr gdelim gstart  gend  gidx  D gtok  _ gfilenamef web/http.scmŒ ! ŒŒ & " (ŒŒ 3 $ ŒŒ 7 $ ŒŒ 8 % ŒŒ D % ŒŒ G & ŒŒ U & @ŒŒ _ & ŒŒ _ % ŒŒ d ' ŒŒ p ' .ŒŒ s ' 6ŒŒ } ' ŒŒ ~ ' ŒŒ € ( ŒŒ gnamegsplit-and-trimŒCÎRÏ–hw]6ogval  gfilenamef web/http.scmŒ * ŒŒ + ŒŒ  gnameglist-of-strings?ŒCÐRÑšÒh—]6gval  gport  gfilenamef web/http.scmŒ - ŒŒ . ŒŒ  . ŒŒ   gnamegwrite-list-of-stringsŒCÓR‰0Îh‚]456zgstr  gfilenamef web/http.scmŒ 0 ŒŒ  1 ŒŒ  1 ŒŒ   gnamegsplit-header-namesŒCÔRÏÕh|]6tgval  gfilenamef web/http.scmŒ 3 ŒŒ 4 ŒŒ  gnameglist-of-header-names?ŒCÖRÑš1ht]456lgx  gport  gfilenamef web/http.scmŒ 8 ŒŒ  9 ŒŒ  9 ŒŒ   CÒh“]6‹gval  gport  gfilenamef web/http.scmŒ 6 ŒŒ : ŒŒ  7 ŒŒ   gnamegwrite-header-listŒC×RØÙÚËh¨ ]445"ˆ(#4˜–>"GC˜– – 4 ˜>"G44 ™5>"G —Ž"ÿÿx "ÿÿigfrom  ¦gstart  ¦glen   ¦gescapes   ¦gto  ¦gstart   —gi   —gescapes   —ge  ; —g next-start H — gfilenamef web/http.scmŒ < ŒŒ  = ŒŒ = ŒŒ  > ŒŒ  ? ŒŒ  A ŒŒ # A 1ŒŒ $ A (ŒŒ - A ŒŒ ; C ŒŒ ; C ŒŒ D D &ŒŒ E D ŒŒ H C ŒŒ K E ŒŒ V E (ŒŒ _ E ŒŒ h F ŒŒ o F ŒŒ v F /ŒŒ x F ŒŒ } F ŒŒ Š G ŒŒ G "ŒŒ — G ŒŒ — > ŒŒ  ¦ gnamegcollect-escaped-stringŒCÛRÞ͸ßËÛh¦-/03 # # 45#"6’$°45"†$œ"‰’$x45\†$ –—Œ"ÿÿÌ"†$24—5$—D—‘$C6——"ÿÿ6— "ÿÿh"ÿÿ?"ÿÿ;žgstr  ÿgstart  ÿgend   ÿg incremental?   ÿgi  _ ègqi  _ ègescapes  _ ègkey  q àgout  ª Î gfilenamef web/http.scmŒ K ŒŒ # L 'ŒŒ > ^ ŒŒ B ^ ŒŒ B N ŒŒ G N ŒŒ K N ŒŒ L N ŒŒ W N ŒŒ [ N ŒŒ _ O ŒŒ d P ŒŒ h P ŒŒ i Q ŒŒ q Q ŒŒ S ŒŒ „ S ŒŒ ‰ S #ŒŒ “ S ŒŒ œ Q ŒŒ U ŒŒ ¤ U 6ŒŒ ª U ŒŒ ª U ŒŒ ² V ŒŒ · W !ŒŒ ¹ W ŒŒ ¼ X ŒŒ ¿ X ŒŒ à X ŒŒ Ê Z /ŒŒ Î Z ŒŒ Ñ \ ŒŒ Ô \ ŒŒ à \ ŒŒ ä ] "ŒŒ è ] ŒŒ è O ŒŒ ë O ŒŒ í O .ŒŒ ÷ O ŒŒ*  ÿ g incremental?S Œgnameg parse-qstringŒCàRšhX'] ˆ$H"<4>"GŽˆ$4>"GŽ"ÿÿÆC"ÿÿ¼Cgl  Sgport  Sg write-item   Sgdelim   Sgl  Igfilenamef web/http.scmŒ ` ŒŒ  a ŒŒ a ŒŒ b ŒŒ  c ŒŒ  c ŒŒ  c ŒŒ % d ŒŒ & d ŒŒ * d ŒŒ + f ŒŒ A g ŒŒ G g ŒŒ I b ŒŒ  S gnameg write-listŒCÑRš­ÑáâhhÎ]4">"G4"5$#44"5>"G"4>"G"6Ægstr  bgport  bgfilenamef web/http.scmŒ i ŒŒ  j ŒŒ  k ŒŒ # k ŒŒ $ m ŒŒ ' m ŒŒ 5 m 6ŒŒ : m ŒŒ G n ŒŒ b o ŒŒ  b gnameg write-qstringŒCãRÉËäåæçèé¸êëìí¸êhJ]L6Bgfilenamef web/http.scmŒ  œ ŒŒ œ ŒŒ  ChÈ6-.,3 # # 45’$“451†$‘45$"d45$"G45$"*45$" 45$ èC  6450†$ 4 5$" 4 5$ C˜ ’$  ’"$³"ž—‘$4—5.†$C  6 š™’$[454 5 0˜" 4  5"# “$ ’$""ÿÿØ""ÿÿК–""ÿÿb  – "ÿÿQ  6OQ45.†$µ˜ ’$  ’"$‘"|‘$C š™’$S454 5 0˜ “$ ’$"4 5"4 5 š–""ÿÿ„  – "ÿÿs66  6.gstr Ègstart Ègend  Ègt  J ¾gt  d »gt  ~ ¸gt  ˜ µgt  ë gb   +gplace  3 Ñgi  3 Ñgq  3 Ñgc  w ¿gi  ƒ ¼gfailure  ò Àgb   #gplace  + §gi  + §gq  + §gc  U •gi  a ’gfailure e gfilenamef web/http.scmŒ q ŒŒ  q 6ŒŒ ) x ŒŒ - w ŒŒ . z ŒŒ 9 z ŒŒ = w ŒŒ > { ŒŒ D { ŒŒ J { ŒŒ J { ŒŒ X | ŒŒ ^ | ŒŒ d | ŒŒ d { ŒŒ r } ŒŒ x } ŒŒ ~ } ŒŒ ~ { ŒŒ Œ ~ ŒŒ ’ ~ ŒŒ ˜ ~ ŒŒ ˜ { ŒŒ ¦  ŒŒ ¬  ŒŒ ²  ŒŒ  { ŒŒ Ê  ŒŒ Î  ŒŒ Ï ‚ ŒŒ Ú ‚ ŒŒ Þ w ŒŒ ß ƒ ŒŒ å ƒ ŒŒ ë ƒ ŒŒ ë ƒ ŒŒ ù „ ŒŒ ÿ „ ŒŒ  „ ŒŒ  ƒ ŒŒ  † ŒŒ  † ŒŒ / † ŒŒ 3 ‡ ŒŒ 8 ˆ ŒŒ 9 ˆ ŒŒ = ˆ ŒŒ > ‰ ŒŒ E ‰ ,ŒŒ G ‰ ŒŒ J ‰ ŒŒ N ‰ ŒŒ U ‹ ,ŒŒ Y ‹ ŒŒ ^ Œ ŒŒ a Œ #ŒŒ f  ŒŒ j  ŒŒ o Ž 7ŒŒ w Ž (ŒŒ z s ŒŒ ‚ s "ŒŒ ƒ s ŒŒ ƒ s ŒŒ Š v ŒŒ Ž v ŒŒ ’ v ŒŒ – t ŒŒ š t ŒŒ ž t ŒŒ £ t ŒŒ § t ŒŒ À Ž ŒŒ Á Ž ŒŒ Ñ Œ ŒŒ Ñ ‡ ŒŒ × ‡ "ŒŒ â ‡ ŒŒ æ  "ŒŒ ê  ŒŒ ò w ŒŒ ø ’ ŒŒ  ’ ŒŒ  w ŒŒ  “ ŒŒ  “ ŒŒ ' ’ ŒŒ + ” ŒŒ 0 • ŒŒ 4 • ŒŒ < — ŒŒ ? — ŒŒ D ˜ ŒŒ H ˜ ŒŒ M ™ /ŒŒ U ™ ŒŒ X s ŒŒ ` s "ŒŒ a s ŒŒ a s ŒŒ e t ŒŒ k t ŒŒ o t ŒŒ t t ŒŒ x t ŒŒ – ™ ŒŒ — ™ ŒŒ § — ŒŒ § ” ŒŒ ­ ” ŒŒ ¸ ” ŒŒ Ä y ŒŒ È y ŒŒr È gnameg parse-qualityŒCîRïh…]45$ è“CC}gq  gfilenamef web/http.scmŒ ž ŒŒ  Ÿ ŒŒ Ÿ ŒŒ  Ÿ !ŒŒ   gnamegvalid-quality?ŒCðRšñh°] 4 èœ ž4 0–5>"G4.>"G4 dœ ž4 0–5>"G4 œ ž4 0–5>"G ž4 0–56ùgq  ¬gport  ¬gd   gd  K Zgd  t ƒgd  ™ ¨gfilenamef web/http.scmŒ ¡ ŒŒ  ¤ ŒŒ ¤ ŒŒ  ¤ ŒŒ  ¤ ŒŒ  £ ŒŒ  £ ŒŒ  £ ŒŒ  £ ŒŒ $ ¤ ŒŒ - ¥ ŒŒ A ¦ ŒŒ H ¦ ŒŒ K ¦ ŒŒ K ¦ ŒŒ N £ ŒŒ R £ ŒŒ U £ ŒŒ W £ ŒŒ a ¦ ŒŒ j § ŒŒ q § ŒŒ t § ŒŒ t § ŒŒ w £ ŒŒ { £ ŒŒ ~ £ ŒŒ € £ ŒŒ Š § ŒŒ ™ ¨ ŒŒ ™ ¨ ŒŒ œ £ ŒŒ   £ ŒŒ £ £ ŒŒ ¥ £ ŒŒ ¬ ¨ ŒŒ%  ¬ gnameg write-qualityŒCòRÏh0Ò](Cˆ$45$ Ž6CCÊgval  *gpred  *gfilenamef web/http.scmŒ ª ŒŒ  « ŒŒ « ŒŒ ¬ ŒŒ  ¬ ŒŒ  ­ ŒŒ  ­ ŒŒ  ­ ŒŒ  ¬ ŒŒ " ® ŒŒ & ® ŒŒ  * gnameglist-of?ŒCÏR‰Å°±óôî¸ê h` ]4;5$:4—545$4 54 5ŒC6 è45ŒCgpart  [gt [gqpart   Mgfilenamef web/http.scmŒ ± ŒŒ  ³ ŒŒ ² ŒŒ  µ ŒŒ  µ HŒŒ  µ ŒŒ  µ ŒŒ " ¶ ŒŒ & ¶ &ŒŒ * ¶ ŒŒ . ¶ ŒŒ / · ŒŒ 8 ¸ ŒŒ D · ŒŒ I ¹ ,ŒŒ M ¹ ŒŒ Q » ŒŒ Z » ŒŒ  [ Cáh‚]4,56zgstr  gfilenamef web/http.scmŒ ° ŒŒ  ¼ ŒŒ  ± ŒŒ   gnamegparse-quality-listŒCõRÏð–h š]ˆ$45$Ž6CC’gelt  gfilenamef web/http.scmŒ À ŒŒ  Á ŒŒ Á ŒŒ  ŒŒ   #ŒŒ   ŒŒ  Á ŒŒ  à ŒŒ  à ŒŒ  Chz]6rgl  gfilenamef web/http.scmŒ ¾ ŒŒ ¿ ŒŒ  gnamegvalidate-quality-listŒCöRÑš÷òhHÜ]Ž4>"G è’$4>"G6CÔgx  Hgport  Hgq   Hgstr   Hgfilenamef web/http.scmŒ Ç ŒŒ  È ŒŒ  É ŒŒ  È ŒŒ Ê ŒŒ & Ë ŒŒ * Ë ŒŒ + Í ŒŒ / Í !ŒŒ 6 Í ŒŒ F Î ŒŒ  H Cøh’]6Šgl  gport  gfilenamef web/http.scmŒ Å ŒŒ Ï ŒŒ  Æ ŒŒ   gnamegwrite-quality-listŒCùRÉËí¸úh¸Û-.,3# # 45’$}"n’$b— š4545 0˜" 45"# “$ ’$""ÿÿØ""ÿÿЖ"ÿÿ•C "ÿÿ‡6Ógval ²gstart ²gend  ²gi  1 Ÿgout  1 Ÿgc  K “gi  W gfilenamef web/http.scmŒ Ñ ŒŒ  Ò *ŒŒ ) Ø ŒŒ - Ø ŒŒ 1 Ú ŒŒ 6 Û ŒŒ : Û ŒŒ = Ü ŒŒ B Ý ŒŒ C Ý -ŒŒ K Ý ŒŒ N Ô ŒŒ V Ô "ŒŒ W Ô ŒŒ W Ô ŒŒ ^ × ŒŒ b × ŒŒ f × ŒŒ j Õ ŒŒ n Õ ŒŒ r Õ ŒŒ w Õ ŒŒ { Õ ŒŒ ” Ý ŒŒ œ Ü ŒŒ Ÿ Ú ŒŒ ® Ù ŒŒ ² Ù ŒŒ ² gnamegparse-non-negative-integerŒCûRüýþh0³]45$ •$45$6CCC«gcode  ,gfilenamef web/http.scmŒ à ŒŒ  á ŒŒ á ŒŒ  á ŒŒ  á ŒŒ  á "ŒŒ á ŒŒ & á 0ŒŒ  , gnamegnon-negative-integer?ŒCïRh]Cwgk  gval  gfilenamef web/http.scmŒ ã ŒŒ   gnamegdefault-val-parserŒCÿR–h]$6C•gk  gval  gfilenamef web/http.scmŒ æ ŒŒ  ç ŒŒ  ç ŒŒ  ç ŒŒ   gnamegdefault-val-validatorŒCR­ãšhX÷]4;5$""4,5$" 4"5$66ïgk  Qgval  Qgport   Qgt  =gt  ! :gfilenamef web/http.scmŒ é ŒŒ  ê ŒŒ ê ŒŒ  ë ŒŒ ! ê ŒŒ / ì ŒŒ A ê ŒŒ I í ŒŒ Q î ŒŒ  Q gnamegdefault-val-writerŒCRÿÉÌ­M¯ÍËàܸ¶ h¨Š]RL’$•4LL54L=L54L,L54$"L$"L544L4L555"  "«$ $ ’"$„4L—L5"44L4L$"L55$"L "KL’$-4L5"†$4LL >!""ÿÿš""ÿÿ’""ÿÿU""ÿÿM G4L54LL5   L‘  $" 4L 5,† $ — $  Œ"Œ"ÿþs  4LLL56 6‚gi  ¦gout  ¦gi    geq  %  gcomma  4  gdelim  W  gk  r  gi  § gv-str  ,  gnext-i  ,  gv G  gi G  gt P l gfilenamef web/http.scmŒ ó ŒŒ  ô ŒŒ ô ŒŒ ö ŒŒ  ö ŒŒ  ÷ ŒŒ % ö ŒŒ ( ø ŒŒ 4 ö ŒŒ 7 ù ŒŒ ? ù ŒŒ M ù 'ŒŒ W ù ŒŒ W ö ŒŒ Z ú ŒŒ ] û ŒŒ d û $ŒŒ p û ŒŒ r ú ŒŒ r ö ŒŒ  ŒŒ þ ŒŒ þ ŒŒ ’ þ ,ŒŒ — þ ŒŒ › þ ŒŒ œ ÿ ŒŒ £ ÿ 2ŒŒ § ÿ ŒŒ § ÿ ŒŒ ®  "ŒŒ µ  -ŒŒ Á  >ŒŒ Ë  -ŒŒ Í  "ŒŒ Ó  "ŒŒ á  ŒŒ á  ŒŒ æ  ŒŒ ê  ŒŒ ë  /ŒŒ ö  )ŒŒ ú  ŒŒ û  ŒŒ / ü ŒŒ 4  ŒŒ =  ŒŒ G  ŒŒ P  ŒŒ P  ŒŒ ^  (ŒŒ i  "ŒŒ p  ŒŒ s  ŒŒ y  %ŒŒ ~  +ŒŒ ‡  ŒŒ   ŒŒ “  *ŒŒ ”  *ŒŒ    ŒŒ ¦ õ ŒŒ?  ¦ gnameglpŒChPã-.,3## # 45OQ6Ûgstr Ng val-parser Ngstart  Ngend  Nglp  : Ngfilenamef web/http.scmŒ 𠌌 & ò .ŒŒ : ó ŒŒ L ó ŒŒ N ó ŒŒ N gnamegparse-key-value-listŒCRÏh8Ò]ˆ$ŽŠ$L6CŠ$L6CÊgelt  4gk  $gv   $gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ "  ŒŒ '  ŒŒ +  ŒŒ 2  ŒŒ  4 Ch(‹-.,3#O6ƒglist #gvalid? #gfilenamef web/http.scmŒ  ŒŒ #  ŒŒ # gnamegkey-value-list?ŒCRÒÑšh`ã]ˆ$"ˆ$Ž"4>"G$4=>"GL6CÛgx  _gport  _gk  ! _gv  ! _gfilenamef web/http.scmŒ ! ŒŒ  " ŒŒ " ŒŒ " ŒŒ  # ŒŒ  # ŒŒ  # ŒŒ ! " ŒŒ & $ ŒŒ ? % ŒŒ @ ' ŒŒ ] ( ŒŒ  _ Ch8Ä-.,3##O6¼glist 1gport 1g val-writer  1gdelim  1gfilenamef web/http.scmŒ  ŒŒ   FŒŒ 1  ŒŒ 1  gnamegwrite-key-value-listŒCR4i,;=5R4 i±i,;5 RÿÉ­M¯ÍËÌ àܶ hðk]JL’$Ô4L544L4L$"L555$ 4L5"=†$4L—L5"54LL5$"L4L5 ";L’$-4L5"†$4 LL >""ÿÿ™""ÿÿ‘ G4L5$ Œ"4LL5  L’$ 4L 5"  †$4 Œ5LD ;†$4L —L5Œ"ÿþŸ4 Œ5 D;†$24L54L—L5$ Œ"Œ"ÿþV4L54 $ Œ"Œ5$"LD4 5LDcgi  êgout  êgdelim   ßgk  Q ßgdelimc  Q ßgi  j ßgt  } gdelim  ¥gv-str  à qgnext-i  à qgv  ð qgx   qgi  qgkey ) qgv  ‚ ¬gv  ´ ßgfilenamef web/http.scmŒ 3 ŒŒ  4 ŒŒ 4 ŒŒ 6 ŒŒ  6 ŒŒ  7 ŒŒ  8 ŒŒ # 8 %ŒŒ / 8 <ŒŒ 9 8 %ŒŒ ; 8 ŒŒ = 7 ŒŒ C 9 ŒŒ D 9 #ŒŒ Q 7 ŒŒ ^ : ŒŒ _ > ŒŒ f > 3ŒŒ j > ŒŒ j > ŒŒ q B &ŒŒ } B "ŒŒ A ŒŒ “ E %ŒŒ ¥ E ŒŒ ¥ ? ŒŒ ª ? ŒŒ ® ? ŒŒ ¯ ? 0ŒŒ º ? *ŒŒ ¾ ? ŒŒ ¿ @ ŒŒ ã < ŒŒ è H ŒŒ ð H ŒŒ ø I ŒŒ ý I #ŒŒ  H ŒŒ  J ŒŒ  H ŒŒ  K ŒŒ  K ŒŒ  K *ŒŒ ) K ŒŒ 4 M ŒŒ ; M *ŒŒ = M ŒŒ A M ŒŒ J K ŒŒ K O ŒŒ R O 1ŒŒ V O ŒŒ [ P ŒŒ c O ŒŒ d R ŒŒ k R *ŒŒ m R ŒŒ q R ŒŒ z : ŒŒ { T ŒŒ ‚ T ŒŒ … U ŒŒ Œ U *ŒŒ  U ŒŒ – V ŒŒ › V !ŒŒ ¤ V ŒŒ ¬ U ŒŒ ­ Y ŒŒ ´ Y ŒŒ · Z ŒŒ ¿ Z )ŒŒ Ä Z /ŒŒ Í Z #ŒŒ Ï Z ŒŒ Õ [ ŒŒ ß Z ŒŒ à 5 ŒŒ ê 5 ŒŒP  ê gnameglpŒChPä-.,3## # 45OQ6Ügstr Kg val-parser Kgstart  Kgend  Kglp  9 Kgfilenamef web/http.scmŒ 0 ŒŒ & 2 /ŒŒ 9 3 ŒŒ I 3 ŒŒ K 3 ŒŒ K gnamegparse-param-componentŒC RÿÉ Ë̸ ¶h`!]4LLL> GL’$14L5,†$4L—L5Œ"ÿÿ¶L6Œ6gi  ]gout  ]gitem   ]gi   ]gfilenamef web/http.scmŒ ` ŒŒ  b ŒŒ  a ŒŒ  d ŒŒ # d ŒŒ $ e ŒŒ / e ŒŒ 3 e ŒŒ 4 f ŒŒ ; f )ŒŒ ? f ŒŒ D g ŒŒ L f ŒŒ P h &ŒŒ T h ŒŒ [ i ŒŒ ] i ŒŒ  ] gnameglpŒChPß-.,3## # 45OQ6×gstr Kg val-parser Kgstart  Kgend  Kglp  9 Kgfilenamef web/http.scmŒ ] ŒŒ & _ *ŒŒ 9 ` ŒŒ I ` ŒŒ K ` ŒŒ K gnamegparse-param-listŒC RÏh[]L6Sgelt  gfilenamef web/http.scmŒ n ŒŒ o ŒŒ  Ch(-.,3#O6‡glist #gvalid? #gfilenamef web/http.scmŒ k ŒŒ # m ŒŒ # gnamegvalidate-param-listŒCRÑhw]L6ogitem  gport  gfilenamef web/http.scmŒ u ŒŒ v 0ŒŒ  v ŒŒ   Cøh(¬-.,3#O6¤glist 'gport 'g val-writer  'gfilenamef web/http.scmŒ q ŒŒ % w ŒŒ ' s ŒŒ '  gnamegwrite-param-listŒCR4SUXùú–hm]456egstr  gpat  gfilenamef web/http.scmŒ  | ŒŒ | ŒŒ  CÉËBCDOPQXV^_`hN]CFg t-556baa-448  g t-556baa-449     Cùúanoprth(N]LŒŒCFg t-556baa-426  !g t-556baa-427  !  ! Ch²]24545"°45’$œ45—.†$"td†$Œ"Va†$ Œ"84  5$ 4 ?" 4 5Œ"ÿÿY" "ÿÿF4 5$ O@ 6ªgstr  úgpat  úgp  úgi   Ægtests   Ægc  - Àgtmp  „ ²gtmp  ¯gtmp  Ó úgtmp  Þ ú gfilenamef web/http.scmŒ  } ŒŒ } ŒŒ € %ŒŒ   ŒŒ  ‚ ŒŒ ‚ ŒŒ $ ‚ ŒŒ % ƒ ŒŒ - ƒ ŒŒ 2 „ ŒŒ ; … ŒŒ [ ‰ ŒŒ h … ŒŒ y Œ ŒŒ „  'ŒŒ µ  ŒŒ ½ „ ŒŒ Æ  ŒŒ È  'ŒŒ Ð  ŒŒ Ó ~ ŒŒ  ú Ch@`] 45" 6$4?$@"ÿÿÜ"ÿÿØXgx  9gtmp 9gfilenamef web/http.scmŒ z ŒŒ  9 C5R˸u¯hÀž]˜ ‘$›4 –54—54 –5J†$ha†$n†$ C456u†$)n†$ Cl†$ C456456F†$7e†$b†$ C456456M†$Ca†$)r†$ Cy†$ C456456A†$]p†$r†$ C456u†$g†$ C456456S†$7e†$p†$ C456456O†$7c†$t†$ C456456N†$7o†$v†$ C456456D†$7e†$c†$ C456456456456–gstr  ºgstart  ºgend   ºga  / ©gb  / ©gc  / ©gfilenamef web/http.scmŒ – ŒŒ  ™ ŒŒ ™ ŒŒ  ™ ŒŒ  › ŒŒ  › ŒŒ  › ŒŒ  œ ŒŒ ! œ ŒŒ # œ ŒŒ $  ŒŒ -  ŒŒ /  ŒŒ / › ŒŒ > ž ŒŒ G   ŒŒ P ¡ ŒŒ V ˜ ŒŒ W ˜ !ŒŒ c ˜ ŒŒ l   ŒŒ u ¢ ŒŒ ˆ ˜ ŒŒ ‰ ˜ !ŒŒ • ˜ ŒŒ ™ ˜ ŒŒ š ˜ !ŒŒ ¦ ˜ ŒŒ ¯ ž ŒŒ ¸ ¥ ŒŒ Á ¦ ŒŒ È ˜ ŒŒ É ˜ !ŒŒ Õ ˜ ŒŒ Ù ˜ ŒŒ Ú ˜ !ŒŒ æ ˜ ŒŒ ï ž ŒŒ ø © ŒŒ  ª ŒŒ  ˜ ŒŒ  ˜ !ŒŒ ! ˜ ŒŒ % ˜ ŒŒ & ˜ !ŒŒ 2 ˜ ŒŒ ; ž ŒŒ D ­ ŒŒ M ® ŒŒ T ˜ ŒŒ U ˜ !ŒŒ a ˜ ŒŒ j ­ ŒŒ s ¯ ŒŒ z ˜ ŒŒ { ˜ !ŒŒ ‡ ˜ ŒŒ ‹ ˜ ŒŒ Œ ˜ !ŒŒ ˜ ˜ ŒŒ ¡ ž ŒŒ ª ² ŒŒ ³ ³ ŒŒ º ˜ ŒŒ » ˜ !ŒŒ Ç ˜ ŒŒ Ë ˜ ŒŒ Ì ˜ !ŒŒ Ø ˜ ŒŒ á ž ŒŒ ê ¶ ŒŒ ó · ŒŒ ú ˜ ŒŒ û ˜ !ŒŒ  ˜ ŒŒ  ˜ ŒŒ  ˜ !ŒŒ  ˜ ŒŒ ! ž ŒŒ * º ŒŒ 3 » ŒŒ : ˜ ŒŒ ; ˜ !ŒŒ G ˜ ŒŒ K ˜ ŒŒ L ˜ !ŒŒ X ˜ ŒŒ a ž ŒŒ j ¾ ŒŒ s ¿ ŒŒ z ˜ ŒŒ { ˜ !ŒŒ ‡ ˜ ŒŒ ‹ ˜ ŒŒ Œ ˜ !ŒŒ ˜ ˜ ŒŒ œ ˜ ŒŒ  ˜ !ŒŒ © ˜ ŒŒ ­ ˜ ŒŒ ® ˜ !ŒŒ º ˜ ŒŒg  º gnameg parse-monthŒCvR¯¬wx¸yÉËû hð]"4545$ C45$ C"645 ‘$´44  55$ž44  55$ˆ44  55$r44  55$]4  5+†$ "-†$ ÿ" 454  54   5 <š <š–šC"ÿÿB"ÿÿ>"ÿÿ:"ÿÿ6"ÿÿ2ègstr  ýgstart  ýgs  ýgkey  ” ¿gsign  Ô éghours  Ô égminutes  Ô égfilenamef web/http.scmŒ Ç ŒŒ  È ŒŒ È ŒŒ  Ì ŒŒ  Ì ŒŒ  Ì ŒŒ  Ë ŒŒ  Î ŒŒ # Î ŒŒ % Î ŒŒ ) Ë ŒŒ 3 Ê ŒŒ 7 Ê ŒŒ 7 Ë ŒŒ 8 Ð ŒŒ E Ë ŒŒ F Ð ŒŒ Ñ ŒŒ ” Ñ ŒŒ ´ Ê ŒŒ ¸ Ê ŒŒ ¼ Ê ŒŒ À Õ ŒŒ Ê Ö ŒŒ Ô Ñ ŒŒ ß × ŒŒ ä × ŒŒ ç × ŒŒ è × ŒŒ  ý gnamegparse-zone-offsetŒCzR¯ÉËEûv}Ÿ{ h¨ «]34 545 ‘$*44 55$44 55$ü4 5:†$ç44 55$Ð44 55$¹4 5:†$¤44 55$44 55$v4 5 †$a44 55$J44 55$344 55$44 55$4 5 †$ð44 55$Ù44 55$Â44 55$«4 5 †$–44 55$44 55$h4 5 †$S4 5,†$>44 55$'44 55$44 55"""""""""""""""""""""""""$c4  54  54 54  54  54  5 ¨ C4 545 ‘$44 55$ü44 55$å4 5:†$Ð44 55$¹44 55$¢4 5:†$44 55$v44 55$_4 5 †$J44 55$344 55$44 55$44 55$î4 5 †$Ù44 55$Â44 55$«44 55$”4 5 †$44 55$h4 5 †$S4 5,†$>44 55$'44 55$44 55""""""""""""""""""""""""$c4  54  54 54  54  54  5 ¨ C4 545 ‘$(44 55$44 55$ú4 5:†$å44 55$Î44 55$·4 5:†$¢44 55$‹4 5 †$v4 5 †$a44 55$J44 55$344 55$44 55$4 5 †$ð44 55$Ù44 55$Â44 55$«4 5 †$–44 55$44 55$h4 5 †$S4 5,†$>44 55$'44 55$44 55"""""""""""""""""""""""""$c4  54  54 54  54  54  5 ¨ C4 545 ‘$44 55$ú44 55$ã4 5:†$Î44 55$·44 55$ 4 5:†$‹44 55$t4 5 †$_4 5 †$J44 55$344 55$44 55$44 55$î4 5 †$Ù44 55$Â44 55$«44 55$”4 5 †$44 55$h4 5 †$S4 5,†$>44 55$'44 55$44 55""""""""""""""""""""""""$c4  54  54 54  54  54  5 ¨ C4  >"GC£gstr  ¢gspace  ¢g zone-offset   ¢gs  Jgdate   ±gmonth   ±gyear   ±ghour   ±gminute   ±gsecond   ±gs  » âgdate  ( Igmonth  ( Igyear  ( Ighour  ( Igminute  ( Igsecond  ( Igs  S gdate  Õ ögmonth  Õ ögyear  Õ öghour  Õ ögminute  Õ ögsecond  Õ ögs   %gdate  k Œgmonth  k Œgyear  k Œghour  k Œgminute  k Œgsecond  k Œgfilenamef web/http.scmŒ ß ŒŒ  á ŒŒ á ŒŒ N á ŒŒ O â ŒŒ Z ã ŒŒ e ä ŒŒ p å ŒŒ { æ ŒŒ † ç ŒŒ  â ŒŒ ° è ŒŒ ² é ŒŒ » é ŒŒ æ á ŒŒ ç ê ŒŒ ò ë ŒŒ ý ì ŒŒ  í ŒŒ  î ŒŒ  ï ŒŒ ( ê ŒŒ H 𠌌 J ô ŒŒ S ô ŒŒ “ á ŒŒ ” õ ŒŒ Ÿ ö ŒŒ ª ÷ ŒŒ µ ø ŒŒ À ù ŒŒ Ë ú ŒŒ Õ õ ŒŒ õ û ŒŒ ÷ ü ŒŒ  ü ŒŒ ) á ŒŒ * ý ŒŒ 5 þ ŒŒ @ ÿ ŒŒ K  ŒŒ V  ŒŒ a  ŒŒ k ý ŒŒ ‹  ŒŒ  ŒŒ ‘  ŒŒ ˜  ŒŒ1  ¢ gnamegparse-rfc-822-dateŒC~R¯Ÿ{ÉËEûv}w€hðí]L4—5"4>"ýG"ö45 ‘$ä44 55$Ê44 55$°4 5:†$˜44 55$~44 55$d4 5:†$L44 55$244 55$4 5 †$44 55$æ44 55$Ì4 5-†$´44 55$š44 55$€44 55$f4 5-†$N44 55$444 55$4 5 †$""ÿþŠ""ÿþ‚""ÿþz""ÿþr""ÿþj""ÿþb""ÿþZ""ÿþR""ÿþJ""ÿþB""ÿþ:""ÿþ2""ÿþ*""ÿþ"""ÿþ""ÿþ""ÿþ ""ÿþ""ÿýú""ÿýò4 54   54  54 54  54  5  4 5  § &  ©" 4   5   –  dž˜–  2– ’$  d–" 2– ’$  d˜"        ¨ Cågstr  îgcomma  îgspace   îg zone-offset   îgtail   îgdate  c îgmonth  c îgyear  c îghour  c îgminute c îgsecond c îgs t ”gnow ” ×gthen £ Ôgyear × îgfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ  ŒŒ ,  ŒŒ -  ŒŒ :  ŒŒ ;  ŒŒ #  ŒŒ -  ŒŒ 8  ŒŒ C  ŒŒ N  ŒŒ Y  ŒŒ c  ŒŒ p  (ŒŒ t  ŒŒ ”  ŒŒ ›  ŒŒ œ  *ŒŒ ¡  -ŒŒ ¢  *ŒŒ £  ŒŒ £  ŒŒ ª  ŒŒ ­  ŒŒ ±  ŒŒ ¶  .ŒŒ ¿  ŒŒ   ŒŒ Æ  ŒŒ Ë  .ŒŒ ×  ŒŒ&  î gnamegparse-rfc-850-dateŒCRŸ{ÉËEûv} hø¥]1"4>"eG"^45 ‘$L44 55$244 55$44 55$þ44 55$ä4 5 †$Ì44 55$²44 55$˜4 5:†$€44 55$f44 55$L4 5:†$444 55$44 55$4 5 †$è44 55$Î4 5 †$¶44 55$œ44 55$‚44 55$h4 5 †$P44 55$644 55$44 55$""ÿþB""ÿþ:""ÿþ2""ÿþ*""ÿþ"""ÿþ""ÿþ""ÿþ ""ÿþ""ÿýú""ÿýò""ÿýê""ÿýâ""ÿýÚ""ÿýÒ""ÿýÊ""ÿýÂ""ÿýº""ÿý²""ÿýª""ÿý¢""ÿýš""ÿý’""ÿýŠ44 5 †$ "  54  54  54 54  54  5  ¨ Cgstr  ôgdate Ô ôgmonth  Ô ôgyear  Ô ôghour  Ô ôgminute  Ô ôgsecond  Ô ôgfilenamef web/http.scmŒ $ ŒŒ  & ŒŒ & ŒŒ  & ŒŒ  % ŒŒ  % ŒŒ , % ŒŒ - % ŒŒ } ' ŒŒ ‚ ) ŒŒ  ) ŒŒ ‘ ) ŒŒ  ' ŒŒ ž + ŒŒ © , ŒŒ ´ - ŒŒ ¿ . ŒŒ Ê / ŒŒ Ô ' ŒŒ ó 0 ŒŒ  ô gnamegparse-asctime-dateŒC‚R}wƒ„…h8š]§&  ©" 45 ‘$C45 6’gdate  2gfilenamef web/http.scmŒ 3 ŒŒ  4 ŒŒ  4 ŒŒ # 4 ŒŒ ) 6 ŒŒ 2 6 ŒŒ  2 gnamegnormalize-dateŒC†RʼnzhR]LL—6Jgfilenamef web/http.scmŒ : !ŒŒ ; 9ŒŒ ; "ŒŒ  ChU-13CMgargs gfilenamef web/http.scmŒ : !ŒŒ C†­~Ÿ{‚ hˆM]4 5$4O5"$J4,5$) ‘$45" 45" 4  5"4 56Egstr  †gspace †g zone-offset  ) †gcomma  < ygfilenamef web/http.scmŒ 8 ŒŒ  9 ŒŒ 9 ŒŒ  : ŒŒ  : !ŒŒ ) 9 ŒŒ 3 = ŒŒ 4 > ŒŒ < > ŒŒ D ? ŒŒ I @ ŒŒ M ? ŒŒ N @ ŒŒ ] A ŒŒ n ? ŒŒ r ? *ŒŒ v ? ŒŒ ~ B ŒŒ † < ŒŒ  † gnameg parse-dateŒCŠRšñ‹ŒhXE] "? ”$544 045 ž–5>"G4 5"ÿÿÃC4 ™5"ÿÿ±=gn  Ugdigits  Ugport   Ugtens   Egfilenamef web/http.scmŒ E ŒŒ  G ŒŒ H ŒŒ  H ŒŒ  J ŒŒ  J ŒŒ  F ŒŒ  J 4ŒŒ " J ,ŒŒ # J $ŒŒ % J ŒŒ , J ŒŒ 5 L ŒŒ C L ŒŒ E G ŒŒ F G ŒŒ M G ŒŒ O G ŒŒ U G ŒŒ  U gnamegdisplay-digitsŒC}wƒŽš‘’“”•–—”˜™š›œžŸ ¡¢£¤¥¦€§¨©ª%hèÄ]§&  ©" 45 ‘$" 445 5445 †$ "b †$ "T †$ "E †$ "6 †$ "' †$" †$" 45>"G4§&  ©" 45 >"G4§&  ©" 45 †$"® †$"Ÿ †$" †$" †$"r †$"c †$"T †$"E †$"6 †$"' †$" †$" 45>"G4§&  ©" 4 5 >"G4 >"G4§&  ©" 4!5 >"G4:>"G4§&  ©" 4"5 >"G4:>"G4§& ©" 4#5 >"G$6¼gdate  ægport  ægdisplay-digits   ægdate  : ægkey  F »gkey   Øgfilenamef web/http.scmŒ D ŒŒ M ŒŒ " M ŒŒ ' M ŒŒ . O ŒŒ 1 O "ŒŒ : O ŒŒ : M ŒŒ = P ŒŒ @ P ŒŒ F P ŒŒ R Q ŒŒ ^ P ŒŒ ` Q "ŒŒ m P ŒŒ o Q 0ŒŒ | P ŒŒ ~ R ŒŒ ‹ P ŒŒ R "ŒŒ š P ŒŒ œ R 0ŒŒ © P ŒŒ « S ŒŒ ° S #ŒŒ ´ S *ŒŒ ¸ S #ŒŒ  P ŒŒ Ë U ŒŒ Ð U ŒŒ ñ U ŒŒ ú V ŒŒ ÿ V ŒŒ  V ŒŒ # W ŒŒ 0 V ŒŒ 2 W $ŒŒ ? V ŒŒ A W 3ŒŒ N V ŒŒ P X ŒŒ ] V ŒŒ _ X $ŒŒ l V ŒŒ n X 3ŒŒ { V ŒŒ } Y ŒŒ Š V ŒŒ Œ Y $ŒŒ ™ V ŒŒ › Y 3ŒŒ ¨ V ŒŒ ª Z ŒŒ · V ŒŒ ¹ Z $ŒŒ Æ V ŒŒ È Z 3ŒŒ Í [ ŒŒ Ñ [ ŒŒ Õ [ ŒŒ ß V ŒŒ è ] ŒŒ í ] ŒŒ  ] ŒŒ  ^ ŒŒ + _ ŒŒ 0 _ ŒŒ Q _ ŒŒ Z ` ŒŒ n a ŒŒ s a ŒŒ ” a ŒŒ  b ŒŒ ± c ŒŒ ¶ c ŒŒ Ö c ŒŒ â d ŒŒ æ d ŒŒO  æ gnameg write-dateŒC«Ró¬à­h8ã]45$ 4 5ŒC45$ 45ŒCŒCÛgval  7gfilenamef web/http.scmŒ j ŒŒ  l ŒŒ  l ŒŒ l ŒŒ  k ŒŒ  l $ŒŒ  l ŒŒ  m ŒŒ m ŒŒ $ m ŒŒ ( k ŒŒ ) m $ŒŒ 1 m ŒŒ 6 n ŒŒ  7 gnamegparse-entity-tagŒC®R–h]ˆ$6C…gval  gfilenamef web/http.scmŒ p ŒŒ  q ŒŒ q ŒŒ  r ŒŒ  r ŒŒ   gnameg entity-tag?ŒC¯Rš¬ãh0¿]Ž$"4>"G6·gval  *gport  *gfilenamef web/http.scmŒ t ŒŒ  u ŒŒ u ŒŒ  v ŒŒ  v ŒŒ  v ŒŒ & w ŒŒ * w ŒŒ  * gnamegwrite-entity-tagŒC°RÉó¬àÜÌ˱¸² h¸û-.,3# # 454 5€4$" –> GŒ45’$645,†$44—55" 4  5"ŒCógval ¶gstart ¶gend  ¶gstrong?  5 ¶gtag  X ¶gnext  X ¶gnext  o ´gfilenamef web/http.scmŒ y ŒŒ  z /ŒŒ % { ŒŒ ) { &ŒŒ 4 { ŒŒ 5 { ŒŒ 5 { ŒŒ 8 } ŒŒ B } +ŒŒ M } =ŒŒ W } ŒŒ [ | ŒŒ d € ŒŒ e  ŒŒ o  ŒŒ v ‚ ŒŒ z ‚ ŒŒ { ƒ ŒŒ † ƒ ŒŒ Š ƒ ŒŒ ‹ „ ŒŒ † ŒŒ — † 0ŒŒ › † ŒŒ Ÿ „ ŒŒ ¤ ˆ ŒŒ ¨ ˆ 0ŒŒ ¬ ˆ ŒŒ ± ‰ ŒŒ µ € ŒŒ ¶ gnamegparse-entity-tag-listŒC±Rϯhw]6ogval  gfilenamef web/http.scmŒ ‹ ŒŒ Œ ŒŒ  gnamegentity-tag-list?ŒC³RÑ°Òh—]6gval  gport  gfilenamef web/http.scmŒ Ž ŒŒ  )ŒŒ   ŒŒ   gnamegwrite-entity-tag-listŒC´RÿÉÌ­±¸µMN¯¶·hè3-.,3## # 454545$"‘$4>"G"44 4 $"555 †$-45’$4 5ŒC 64 5ŒC+gstr èg val-parser ègstart  ègend  ègstart  9 ègt  H [gdelim  [ ègscheme  Ÿ ègstart  µ × gfilenamef web/http.scmŒ ˜ ŒŒ & ™ +ŒŒ / š ŒŒ 9 š ŒŒ < › ŒŒ H › ŒŒ [ š ŒŒ b œ ŒŒ f œ ŒŒ g  ŒŒ k  ŒŒ r  ŒŒ  ž ŒŒ ‚ Ÿ ŒŒ … Ÿ $ŒŒ ‘ Ÿ 9ŒŒ › Ÿ $ŒŒ Ÿ ŒŒ Ÿ ž ŒŒ Ÿ ž ŒŒ ª   ŒŒ « ¢ ŒŒ µ ¢ ŒŒ ¼ £ ŒŒ À £ ŒŒ à ¤ ŒŒ Î ¤ ŒŒ Ó ¥ %ŒŒ × ¥ ŒŒ Ú § ŒŒ ç § ŒŒ è gnamegparse-credentialsŒC¸R¶–h8å] ˆ$&Š$†$Ž6Ž6CCÝgval  1gkey  -gfilenamef web/http.scmŒ © ŒŒ  ª ŒŒ ª ŒŒ ª ŒŒ ª ŒŒ  ª ŒŒ  « ŒŒ  « ŒŒ $ ¬ ŒŒ & ¬ ŒŒ + ­ ŒŒ - ­ ŒŒ  1 gnamegvalidate-credentialsŒC¹Rš¶hPì] 4>"G4 >"G†$ Ž6Ž6ägval  Kgport  Kgkey  . Kgfilenamef web/http.scmŒ ¯ ŒŒ  ° ŒŒ  ° ŒŒ  ° ŒŒ  ± ŒŒ . ² ŒŒ . ² ŒŒ > ³ ŒŒ B ³ ŒŒ G ´ ŒŒ K ´ ŒŒ  K gnamegwrite-credentialsŒCºRÉÌ­MN¯¸»Ì­Í¶M¯Ëàܸ» hÀ·]RL’$ª4LL54L=L54L,L54$"L$"L54L54L 5$ 45D44L55"  "«$ $ ’"$„4L—L5"44L4L$"L55$"L "KL’$-4L5"†$4 LL >!""ÿÿš""ÿÿ’""ÿÿU""ÿÿM G 4L L5  L‘  $" 4L 5,† $ —$ Œ"Œ"ÿþ^  4LLL5645LD¯gi  Àgout  Àgi   µgeq  % µgcomma  4 µgdelim  W µg token-end  d µgk  ’ µgi  Ç ;gv  L µgnext-i L µgi ^ µgt e  gfilenamef web/http.scmŒ Ä ŒŒ  Å ŒŒ Å ŒŒ Ç ŒŒ  Ç ŒŒ  È ŒŒ % Ç ŒŒ ( É ŒŒ 4 Ç ŒŒ 7 Ê ŒŒ ? Ê ŒŒ M Ê )ŒŒ W Ê ŒŒ W Ç ŒŒ Z Ë ŒŒ d Ç ŒŒ g Ì ŒŒ w Ì ŒŒ x Í ŒŒ ‚ Í ŒŒ ƒ Î ŒŒ † Î )ŒŒ ’ Î ŒŒ ’ Î ŒŒ ¡ Ú ŒŒ ¡ Ñ ŒŒ ­ Ñ $ŒŒ ² Ñ 4ŒŒ · Ñ (ŒŒ » Ñ ŒŒ ¼ Ò %ŒŒ à Ò :ŒŒ Ç Ò %ŒŒ Ç Ò ŒŒ Î Õ *ŒŒ Õ × +ŒŒ á Ø <ŒŒ ë × +ŒŒ í Õ *ŒŒ ó Ù *ŒŒ  Õ "ŒŒ  Ó ŒŒ  Ó 'ŒŒ  Ó ŒŒ  Ó 7ŒŒ  Ó 1ŒŒ  Ó "ŒŒ  Ô "ŒŒ O Ï ŒŒ T Ü ŒŒ ^ Ü ŒŒ e Ý ŒŒ e Ý ŒŒ s Ý 0ŒŒ ~ Ý *ŒŒ … Ý ŒŒ ˆ Þ ŒŒ Ž Þ -ŒŒ “ Þ 3ŒŒ œ Þ 'ŒŒ ¤ Þ ŒŒ ¨ à ŒŒ © á ŒŒ µ ß ŒŒ ¶ Æ ŒŒ À Æ ŒŒC  À gnameglpŒC h…-.,3# # 45454 5$444555" 45 OQ6}gstr ‹gstart ‹gend  ‹gstart  / ‹gsp  > ‹gscheme  h ‹glp  u ‹gfilenamef web/http.scmŒ ½ ŒŒ  ¾ )ŒŒ % ¿ ŒŒ / ¿ ŒŒ 2 À ŒŒ > ¿ ŒŒ F Á ŒŒ G  ŒŒ J  %ŒŒ M  6ŒŒ Y  %ŒŒ [  ŒŒ ` à ŒŒ d à +ŒŒ h à ŒŒ h ¿ ŒŒ u Ä ŒŒ ‰ Ä ŒŒ ‹ Ä ŒŒ ‹ gnamegparse-challengeŒC¼RÿÉ̼½hHö]4LL5L’$%4LL> GŒ"ÿÿÅ6îgi  Cgret  Cgi  Cg challenge  ' =gi  ' =gfilenamef web/http.scmŒ å ŒŒ  æ ŒŒ æ ŒŒ  ç ŒŒ  ç ŒŒ  è 'ŒŒ * è ŒŒ 5 ê ŒŒ = ê ŒŒ C ë ŒŒ  C gnameglpŒChHß-.,3## # 45OQ6×gstr Hg val-parser Hgstart  Hgend  Hglp  8 Hgfilenamef web/http.scmŒ ã ŒŒ & ä *ŒŒ 8 å ŒŒ F å ŒŒ H å ŒŒ H gnamegparse-challengesŒC¾RÏh ]ˆ$Š$Ž6CC‡gx  gfilenamef web/http.scmŒ î ŒŒ  ï ŒŒ ï ŒŒ ï *ŒŒ ï !ŒŒ  ï ŒŒ  ð (ŒŒ  𠌌   Chz]6rgval  gfilenamef web/http.scmŒ í ŒŒ î ŒŒ  gnamegvalidate-challengesŒC¿Ršh8µ]4>"G4 >"GŽ6­gval  4gport  4gfilenamef web/http.scmŒ ò ŒŒ  ó ŒŒ  ó ŒŒ  ó ŒŒ  ô ŒŒ 0 õ ŒŒ 4 õ ŒŒ  4 gnamegwrite-challengeŒCÀRÑÀÒh’]6Šgval  gport  gfilenamef web/http.scmŒ ÷ ŒŒ ø 'ŒŒ  ø ŒŒ   gnamegwrite-challengesŒCÁR·Âh’-136Šgmessage gargs gfilenamef web/http.scmŒ  ŒŒ  ŒŒ   ŒŒ  gnameg bad-requestŒCÂR·Ãh“-136‹gmessage gargs gfilenamef web/http.scmŒ  ŒŒ  ŒŒ   ŒŒ  gnameg bad-responseŒCÃRÄRÉäÄ­¸Å¯óÆÅû hèE-.,3# # 45"0ˆ$$45$Ž"Ž"ÿÿÕ""ÿÿÈ$C4.5"4564  5$>$44 .5‘$4  –54 —5ŒC"ÿÿ¡"ÿÿ"ÿÿ™=gstr ågstart ågend  ågknown  ( Xgt  ` ågdot-idx  x ågfilenamef web/http.scmŒ  ŒŒ   ;ŒŒ (  ŒŒ +  ŒŒ /  ŒŒ 0  ŒŒ 7  ŒŒ >  ŒŒ B  ŒŒ E  ŒŒ M  ŒŒ S  ŒŒ X  ŒŒ `  ŒŒ l  ŒŒ x  ŒŒ ‚  "ŒŒ ƒ  0ŒŒ  ŒŒ  ŒŒ  ŒŒ ”  !ŒŒ Ÿ  ŒŒ £  ŒŒ ©  ŒŒ ¬  ŒŒ ¹  ŒŒ ½  ŒŒ ¾  ŒŒ Ç  2ŒŒ Ë  ŒŒ Ì  ŒŒ Ó  2ŒŒ ×  ŒŒ Ø  ŒŒ$ å gnamegparse-http-versionŒg documentationkParse an HTTP version from STR, returning it as a major minor pair. For example,  HTTP/1.1 parses as the pair of integers,  (1 . 1) .ŒC?RšÆhH]4>"G4>"G4.>"GŽ6gval  Hgport  Hgfilenamef web/http.scmŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ #  ŒŒ ,  ŒŒ D  ŒŒ H  ŒŒ  H gnamegwrite-http-versionŒg documentationf1Write the given major-minor version pair to PORT.ŒCÇR4Èi?ÉÄh |]4 455ŒŒ Ctgv  gfilenamef web/http.scmŒ " ŒŒ  $ ŒŒ $ *ŒŒ  $ ŒŒ  $ ŒŒ  # ŒŒ   CË>"GÉäÌÍÎÏÐÑÒÓÔÕÖ×ØÙÂÚ¯hÈY-.,3# # 4545$C45$C45$C4 5$ C4 5$ C4 5$C45$C456Qgstr Ágstart Ágend  Ágfilenamef web/http.scmŒ / ŒŒ  / :ŒŒ % 3 ŒŒ + 3 ŒŒ 1 3 ŒŒ 5 2 ŒŒ 7 3 "ŒŒ 9 4 ŒŒ ? 4 ŒŒ E 4 ŒŒ I 2 ŒŒ K 4 #ŒŒ M 5 ŒŒ S 5 ŒŒ Y 5 ŒŒ ] 2 ŒŒ _ 5 #ŒŒ a 6 ŒŒ g 6 ŒŒ m 6 ŒŒ q 2 ŒŒ s 6 "ŒŒ u 7 ŒŒ { 7 ŒŒ 7 ŒŒ … 2 ŒŒ ‡ 7 %ŒŒ ‰ 8 ŒŒ 8 ŒŒ • 8 ŒŒ ™ 2 ŒŒ › 8 &ŒŒ 9 ŒŒ £ 9 ŒŒ © 9 ŒŒ ­ 2 ŒŒ ¯ 9 $ŒŒ ´ : ŒŒ µ : +ŒŒ Á : ŒŒ) Á gnamegparse-http-methodŒg documentationkRÉÂÛäÜË­ÝÞ¯ßàáâh8-.,3# # 45‘$645$C45/†$¯4?54#5$$ ’"$""  4 $"$"5 $4 —$"5" $4 —5"644 55$C4 56gstr 1gstart 1gend  1gq  c gf  r gq  š gt   1gfilenamef web/http.scmŒ < ŒŒ  < :ŒŒ ) @ ŒŒ - ? ŒŒ 1 A ŒŒ 3 A ŒŒ 4 B ŒŒ : B ŒŒ @ B ŒŒ D ? ŒŒ G D ŒŒ R D ŒŒ V ? ŒŒ W E ŒŒ c E ŒŒ f F ŒŒ r E ŒŒ z G ŒŒ € G ŒŒ … G !ŒŒ Š G ŒŒ Ž G ŒŒ š E ŒŒ   H ŒŒ £ I ŒŒ ¯ I -ŒŒ Å I ŒŒ Í J ŒŒ Î J ŒŒ Õ J /ŒŒ Û J 6ŒŒ å J ŒŒ ò K ŒŒ ó K #ŒŒ ú K 2ŒŒ þ K #ŒŒ  H ŒŒ  M ŒŒ  M ŒŒ  M ŒŒ  M ŒŒ $ N ŒŒ % N 'ŒŒ 1 N ŒŒ- 1 gnamegparse-request-uriŒg documentationfŠParse a URI from an HTTP request line. Note that URIs in requests do not have to have a scheme or host name. The result is a URI object.ŒC@R ­±ÅÂã>@Ì?É h€ú]454545"6$I$?’$24 544 —554 —4 55D"ÿÿ­"ÿÿ©"ÿÿ¥ògport  €gline €gd0   €gd1   €gfilenamef web/http.scmŒ P ŒŒ  S ŒŒ S ŒŒ T ŒŒ  S ŒŒ  U ŒŒ  S ŒŒ ) Z ŒŒ - Z ŒŒ - V ŒŒ 9 V ŒŒ > V ŒŒ B V ŒŒ C W ŒŒ M X ŒŒ R X (ŒŒ Y X >ŒŒ ] X (ŒŒ a X ŒŒ b Y ŒŒ i Y )ŒŒ j Y 1ŒŒ r Y ŒŒ t W ŒŒ  € gnamegread-request-lineŒg documentationfoRead the first line of an HTTP request from PORT, returning three values: the method, the URI, and the version.ŒCARæwçšèéêëìÉÂíËîïhxž]§&  ©" 45$14§& ©" 45>"G4>"G§& ©" 45$D4§& ©" 45>"G4@>"G"4§&  ©" 45>"G§&  ©" 45$8 P&"(4:>"G4>"G""§&  ©" 4 54 5"4>"G"†"G ‘$;§&  ©" 45$"ÿÿ¹4  >"FG"?"ÿÿ ”$/4  5/†$"ÿÿž"4 >"G""ÿÿ~§&  ©" 45$54?>"G§&  ©" 456C–guri  vgport  vgp   Ngpath  m  glen  v gfilenamef web/http.scmŒ \ ŒŒ  ] ŒŒ ! ] ŒŒ " _ ŒŒ ' _ ŒŒ E _ ŒŒ N ` ŒŒ R ` ŒŒ Y ` ŒŒ d a ŒŒ  a ŒŒ € c ŒŒ … c ŒŒ £ c ŒŒ ¬ d ŒŒ Ä e ŒŒ É e ŒŒ è e ŒŒ ó f ŒŒ  f ŒŒ  g ŒŒ  g ŒŒ  i ŒŒ 4 j ŒŒ U k ŒŒ m k ŒŒ p l ŒŒ v k ŒŒ } s ŒŒ ” m ŒŒ › p ŒŒ   m ŒŒ £ p ŒŒ ¿ p ŒŒ Ä q ŒŒ È q ŒŒ Ï q ŒŒ ß m ŒŒ ã n ŒŒ ç m ŒŒ è n ŒŒ ò n ŒŒ ö n ŒŒ ÿ o ŒŒ  o ŒŒ  o ŒŒ # t ŒŒ ? t ŒŒ @ v ŒŒ X w ŒŒ t w ŒŒ4  v gnameg write-uriŒCðRšGæwèçëé­óìï«ôõÇ´hH]4>"G4 >"G45$9§& ©" 45§&  ©" 45§&  ©" 45$Ð$Æ4>"G4>"G4 :5$@4[>"G4>"G4]>"G"4>"G4 5$"(4:>"G4>"G"""§&  ©" 4 5§&  ©" 4 54 5$4>"G"4>"G$,4>"G4>"G"4 >"G4>"G6 gmethod  Gguri  Ggversion   Ggport   Ggscheme  … jghost  … jg host-port  … jgpath  ¤ gquery  ¤  gfilenamef web/http.scmŒ y ŒŒ  { ŒŒ  | ŒŒ + } ŒŒ 5 } ŒŒ 8 ~ ŒŒ R  ŒŒ m € ŒŒ … ~ ŒŒ ‘  ŒŒ —  ŒŒ ˜ ‚ ŒŒ ¬ ƒ ŒŒ ° ƒ ŒŒ · ƒ ŒŒ À „ ŒŒ Ì „ ŒŒ Í … ŒŒ á † ŒŒ õ ‡ ŒŒ  ˆ ŒŒ ! ‰ ŒŒ # ‰ ŒŒ ) ‰ ŒŒ - ‰ ŒŒ 2 Š ŒŒ F ‹ ŒŒ q Œ ŒŒ Œ  ŒŒ ¤ Œ ŒŒ © Ž ŒŒ ³ Ž ŒŒ ´  ŒŒ ¸  ŒŒ ¿  ŒŒ Ì  ŒŒ å ‘ ŒŒ æ “ ŒŒ ê “ ŒŒ ñ “ ŒŒ ú ” ŒŒ  • ŒŒ , – ŒŒ C — ŒŒ G — ŒŒ.  G gnamegwrite-request-lineŒg documentationf0Write the first line of an HTTP request to PORT.ŒCBR ­±ÌÃö?û° h€]4545$4455""6$5$+4 544554 5D"ÿÿ½"ÿÿ¹ùgport  €gline €gd0   €gd1  3 €gfilenamef web/http.scmŒ ™ ŒŒ   ŒŒ  ŒŒ ž ŒŒ   ŒŒ  Ÿ ŒŒ  Ÿ ŒŒ $   #ŒŒ . Ÿ ŒŒ 3  ŒŒ = ¦ ŒŒ A ¦ ŒŒ A ¡ ŒŒ M ¡ ŒŒ N ¢ ŒŒ X £ ŒŒ ] £ 1ŒŒ k £ ŒŒ l ¥ ŒŒ x ¢ ŒŒ  € gnamegread-response-lineŒg documentationf™Read the first line of an HTTP response from PORT, returning three values: the HTTP version, the response code, and the (possibly empty) "reason phrase".ŒCCRÇš´hp:]4>"G4 >"G4>"G4 >"G4>"G62gversion  ngcode  ng reason-phrase   ngport   ngfilenamef web/http.scmŒ ¨ ŒŒ  ª ŒŒ  « ŒŒ + ¬ ŒŒ ? ­ ŒŒ S ® ŒŒ j ¯ ŒŒ n ¯ ŒŒ  n gnamegwrite-response-lineŒg documentationf1Write the first line of an HTTP response to PORT.ŒCDR2¿ÀÁh]6 gname  gfilenamef web/http.scmŒ º ŒŒ  ½ ŒŒ   gnamegdeclare-opaque-header!Œg documentationf}Declares a given header as "opaque", meaning that its value is not treated specially, and is just returned as a plain string.ŒC3R2Šù«h|]6tgname  gfilenamef web/http.scmŒ Á ŒŒ   ŒŒ   gnamegdeclare-date-header!ŒCúR2ÎÐÓhƒ]6{gname  gfilenamef web/http.scmŒ Æ ŒŒ  Ç ŒŒ   gnamegdeclare-string-list-header!ŒCûR2‰MÎhd]456\gstr  gfilenamef web/http.scmŒ Í ŒŒ  Î ŒŒ  Î ŒŒ   CÏÕhY]6Qgv  gfilenamef web/http.scmŒ Ï ŒŒ Ð ŒŒ  CÑšÒht]6lgv  gport  gfilenamef web/http.scmŒ Ñ ŒŒ Ò !ŒŒ  Ò ŒŒ   Chƒ]6{gname  gfilenamef web/http.scmŒ Ë ŒŒ  Ì ŒŒ   gnamegdeclare-symbol-list-header!ŒCüR2ÔÖ×hƒ]6{gname  gfilenamef web/http.scmŒ Õ ŒŒ  Ö ŒŒ   gnamegdeclare-header-list-header!ŒCýR2ûïšh]6wgname  gfilenamef web/http.scmŒ Ú ŒŒ  Û ŒŒ   gnamegdeclare-integer-header!ŒCþR2á¸+h „] 45$C6|gstr  gt gfilenamef web/http.scmŒ á ŒŒ  á ŒŒ á ŒŒ  á >ŒŒ  á (ŒŒ   Cðh{]6sgname  gfilenamef web/http.scmŒ ß ŒŒ  à ŒŒ   gnamegdeclare-uri-header!ŒCR2¸+h –] 45$C6Žgstr  gt gfilenamef web/http.scmŒ è ŒŒ  é ŒŒ  é ŒŒ é ŒŒ é ŒŒ  ê ŒŒ  ê ŒŒ   Cðh„]6|gname  gfilenamef web/http.scmŒ æ ŒŒ  ç ŒŒ   gnamegdeclare-relative-uri-header!ŒC R2õöùh„]6|gname  gfilenamef web/http.scmŒ ï ŒŒ  𠌌   gnamegdeclare-quality-list-header!ŒC Rÿ2 h[]L6Sgstr  gfilenamef web/http.scmŒ ù ŒŒ ù ŒŒ  Ch[]L6Sgval  gfilenamef web/http.scmŒ ú ŒŒ ú ŒŒ  Chm]L6egval  gport  gfilenamef web/http.scmŒ û ŒŒ û ŒŒ  ChHÎ-.,3###OOO6Ægname Eg val-parser Eg val-validator  Eg val-writer  Egfilenamef web/http.scmŒ ô ŒŒ E ø ŒŒ E gnamegdeclare-param-list-header!ŒC Rÿ2h[]L6Sgstr  gfilenamef web/http.scmŒ  ŒŒ  ŒŒ  Ch[]L6Sgval  gfilenamef web/http.scmŒ  ŒŒ  ŒŒ  Chm]L6egval  gport  gfilenamef web/http.scmŒ  ŒŒ  ŒŒ  ChHÒ-.,3###OOO6Êgname Eg val-parser Eg val-validator  Eg val-writer  Egfilenamef web/http.scmŒ þ ŒŒ E  ŒŒ E gnamegdeclare-key-value-list-header!ŒC R2¬Ü ±hˆ]45$C6€gstr  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  $ŒŒ  ŒŒ   ŒŒ   )ŒŒ   ,ŒŒ   C ³hv]&C6ngval  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ  ŒŒ   #ŒŒ   C šÜ´h ‘]&66‰gval  gport  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   Ch‡]6gname  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ   gnamegdeclare-entity-tag-list-header!ŒCR2¸¹ºhƒ]6{gname  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ   gnamegdeclare-credentials-header!ŒCR2¾¿Áh†]6~gname  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ   gnamegdeclare-challenge-list-header!ŒCR4 iûÔ hp«]†$"†$"†$6†$$6C†$"†$$6CC£gk  lgv-str  lgfilenamef web/http.scmŒ ; ŒŒ < ŒŒ - > ŒŒ 6 < ŒŒ < @ ŒŒ B @ ŒŒ M < ŒŒ a B ŒŒ g B ŒŒ  l CïÖ–hÀí]†$"†$"†$6†$$6C†$"†$$6C †$"/ †$"! †$" †$" †$€C$6Cågk  ¼gv  ¼gfilenamef web/http.scmŒ D ŒŒ E ŒŒ - G ŒŒ 6 E ŒŒ < I ŒŒ B I ŒŒ C I ŒŒ M E ŒŒ a K ŒŒ g K ŒŒ h K ŒŒ r E ŒŒ ­ M ŒŒ ´ O ŒŒ º O ŒŒ » O ŒŒ  ¼ C–š×þ¸hpæ]45$ 6ˆ$04">"G4>"G"645$66Þgk  igv  igport   igfilenamef web/http.scmŒ P ŒŒ  R ŒŒ Q ŒŒ  R ŒŒ  S ŒŒ  Q ŒŒ  T ŒŒ 3 U ŒŒ N V ŒŒ O W ŒŒ Y Q ŒŒ a X ŒŒ e Z ŒŒ i Z ŒŒ  i C>"G42iÔiÖiÑš 1h ]&"456‡gx  gport  gfilenamef web/http.scmŒ f ŒŒ  g &ŒŒ g ŒŒ  h ŒŒ  i ŒŒ  g ŒŒ   CÒhv]6ngval  gport  gfilenamef web/http.scmŒ d ŒŒ k ŒŒ  e ŒŒ   C>"G4úi!>"G4 i">"G4ýi#>"G4 i$>"G4ûi%>"G42i&ÎiÐiÓi‘>"G42i'É­û¯àÜËŠÌŸ( h ]Y4L 54L —5$÷$ï4L54L—54L—> GL’$ 4L5" †$-4L—> G 45 ""  " G  L’$ 4L 5"   †$ C ,†$ 4L4L —55ŒC  L6CC gi  gidx1 gidx2   gcode  @ gagent  @ gtext  U gi  U gc  s ¶gdate  §gi §gtext  · gdate  · gi · gw â gc â gfilenamef web/http.scmŒ   ŒŒ  ¡ ŒŒ ¡ ŒŒ  ¢ ŒŒ  ¢ /ŒŒ  ¢ ŒŒ  ¡ ŒŒ # £ ŒŒ ) £ ŒŒ * ¤ ŒŒ 5 ¥ ŒŒ < ¥ *ŒŒ @ ¥ ŒŒ @ ¤ ŒŒ E § ŒŒ L § 2ŒŒ T § ŒŒ X ¦ ŒŒ a « (ŒŒ e « #ŒŒ f « 2ŒŒ s « ŒŒ ~ ¬ ŒŒ  ° .ŒŒ † ° AŒŒ Ž ° .ŒŒ ’ ¯ ŒŒ ™ ³ 0ŒŒ § ³ #ŒŒ ¶ µ ŒŒ º © ŒŒ Ë · !ŒŒ Ð ¸ &ŒŒ Ô ¸ !ŒŒ Õ ¸ 0ŒŒ â · ŒŒ î ¹ ŒŒ ó º "ŒŒ ý ¹ ŒŒ  » +ŒŒ  » /ŒŒ  » DŒŒ  » /ŒŒ  » +ŒŒ  » #ŒŒ  ¼ .ŒŒ  ¼ "ŒŒ0   gnameglpŒCÌh0Ÿ]45OQ4 56—gstr  *glen *glp   *gfilenamef web/http.scmŒ ž ŒŒ  Ÿ ŒŒ Ÿ ŒŒ    ŒŒ !   ŒŒ *   ŒŒ  * CÏ)ï–}hPì]45$> è’$245$%45$$¦$§‚CCCCCCCägcode  Mghost  Mgtext   Mgdate   Mgfilenamef web/http.scmŒ  ŒŒ  à #ŒŒ à ŒŒ  à @ŒŒ  à ŒŒ  Ä #ŒŒ " à ŒŒ # Å #ŒŒ - à ŒŒ 3 Æ #ŒŒ 6 Æ 2ŒŒ D Æ 'ŒŒ  M Ch(ˆ]‰$45 ‘$@CC€gelt  !gfilenamef web/http.scmŒ ¿ ŒŒ  À ŒŒ À ŒŒ Á ŒŒ  Á ŒŒ  À ŒŒ   ŒŒ  ! Ch[]6Sgval  gfilenamef web/http.scmŒ ½ ŒŒ ¾ ŒŒ  CÑšã«h×]4L>"G4 L>"G4L>"G4 L>"G4L>"G$4 L>"GL6CÏgcode  Šghost  Šgtext   Šgdate   Šgfilenamef web/http.scmŒ Í ŒŒ  Î ŒŒ  Ï ŒŒ + Ð ŒŒ ? Ñ ŒŒ S Ò ŒŒ l Ó ŒŒ m Õ ŒŒ ˆ Ö ŒŒ  Š Chk]O@cgw  gport  gfilenamef web/http.scmŒ Ë ŒŒ Ì ŒŒ  CÒhv]6ngval  gport  gfilenamef web/http.scmŒ È ŒŒ Ø ŒŒ  É ŒŒ   C‘>"G4üi*>"G42i+ ÿ¸,hPÍ] 45"4>"%G"ˆ$Ž(""ÿÿÒ""ÿÿÊCÅgstr  Kg disposition Kgfilenamef web/http.scmŒ î ŒŒ  ï ŒŒ ï ŒŒ  ó ŒŒ  ó ŒŒ  ó ŒŒ ) ñ ŒŒ , ñ ŒŒ 0 ñ ŒŒ 3 ò ŒŒ 7 ñ ŒŒ J ô ŒŒ  K CÏ–h ]ˆ$Š$Ž6CC‡gx  gfilenamef web/http.scmŒ ù ŒŒ  ú ŒŒ ú ŒŒ ú -ŒŒ ú $ŒŒ  ú ŒŒ  ú ?ŒŒ  ú 6ŒŒ   Ch ‘]ˆ$Š$ Ž6CC‰gval  gfilenamef web/http.scmŒ õ ŒŒ  ö ŒŒ ö ŒŒ ÷ ŒŒ ÷ ŒŒ  ö ŒŒ  ø ŒŒ  ø ŒŒ   Chv]6ngval  gport  gfilenamef web/http.scmŒ û ŒŒ ü ŒŒ ü ŒŒ  C>"G4üi->"G4ûi.>"G4þi/>"G4 i0>"G43i1>"G42i2­Ÿ3ó45ûäÜ  h¨Ç]4-54/5"645$r$h$4 54—5Œ" 4 5$ " 454 —5$ " 4—5C"ÿÿy"ÿÿu¿gstr  §gdash  §gslash   §gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ   ŒŒ - ŒŒ $ - ŒŒ $  ŒŒ %  ŒŒ )  ŒŒ -  ŒŒ 1  ŒŒ 7  ŒŒ 9  ŒŒ ? ! ŒŒ @ $ ŒŒ K % ŒŒ R % 3ŒŒ V % ŒŒ W # ŒŒ \ & ŒŒ b & ŒŒ h & ŒŒ l ! ŒŒ n ' ŒŒ s ) ŒŒ w ) ŒŒ { ) ŒŒ | * ŒŒ ‚ * !ŒŒ … * %ŒŒ ‡ * ŒŒ ‹ * ŒŒ + ŒŒ ’ , ŒŒ ™ , 4ŒŒ › , ŒŒ ž  ŒŒ&  § C) ïh€s] ‰$r45 ‘$bŠ$XŽ&"%ˆ$45$ 4Ž5""$ŽŽ&C6CCCCkgval  }gx # Zgx c ugfilenamef web/http.scmŒ . ŒŒ  / ŒŒ / ŒŒ / ŒŒ  / ŒŒ  / ŒŒ  0 ŒŒ  0 ŒŒ  / ŒŒ " 1 ŒŒ # 1 ŒŒ ) 2 ŒŒ - 2 ŒŒ . 2 ŒŒ 5 3 ŒŒ 9 3 ŒŒ : 4 ŒŒ ? 4 +ŒŒ A 4 ŒŒ E 3 ŒŒ F 5 ŒŒ K 5 +ŒŒ M 5 ŒŒ ^ / ŒŒ a 6 ŒŒ c 6 ŒŒ i 7 ŒŒ m 7 ŒŒ n 7 ŒŒ u 8 ŒŒ  } Cš h°+]4>"G4 >"GŽ&4*>"G"B4Ž>"G4->"G4Ž>"GŽŽ&*6ŽŽ6#gval  ­gport  ­gfilenamef web/http.scmŒ 9 ŒŒ  : ŒŒ  : ŒŒ  : ŒŒ  ; ŒŒ . < ŒŒ 1 < ŒŒ 5 < ŒŒ 6 = ŒŒ N ? ŒŒ S ? ŒŒ \ ? ŒŒ e @ ŒŒ y A ŒŒ ~ A ŒŒ ‡ A ŒŒ ’ B ŒŒ – B ŒŒ š B ŒŒ ¢ C ŒŒ § D ŒŒ ­ D ŒŒ  ­ C>"G42i6áȉ­Ÿ7ÅM8±9 hXæ] 4=5"L6$34=5‘$44 554—5ŒC"ÿÿ¿"ÿÿ»Þgx  Vgeq Vgfilenamef web/http.scmŒ L ŒŒ  M ŒŒ M ŒŒ  S %ŒŒ  S ŒŒ  N ŒŒ " N 'ŒŒ + N !ŒŒ / N ŒŒ 0 P ŒŒ 3 Q ŒŒ @ P ŒŒ A R ŒŒ J R CŒŒ L R ŒŒ M O ŒŒ  V Ch(µ] 4;5454OŽ5ŒC­gstr  &gparts &gfilenamef web/http.scmŒ I ŒŒ  J ŒŒ J ŒŒ  K ŒŒ  K ŒŒ  K ŒŒ  L ŒŒ " T ŒŒ $ L ŒŒ % K ŒŒ  & CÏ–h ]ˆ$Š$Ž6CC‡gx  gfilenamef web/http.scmŒ Y ŒŒ  Z ŒŒ Z ŒŒ Z -ŒŒ Z $ŒŒ  Z ŒŒ  Z ?ŒŒ  Z 6ŒŒ   Ch ‘]ˆ$Š$ Ž6CC‰gval  gfilenamef web/http.scmŒ U ŒŒ  V ŒŒ V ŒŒ W ŒŒ W ŒŒ  V ŒŒ  X ŒŒ  X ŒŒ   CšÑšh8›]4>"G4=>"GŽ6“gpair  4gport  4gfilenamef web/http.scmŒ b ŒŒ  c ŒŒ  c ŒŒ  c ŒŒ  d ŒŒ 0 e ŒŒ 4 e ŒŒ  4 ChHÐ]4>"GŽˆ$!4>"GŽ6CÈgval  Bgport  Bgfilenamef web/http.scmŒ [ ŒŒ  \ ŒŒ  \ ŒŒ  \ ŒŒ  ] ŒŒ  ] ŒŒ  ] ŒŒ _ ŒŒ $ _ ŒŒ + _ ŒŒ 8 a ŒŒ > f ŒŒ @ ` ŒŒ  B C>"G4Ši:5;R42i<=?;Šh]45$C6wgstr  gfilenamef web/http.scmŒ m ŒŒ  n ŒŒ n ŒŒ n ŒŒ  n ŒŒ  p ŒŒ   Cù«i>"G4úi@>"G4 iA!îhz]&6Crgk  gv  gfilenamef web/http.scmŒ ‹ ŒŒ  Œ ŒŒ Œ ŒŒ   ŒŒ   C!ð–h •]&6$6Cgk  gv  gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ  ‘ ŒŒ  ’ ŒŒ  ’ ŒŒ  ’ ŒŒ   C!òh •]&66gk  gv  gport   gfilenamef web/http.scmŒ “ ŒŒ  ” ŒŒ ” ŒŒ  • ŒŒ  – ŒŒ   C>"G4 iB>"G4 iC>"G4 iD>"G4iE>"G4 iF>"G43iG>"G42iH­ËŸI¯ûh˜x]!4]54:$" 5$54 5[†$"4>"G4 5"$4 5"$4—5"ŒCpgstr  •grbracket •gcolon  # •ghost  v •gport  •gfilenamef web/http.scmŒ ¾ ŒŒ  ¿ ŒŒ ¿ ŒŒ  À ŒŒ  À (ŒŒ # À ŒŒ # ¿ ŒŒ + Á ŒŒ , à !ŒŒ 6 à ŒŒ : à ŒŒ ? Ä ŒŒ C Ä !ŒŒ J Ä ŒŒ S Å ŒŒ f Á ŒŒ g Ç ŒŒ v ¿ ŒŒ ~ Ê ŒŒ  Ë ŒŒ † Ë 6ŒŒ ˆ Ë ŒŒ ¿ ŒŒ ” Ì ŒŒ  • C–ïh0Ã] ˆ$$45$Ž€$CŽ6CC»gval  /gt  +gfilenamef web/http.scmŒ Í ŒŒ  Î ŒŒ Î ŒŒ Ï ŒŒ  Ï ŒŒ  Ï ŒŒ  Î ŒŒ  Ð ŒŒ  Ð ŒŒ  Ð ŒŒ ) Ñ $ŒŒ + Ñ ŒŒ  / C­šh]4:5$A4[>"G4>"G4]>"G"4>"GŽ$4:>"GŽ6Cúgval  Œgport  Œgfilenamef web/http.scmŒ Ò ŒŒ  Ó ŒŒ  Ó ŒŒ Ó ŒŒ  Ó ŒŒ  Õ ŒŒ % Ö ŒŒ * Ö ŒŒ 1 Ö ŒŒ : × ŒŒ R Ø ŒŒ W Ø ŒŒ ^ Ø ŒŒ i Ù ŒŒ m Ù ŒŒ n Û ŒŒ † Ü ŒŒ Š Ü ŒŒ  Œ C>"G4iJ>"G4úiK>"G4iL>"G42iM󭬮Šh8º] 45$" 45$66²gstr  4gt $gfilenamef web/http.scmŒ í ŒŒ  î ŒŒ  î ŒŒ î ŒŒ î ŒŒ  ï ŒŒ  ï ŒŒ ! ï ŒŒ ( î ŒŒ . 𠌌 4 ñ ŒŒ  4 C}¯h({] ¦$ §‚"$C6sgval  %gt  %gfilenamef web/http.scmŒ ò ŒŒ  ó ŒŒ  ó ŒŒ % ó ŒŒ  % C°}«h0š]"6¦$§&6"ÿÿÜ"ÿÿØ’gval  .gport  .gfilenamef web/http.scmŒ ô ŒŒ  ÷ ŒŒ  õ ŒŒ  õ ŒŒ  õ ŒŒ  õ ŒŒ & ö ŒŒ  . C>"G4úiN>"G4þiO>"G4iP>"G42iQóR5‰­ûÉŸSh`] 4-5$E ‘$ 4 5ŒC45™‘$ 4 5ŒC4 54—5ŒCL6 gx  `gdash `gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ %  ŒŒ )  ŒŒ 0  ŒŒ 1  ŒŒ 5  ŒŒ 6  ŒŒ A  ŒŒ C  ŒŒ M  ŒŒ T  8ŒŒ V  ŒŒ W  ŒŒ \  ŒŒ `  ŒŒ  ` CᯟS h8Ç]45$ 4O44 5,55ŒC 6¿gstr  7gfilenamef web/http.scmŒ  ŒŒ   ŒŒ   ŒŒ  ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ   ŒŒ +  ŒŒ -  ŒŒ .  ŒŒ 3 ! ŒŒ 7 ! ŒŒ  7 CÏïhPí]ˆ$CŽ$"$&$ 45"$$6CCCCågelt  Ngx  Lgy   Lgfilenamef web/http.scmŒ & ŒŒ  ' ŒŒ ' ŒŒ ( #ŒŒ  ( 1ŒŒ  ( ŒŒ  ) !ŒŒ $ ) ŒŒ * * !ŒŒ + * -ŒŒ 6 * %ŒŒ : ) ŒŒ @ + !ŒŒ F + -ŒŒ G + %ŒŒ  N Ch ‘]ˆ$Š$ Ž6CC‰gval  gfilenamef web/http.scmŒ " ŒŒ  # ŒŒ # ŒŒ $ ŒŒ $ ŒŒ  # ŒŒ  % ŒŒ  % ŒŒ   CšÑšhH¿]$4>"G"4->"GŽ$ Ž6C·gpair  Hgport  Hgfilenamef web/http.scmŒ 1 ŒŒ  2 ŒŒ 2 ŒŒ 3 ŒŒ  3 ŒŒ  3 ŒŒ # 4 ŒŒ 9 5 ŒŒ = 5 ŒŒ B 6 ŒŒ F 6 ŒŒ  H Cøh8£]4>"G4=>"GŽ6›gval  8gport  8gfilenamef web/http.scmŒ , ŒŒ  - ŒŒ  - ŒŒ  - ŒŒ  . ŒŒ 0 0 ŒŒ 6 7 ŒŒ 8 / ŒŒ  8 C>"G4 iT>"G4 iU>"G43iV>"G4üiW>"G4þiX>"G42iY®i¯i°i>"G4 iZ>"G4i[>"G42i\«ËûŠh0š]45$" 44 55$66’gstr  /gfilenamef web/http.scmŒ i ŒŒ  j ŒŒ j ŒŒ  k ŒŒ  k ŒŒ  k ŒŒ # j ŒŒ ) l ŒŒ / m ŒŒ  / C}ïh({] ¦$ §‚"$C6sgval  %gt  %gfilenamef web/http.scmŒ n ŒŒ  o ŒŒ  o ŒŒ % o ŒŒ  % Cš}«h0š]"6¦$§&6"ÿÿÜ"ÿÿØ’gval  .gport  .gfilenamef web/http.scmŒ p ŒŒ  s ŒŒ  q ŒŒ  q ŒŒ  q ŒŒ  q ŒŒ & r ŒŒ  . C>"G43i]>"G42i^Ü Ôh]‡$C6wgstr  gfilenamef web/http.scmŒ | ŒŒ  } ŒŒ  } ŒŒ } ŒŒ ~ ŒŒ   ŒŒ   C Öhv]&C6ngval  gfilenamef web/http.scmŒ € ŒŒ   ŒŒ  ŒŒ  ŒŒ   ŒŒ   C šÜ×h ‘]&66‰gval  gport  gfilenamef web/http.scmŒ ‚ ŒŒ  ƒ ŒŒ ƒ ŒŒ  „ ŒŒ  „ ŒŒ  … ŒŒ   C>"G4i_>"G`µ­ah y] 4;5$C 6qgc  gt gfilenamef web/http.scmŒ – *ŒŒ  — 0ŒŒ — ,ŒŒ  ˜ 0ŒŒ   Cb¯h@8]4545$ C45$4 5" 60gport  ?gv ?gextension-start  ! ?gfilenamef web/http.scmŒ  ŒŒ   ŒŒ  • ŒŒ ! • ŒŒ + ™ ŒŒ , š ŒŒ ? ™ ŒŒ  ? gnamegread-chunk-headerŒg documentationfQRead a chunk header from PORT and return the size in bytes of the upcoming chunk.ŒCcRfcgµhhØL]+"ÇM$" ‘$CM ‘$'4L5N ‘$NC"ÿÿ´4M54L–545$NCM˜N ‘$(4L>"G4L>"G"˜–"ÿÿ9 "ÿÿ.Dgbv  Øgidx  Øgto-read   Øgto-read   Ígnum-read   Ígt   gsize  2 Rgask-for  [ Ígread  m Ígleft  … Í gfilenamef web/http.scmŒ ¬ ŒŒ  ­ ŒŒ  ® ŒŒ  ® ŒŒ ® ŒŒ & ° ŒŒ + ® ŒŒ , ± ŒŒ 2 ± ŒŒ 8 ³ ŒŒ ; ´ ŒŒ @ ´ ŒŒ C ¶ ŒŒ R ¸ ŒŒ S º ŒŒ [ º ŒŒ ^ » ŒŒ i » 8ŒŒ m » ŒŒ m º ŒŒ p ½ ŒŒ z ½ ŒŒ } ¿ ŒŒ … Á ŒŒ … Á ŒŒ ‹  ŒŒ Ž à ŒŒ “ à ŒŒ ” Å ŒŒ ¦ Å %ŒŒ À Æ ŒŒ Å Ç ŒŒ Í Æ ŒŒ Ø È ŒŒ#  Ø gnamegread!ŒCijkhd]L$CL6\gfilenamef web/http.scmŒ ¤ ŒŒ  ¥ ŒŒ  ¦ ŒŒ   gnamegcloseŒChPO-/03#HHOQ KKO6Ggport  Ng keep-alive?  Ng remaining   Ng finished?   Ngread!  , Ngfilenamef web/http.scmŒ ž ŒŒ ? Ê !ŒŒ N Ê ŒŒ  N g keep-alive?S Œgnamegmake-chunked-input-portŒg documentationf@Returns a new port which translates HTTP chunked transfer encoded data from PORT into a non-encoded format. Returns eof when it has read the final chunk from PORT. This does not necessarily mean that there is no more data on PORT. When the returned port is closed it will also close PORT, unless the KEEP-ALIVE? is true.ŒCERflmh@µ]"0"(45$C445>"G"ÿÿØ"ÿÿÔ"ÿÿÌ­gf  :gq  :gfilenamef web/http.scmŒ Ô ŒŒ  Õ ŒŒ Õ ŒŒ  Õ ŒŒ  Ö ŒŒ  Ö ŒŒ & Ö ŒŒ 2 Õ ŒŒ  : gnameg q-for-eachŒClnšo´ph\]L6Tgelem  gfilenamef web/http.scmŒ ä ŒŒ ä #ŒŒ  ChhÙ]4M5$C4M544 5L>"G4L>"G4LLOM>"GL6Ñglen  hgfilenamef web/http.scmŒ Ý ŒŒ  à ŒŒ à ŒŒ  á ŒŒ  á ŒŒ  â ŒŒ  â ŒŒ + â ŒŒ 4 ã ŒŒ 8 ã ŒŒ ? ã ŒŒ H ä ŒŒ d æ ŒŒ h æ ŒŒ  h gnamegflushŒCqrshn]M6fgc  gfilenamef web/http.scmŒ Ø ŒŒ Ù ŒŒ  gnamegput-charŒCtshY]M6Qgc  gfilenamef web/http.scmŒ Û ŒŒ Û !ŒŒ  Chp]LO6hgs  gfilenamef web/http.scmŒ Ú ŒŒ  Û ŒŒ   gnameg put-stringŒCšuvkhH‘]4L>"G4L>"G4L>"GL$CL6‰gfilenamef web/http.scmŒ ç ŒŒ  è ŒŒ  é ŒŒ  é ŒŒ  é ŒŒ ' ê ŒŒ > ë ŒŒ F ì ŒŒ  F gnamegcloseŒCw hh¾-/03#HOQ45KOOO 6¶gport  bg keep-alive?  bgqueue   bg q-for-each  - bgflush  - bgfilenamef web/http.scmŒ Ì ŒŒ 7 × ŒŒ ^ í ŒŒ ` í >ŒŒ b í ŒŒ  b g keep-alive?S Œgnamegmake-chunked-output-portŒg documentationfŸReturns a new port which translates non-encoded data into a HTTP chunked transfer encoded data and writes this to PORT. Data written to this port is buffered until the port is flushed, at which point it is all sent as one chunk. Take care to close the port when done, as it will output the remaining data, and encode the final zero chunk. When the port is closed it will also close PORT, unless KEEP-ALIVE? is true.ŒCFR4xi5yRyhx]6pgport  gfilenamef web/http.scmŒ 𠌌  𠌌   gnameghttp-proxy-port?ŒCGR|yh]456‡gport  gflag  gfilenamef web/http.scmŒ ñ ŒŒ  ò ŒŒ   gnamegset-http-proxy-port?!ŒCHRC¯gm  ,grtd ì gfilenamef web/http.scmŒ   ŒŒ  K ŒŒ  O ŒŒ !ñ Y ŒŒ !ü Y ŒŒ "› [ ŒŒ $î ^ ŒŒ &= j ŒŒ (l q ŒŒ *Ê v ŒŒ . € ŒŒ 1È ‰ ŒŒ 4Q ’ ŒŒ 5« ¡ ŒŒ 5¬ © ŒŒ 5´ © &ŒŒ 5» © ŒŒ 5¿ © ŒŒ 9u « ŒŒ :¢ Á ŒŒ ;õ Æ ŒŒ >À Í ŒŒ @ø Õ ŒŒ D$ ß ŒŒ D× ï ŒŒ E™ ñ ŒŒ G^ ô ŒŒ I( ú ŒŒ I)  ŒŒ I1  ŒŒ I;  ŒŒ ID  ŒŒ IL  ŒŒ IV  ŒŒ Iå  ŒŒ J  ŒŒ K8  ŒŒ K9  ŒŒ KA  ŒŒ KC  ŒŒ KG  ŒŒ Le  ŒŒ M?  ŒŒ NÀ  ŒŒ PR  ŒŒ RO ! ŒŒ Ró * ŒŒ S» - ŒŒ Tf 0 ŒŒ U 3 ŒŒ Vg 6 ŒŒ Y8 < ŒŒ ] K ŒŒ ^› ` ŒŒ _ò i ŒŒ iš q ŒŒ jQ ž ŒŒ m ¡ ŒŒ n6 ª ŒŒ p~ ° ŒŒ qî ¾ ŒŒ sæ Å ŒŒ vŸ Ñ ŒŒ wŸ à ŒŒ x; ã ŒŒ y æ ŒŒ zk é ŒŒ 𠌌‚ÿ  ŒŒ…p  ŒŒ…q . ŒŒ…‚ . ŒŒ…ƒ / ŒŒ…— / ŒŒp 0 ŒŒ[ ] ŒŒ‘« k ŒŒ“8 q ŒŒ  – ŒŒ£4 Ç ŒŒ²· ß ŒŒ¸Ñ  ŒŒ½¡ $ ŒŒ¾– 3 ŒŒÁ 8 ŒŒÊh D ŒŒ˧ j ŒŒÌa p ŒŒÍk t ŒŒÐO y ŒŒÐó ‹ ŒŒÑ» Ž ŒŒÕ ˜ ŒŒÖI © ŒŒ×  ¯ ŒŒ߉ ½ ŒŒâ# ã ŒŒㆠí ŒŒä‘ ò ŒŒåN ÷ ŒŒæ  ŒŒæß  ŒŒæà  ŒŒæä  ŒŒìH  ŒŒíÆ  ŒŒíÇ ! ŒŒî‡ & ŒŒîŒ ! ŒŒó / ŒŒ÷’ < ŒŒú= P ŒŒÿ’ \ ŒŒ6 y ŒŒä ™ ŒŒ ­ ¨ ŒŒ ì º ŒŒ ˜ Á ŒŒ G Æ ŒŒ Ë ŒŒ? Õ ŒŒë Ú ŒŒO ß ŒŒÈ æ ŒŒx ï ŒŒB ô ŒŒ þ ŒŒë  ŒŒŸ  ŒŒR  ŒŒS : ŒŒ[ : ŒŒ" : ŒŒ" a ŒŒ" a ŒŒ#‹ a ŒŒ#” q ŒŒ#œ q ŒŒ#¡ q ŒŒ#ª w ŒŒ#² w ŒŒ#· w ŒŒ#À { ŒŒ#È { ŒŒ#Í { ŒŒ#Ö  ŒŒ#Þ  ŒŒ#ã  ŒŒ#ì ƒ ŒŒ#ô ƒ ŒŒ#ù ƒ ŒŒ$ Œ ŒŒ$ Œ ŒŒ$! Œ ŒŒ$*  ŒŒ$1  ŒŒ.¿  ŒŒ.È ä ŒŒ.Ð ä ŒŒ.Õ ä ŒŒ.Þ í ŒŒ.å í ŒŒ2K í ŒŒ2T  ŒŒ2\  ŒŒ2a  ŒŒ2j  ŒŒ2r  ŒŒ2w  ŒŒ2€  ŒŒ2ˆ  ŒŒ2  ŒŒ2–  ŒŒ2ž  ŒŒ2£  ŒŒ2¬  ŒŒ2³  ŒŒ2¸  ŒŒ2Á  ŒŒ2È  ŒŒ9h  ŒŒ9q H ŒŒ9x H ŒŒ?} H ŒŒ?† j ŒŒ?Ž j 'ŒŒ? j ŒŒ?” j ŒŒ?• l ŒŒ?œ l ŒŒ@\ l ŒŒ@e v ŒŒ@m v ŒŒ@r v ŒŒ@{ … ŒŒ@ƒ … ŒŒBÊ … ŒŒBÓ š ŒŒBÛ š ŒŒBà š ŒŒBé Ÿ ŒŒBñ Ÿ ŒŒBö Ÿ ŒŒBÿ ¤ ŒŒC ¤ ŒŒC ¤ ŒŒC « ŒŒC « ŒŒC" « ŒŒC+ ³ ŒŒC3 ³ ŒŒC8 ³ ŒŒCA ¹ ŒŒCH ¹ ŒŒCM ¹ ŒŒCV ½ ŒŒC] ½ ŒŒHG ½ ŒŒHP à ŒŒHX à !ŒŒH] à ŒŒHf ä ŒŒHn ä ŒŒHs ä ŒŒH| è ŒŒH„ è !ŒŒH‰ è ŒŒH’ ì ŒŒH™ ì ŒŒKO ì ŒŒKX û ŒŒK` û ŒŒKe û ŒŒKn ÿ ŒŒKv ÿ ŒŒK{ ÿ ŒŒK„  ŒŒKŒ  ŒŒK‘  ŒŒKš  ŒŒK¡  ŒŒRˆ  ŒŒR‘ ; ŒŒR™ ; ŒŒRž ; ŒŒR§ @ ŒŒR¯ @ ŒŒR´ @ ŒŒR½ D ŒŒRÄ D ŒŒRÉ D ŒŒRÒ P ŒŒRÚ P ŒŒRß P ŒŒRè U ŒŒRð U ŒŒRõ U ŒŒRþ Y ŒŒS Y ŒŒS Y ŒŒS" ` ŒŒS* ` ŒŒS/ ` ŒŒS8 d ŒŒS@ d ŒŒSE d ŒŒSN h ŒŒSU h ŒŒUç h ŒŒUð w ŒŒU÷ w ŒŒUü w ŒŒV { ŒŒV { ŒŒX6 { ŒŒX? ‰ ŒŒXG ‰ ŒŒXL ‰ ŒŒZœ  ŒŒa" ž ŒŒié Ì ŒŒiê ï ŒŒiõ ï ŒŒj‹ 𠌌kB ñ ŒŒ kD C6