From: cajus Date: Sun, 8 Aug 2010 18:25:07 +0000 (+0000) Subject: Updated encoding for external files. Closes #1018. X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=7d6f6b9a72cbdb9679ab68135ac49f5bbf149380;p=gosa.git Updated encoding for external files. Closes #1018. git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6@19373 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/gosa-core/contrib/artwork/GOsa-logo.eps b/gosa-core/contrib/artwork/GOsa-logo.eps index adfab2462..558df37e5 100644 --- a/gosa-core/contrib/artwork/GOsa-logo.eps +++ b/gosa-core/contrib/artwork/GOsa-logo.eps @@ -1,4 +1,7325 @@ -%!PS-Adobe-3.1 EPSF-3.0 %ADO_DSC_Encoding: MacOS Roman %%Title: GOsa-logo.eps %%Creator: Adobe Illustrator(R) 12 %%AI8_CreatorVersion: 12.0.1 %AI9_PrintingDataBegin %%For: stephan heller %%CreationDate: 09.02.2009 %%BoundingBox: 0 0 1191 347 %%HiResBoundingBox: 0 0 1190.5879 346.9991 %%CropBox: 0 0 1190.5879 346.9991 %%LanguageLevel: 2 %%DocumentData: Clean7Bit %%Pages: 1 %%DocumentNeededResources: %%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 %%+ procset Adobe_CoolType_Utility_T42 1.0 0 %%+ procset Adobe_CoolType_Utility_MAKEOCF 1.19 0 %%+ procset Adobe_CoolType_Core 2.23 0 %%+ procset Adobe_AGM_Core 2.0 0 %%+ procset Adobe_AGM_Utils 1.0 0 %%DocumentFonts: %%DocumentNeededFonts: %%DocumentNeededFeatures: %%DocumentSuppliedFeatures: %%DocumentProcessColors: Cyan Magenta Yellow Black %%DocumentCustomColors: %%CMYKCustomColor: %%RGBCustomColor: %ADO_BuildNumber: Adobe Illustrator(R) 12.0.1 x5205 R agm 4.3861 ct 5.530 %ADO_ContainsXMP: MainFirst %AI7_Thumbnail: 128 40 8 %%BeginData: 6528 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FDFCFFFDFCFFFD96FFA8A9A8A8A8FD1DFFA8A87EA87EA9A8AFA8FD %0FFFA87E5354535353A8A8FD3AFFAFA8535328FD04295A7EFD17FF7E5329 %2F2929282929292853FD0DFF7E2F29282928292829285353AFFD37FF7E53 %01292829282928290129297EAFFD11FFA853282928292829282928292829 %2FFD0BFF7E53062928292829282928292829287EFD35FF53292853292928 %292929285329292854A9FD0FFF7E2F2853292F2953292F2953292F287EFD %0AFF7E29292F2953292F2953292F29532929287EFD33FF29292829282929 %53537E5353062928290653A8FD0DFF532928292829282928292829282928 %2953FD09FF532928292829282928292829282928292829017EFD32FF5328 %2F28537EFD06FFA853FD0429FD0DFF7E292853292928532929282F292928 %2F287EFD08FF592929292853292928292829282F29292853292928AFFD32 %FF53017EA8FD09FF592928A9FD0CFF7E2928292829282928290629282928 %2906297EFD07FF7E292829282928292853537E7D53282928292829282953 %FD22FFA87EA9FD0DFFA8A8FFFFFFA953532F547EFFFFFF7EA9FD0CFFA853 %2953295329532829537E7EA97EA87EA97EFD08FF532853292F29292FA9FD %05FFA929292953292F2953FD20FFA85328292954A9FD09FFA92FFFFFFFA8 %53062928292829287EFFFFFF7E7EFD0AFF5306292829282928537EFD10FF %A828292829282928FD08FFA828292829282906A8FD1EFFA8290629532901 %53FD08FFA92829FFFFA95328292853292928292884FFFF53297EFD09FF29 %292853292F2853A9FD11FF532929292853287EFD09FF5329292853292953 %FD1EFFA828297EFF532953FD07FFA9282929FFFF53012928292829282928 %2928A9FF7E01297EFD07FF53292829282928297EFFFFFFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA82928292829282FA8FD09FF5329282928292853FD1EFF %A8A97EFFA82F0153FD07FF29292854FFA9287E29292953295328537E2953 %FF7E292853A8FD06FF53292F2953292953FD04FF7E2F532F5353532F5353 %53297EFF842853292F292953FD0AFFA8282F2953292953FD07FFA9FD19FF %A953282984FD06FF2929282928A82F287EFF2829282928297EFF28297E54 %28292829A8FD04FFA928292829282928A8FD04FF28292829282928292829 %282953FF53292829282906A8FD0AFF7E29282928292853FD04FF7E7E5353 %295353A9FD06FFA87E5353295353A9FD06FF7E2906297DFD06FFFD042953 %A97EA9A8FFFFAF292928537EFFFFA9A8A8A87E29292853A8FFFFFF7E2928 %5329292853FD04FFA92F28532929285329292853287EFF53292928532929 %A8FD0AFFA828532929282953FFFFFF532928292829282929A8FD04FF7E53 %282928292929287EFD04FF7E292853A8FD06FF29292829017EFD07FF7E28 %2953FD07FF7E2928290153FFFFFF7E06292829282953FD04FFA928292829 %282928292829282953FF28292829282928FD0BFF7E29282928290654FFFF %5329282929532929282928A9FFFF7E290629282F2829282928AFFFFF7E29 %28297EFFA8FD05FFA9FD04297EFFA8FD05FF53292953A8FD06FFA8292F28 %2FA8FFFFFF7E292953292F287EFD04FFA8292953292F2953292F2953287E %FF53292F29532953FD0BFF7E2853292F29297EFFA82F29297EFFFFFF5929 %29297EFFFF53282929A9FFFF532929297EFFA953292929532953A9FD05FF %A9282928292FA85329A8FF29292829282FA8FF292F7E53282928297EFD04 %FF7E06292829282953FD04FF840129012928292829282928297EFF282928 %29282929FD0BFF53292829282906A8FF7E0629287EFD04FF7EA8A8FFFFFF %7EA87DA8FFFFFFA928290684FFA8282F2829282953FD07FFA929292853FF %A8017E53292853292F28537E2929FF7E2928297EFD05FF7E292929285329 %53A9FFFFFF7E54537E537E2F292853292928A9FF53285329292853A9FD09 %FFA853292928532929A8FF8429282F297E7EFD0FFF532929297EFFFFFFA8 %FFA9FFA8FD09FFA8282929FFFF530129282928292829282906A8FF7E0629 %53FD06FFA8062928292829287EFD09FF7E282928292829A8FF2929282928 %2901A8FD09FF7E01292829282953FFFFFF2929282906292853A8FD05FFA8 %7E535329532829282928A8FD12FFA82853FFFFA82929532953292F295328 %7EFFFF7E297EFD07FFA853292F2953292929FD09FF2929295329292FFFFF %7E2853292F292953FD09FF2953292F295328A8FFFFFFA92929292F292F28 %297EFFFFFFA85328290629282F29532953FD14FF7E28FFFFFF7E29282928 %2928290154FFFFFF7E53FD09FF292928292829282929FD07FF5329282928 %29287EFFFF7E292829282928297EFD07FF2929282928292853FD06FF7D53 %2829282928297EFFA92F062928537EA9A82F282953FD15FFA9A87EFFFFA8 %7E29292853537EFFFF7EA8A8FD0AFF7E2853292928532929297EA8FFA8A8 %5329285329292829A8FFFFFF29292853292928297EFFA9FFA9A8FD042928 %5329297EFD08FFA959532853287EFFA9282928A9FD04FF29292884FD16FF %530153A8FFFFFFA8A8A8FFFFFF7E2928A9FD0AFFA8292829282928292829 %01292829062928292829282929FD04FF7E0629282928292829282F282F28 %2928292829282953FFFFFF7E7E53A8FD04FF7E29282953FF7D292853FD04 %FF7D2928297EFD15FF53285329537EFD06FFA953FD0429FD0BFF7E292953 %2953292F2953292F2953292F2953292928A9FD04FFAF532853292F295329 %2F282F292F2953292F292953FFFFFFA829282929FD04FF842853287EFFA8 %282929FFFFFFA853292929FD16FF2929282928292853537E535328292829 %2829A8FD0BFF532928292829282928292829282928292829067EFD06FF7E %292829282928292829282928292829282929FD05FF53292829297E595428 %292829A8FF7E292829297E59290629282FA9FD16FF532928532929282928 %29282F29292853A8FD0DFF7E292829285329292853292928532929287EFD %08FF7E29282F29292853292928532929282953FD07FF5329282928292829 %282F84FFFFFFFD042901292953282929FD18FF7D29012928292829282928 %29287EA8FD0FFF8453282906292829282928290629287EFD0AFFA8530129 %2829282928292829062F7DFD09FF7D5328292829287EA8FD04FFA9292928 %2953A97E292853A8FD18FFA87E532F28292929285359A9FD13FFA9595429 %29282F292929547EFD0EFFA95353292F29292953537EA9FD0DFFA8A9A8FD %09FFA8A9A8FFFFFFAFFD1EFFA8A87EA87EA9A8FD19FFA8A87EA9A8FD13FF %A9A97EA9A8A9A8FDFCFFFDFCFFFDFCFFFD3EFFFF %%EndData %%EndComments %%BeginDefaults %%ViewingOrientation: 1 0 0 1 %%EndDefaults %%BeginProlog %%BeginResource: procset Adobe_AGM_Utils 1.0 0 %%Version: 1.0 0 %%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc. All Rights Reserved. systemdict /setpacking known { currentpacking true setpacking } if userdict /Adobe_AGM_Utils 70 dict dup begin put /bdf { bind def } bind def /nd{ null def }bdf /xdf { exch def }bdf /ldf { load def }bdf /ddf { put }bdf /xddf { 3 -1 roll put }bdf /xpt { exch put }bdf /ndf { exch dup where{ pop pop pop }{ xdf }ifelse }def /cdndf { exch dup currentdict exch known{ pop pop }{ exch def }ifelse }def /ps_level /languagelevel where{ pop systemdict /languagelevel get exec }{ 1 }ifelse def /level2 ps_level 2 ge def /level3 ps_level 3 ge def /ps_version {version cvr} stopped { -1 }if def /set_gvm { currentglobal exch setglobal }bdf /reset_gvm { setglobal }bdf /makereadonlyarray { /packedarray where{ pop packedarray }{ array astore readonly }ifelse }bdf /map_reserved_ink_name { dup type /stringtype eq{ dup /Red eq{ pop (_Red_) }{ dup /Green eq{ pop (_Green_) }{ dup /Blue eq{ pop (_Blue_) }{ dup () cvn eq{ pop (Process) }if }ifelse }ifelse }ifelse }if }bdf /AGMUTIL_GSTATE 22 dict def /get_gstate { AGMUTIL_GSTATE begin /AGMUTIL_GSTATE_clr_spc currentcolorspace def /AGMUTIL_GSTATE_clr_indx 0 def /AGMUTIL_GSTATE_clr_comps 12 array def mark currentcolor counttomark {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop /AGMUTIL_GSTATE_fnt rootfont def /AGMUTIL_GSTATE_lw currentlinewidth def /AGMUTIL_GSTATE_lc currentlinecap def /AGMUTIL_GSTATE_lj currentlinejoin def /AGMUTIL_GSTATE_ml currentmiterlimit def currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf /AGMUTIL_GSTATE_sa currentstrokeadjust def /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def /AGMUTIL_GSTATE_op currentoverprint def /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf /AGMUTIL_GSTATE_ht currenthalftone def /AGMUTIL_GSTATE_flt currentflat def end }def /set_gstate { AGMUTIL_GSTATE begin AGMUTIL_GSTATE_clr_spc setcolorspace AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor AGMUTIL_GSTATE_fnt setfont AGMUTIL_GSTATE_lw setlinewidth AGMUTIL_GSTATE_lc setlinecap AGMUTIL_GSTATE_lj setlinejoin AGMUTIL_GSTATE_ml setmiterlimit AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash AGMUTIL_GSTATE_sa setstrokeadjust AGMUTIL_GSTATE_clr_rnd setcolorrendering AGMUTIL_GSTATE_op setoverprint AGMUTIL_GSTATE_bg cvx setblackgeneration AGMUTIL_GSTATE_ucr cvx setundercolorremoval AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or { currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne { mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark } if }{ AGMUTIL_GSTATE_ht sethalftone } ifelse AGMUTIL_GSTATE_flt setflat end }def /get_gstate_and_matrix { AGMUTIL_GSTATE begin /AGMUTIL_GSTATE_ctm matrix currentmatrix def end get_gstate }def /set_gstate_and_matrix { set_gstate AGMUTIL_GSTATE begin AGMUTIL_GSTATE_ctm setmatrix end }def /AGMUTIL_str256 256 string def /AGMUTIL_src256 256 string def /AGMUTIL_dst64 64 string def /AGMUTIL_srcLen nd /AGMUTIL_ndx nd /thold_halftone { level3 {sethalftone currenthalftone} { dup /HalftoneType get 3 eq { sethalftone currenthalftone } { begin Width Height mul { Thresholds read {pop} if } repeat end currenthalftone } ifelse }ifelse } def /rdcmntline { currentfile AGMUTIL_str256 readline pop (%) anchorsearch {pop} if } bdf /filter_cmyk { dup type /filetype ne{ exch () /SubFileDecode filter } { exch pop } ifelse [ exch { AGMUTIL_src256 readstring pop dup length /AGMUTIL_srcLen exch def /AGMUTIL_ndx 0 def AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ 1 index exch get AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put /AGMUTIL_ndx AGMUTIL_ndx 1 add def }for pop AGMUTIL_dst64 0 AGMUTIL_ndx getinterval } bind /exec cvx ] cvx } bdf /filter_indexed_devn { cvi Names length mul names_index add Lookup exch get } bdf /filter_devn { 4 dict begin /srcStr xdf /dstStr xdf dup type /filetype ne{ 0 () /SubFileDecode filter }if [ exch [ /devicen_colorspace_dict /AGMCORE_gget cvx /begin cvx currentdict /srcStr get /readstring cvx /pop cvx /dup cvx /length cvx 0 /gt cvx [ Adobe_AGM_Utils /AGMUTIL_ndx 0 /ddf cvx names_index Names length currentdict /srcStr get length 1 sub { 1 /index cvx /exch cvx /get cvx currentdict /dstStr get /AGMUTIL_ndx /load cvx 3 -1 /roll cvx /put cvx Adobe_AGM_Utils /AGMUTIL_ndx /AGMUTIL_ndx /load cvx 1 /add cvx /ddf cvx } for currentdict /dstStr get 0 /AGMUTIL_ndx /load cvx /getinterval cvx ] cvx /if cvx /end cvx ] cvx bind /exec cvx ] cvx end } bdf /AGMUTIL_imagefile nd /read_image_file { AGMUTIL_imagefile 0 setfileposition 10 dict begin /imageDict xdf /imbufLen Width BitsPerComponent mul 7 add 8 idiv def /imbufIdx 0 def /origDataSource imageDict /DataSource get def /origMultipleDataSources imageDict /MultipleDataSources get def /origDecode imageDict /Decode get def /dstDataStr imageDict /Width get colorSpaceElemCnt mul string def imageDict /MultipleDataSources known {MultipleDataSources}{false} ifelse { /imbufCnt imageDict /DataSource get length def /imbufs imbufCnt array def 0 1 imbufCnt 1 sub { /imbufIdx xdf imbufs imbufIdx imbufLen string put imageDict /DataSource get imbufIdx [ AGMUTIL_imagefile imbufs imbufIdx get /readstring cvx /pop cvx ] cvx put } for DeviceN_PS2 { imageDict begin /DataSource [ DataSource /devn_sep_datasource cvx ] cvx def /MultipleDataSources false def /Decode [0 1] def end } if }{ /imbuf imbufLen string def Indexed_DeviceN level3 not and DeviceN_NoneName or { /srcDataStrs [ imageDict begin currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse { Width Decode length 2 div mul cvi string } repeat end ] def imageDict begin /DataSource [AGMUTIL_imagefile Decode BitsPerComponent false 1 /filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource /exec cvx] cvx def /Decode [0 1] def end }{ imageDict /DataSource [1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx /pop cvx names_index /get cvx /put cvx] cvx put imageDict /Decode [0 1] put } ifelse } ifelse imageDict exch load exec imageDict /DataSource origDataSource put imageDict /MultipleDataSources origMultipleDataSources put imageDict /Decode origDecode put end } bdf /write_image_file { begin { (AGMUTIL_imagefile) (w+) file } stopped{ false }{ Adobe_AGM_Utils/AGMUTIL_imagefile xddf 2 dict begin /imbufLen Width BitsPerComponent mul 7 add 8 idiv def MultipleDataSources {DataSource 0 get}{DataSource}ifelse type /filetype eq { /imbuf imbufLen string def }if 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ pop MultipleDataSources { 0 1 DataSource length 1 sub { DataSource type dup /arraytype eq { pop DataSource exch get exec }{ /filetype eq { DataSource exch get imbuf readstring pop }{ DataSource exch get } ifelse } ifelse AGMUTIL_imagefile exch writestring } for }{ DataSource type dup /arraytype eq { pop DataSource exec }{ /filetype eq { DataSource imbuf readstring pop }{ DataSource } ifelse } ifelse AGMUTIL_imagefile exch writestring } ifelse }for end true }ifelse end } bdf /close_image_file { AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile }def statusdict /product known userdict /AGMP_current_show known not and{ /pstr statusdict /product get def pstr (HP LaserJet 2200) eq pstr (HP LaserJet 4000 Series) eq or pstr (HP LaserJet 4050 Series ) eq or pstr (HP LaserJet 8000 Series) eq or pstr (HP LaserJet 8100 Series) eq or pstr (HP LaserJet 8150 Series) eq or pstr (HP LaserJet 5000 Series) eq or pstr (HP LaserJet 5100 Series) eq or pstr (HP Color LaserJet 4500) eq or pstr (HP Color LaserJet 4600) eq or pstr (HP LaserJet 5Si) eq or pstr (HP LaserJet 1200 Series) eq or pstr (HP LaserJet 1300 Series) eq or pstr (HP LaserJet 4100 Series) eq or { userdict /AGMP_current_show /show load put userdict /show { currentcolorspace 0 get /Pattern eq {false charpath f} {AGMP_current_show} ifelse } put }if currentdict /pstr undef } if /consumeimagedata { begin currentdict /MultipleDataSources known not {/MultipleDataSources false def} if MultipleDataSources { DataSource 0 get type dup /filetype eq { 1 dict begin /flushbuffer Width cvi string def 1 1 Height cvi { pop 0 1 DataSource length 1 sub { DataSource exch get flushbuffer readstring pop pop }for }for end }if dup /arraytype eq exch /packedarraytype eq or DataSource 0 get xcheck and { Width Height mul cvi { 0 1 DataSource length 1 sub {dup DataSource exch get exec length exch 0 ne {pop}if}for dup 0 eq {pop exit}if sub dup 0 le {exit}if }loop pop }if } { /DataSource load type dup /filetype eq { 1 dict begin /flushbuffer Width Decode length 2 idiv mul cvi string def 1 1 Height { pop DataSource flushbuffer readstring pop pop} for end }if dup /arraytype eq exch /packedarraytype eq or /DataSource load xcheck and { Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul { DataSource length dup 0 eq {pop exit}if sub dup 0 le {exit}if }loop pop }if }ifelse end }bdf /addprocs { 2{/exec load}repeat 3 1 roll [ 5 1 roll ] bind cvx }def /modify_halftone_xfer { currenthalftone dup length dict copy begin currentdict 2 index known{ 1 index load dup length dict copy begin currentdict/TransferFunction known{ /TransferFunction load }{ currenttransfer }ifelse addprocs /TransferFunction xdf currentdict end def currentdict end sethalftone }{ currentdict/TransferFunction known{ /TransferFunction load }{ currenttransfer }ifelse addprocs /TransferFunction xdf currentdict end sethalftone pop }ifelse }def /clonearray { dup xcheck exch dup length array exch Adobe_AGM_Core/AGMCORE_tmp -1 ddf { Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf dup type /dicttype eq { Adobe_AGM_Core/AGMCORE_tmp get exch clonedict Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf } if dup type /arraytype eq { Adobe_AGM_Core/AGMCORE_tmp get exch clonearray Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf } if exch dup Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put }forall exch {cvx} if }bdf /clonedict { dup length dict begin { dup type /dicttype eq { clonedict } if dup type /arraytype eq { clonearray } if def }forall currentdict end }bdf /DeviceN_PS2 { /currentcolorspace AGMCORE_gget 0 get /DeviceN eq level3 not and } bdf /Indexed_DeviceN { /indexed_colorspace_dict AGMCORE_gget dup null ne { dup /CSDBase known { /CSDBase get /CSD get_res /Names known }{ pop false }ifelse }{ pop false } ifelse } bdf /DeviceN_NoneName { /Names where { pop false Names { (None) eq or } forall }{ false }ifelse } bdf /DeviceN_PS2_inRip_seps { /AGMCORE_in_rip_sep where { pop dup type dup /arraytype eq exch /packedarraytype eq or { dup 0 get /DeviceN eq level3 not and AGMCORE_in_rip_sep and { /currentcolorspace exch AGMCORE_gput false } { true }ifelse } { true } ifelse } { true } ifelse } bdf /base_colorspace_type { dup type /arraytype eq {0 get} if } bdf /currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse { /pdfmark_5 {cleartomark} bind def }{ /pdfmark_5 {pdfmark} bind def }ifelse /ReadBypdfmark_5 { 2 dict begin /makerString exch def string /tmpString exch def { currentfile tmpString readline pop makerString anchorsearch { pop pop cleartomark exit }{ 3 copy /PUT pdfmark_5 pop 2 copy (\n) /PUT pdfmark_5 } ifelse }loop end } bdf /doc_setup{ Adobe_AGM_Utils begin }bdf /doc_trailer{ currentdict Adobe_AGM_Utils eq{ end }if }bdf systemdict /setpacking known { setpacking } if %%EndResource %%BeginResource: procset Adobe_AGM_Core 2.0 0 %%Version: 2.0 0 %%Copyright: Copyright (C) 1997-2005 Adobe Systems, Inc. All Rights Reserved. %% Note: This procset assumes Adobe_AGM_Utils is opened on the stack below it, for %% definitions of some fundamental procedures. systemdict /setpacking known { currentpacking true setpacking } if userdict /Adobe_AGM_Core 201 dict dup begin put /Adobe_AGM_Core_Id /Adobe_AGM_Core_2.0_0 def /AGMCORE_str256 256 string def /AGMCORE_save nd /AGMCORE_graphicsave nd /AGMCORE_c 0 def /AGMCORE_m 0 def /AGMCORE_y 0 def /AGMCORE_k 0 def /AGMCORE_cmykbuf 4 array def /AGMCORE_screen [currentscreen] cvx def /AGMCORE_tmp 0 def /AGMCORE_&setgray nd /AGMCORE_&setcolor nd /AGMCORE_&setcolorspace nd /AGMCORE_&setcmykcolor nd /AGMCORE_cyan_plate nd /AGMCORE_magenta_plate nd /AGMCORE_yellow_plate nd /AGMCORE_black_plate nd /AGMCORE_plate_ndx nd /AGMCORE_get_ink_data nd /AGMCORE_is_cmyk_sep nd /AGMCORE_host_sep nd /AGMCORE_avoid_L2_sep_space nd /AGMCORE_distilling nd /AGMCORE_composite_job nd /AGMCORE_producing_seps nd /AGMCORE_ps_level -1 def /AGMCORE_ps_version -1 def /AGMCORE_environ_ok nd /AGMCORE_CSD_cache 0 dict def /AGMCORE_currentoverprint false def /AGMCORE_deltaX nd /AGMCORE_deltaY nd /AGMCORE_name nd /AGMCORE_sep_special nd /AGMCORE_err_strings 4 dict def /AGMCORE_cur_err nd /AGMCORE_current_spot_alias false def /AGMCORE_inverting false def /AGMCORE_feature_dictCount nd /AGMCORE_feature_opCount nd /AGMCORE_feature_ctm nd /AGMCORE_ConvertToProcess false def /AGMCORE_Default_CTM matrix def /AGMCORE_Default_PageSize nd /AGMCORE_currentbg nd /AGMCORE_currentucr nd /AGMCORE_in_pattern false def /AGMCORE_currentpagedevice nd /knockout_unitsq nd currentglobal true setglobal [/CSA /Gradient /Procedure] { /Generic /Category findresource dup length dict copy /Category defineresource pop } forall setglobal /AGMCORE_key_known { where{ /Adobe_AGM_Core_Id known }{ false }ifelse }ndf /flushinput { save 2 dict begin /CompareBuffer 3 -1 roll def /readbuffer 256 string def mark { currentfile readbuffer {readline} stopped {cleartomark mark} { not {pop exit} if CompareBuffer eq {exit} if }ifelse }loop cleartomark end restore }bdf /getspotfunction { AGMCORE_screen exch pop exch pop dup type /dicttype eq{ dup /HalftoneType get 1 eq{ /SpotFunction get }{ dup /HalftoneType get 2 eq{ /GraySpotFunction get }{ pop { abs exch abs 2 copy add 1 gt{ 1 sub dup mul exch 1 sub dup mul add 1 sub }{ dup mul exch dup mul add 1 exch sub }ifelse }bind }ifelse }ifelse }if } def /clp_npth { clip newpath } def /eoclp_npth { eoclip newpath } def /npth_clp { newpath clip } def /graphic_setup { /AGMCORE_graphicsave save def concat 0 setgray 0 setlinecap 0 setlinejoin 1 setlinewidth [] 0 setdash 10 setmiterlimit newpath false setoverprint false setstrokeadjust //Adobe_AGM_Core/spot_alias get exec /Adobe_AGM_Image where { pop Adobe_AGM_Image/spot_alias 2 copy known{ get exec }{ pop pop }ifelse } if 100 dict begin /dictstackcount countdictstack def /showpage {} def mark } def /graphic_cleanup { cleartomark dictstackcount 1 countdictstack 1 sub {end}for end AGMCORE_graphicsave restore } def /compose_error_msg { grestoreall initgraphics /Helvetica findfont 10 scalefont setfont /AGMCORE_deltaY 100 def /AGMCORE_deltaX 310 def clippath pathbbox newpath pop pop 36 add exch 36 add exch moveto 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath 0 AGMCORE_&setgray gsave 1 AGMCORE_&setgray fill grestore 1 setlinewidth gsave stroke grestore currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto /AGMCORE_deltaY 12 def /AGMCORE_tmp 0 def AGMCORE_err_strings exch get { dup 32 eq { pop AGMCORE_str256 0 AGMCORE_tmp getinterval stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt { currentpoint AGMCORE_deltaY sub exch pop clippath pathbbox pop pop pop 44 add exch moveto } if AGMCORE_str256 0 AGMCORE_tmp getinterval show ( ) show 0 1 AGMCORE_str256 length 1 sub { AGMCORE_str256 exch 0 put }for /AGMCORE_tmp 0 def } { AGMCORE_str256 exch AGMCORE_tmp xpt /AGMCORE_tmp AGMCORE_tmp 1 add def } ifelse } forall } bdf /doc_setup{ Adobe_AGM_Core begin /AGMCORE_ps_version xdf /AGMCORE_ps_level xdf errordict /AGM_handleerror known not{ errordict /AGM_handleerror errordict /handleerror get put errordict /handleerror { Adobe_AGM_Core begin $error /newerror get AGMCORE_cur_err null ne and{ $error /newerror false put AGMCORE_cur_err compose_error_msg }if $error /newerror true put end errordict /AGM_handleerror get exec } bind put }if /AGMCORE_environ_ok ps_level AGMCORE_ps_level ge ps_version AGMCORE_ps_version ge and AGMCORE_ps_level -1 eq or def AGMCORE_environ_ok not {/AGMCORE_cur_err /AGMCORE_bad_environ def} if /AGMCORE_&setgray systemdict/setgray get def level2{ /AGMCORE_&setcolor systemdict/setcolor get def /AGMCORE_&setcolorspace systemdict/setcolorspace get def }if /AGMCORE_currentbg currentblackgeneration def /AGMCORE_currentucr currentundercolorremoval def /AGMCORE_distilling /product where{ pop systemdict/setdistillerparams known product (Adobe PostScript Parser) ne and }{ false }ifelse def /AGMCORE_GSTATE AGMCORE_key_known not{ /AGMCORE_GSTATE 21 dict def /AGMCORE_tmpmatrix matrix def /AGMCORE_gstack 32 array def /AGMCORE_gstackptr 0 def /AGMCORE_gstacksaveptr 0 def /AGMCORE_gstackframekeys 10 def /AGMCORE_&gsave /gsave ldf /AGMCORE_&grestore /grestore ldf /AGMCORE_&grestoreall /grestoreall ldf /AGMCORE_&save /save ldf /AGMCORE_&setoverprint /setoverprint ldf /AGMCORE_gdictcopy { begin { def } forall end }def /AGMCORE_gput { AGMCORE_gstack AGMCORE_gstackptr get 3 1 roll put }def /AGMCORE_gget { AGMCORE_gstack AGMCORE_gstackptr get exch get }def /gsave { AGMCORE_&gsave AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gstackptr 1 add dup 32 ge {limitcheck} if /AGMCORE_gstackptr exch store AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gdictcopy }def /grestore { AGMCORE_&grestore AGMCORE_gstackptr 1 sub dup AGMCORE_gstacksaveptr lt {1 add} if dup AGMCORE_gstack exch get dup /AGMCORE_currentoverprint known {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse /AGMCORE_gstackptr exch store }def /grestoreall { AGMCORE_&grestoreall /AGMCORE_gstackptr AGMCORE_gstacksaveptr store }def /save { AGMCORE_&save AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gstackptr 1 add dup 32 ge {limitcheck} if /AGMCORE_gstackptr exch store /AGMCORE_gstacksaveptr AGMCORE_gstackptr store AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gdictcopy }def /setoverprint{ dup /AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint }def 0 1 AGMCORE_gstack length 1 sub { AGMCORE_gstack exch AGMCORE_gstackframekeys dict put } for }if level3 /AGMCORE_&sysshfill AGMCORE_key_known not and { /AGMCORE_&sysshfill systemdict/shfill get def /AGMCORE_&sysmakepattern systemdict/makepattern get def /AGMCORE_&usrmakepattern /makepattern load def }if /currentcmykcolor [0 0 0 0] AGMCORE_gput /currentstrokeadjust false AGMCORE_gput /currentcolorspace [/DeviceGray] AGMCORE_gput /sep_tint 0 AGMCORE_gput /devicen_tints [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] AGMCORE_gput /sep_colorspace_dict null AGMCORE_gput /devicen_colorspace_dict null AGMCORE_gput /indexed_colorspace_dict null AGMCORE_gput /currentcolor_intent () AGMCORE_gput /customcolor_tint 1 AGMCORE_gput << /MaxPatternItem currentsystemparams /MaxPatternCache get >> setuserparams end }def /page_setup { /setcmykcolor where{ pop Adobe_AGM_Core/AGMCORE_&setcmykcolor /setcmykcolor load put }if Adobe_AGM_Core begin /setcmykcolor { 4 copy AGMCORE_cmykbuf astore /currentcmykcolor exch AGMCORE_gput 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor pop }ndf /currentcmykcolor { /currentcmykcolor AGMCORE_gget aload pop }ndf /setoverprint { pop }ndf /currentoverprint { false }ndf /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def /AGMCORE_plate_ndx AGMCORE_cyan_plate{ 0 }{ AGMCORE_magenta_plate{ 1 }{ AGMCORE_yellow_plate{ 2 }{ AGMCORE_black_plate{ 3 }{ 4 }ifelse }ifelse }ifelse }ifelse def /AGMCORE_have_reported_unsupported_color_space false def /AGMCORE_report_unsupported_color_space { AGMCORE_have_reported_unsupported_color_space false eq { (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.) == Adobe_AGM_Core /AGMCORE_have_reported_unsupported_color_space true ddf } if }def /AGMCORE_composite_job AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def /AGMCORE_in_rip_sep /AGMCORE_in_rip_sep where{ pop AGMCORE_in_rip_sep }{ AGMCORE_distilling { false }{ userdict/Adobe_AGM_OnHost_Seps known{ false }{ level2{ currentpagedevice/Separations 2 copy known{ get }{ pop pop false }ifelse }{ false }ifelse }ifelse }ifelse }ifelse def /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def /AGM_preserve_spots /AGM_preserve_spots where{ pop AGM_preserve_spots }{ AGMCORE_distilling AGMCORE_producing_seps or }ifelse def /AGM_is_distiller_preserving_spotimages { currentdistillerparams/PreserveOverprintSettings known { currentdistillerparams/PreserveOverprintSettings get { currentdistillerparams/ColorConversionStrategy known { currentdistillerparams/ColorConversionStrategy get /sRGB ne }{ true }ifelse }{ false }ifelse }{ false }ifelse }def /convert_spot_to_process where {pop}{ /convert_spot_to_process { //Adobe_AGM_Core begin dup map_alias { /Name get exch pop } if dup dup (None) eq exch (All) eq or { pop false }{ AGMCORE_host_sep { gsave 1 0 0 0 setcmykcolor currentgray 1 exch sub 0 1 0 0 setcmykcolor currentgray 1 exch sub 0 0 1 0 setcmykcolor currentgray 1 exch sub 0 0 0 1 setcmykcolor currentgray 1 exch sub add add add 0 eq { pop false }{ false setoverprint current_spot_alias false set_spot_alias 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor set_spot_alias currentgray 1 ne }ifelse grestore }{ AGMCORE_distilling { pop AGM_is_distiller_preserving_spotimages not }{ //Adobe_AGM_Core/AGMCORE_name xddf false //Adobe_AGM_Core/AGMCORE_in_pattern known {//Adobe_AGM_Core/AGMCORE_in_pattern get}{false} ifelse not AGMCORE_currentpagedevice/OverrideSeparations known and { AGMCORE_currentpagedevice/OverrideSeparations get { /HqnSpots /ProcSet resourcestatus { pop pop pop true }if }if }if { AGMCORE_name /HqnSpots /ProcSet findresource /TestSpot get exec not }{ gsave [/Separation AGMCORE_name /DeviceGray {}]AGMCORE_&setcolorspace false AGMCORE_currentpagedevice/SeparationColorNames 2 copy known { get { AGMCORE_name eq or}forall not }{ pop pop pop true }ifelse grestore }ifelse }ifelse }ifelse }ifelse end }def }ifelse /convert_to_process where {pop}{ /convert_to_process { dup length 0 eq { pop false }{ AGMCORE_host_sep { dup true exch { dup (Cyan) eq exch dup (Magenta) eq 3 -1 roll or exch dup (Yellow) eq 3 -1 roll or exch dup (Black) eq 3 -1 roll or {pop} {convert_spot_to_process and}ifelse } forall { true exch { dup (Cyan) eq exch dup (Magenta) eq 3 -1 roll or exch dup (Yellow) eq 3 -1 roll or exch (Black) eq or and }forall not }{pop false}ifelse }{ false exch { dup (Cyan) eq exch dup (Magenta) eq 3 -1 roll or exch dup (Yellow) eq 3 -1 roll or exch dup (Black) eq 3 -1 roll or {pop} {convert_spot_to_process or}ifelse } forall }ifelse }ifelse }def }ifelse /AGMCORE_avoid_L2_sep_space version cvr 2012 lt level2 and AGMCORE_producing_seps not and def /AGMCORE_is_cmyk_sep AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or def /AGM_avoid_0_cmyk where{ pop AGM_avoid_0_cmyk }{ AGM_preserve_spots userdict/Adobe_AGM_OnHost_Seps known userdict/Adobe_AGM_InRip_Seps known or not and }ifelse { /setcmykcolor[ { 4 copy add add add 0 eq currentoverprint and{ pop 0.0005 }if }/exec cvx /AGMCORE_&setcmykcolor load dup type/operatortype ne{ /exec cvx }if ]cvx def }if /AGMCORE_IsSeparationAProcessColor { dup (Cyan) eq exch dup (Magenta) eq exch dup (Yellow) eq exch (Black) eq or or or }def AGMCORE_host_sep{ /setcolortransfer { AGMCORE_cyan_plate{ pop pop pop }{ AGMCORE_magenta_plate{ 4 3 roll pop pop pop }{ AGMCORE_yellow_plate{ 4 2 roll pop pop pop }{ 4 1 roll pop pop pop }ifelse }ifelse }ifelse settransfer } def /AGMCORE_get_ink_data AGMCORE_cyan_plate{ {pop pop pop} }{ AGMCORE_magenta_plate{ {4 3 roll pop pop pop} }{ AGMCORE_yellow_plate{ {4 2 roll pop pop pop} }{ {4 1 roll pop pop pop} }ifelse }ifelse }ifelse def /AGMCORE_RemoveProcessColorNames { 1 dict begin /filtername { dup /Cyan eq 1 index (Cyan) eq or {pop (_cyan_)}if dup /Magenta eq 1 index (Magenta) eq or {pop (_magenta_)}if dup /Yellow eq 1 index (Yellow) eq or {pop (_yellow_)}if dup /Black eq 1 index (Black) eq or {pop (_black_)}if }def dup type /arraytype eq {[exch {filtername}forall]} {filtername}ifelse end }def level3 { /AGMCORE_IsCurrentColor { dup AGMCORE_IsSeparationAProcessColor { AGMCORE_plate_ndx 0 eq {dup (Cyan) eq exch /Cyan eq or}if AGMCORE_plate_ndx 1 eq {dup (Magenta) eq exch /Magenta eq or}if AGMCORE_plate_ndx 2 eq {dup (Yellow) eq exch /Yellow eq or}if AGMCORE_plate_ndx 3 eq {dup (Black) eq exch /Black eq or}if AGMCORE_plate_ndx 4 eq {pop false}if }{ gsave false setoverprint current_spot_alias false set_spot_alias 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor set_spot_alias currentgray 1 ne grestore }ifelse }def /AGMCORE_filter_functiondatasource { 5 dict begin /data_in xdf data_in type /stringtype eq { /ncomp xdf /comp xdf /string_out data_in length ncomp idiv string def 0 ncomp data_in length 1 sub { string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put }for string_out }{ string /string_in xdf /string_out 1 string def /component xdf [ data_in string_in /readstring cvx [component /get cvx 255 /exch cvx /sub cvx string_out /exch cvx 0 /exch cvx /put cvx string_out]cvx [/pop cvx ()]cvx /ifelse cvx ]cvx /ReusableStreamDecode filter }ifelse end }def /AGMCORE_separateShadingFunction { 2 dict begin /paint? xdf /channel xdf dup type /dicttype eq { begin FunctionType 0 eq { /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def currentdict /Decode known {/Decode Decode channel 2 mul 2 getinterval def}if paint? not {/Decode [1 1]def}if }if FunctionType 2 eq { paint? { /C0 [C0 channel get 1 exch sub] def /C1 [C1 channel get 1 exch sub] def }{ /C0 [1] def /C1 [1] def }ifelse }if FunctionType 3 eq { /Functions [Functions {channel paint? AGMCORE_separateShadingFunction} forall] def }if currentdict /Range known {/Range [0 1] def}if currentdict end}{ channel get 0 paint? AGMCORE_separateShadingFunction }ifelse end }def /AGMCORE_separateShading { 3 -1 roll begin currentdict /Function known { currentdict /Background known {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if Function 3 1 roll AGMCORE_separateShadingFunction /Function xdf /ColorSpace [/DeviceGray] def }{ ColorSpace dup type /arraytype eq {0 get}if /DeviceCMYK eq { /ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def }{ ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put }ifelse ColorSpace 0 get /Separation eq { { [1 /exch cvx /sub cvx]cvx }{ [/pop cvx 1]cvx }ifelse ColorSpace 3 3 -1 roll put pop }{ { [exch ColorSpace 1 get length 1 sub exch sub /index cvx 1 /exch cvx /sub cvx ColorSpace 1 get length 1 add 1 /roll cvx ColorSpace 1 get length{/pop cvx} repeat]cvx }{ pop [ColorSpace 1 get length {/pop cvx} repeat cvx 1]cvx }ifelse ColorSpace 3 3 -1 roll bind put }ifelse ColorSpace 2 /DeviceGray put }ifelse end }def /AGMCORE_separateShadingDict { dup /ColorSpace get dup type /arraytype ne {[exch]}if dup 0 get /DeviceCMYK eq { exch begin currentdict AGMCORE_cyan_plate {0 true}if AGMCORE_magenta_plate {1 true}if AGMCORE_yellow_plate {2 true}if AGMCORE_black_plate {3 true}if AGMCORE_plate_ndx 4 eq {0 false}if dup not currentoverprint and {/AGMCORE_ignoreshade true def}if AGMCORE_separateShading currentdict end exch }if dup 0 get /Separation eq { exch begin ColorSpace 1 get dup /None ne exch /All ne and { ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and { ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq { /ColorSpace [ /Separation ColorSpace 1 get /DeviceGray [ ColorSpace 3 get /exec cvx 4 AGMCORE_plate_ndx sub -1 /roll cvx 4 1 /roll cvx 3 [/pop cvx]cvx /repeat cvx 1 /exch cvx /sub cvx ]cvx ]def }{ AGMCORE_report_unsupported_color_space AGMCORE_black_plate not { currentdict 0 false AGMCORE_separateShading }if }ifelse }{ currentdict ColorSpace 1 get AGMCORE_IsCurrentColor 0 exch dup not currentoverprint and {/AGMCORE_ignoreshade true def}if AGMCORE_separateShading }ifelse }if currentdict end exch }if dup 0 get /DeviceN eq { exch begin ColorSpace 1 get convert_to_process { ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq { /ColorSpace [ /DeviceN ColorSpace 1 get /DeviceGray [ ColorSpace 3 get /exec cvx 4 AGMCORE_plate_ndx sub -1 /roll cvx 4 1 /roll cvx 3 [/pop cvx]cvx /repeat cvx 1 /exch cvx /sub cvx ]cvx ]def }{ AGMCORE_report_unsupported_color_space AGMCORE_black_plate not { currentdict 0 false AGMCORE_separateShading /ColorSpace [/DeviceGray] def }if }ifelse }{ currentdict false -1 ColorSpace 1 get { AGMCORE_IsCurrentColor { 1 add exch pop true exch exit }if 1 add }forall exch dup not currentoverprint and {/AGMCORE_ignoreshade true def}if AGMCORE_separateShading }ifelse currentdict end exch }if dup 0 get dup /DeviceCMYK eq exch dup /Separation eq exch /DeviceN eq or or not { exch begin ColorSpace dup type /arraytype eq {0 get}if /DeviceGray ne { AGMCORE_report_unsupported_color_space AGMCORE_black_plate not { ColorSpace 0 get /CIEBasedA eq { /ColorSpace [/Separation /_ciebaseda_ /DeviceGray {}] def }if ColorSpace 0 get dup /CIEBasedABC eq exch dup /CIEBasedDEF eq exch /DeviceRGB eq or or { /ColorSpace [/DeviceN [/_red_ /_green_ /_blue_] /DeviceRGB {}] def }if ColorSpace 0 get /CIEBasedDEFG eq { /ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def }if currentdict 0 false AGMCORE_separateShading }if }if currentdict end exch }if pop dup /AGMCORE_ignoreshade known { begin /ColorSpace [/Separation (None) /DeviceGray {}] def currentdict end }if }def /shfill { AGMCORE_separateShadingDict dup /AGMCORE_ignoreshade known {pop} {AGMCORE_&sysshfill}ifelse }def /makepattern { exch dup /PatternType get 2 eq { clonedict begin /Shading Shading AGMCORE_separateShadingDict def Shading /AGMCORE_ignoreshade known currentdict end exch {pop <>}if exch AGMCORE_&sysmakepattern }{ exch AGMCORE_&usrmakepattern }ifelse }def }if }if AGMCORE_in_rip_sep{ /setcustomcolor { exch aload pop dup 7 1 roll inRip_spot_has_ink not { 4 {4 index mul 4 1 roll} repeat /DeviceCMYK setcolorspace 6 -2 roll pop pop }{ //Adobe_AGM_Core begin /AGMCORE_k xdf /AGMCORE_y xdf /AGMCORE_m xdf /AGMCORE_c xdf end [/Separation 4 -1 roll /DeviceCMYK {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} ] setcolorspace }ifelse setcolor }ndf /setseparationgray { [/Separation (All) /DeviceGray {}] setcolorspace_opt 1 exch sub setcolor }ndf }{ /setseparationgray { AGMCORE_&setgray }ndf }ifelse /findcmykcustomcolor { 5 makereadonlyarray }ndf /setcustomcolor { exch aload pop pop 4 {4 index mul 4 1 roll} repeat setcmykcolor pop }ndf /has_color /colorimage where{ AGMCORE_producing_seps{ pop true }{ systemdict eq }ifelse }{ false }ifelse def /map_index { 1 index mul exch getinterval {255 div} forall } bdf /map_indexed_devn { Lookup Names length 3 -1 roll cvi map_index } bdf /n_color_components { base_colorspace_type dup /DeviceGray eq{ pop 1 }{ /DeviceCMYK eq{ 4 }{ 3 }ifelse }ifelse }bdf level2{ /mo /moveto ldf /li /lineto ldf /cv /curveto ldf /knockout_unitsq { 1 setgray 0 0 1 1 rectfill }def level2 /setcolorspace AGMCORE_key_known not and{ /AGMCORE_&&&setcolorspace /setcolorspace ldf /AGMCORE_ReplaceMappedColor { dup type dup /arraytype eq exch /packedarraytype eq or { /AGMCORE_SpotAliasAry2 where { begin dup 0 get dup /Separation eq { pop dup length array copy dup dup 1 get current_spot_alias { dup map_alias { false set_spot_alias dup 1 exch setsepcolorspace true set_spot_alias begin /sep_colorspace_dict currentdict AGMCORE_gput pop pop pop [ /Separation Name CSA map_csa MappedCSA /sep_colorspace_proc load ] dup Name end }if }if map_reserved_ink_name 1 xpt }{ /DeviceN eq { dup length array copy dup dup 1 get [ exch { current_spot_alias{ dup map_alias{ /Name get exch pop }if }if map_reserved_ink_name } forall ] 1 xpt }if }ifelse end } if }if }def /setcolorspace { dup type dup /arraytype eq exch /packedarraytype eq or { dup 0 get /Indexed eq { AGMCORE_distilling { /PhotoshopDuotoneList where { pop false }{ true }ifelse }{ true }ifelse { aload pop 3 -1 roll AGMCORE_ReplaceMappedColor 3 1 roll 4 array astore }if }{ AGMCORE_ReplaceMappedColor }ifelse }if DeviceN_PS2_inRip_seps {AGMCORE_&&&setcolorspace} if }def }if }{ /adj { currentstrokeadjust{ transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform }if }def /mo{ adj moveto }def /li{ adj lineto }def /cv{ 6 2 roll adj 6 2 roll adj 6 2 roll adj curveto }def /knockout_unitsq { 1 setgray 8 8 1 [8 0 0 8 0 0] {} image }def /currentstrokeadjust{ /currentstrokeadjust AGMCORE_gget }def /setstrokeadjust{ /currentstrokeadjust exch AGMCORE_gput }def /setcolorspace { /currentcolorspace exch AGMCORE_gput } def /currentcolorspace { /currentcolorspace AGMCORE_gget } def /setcolor_devicecolor { base_colorspace_type dup /DeviceGray eq{ pop setgray }{ /DeviceCMYK eq{ setcmykcolor }{ setrgbcolor }ifelse }ifelse }def /setcolor { currentcolorspace 0 get dup /DeviceGray ne{ dup /DeviceCMYK ne{ dup /DeviceRGB ne{ dup /Separation eq{ pop currentcolorspace 3 get exec currentcolorspace 2 get }{ dup /Indexed eq{ pop currentcolorspace 3 get dup type /stringtype eq{ currentcolorspace 1 get n_color_components 3 -1 roll map_index }{ exec }ifelse currentcolorspace 1 get }{ /AGMCORE_cur_err /AGMCORE_invalid_color_space def AGMCORE_invalid_color_space }ifelse }ifelse }if }if }if setcolor_devicecolor } def }ifelse /sop /setoverprint ldf /lw /setlinewidth ldf /lc /setlinecap ldf /lj /setlinejoin ldf /ml /setmiterlimit ldf /dsh /setdash ldf /sadj /setstrokeadjust ldf /gry /setgray ldf /rgb /setrgbcolor ldf /cmyk /setcmykcolor ldf /sep /setsepcolor ldf /devn /setdevicencolor ldf /idx /setindexedcolor ldf /colr /setcolor ldf /csacrd /set_csa_crd ldf /sepcs /setsepcolorspace ldf /devncs /setdevicencolorspace ldf /idxcs /setindexedcolorspace ldf /cp /closepath ldf /clp /clp_npth ldf /eclp /eoclp_npth ldf /f /fill ldf /ef /eofill ldf /@ /stroke ldf /nclp /npth_clp ldf /gset /graphic_setup ldf /gcln /graphic_cleanup ldf /AGMCORE_def_ht currenthalftone def /clonedict Adobe_AGM_Utils begin /clonedict load end def /clonearray Adobe_AGM_Utils begin /clonearray load end def currentdict{ dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and { bind }if def }forall /getrampcolor { /indx exch def 0 1 NumComp 1 sub { dup Samples exch get dup type /stringtype eq {indx get} if exch Scaling exch get aload pop 3 1 roll mul add } for ColorSpaceFamily /Separation eq {sep} { ColorSpaceFamily /DeviceN eq {devn} {setcolor}ifelse }ifelse } bdf /sssetbackground {aload pop setcolor} bdf /RadialShade { 40 dict begin /ColorSpaceFamily xdf /background xdf /ext1 xdf /ext0 xdf /BBox xdf /r2 xdf /c2y xdf /c2x xdf /r1 xdf /c1y xdf /c1x xdf /rampdict xdf /setinkoverprint where {pop /setinkoverprint{pop}def}if gsave BBox length 0 gt { newpath BBox 0 get BBox 1 get moveto BBox 2 get BBox 0 get sub 0 rlineto 0 BBox 3 get BBox 1 get sub rlineto BBox 2 get BBox 0 get sub neg 0 rlineto closepath clip newpath } if c1x c2x eq { c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse } { /slope c2y c1y sub c2x c1x sub div def /theta slope 1 atan def c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if } ifelse gsave clippath c1x c1y translate theta rotate -90 rotate { pathbbox } stopped { 0 0 0 0 } if /yMax xdf /xMax xdf /yMin xdf /xMin xdf grestore xMax xMin eq yMax yMin eq or { grestore end } { /max { 2 copy gt { pop } {exch pop} ifelse } bdf /min { 2 copy lt { pop } {exch pop} ifelse } bdf rampdict begin 40 dict begin background length 0 gt { background sssetbackground gsave clippath fill grestore } if gsave c1x c1y translate theta rotate -90 rotate /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def /c1y 0 def /c1x 0 def /c2x 0 def ext0 { 0 getrampcolor c2y r2 add r1 sub 0.0001 lt { c1x c1y r1 360 0 arcn pathbbox /aymax exch def /axmax exch def /aymin exch def /axmin exch def /bxMin xMin axmin min def /byMin yMin aymin min def /bxMax xMax axmax max def /byMax yMax aymax max def bxMin byMin moveto bxMax byMin lineto bxMax byMax lineto bxMin byMax lineto bxMin byMin lineto eofill } { c2y r1 add r2 le { c1x c1y r1 0 360 arc fill } { c2x c2y r2 0 360 arc fill r1 r2 eq { /p1x r1 neg def /p1y c1y def /p2x r1 def /p2y c1y def p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto fill } { /AA r2 r1 sub c2y div def AA -1 eq { /theta 89.99 def} { /theta AA 1 AA dup mul sub sqrt div 1 atan def} ifelse /SS1 90 theta add dup sin exch cos div def /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def /p1y p1x SS1 div neg def /SS2 90 theta sub dup sin exch cos div def /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def /p2y p2x SS2 div neg def r1 r2 gt { /L1maxX p1x yMin p1y sub SS1 div add def /L2maxX p2x yMin p2y sub SS2 div add def } { /L1maxX 0 def /L2maxX 0 def } ifelse p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto L1maxX L1maxX p1x sub SS1 mul p1y add lineto fill } ifelse } ifelse } ifelse } if c1x c2x sub dup mul c1y c2y sub dup mul add 0.5 exp 0 dtransform dup mul exch dup mul add 0.5 exp 72 div 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 1 index 1 index lt { exch } if pop /hires xdf hires mul /numpix xdf /numsteps NumSamples def /rampIndxInc 1 def /subsampling false def numpix 0 ne { NumSamples numpix div 0.5 gt { /numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def /rampIndxInc NumSamples 1 sub numsteps div def /subsampling true def } if } if /xInc c2x c1x sub numsteps div def /yInc c2y c1y sub numsteps div def /rInc r2 r1 sub numsteps div def /cx c1x def /cy c1y def /radius r1 def newpath xInc 0 eq yInc 0 eq rInc 0 eq and and { 0 getrampcolor cx cy radius 0 360 arc stroke NumSamples 1 sub getrampcolor cx cy radius 72 hires div add 0 360 arc 0 setlinewidth stroke } { 0 numsteps { dup subsampling { round cvi } if getrampcolor cx cy radius 0 360 arc /cx cx xInc add def /cy cy yInc add def /radius radius rInc add def cx cy radius 360 0 arcn eofill rampIndxInc add } repeat pop } ifelse ext1 { c2y r2 add r1 lt { c2x c2y r2 0 360 arc fill } { c2y r1 add r2 sub 0.0001 le { c2x c2y r2 360 0 arcn pathbbox /aymax exch def /axmax exch def /aymin exch def /axmin exch def /bxMin xMin axmin min def /byMin yMin aymin min def /bxMax xMax axmax max def /byMax yMax aymax max def bxMin byMin moveto bxMax byMin lineto bxMax byMax lineto bxMin byMax lineto bxMin byMin lineto eofill } { c2x c2y r2 0 360 arc fill r1 r2 eq { /p1x r2 neg def /p1y c2y def /p2x r2 def /p2y c2y def p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto fill } { /AA r2 r1 sub c2y div def AA -1 eq { /theta 89.99 def} { /theta AA 1 AA dup mul sub sqrt div 1 atan def} ifelse /SS1 90 theta add dup sin exch cos div def /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def /p1y c2y p1x SS1 div sub def /SS2 90 theta sub dup sin exch cos div def /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def /p2y c2y p2x SS2 div sub def r1 r2 lt { /L1maxX p1x yMax p1y sub SS1 div add def /L2maxX p2x yMax p2y sub SS2 div add def } { /L1maxX 0 def /L2maxX 0 def }ifelse p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto L1maxX L1maxX p1x sub SS1 mul p1y add lineto fill } ifelse } ifelse } ifelse } if grestore grestore end end end } ifelse } bdf /GenStrips { 40 dict begin /ColorSpaceFamily xdf /background xdf /ext1 xdf /ext0 xdf /BBox xdf /y2 xdf /x2 xdf /y1 xdf /x1 xdf /rampdict xdf /setinkoverprint where {pop /setinkoverprint{pop}def}if gsave BBox length 0 gt { newpath BBox 0 get BBox 1 get moveto BBox 2 get BBox 0 get sub 0 rlineto 0 BBox 3 get BBox 1 get sub rlineto BBox 2 get BBox 0 get sub neg 0 rlineto closepath clip newpath } if x1 x2 eq { y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse } { /slope y2 y1 sub x2 x1 sub div def /theta slope 1 atan def x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if } ifelse gsave clippath x1 y1 translate theta rotate { pathbbox } stopped { 0 0 0 0 } if /yMax exch def /xMax exch def /yMin exch def /xMin exch def grestore xMax xMin eq yMax yMin eq or { grestore end } { rampdict begin 20 dict begin background length 0 gt { background sssetbackground gsave clippath fill grestore } if gsave x1 y1 translate theta rotate /xStart 0 def /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def /ySpan yMax yMin sub def /numsteps NumSamples def /rampIndxInc 1 def /subsampling false def xStart 0 transform xEnd 0 transform 3 -1 roll sub dup mul 3 1 roll sub dup mul add 0.5 exp 72 div 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 1 index 1 index lt { exch } if pop mul /numpix xdf numpix 0 ne { NumSamples numpix div 0.5 gt { /numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def /rampIndxInc NumSamples 1 sub numsteps div def /subsampling true def } if } if ext0 { 0 getrampcolor xMin xStart lt { xMin yMin xMin neg ySpan rectfill } if } if /xInc xEnd xStart sub numsteps div def /x xStart def 0 numsteps { dup subsampling { round cvi } if getrampcolor x yMin xInc ySpan rectfill /x x xInc add def rampIndxInc add } repeat pop ext1 { xMax xEnd gt { xEnd yMin xMax xEnd sub ySpan rectfill } if } if grestore grestore end end end } ifelse } bdf }def /page_trailer { end }def /doc_trailer{ }def /capture_currentpagedevice { //Adobe_AGM_Core/AGMCORE_currentpagedevice currentpagedevice ddf } def systemdict /findcolorrendering known{ /findcolorrendering systemdict /findcolorrendering get def }if systemdict /setcolorrendering known{ /setcolorrendering systemdict /setcolorrendering get def }if /test_cmyk_color_plate { gsave setcmykcolor currentgray 1 ne grestore }def /inRip_spot_has_ink { dup //Adobe_AGM_Core/AGMCORE_name xddf convert_spot_to_process not }def /map255_to_range { 1 index sub 3 -1 roll 255 div mul add }def /set_csa_crd { /sep_colorspace_dict null AGMCORE_gput begin CSA get_csa_by_name setcolorspace_opt set_crd end } def /map_csa { currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse {pop}{get_csa_by_name /MappedCSA xdf}ifelse } def /setsepcolor { /sep_colorspace_dict AGMCORE_gget begin dup /sep_tint exch AGMCORE_gput TintProc end } def /setdevicencolor { /devicen_colorspace_dict AGMCORE_gget begin Names length copy Names length 1 sub -1 0 { /devicen_tints AGMCORE_gget 3 1 roll xpt } for TintProc end } def /sep_colorspace_proc { /AGMCORE_tmp exch store /sep_colorspace_dict AGMCORE_gget begin currentdict/Components known{ Components aload pop TintMethod/Lab eq{ 2 {AGMCORE_tmp mul NComponents 1 roll} repeat LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll }{ TintMethod/Subtractive eq{ NComponents{ AGMCORE_tmp mul NComponents 1 roll }repeat }{ NComponents{ 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll } repeat }ifelse }ifelse }{ ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get aload pop }ifelse end } def /sep_colorspace_gray_proc { /AGMCORE_tmp exch store /sep_colorspace_dict AGMCORE_gget begin GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get end } def /sep_proc_name { dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or level2 not and has_color not and{ pop [/DeviceGray] /sep_colorspace_gray_proc }{ /sep_colorspace_proc }ifelse } def /setsepcolorspace { current_spot_alias{ dup begin Name map_alias{ exch pop }if end }if dup /sep_colorspace_dict exch AGMCORE_gput begin CSA map_csa /AGMCORE_sep_special Name dup () eq exch (All) eq or store AGMCORE_avoid_L2_sep_space{ [/Indexed MappedCSA sep_proc_name 255 exch { 255 div } /exec cvx 3 -1 roll [ 4 1 roll load /exec cvx ] cvx ] setcolorspace_opt /TintProc { 255 mul round cvi setcolor }bdf }{ MappedCSA 0 get /DeviceCMYK eq currentdict/Components known and AGMCORE_sep_special not and{ /TintProc [ Components aload pop Name findcmykcustomcolor /exch cvx /setcustomcolor cvx ] cvx bdf }{ AGMCORE_host_sep Name (All) eq and{ /TintProc { 1 exch sub setseparationgray }bdf }{ AGMCORE_in_rip_sep MappedCSA 0 get /DeviceCMYK eq and AGMCORE_host_sep or Name () eq and{ /TintProc [ MappedCSA sep_proc_name exch 0 get /DeviceCMYK eq{ cvx /setcmykcolor cvx }{ cvx /setgray cvx }ifelse ] cvx bdf }{ AGMCORE_producing_seps MappedCSA 0 get dup /DeviceCMYK eq exch /DeviceGray eq or and AGMCORE_sep_special not and{ /TintProc [ /dup cvx MappedCSA sep_proc_name cvx exch 0 get /DeviceGray eq{ 1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx }if /Name cvx /findcmykcustomcolor cvx /exch cvx AGMCORE_host_sep{ AGMCORE_is_cmyk_sep /Name cvx /AGMCORE_IsSeparationAProcessColor load /exec cvx /not cvx /and cvx }{ Name inRip_spot_has_ink not }ifelse [ /pop cvx 1 ] cvx /if cvx /setcustomcolor cvx ] cvx bdf }{ /TintProc {setcolor} bdf [/Separation Name MappedCSA sep_proc_name load ] setcolorspace_opt }ifelse }ifelse }ifelse }ifelse }ifelse set_crd setsepcolor end } def /additive_blend { 3 dict begin /numarrays xdf /numcolors xdf 0 1 numcolors 1 sub { /c1 xdf 1 0 1 numarrays 1 sub { 1 exch add /index cvx c1 /get cvx /mul cvx }for numarrays 1 add 1 /roll cvx }for numarrays [/pop cvx] cvx /repeat cvx end }def /subtractive_blend { 3 dict begin /numarrays xdf /numcolors xdf 0 1 numcolors 1 sub { /c1 xdf 1 1 0 1 numarrays 1 sub { 1 3 3 -1 roll add /index cvx c1 /get cvx /sub cvx /mul cvx }for /sub cvx numarrays 1 add 1 /roll cvx }for numarrays [/pop cvx] cvx /repeat cvx end }def /exec_tint_transform { /TintProc [ /TintTransform cvx /setcolor cvx ] cvx bdf MappedCSA setcolorspace_opt } bdf /devn_makecustomcolor { 2 dict begin /names_index xdf /Names xdf 1 1 1 1 Names names_index get findcmykcustomcolor /devicen_tints AGMCORE_gget names_index get setcustomcolor Names length {pop} repeat end } bdf /setdevicencolorspace { dup /AliasedColorants known {false}{true}ifelse current_spot_alias and { 7 dict begin /names_index 0 def dup /names_len exch /Names get length def /new_names names_len array def /new_LookupTables names_len array def /alias_cnt 0 def dup /Names get { dup map_alias { exch pop dup /ColorLookup known { dup begin new_LookupTables names_index ColorLookup put end }{ dup /Components known { dup begin new_LookupTables names_index Components put end }{ dup begin new_LookupTables names_index [null null null null] put end } ifelse } ifelse new_names names_index 3 -1 roll /Name get put /alias_cnt alias_cnt 1 add def }{ /name xdf new_names names_index name put dup /LookupTables known { dup begin new_LookupTables names_index LookupTables names_index get put end }{ dup begin new_LookupTables names_index [null null null null] put end } ifelse } ifelse /names_index names_index 1 add def } forall alias_cnt 0 gt { /AliasedColorants true def /lut_entry_len new_LookupTables 0 get dup length 256 ge {0 get length}{length}ifelse def 0 1 names_len 1 sub { /names_index xdf new_LookupTables names_index get dup length 256 ge {0 get length}{length}ifelse lut_entry_len ne { /AliasedColorants false def exit } { new_LookupTables names_index get 0 get null eq { dup /Names get names_index get /name xdf name (Cyan) eq name (Magenta) eq name (Yellow) eq name (Black) eq or or or not { /AliasedColorants false def exit } if } if } ifelse } for lut_entry_len 1 eq { /AliasedColorants false def } if AliasedColorants { dup begin /Names new_names def /LookupTables new_LookupTables def /AliasedColorants true def /NComponents lut_entry_len def /TintMethod NComponents 4 eq {/Subtractive}{/Additive}ifelse def /MappedCSA TintMethod /Additive eq {/DeviceRGB}{/DeviceCMYK}ifelse def currentdict /TTTablesIdx known not { /TTTablesIdx -1 def } if end } if }if end } if dup /devicen_colorspace_dict exch AGMCORE_gput begin currentdict /AliasedColorants known { AliasedColorants }{ false } ifelse dup not { CSA map_csa } if /TintTransform load type /nulltype eq or { /TintTransform [ 0 1 Names length 1 sub { /TTTablesIdx TTTablesIdx 1 add def dup LookupTables exch get dup 0 get null eq { 1 index Names exch get dup (Cyan) eq { pop exch LookupTables length exch sub /index cvx 0 0 0 } { dup (Magenta) eq { pop exch LookupTables length exch sub /index cvx 0 /exch cvx 0 0 } { (Yellow) eq { exch LookupTables length exch sub /index cvx 0 0 3 -1 /roll cvx 0 } { exch LookupTables length exch sub /index cvx 0 0 0 4 -1 /roll cvx } ifelse } ifelse } ifelse 5 -1 /roll cvx /astore cvx } { dup length 1 sub LookupTables length 4 -1 roll sub 1 add /index cvx /mul cvx /round cvx /cvi cvx /get cvx } ifelse Names length TTTablesIdx add 1 add 1 /roll cvx } for Names length [/pop cvx] cvx /repeat cvx NComponents Names length TintMethod /Subtractive eq { subtractive_blend } { additive_blend } ifelse ] cvx bdf } if AGMCORE_host_sep { Names convert_to_process { exec_tint_transform } { currentdict /AliasedColorants known { AliasedColorants not }{ false } ifelse 5 dict begin /AvoidAliasedColorants xdf /painted? false def /names_index 0 def /names_len Names length def AvoidAliasedColorants { /currentspotalias current_spot_alias def false set_spot_alias } if Names { AGMCORE_is_cmyk_sep { dup (Cyan) eq AGMCORE_cyan_plate and exch dup (Magenta) eq AGMCORE_magenta_plate and exch dup (Yellow) eq AGMCORE_yellow_plate and exch (Black) eq AGMCORE_black_plate and or or or { /devicen_colorspace_dict AGMCORE_gget /TintProc [ Names names_index /devn_makecustomcolor cvx ] cvx ddf /painted? true def } if painted? {exit} if }{ 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq { /devicen_colorspace_dict AGMCORE_gget /TintProc [ Names names_index /devn_makecustomcolor cvx ] cvx ddf /painted? true def exit } if } ifelse /names_index names_index 1 add def } forall AvoidAliasedColorants { currentspotalias set_spot_alias } if painted? { /devicen_colorspace_dict AGMCORE_gget /names_index names_index put }{ /devicen_colorspace_dict AGMCORE_gget /TintProc [ names_len [/pop cvx] cvx /repeat cvx 1 /setseparationgray cvx 0 0 0 0 /setcmykcolor cvx ] cvx ddf } ifelse end } ifelse } { AGMCORE_in_rip_sep { Names convert_to_process not }{ level3 } ifelse { [/DeviceN Names MappedCSA /TintTransform load] setcolorspace_opt /TintProc level3 not AGMCORE_in_rip_sep and { [ Names /length cvx [/pop cvx] cvx /repeat cvx ] cvx bdf }{ {setcolor} bdf } ifelse }{ exec_tint_transform } ifelse } ifelse set_crd /AliasedColorants false def end } def /setindexedcolorspace { dup /indexed_colorspace_dict exch AGMCORE_gput begin currentdict /CSDBase known { CSDBase /CSD get_res begin currentdict /Names known { currentdict devncs }{ 1 currentdict sepcs } ifelse AGMCORE_host_sep{ 4 dict begin /compCnt /Names where {pop Names length}{1}ifelse def /NewLookup HiVal 1 add string def 0 1 HiVal { /tableIndex xdf Lookup dup type /stringtype eq { compCnt tableIndex map_index }{ exec } ifelse /Names where { pop setdevicencolor }{ setsepcolor } ifelse currentgray tableIndex exch HiVal mul cvi NewLookup 3 1 roll put } for [/Indexed currentcolorspace HiVal NewLookup] setcolorspace_opt end }{ level3 { currentdict /Names known { [/Indexed [/DeviceN Names MappedCSA /TintTransform load] HiVal Lookup] setcolorspace_opt }{ [/Indexed [/Separation Name MappedCSA sep_proc_name load] HiVal Lookup] setcolorspace_opt } ifelse }{ [/Indexed MappedCSA HiVal [ currentdict /Names known { Lookup dup type /stringtype eq {/exch cvx CSDBase /CSD get_res /Names get length dup /mul cvx exch /getinterval cvx {255 div} /forall cvx} {/exec cvx}ifelse /TintTransform load /exec cvx }{ Lookup dup type /stringtype eq {/exch cvx /get cvx 255 /div cvx} {/exec cvx}ifelse CSDBase /CSD get_res /MappedCSA get sep_proc_name exch pop /load cvx /exec cvx } ifelse ]cvx ]setcolorspace_opt }ifelse } ifelse end set_crd } { CSA map_csa AGMCORE_host_sep level2 not and{ 0 0 0 0 setcmykcolor }{ [/Indexed MappedCSA level2 not has_color not and{ dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or{ pop [/DeviceGray] }if HiVal GrayLookup }{ HiVal currentdict/RangeArray known{ { /indexed_colorspace_dict AGMCORE_gget begin Lookup exch dup HiVal gt{ pop HiVal }if NComponents mul NComponents getinterval {} forall NComponents 1 sub -1 0{ RangeArray exch 2 mul 2 getinterval aload pop map255_to_range NComponents 1 roll }for end } bind }{ Lookup }ifelse }ifelse ] setcolorspace_opt set_crd }ifelse }ifelse end }def /setindexedcolor { AGMCORE_host_sep { /indexed_colorspace_dict AGMCORE_gget dup /CSDBase known { begin CSDBase /CSD get_res begin currentdict /Names known{ map_indexed_devn devn } { Lookup 1 3 -1 roll map_index sep }ifelse end end }{ /Lookup get 4 3 -1 roll map_index setcmykcolor } ifelse }{ level3 not AGMCORE_in_rip_sep and /indexed_colorspace_dict AGMCORE_gget /CSDBase known and { /indexed_colorspace_dict AGMCORE_gget /CSDBase get /CSD get_res begin map_indexed_devn devn end } { setcolor } ifelse }ifelse } def /ignoreimagedata { currentoverprint not{ gsave dup clonedict begin 1 setgray /Decode [0 1] def /DataSource def /MultipleDataSources false def /BitsPerComponent 8 def currentdict end systemdict /image get exec grestore }if consumeimagedata }def /add_res { dup /CSD eq { pop //Adobe_AGM_Core begin /AGMCORE_CSD_cache load 3 1 roll put end }{ defineresource pop } ifelse }def /del_res { { aload pop exch dup /CSD eq { pop { //Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef }forall }{ exch { 1 index undefineresource }forall pop } ifelse } forall }def /get_res { dup /CSD eq { pop dup type dup /nametype eq exch /stringtype eq or { AGMCORE_CSD_cache exch get } if }{ findresource } ifelse }def /get_csa_by_name { dup type dup /nametype eq exch /stringtype eq or{ /CSA get_res } if }def /pattern_buf_init { /count get 0 0 put } def /pattern_buf_next { dup /count get dup 0 get dup 3 1 roll 1 add 0 xpt get } def /cachepattern_compress { 5 dict begin currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def /patarray 20 dict def /string_size 16000 def /readbuffer string_size string def currentglobal true setglobal patarray 1 array dup 0 1 put /count xpt setglobal /LZWFilter { exch dup length 0 eq { pop }{ patarray dup length 1 sub 3 -1 roll put } ifelse {string_size}{0}ifelse string } /LZWEncode filter def { ReadFilter readbuffer readstring exch LZWFilter exch writestring not {exit} if } loop LZWFilter closefile patarray end }def /cachepattern { 2 dict begin currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def /patarray 20 dict def currentglobal true setglobal patarray 1 array dup 0 1 put /count xpt setglobal { ReadFilter 16000 string readstring exch patarray dup length 1 sub 3 -1 roll put not {exit} if } loop patarray dup dup length 1 sub () put end }def /wrap_paintproc { statusdict /currentfilenameextend known{ clonedict begin /OldPaintProc /PaintProc load def /PaintProc { mark exch dup /OldPaintProc get stopped {closefile restore end} if cleartomark } def end } {pop} ifelse } def /make_pattern { exch clonedict exch dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform exch 3 index /XStep get 1 index exch 2 copy div cvi mul sub sub exch 3 index /YStep get 1 index exch 2 copy div cvi mul sub sub matrix translate exch matrix concatmatrix 1 index begin BBox 0 get XStep div cvi XStep mul /xshift exch neg def BBox 1 get YStep div cvi YStep mul /yshift exch neg def BBox 0 get xshift add BBox 1 get yshift add BBox 2 get xshift add BBox 3 get yshift add 4 array astore /BBox exch def [ xshift yshift /translate load null /exec load ] dup 3 /PaintProc load put cvx /PaintProc exch def end 1 index dup /ID get exch /Pattern add_res gsave 0 setgray makepattern grestore }def /set_pattern { dup /PatternType get 1 eq{ dup /PaintType get 1 eq{ currentoverprint sop [/DeviceGray] setcolorspace 0 setgray }if }if setpattern }def /setcolorspace_opt { dup currentcolorspace eq{ pop }{ setcolorspace }ifelse }def /updatecolorrendering { currentcolorrendering/RenderingIntent known{ currentcolorrendering/RenderingIntent get }{null}ifelse Intent ne { Intent /ColorRendering {findresource} stopped { pop pop systemdict /findcolorrendering known { Intent findcolorrendering pop /ColorRendering findresource true } {false} ifelse } {true} ifelse { dup begin currentdict /TransformPQR known { currentdict /TransformPQR get aload pop 3 {{} eq 3 1 roll} repeat or or } {true} ifelse currentdict /MatrixPQR known { currentdict /MatrixPQR get aload pop 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq and and and and and and and and } {true} ifelse end or { clonedict begin /TransformPQR [ {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add} bind {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add} bind {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add} bind ] def /MatrixPQR [ 0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296 ] def /RangePQR [-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392] def currentdict end } if setcolorrendering_opt } if }if } def /set_crd { AGMCORE_host_sep not level2 and{ currentdict /ColorRendering known{ ColorRendering /ColorRendering {findresource} stopped not {setcolorrendering_opt} if }{ currentdict/Intent known{ updatecolorrendering }if }ifelse currentcolorspace dup type /arraytype eq {0 get}if /DeviceRGB eq { currentdict/UCR known {/UCR}{/AGMCORE_currentucr}ifelse load setundercolorremoval currentdict/BG known {/BG}{/AGMCORE_currentbg}ifelse load setblackgeneration }if }if }def /setcolorrendering_opt { dup currentcolorrendering eq{ pop }{ clonedict begin /Intent Intent def currentdict end setcolorrendering }ifelse }def /cpaint_gcomp { convert_to_process //Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not { (%end_cpaint_gcomp) flushinput }if }def /cpaint_gsep { //Adobe_AGM_Core/AGMCORE_ConvertToProcess get { (%end_cpaint_gsep) flushinput }if }def /cpaint_gend { newpath }def /set_spot_alias_ary { dup inherit_aliases //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf }def /set_spot_normalization_ary { dup inherit_aliases dup length /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add} if array //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf /AGMCORE_SpotAliasAry where{ pop AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval AGMCORE_SpotAliasAry length }{0} ifelse AGMCORE_SpotAliasAry2 3 1 roll exch putinterval true set_spot_alias }def /inherit_aliases { {dup /Name get map_alias {/CSD put}{pop} ifelse} forall }def /set_spot_alias { /AGMCORE_SpotAliasAry2 where{ /AGMCORE_current_spot_alias 3 -1 roll put }{ pop }ifelse }def /current_spot_alias { /AGMCORE_SpotAliasAry2 where{ /AGMCORE_current_spot_alias get }{ false }ifelse }def /map_alias { /AGMCORE_SpotAliasAry2 where{ begin /AGMCORE_name xdf false AGMCORE_SpotAliasAry2{ dup/Name get AGMCORE_name eq{ /CSD get /CSD get_res exch pop true exit }{ pop }ifelse }forall end }{ pop false }ifelse }bdf /spot_alias { true set_spot_alias /AGMCORE_&setcustomcolor AGMCORE_key_known not { //Adobe_AGM_Core/AGMCORE_&setcustomcolor /setcustomcolor load put } if /customcolor_tint 1 AGMCORE_gput //Adobe_AGM_Core begin /setcustomcolor { currentdict/TintProc known currentdict/CSA known and 3 1 roll //Adobe_AGM_Core begin dup /customcolor_tint exch AGMCORE_gput 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not current_spot_alias and{1 index 4 get map_alias}{false}ifelse { false set_spot_alias 4 -1 roll{ exch pop /sep_tint AGMCORE_gget exch }if mark 3 1 roll setsepcolorspace counttomark 0 ne{ setsepcolor }if pop pop true set_spot_alias }{ AGMCORE_&setcustomcolor pop }ifelse end }bdf end }def /begin_feature { Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if }def /end_feature { 2 dict begin /spd /setpagedevice load def /setpagedevice { get_gstate spd set_gstate } def stopped{$error/newerror false put}if end count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if }def /set_negative { //Adobe_AGM_Core begin /AGMCORE_inverting exch def level2{ currentpagedevice/NegativePrint known{ currentpagedevice/NegativePrint get //Adobe_AGM_Core/AGMCORE_inverting get ne{ true begin_feature true{ << /NegativePrint //Adobe_AGM_Core/AGMCORE_inverting get >> setpagedevice }end_feature }if /AGMCORE_inverting false def }if }if AGMCORE_inverting{ [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer gsave newpath clippath 1 /setseparationgray where{pop setseparationgray}{setgray}ifelse /AGMIRS_&fill where {pop AGMIRS_&fill}{fill} ifelse grestore }if end }def /lw_save_restore_override { /md where { pop md begin initializepage /initializepage{}def /pmSVsetup{} def /endp{}def /pse{}def /psb{}def /orig_showpage where {pop} {/orig_showpage /showpage load def} ifelse /showpage {orig_showpage gR} def end }if }def /pscript_showpage_override { /NTPSOct95 where { begin showpage save /showpage /restore load def /restore {exch pop}def end }if }def /driver_media_override { /md where { pop md /initializepage known { md /initializepage {} put } if md /rC known { md /rC {4{pop}repeat} put } if }if /mysetup where { /mysetup [1 0 0 1 0 0] put }if Adobe_AGM_Core /AGMCORE_Default_CTM matrix currentmatrix put level2 {Adobe_AGM_Core /AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if }def /driver_check_media_override { /PrepsDict where {pop} { Adobe_AGM_Core /AGMCORE_Default_CTM get matrix currentmatrix ne Adobe_AGM_Core /AGMCORE_Default_PageSize get type /arraytype eq { Adobe_AGM_Core /AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and Adobe_AGM_Core /AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and }if { Adobe_AGM_Core /AGMCORE_Default_CTM get setmatrix }if }ifelse }def AGMCORE_err_strings begin /AGMCORE_bad_environ (Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. ) def /AGMCORE_color_space_onhost_seps (This job contains colors that will not separate with on-host methods. ) def /AGMCORE_invalid_color_space (This job contains an invalid color space. ) def end /set_def_ht { AGMCORE_def_ht sethalftone } def end systemdict /setpacking known { setpacking } if %%EndResource %%BeginResource: procset Adobe_CoolType_Core 2.25 0 %%Copyright: Copyright 1997-2005 Adobe Systems Incorporated. All Rights Reserved. %%Version: 2.25 0 10 dict begin /Adobe_CoolType_Passthru currentdict def /Adobe_CoolType_Core_Defined userdict /Adobe_CoolType_Core known def Adobe_CoolType_Core_Defined { /Adobe_CoolType_Core userdict /Adobe_CoolType_Core get def } if userdict /Adobe_CoolType_Core 60 dict dup begin put /Adobe_CoolType_Version 2.25 def /Level2? systemdict /languagelevel known dup { pop systemdict /languagelevel get 2 ge } if def Level2? not { /currentglobal false def /setglobal /pop load def /gcheck { pop false } bind def /currentpacking false def /setpacking /pop load def /SharedFontDirectory 0 dict def } if currentpacking true setpacking currentglobal false setglobal userdict /Adobe_CoolType_Data 2 copy known not { 2 copy 10 dict put } if get begin /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def end setglobal /@_SaveStackLevels { Adobe_CoolType_Data begin /@vmState currentglobal def false setglobal @opStackCountByLevel @opStackLevel 2 copy known not { 2 copy 3 dict dup /args 7 index 5 add array put put get } { get dup /args get dup length 3 index lt { dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch /args exch put } { pop } ifelse } ifelse begin count 1 sub 1 index lt { pop count } if dup /argCount exch def dup 0 gt { args exch 0 exch getinterval astore pop } { pop } ifelse count /restCount exch def end /@opStackLevel @opStackLevel 1 add def countdictstack 1 sub @dictStackCountByLevel exch @dictStackLevel exch put /@dictStackLevel @dictStackLevel 1 add def @vmState setglobal end } bind def /@_RestoreStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def @opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt { { pop } repeat } { pop } ifelse args 0 argCount getinterval {} forall end /@dictStackLevel @dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse } bind def /@_PopStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def /@dictStackLevel @dictStackLevel 1 sub def end } bind def /@Raise { exch cvx exch errordict exch get exec stop } bind def /@ReRaise { cvx $error /errorname get errordict exch get exec stop } bind def /@Stopped { 0 @#Stopped } bind def /@#Stopped { @_SaveStackLevels stopped { @_RestoreStackLevels true } { @_PopStackLevels false } ifelse } bind def /@Arg { Adobe_CoolType_Data begin @opStackCountByLevel @opStackLevel 1 sub get begin args exch argCount 1 sub exch sub get end end } bind def currentglobal true setglobal /CTHasResourceForAllBug Level2? { 1 dict dup /@shouldNotDisappearDictValue true def Adobe_CoolType_Data exch /@shouldNotDisappearDict exch put begin count @_SaveStackLevels { (*) { pop stop } 128 string /Category resourceforall } stopped pop @_RestoreStackLevels currentdict Adobe_CoolType_Data /@shouldNotDisappearDict get ne dup { /@shouldNotDisappearDictValue known { { end currentdict 1 index eq { pop exit } if } loop } if } if end } { false } ifelse def true setglobal /CTHasResourceStatusBug Level2? { mark { /steveamerige /Category resourcestatus } stopped { cleartomark true } { cleartomark currentglobal not } ifelse } { false } ifelse def setglobal /CTResourceStatus { mark 3 1 roll /Category findresource begin ({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec { cleartomark false } { { 3 2 roll pop true } { cleartomark false } ifelse } ifelse end } bind def /CTWorkAroundBugs { Level2? { /cid_PreLoad /ProcSet resourcestatus { pop pop currentglobal mark { (*) { dup /CMap CTHasResourceStatusBug { CTResourceStatus } { resourcestatus } ifelse { pop dup 0 eq exch 1 eq or { dup /CMap findresource gcheck setglobal /CMap undefineresource } { pop CTHasResourceForAllBug { exit } { stop } ifelse } ifelse } { pop } ifelse } 128 string /CMap resourceforall } stopped { cleartomark } stopped pop setglobal } if } if } bind def /doc_setup { Adobe_CoolType_Core begin CTWorkAroundBugs /mov /moveto load def /nfnt /newencodedfont load def /mfnt /makefont load def /sfnt /setfont load def /ufnt /undefinefont load def /chp /charpath load def /awsh /awidthshow load def /wsh /widthshow load def /ash /ashow load def /sh /show load def end currentglobal false setglobal userdict /Adobe_CoolType_Data 2 copy known not { 2 copy 10 dict put } if get begin /AddWidths? false def /CC 0 def /charcode 2 string def /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def /InVMFontsByCMap 10 dict def /InVMDeepCopiedFonts 10 dict def end setglobal } bind def /doc_trailer { currentdict Adobe_CoolType_Core eq { end } if } bind def /page_setup { Adobe_CoolType_Core begin } bind def /page_trailer { end } bind def /unload { systemdict /languagelevel known { systemdict/languagelevel get 2 ge { userdict/Adobe_CoolType_Core 2 copy known { undef } { pop pop } ifelse } if } if } bind def /ndf { 1 index where { pop pop pop } { dup xcheck { bind } if def } ifelse } def /findfont systemdict begin userdict begin /globaldict where { /globaldict get begin } if dup where pop exch get /globaldict where { pop end } if end end Adobe_CoolType_Core_Defined { /systemfindfont exch def } { /findfont 1 index def /systemfindfont exch def } ifelse /undefinefont { pop } ndf /copyfont { currentglobal 3 1 roll 1 index gcheck setglobal dup null eq { 0 } { dup length } ifelse 2 index length add 1 add dict begin exch { 1 index /FID eq { pop pop } { def } ifelse } forall dup null eq { pop } { { def } forall } ifelse currentdict end exch setglobal } bind def /copyarray { currentglobal exch dup gcheck setglobal dup length array copy exch setglobal } bind def /newencodedfont { currentglobal { SharedFontDirectory 3 index known { SharedFontDirectory 3 index get /FontReferenced known } { false } ifelse } { FontDirectory 3 index known { FontDirectory 3 index get /FontReferenced known } { SharedFontDirectory 3 index known { SharedFontDirectory 3 index get /FontReferenced known } { false } ifelse } ifelse } ifelse dup { 3 index findfont /FontReferenced get 2 index dup type /nametype eq {findfont} if ne { pop false } if } if { pop 1 index findfont /Encoding get exch 0 1 255 { 2 copy get 3 index 3 1 roll put } for pop pop pop } { dup type /nametype eq { findfont } if dup dup maxlength 2 add dict begin exch { 1 index /FID ne {def} {pop pop} ifelse } forall /FontReferenced exch def /Encoding exch dup length array copy def /FontName 1 index dup type /stringtype eq { cvn } if def dup currentdict end definefont def } ifelse } bind def /SetSubstituteStrategy { $SubstituteFont begin dup type /dicttype ne { 0 dict } if currentdict /$Strategies known { exch $Strategies exch 2 copy known { get 2 copy maxlength exch maxlength add dict begin { def } forall { def } forall currentdict dup /$Init known { dup /$Init get exec } if end /$Strategy exch def } { pop pop pop } ifelse } { pop pop } ifelse end } bind def /scff { $SubstituteFont begin dup type /stringtype eq { dup length exch } { null } ifelse /$sname exch def /$slen exch def /$inVMIndex $sname null eq { 1 index $str cvs dup length $slen sub $slen getinterval cvn } { $sname } ifelse def end { findfont } @Stopped { dup length 8 add string exch 1 index 0 (BadFont:) putinterval 1 index exch 8 exch dup length string cvs putinterval cvn { findfont } @Stopped { pop /Courier findfont } if } if $SubstituteFont begin /$sname null def /$slen 0 def /$inVMIndex null def end } bind def /isWidthsOnlyFont { dup /WidthsOnly known { pop pop true } { dup /FDepVector known { /FDepVector get { isWidthsOnlyFont dup { exit } if } forall } { dup /FDArray known { /FDArray get { isWidthsOnlyFont dup { exit } if } forall } { pop } ifelse } ifelse } ifelse } bind def /?str1 256 string def /?set { $SubstituteFont begin /$substituteFound false def /$fontname 4 index def /$doSmartSub false def end 3 index currentglobal false setglobal exch /CompatibleFonts /ProcSet resourcestatus { pop pop /CompatibleFonts /ProcSet findresource begin dup /CompatibleFont currentexception 1 index /CompatibleFont true setexception 1 index /Font resourcestatus { pop pop 3 2 roll setglobal end exch dup findfont /CompatibleFonts /ProcSet findresource begin 3 1 roll exch /CompatibleFont exch setexception end } { 3 2 roll setglobal 1 index exch /CompatibleFont exch setexception end findfont $SubstituteFont /$substituteFound true put } ifelse } { exch setglobal findfont } ifelse $SubstituteFont begin $substituteFound { false (%%[Using embedded font ) print 5 index ?str1 cvs print ( to avoid the font substitution problem noted earlier.]%%\n) print } { dup /FontName known { dup /FontName get $fontname eq 1 index /DistillerFauxFont known not and /currentdistillerparams where { pop false 2 index isWidthsOnlyFont not and } if } { false } ifelse } ifelse exch pop /$doSmartSub true def end { exch pop exch pop exch 2 dict dup /Found 3 index put exch findfont exch } { exch exec exch dup findfont dup /FontType get 3 eq { exch ?str1 cvs dup length 1 sub -1 0 { exch dup 2 index get 42 eq { exch 0 exch getinterval cvn 4 1 roll 3 2 roll pop exit } {exch pop} ifelse }for } { exch pop } ifelse 2 dict dup /Downloaded 6 5 roll put } ifelse dup /FontName 4 index put copyfont definefont pop } bind def /?str2 256 string def /?add { 1 index type /integertype eq { exch true 4 2 } { false 3 1 } ifelse roll 1 index findfont dup /Widths known { Adobe_CoolType_Data /AddWidths? true put gsave dup 1000 scalefont setfont } if /Downloaded known { exec exch { exch ?str2 cvs exch findfont /Downloaded get 1 dict begin /Downloaded 1 index def ?str1 cvs length ?str1 1 index 1 add 3 index putinterval exch length 1 add 1 index add ?str1 2 index (*) putinterval ?str1 0 2 index getinterval cvn findfont ?str1 3 index (+) putinterval 2 dict dup /FontName ?str1 0 6 index getinterval cvn put dup /Downloaded Downloaded put end copyfont dup /FontName get exch definefont pop pop pop } { pop } ifelse } { pop exch { findfont dup /Found get dup length exch ?str1 cvs pop ?str1 1 index (+) putinterval ?str1 1 index 1 add 4 index ?str2 cvs putinterval ?str1 exch 0 exch 5 4 roll ?str2 cvs length 1 add add getinterval cvn 1 dict exch 1 index exch /FontName exch put copyfont dup /FontName get exch definefont pop } { pop } ifelse } ifelse Adobe_CoolType_Data /AddWidths? get { grestore Adobe_CoolType_Data /AddWidths? false put } if } bind def /?sh { currentfont /Downloaded known { exch } if pop } bind def /?chp { currentfont /Downloaded known { pop } { false chp } ifelse } bind def /?mv { currentfont /Downloaded known { moveto pop pop } { pop pop moveto } ifelse } bind def setpacking userdict /$SubstituteFont 25 dict put 1 dict begin /SubstituteFont dup $error exch 2 copy known { get } { pop pop { pop /Courier } bind } ifelse def /currentdistillerparams where dup { pop pop currentdistillerparams /CannotEmbedFontPolicy 2 copy known { get /Error eq } { pop pop false } ifelse } if not { countdictstack array dictstack 0 get begin userdict begin $SubstituteFont begin /$str 128 string def /$fontpat 128 string def /$slen 0 def /$sname null def /$match false def /$fontname null def /$substituteFound false def /$inVMIndex null def /$doSmartSub true def /$depth 0 def /$fontname null def /$italicangle 26.5 def /$dstack null def /$Strategies 10 dict dup begin /$Type3Underprint { currentglobal exch false setglobal 11 dict begin /UseFont exch $WMode 0 ne { dup length dict copy dup /WMode $WMode put /UseFont exch definefont } if def /FontName $fontname dup type /stringtype eq { cvn } if def /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /Encoding 256 array dup 0 1 255 { /.notdef put dup } for pop def /FontBBox [ 0 0 0 0 ] def /CCInfo 7 dict dup begin /cc null def /x 0 def /y 0 def end def /BuildChar { exch begin CCInfo begin 1 string dup 0 3 index put exch pop /cc exch def UseFont 1000 scalefont setfont cc stringwidth /y exch def /x exch def x y setcharwidth $SubstituteFont /$Strategy get /$Underprint get exec 0 0 moveto cc show x y moveto end end } bind def currentdict end exch setglobal } bind def /$GetaTint 2 dict dup begin /$BuildFont { dup /WMode known { dup /WMode get } { 0 } ifelse /$WMode exch def $fontname exch dup /FontName known { dup /FontName get dup type /stringtype eq { cvn } if } { /unnamedfont } ifelse exch Adobe_CoolType_Data /InVMDeepCopiedFonts get 1 index /FontName get known { pop Adobe_CoolType_Data /InVMDeepCopiedFonts get 1 index get null copyfont } { $deepcopyfont } ifelse exch 1 index exch /FontBasedOn exch put dup /FontName $fontname dup type /stringtype eq { cvn } if put definefont Adobe_CoolType_Data /InVMDeepCopiedFonts get begin dup /FontBasedOn get 1 index def end } bind def /$Underprint { gsave x abs y abs gt { /y 1000 def } { /x -1000 def 500 120 translate } ifelse Level2? { [ /Separation (All) /DeviceCMYK { 0 0 0 1 pop } ] setcolorspace } { 0 setgray } ifelse 10 setlinewidth x .8 mul [ 7 3 ] { y mul 8 div 120 sub x 10 div exch moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave Level2? { .2 setcolor } { .8 setgray } ifelse fill grestore stroke } forall pop grestore } bind def end def /$Oblique 1 dict dup begin /$BuildFont { currentglobal exch dup gcheck setglobal null copyfont begin /FontBasedOn currentdict /FontName known { FontName dup type /stringtype eq { cvn } if } { /unnamedfont } ifelse def /FontName $fontname dup type /stringtype eq { cvn } if def /currentdistillerparams where { pop } { /FontInfo currentdict /FontInfo known { FontInfo null copyfont } { 2 dict } ifelse dup begin /ItalicAngle $italicangle def /FontMatrix FontMatrix [ 1 0 ItalicAngle dup sin exch cos div 1 0 0 ] matrix concatmatrix readonly end 4 2 roll def def } ifelse FontName currentdict end definefont exch setglobal } bind def end def /$None 1 dict dup begin /$BuildFont {} bind def end def end def /$Oblique SetSubstituteStrategy /$findfontByEnum { dup type /stringtype eq { cvn } if dup /$fontname exch def $sname null eq { $str cvs dup length $slen sub $slen getinterval } { pop $sname } ifelse $fontpat dup 0 (fonts/*) putinterval exch 7 exch putinterval /$match false def $SubstituteFont /$dstack countdictstack array dictstack put mark { $fontpat 0 $slen 7 add getinterval { /$match exch def exit } $str filenameforall } stopped { cleardictstack currentdict true $SubstituteFont /$dstack get { exch { 1 index eq { pop false } { true } ifelse } { begin false } ifelse } forall pop } if cleartomark /$slen 0 def $match false ne { $match (fonts/) anchorsearch pop pop cvn } { /Courier } ifelse } bind def /$ROS 1 dict dup begin /Adobe 4 dict dup begin /Japan1 [ /Ryumin-Light /HeiseiMin-W3 /GothicBBB-Medium /HeiseiKakuGo-W5 /HeiseiMaruGo-W4 /Jun101-Light ] def /Korea1 [ /HYSMyeongJo-Medium /HYGoThic-Medium ] def /GB1 [ /STSong-Light /STHeiti-Regular ] def /CNS1 [ /MKai-Medium /MHei-Medium ] def end def end def /$cmapname null def /$deepcopyfont { dup /FontType get 0 eq { 1 dict dup /FontName /copied put copyfont begin /FDepVector FDepVector copyarray 0 1 2 index length 1 sub { 2 copy get $deepcopyfont dup /FontName /copied put /copied exch definefont 3 copy put pop pop } for def currentdict end } { $Strategies /$Type3Underprint get exec } ifelse } bind def /$buildfontname { dup /CIDFont findresource /CIDSystemInfo get begin Registry length Ordering length Supplement 8 string cvs 3 copy length 2 add add add string dup 5 1 roll dup 0 Registry putinterval dup 4 index (-) putinterval dup 4 index 1 add Ordering putinterval 4 2 roll add 1 add 2 copy (-) putinterval end 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch anchorsearch { pop pop 3 2 roll putinterval cvn /$cmapname exch def } { pop pop pop pop pop } ifelse length $str 1 index (-) putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname length add $str exch 0 exch getinterval cvn } bind def /$findfontByROS { /$fontname exch def $ROS Registry 2 copy known { get Ordering 2 copy known { get } { pop pop [] } ifelse } { pop pop [] } ifelse false exch { dup /CIDFont resourcestatus { pop pop save 1 index /CIDFont findresource dup /WidthsOnly known { dup /WidthsOnly get } { false } ifelse exch pop exch restore { pop } { exch pop true exit } ifelse } { pop } ifelse } forall { $str cvs $buildfontname } { false (*) { save exch dup /CIDFont findresource dup /WidthsOnly known { dup /WidthsOnly get not } { true } ifelse exch /CIDSystemInfo get dup /Registry get Registry eq exch /Ordering get Ordering eq and and { exch restore exch pop true exit } { pop restore } ifelse } $str /CIDFont resourceforall { $buildfontname } { $fontname $findfontByEnum } ifelse } ifelse } bind def end end currentdict /$error known currentdict /languagelevel known and dup { pop $error /SubstituteFont known } if dup { $error } { Adobe_CoolType_Core } ifelse begin { /SubstituteFont /CMap /Category resourcestatus { pop pop { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $sname null eq { dup $str cvs dup length $slen sub $slen getinterval cvn } { $sname } ifelse Adobe_CoolType_Data /InVMFontsByCMap get 1 index 2 copy known { get false exch { pop currentglobal { GlobalFontDirectory 1 index known { exch pop true exit } { pop } ifelse } { FontDirectory 1 index known { exch pop true exit } { GlobalFontDirectory 1 index known { exch pop true exit } { pop } ifelse } ifelse } ifelse } forall } { pop pop false } ifelse { exch pop exch pop } { dup /CMap resourcestatus { pop pop dup /$cmapname exch def /CMap findresource /CIDSystemInfo get { def } forall $findfontByROS } { 128 string cvs dup (-) search { 3 1 roll search { 3 1 roll pop { dup cvi } stopped { pop pop pop pop pop $findfontByEnum } { 4 2 roll pop pop exch length exch 2 index length 2 index sub exch 1 sub -1 0 { $str cvs dup length 4 index 0 4 index 4 3 roll add getinterval exch 1 index exch 3 index exch putinterval dup /CMap resourcestatus { pop pop 4 1 roll pop pop pop dup /$cmapname exch def /CMap findresource /CIDSystemInfo get { def } forall $findfontByROS true exit } { pop } ifelse } for dup type /booleantype eq { pop } { pop pop pop $findfontByEnum } ifelse } ifelse } { pop pop pop $findfontByEnum } ifelse } { pop pop $findfontByEnum } ifelse } ifelse } ifelse } { //SubstituteFont exec } ifelse /$slen 0 def end } } { { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $findfontByEnum } { //SubstituteFont exec } ifelse end } } ifelse bind readonly def Adobe_CoolType_Core /scfindfont /systemfindfont load put } { /scfindfont { $SubstituteFont begin dup systemfindfont dup /FontName known { dup /FontName get dup 3 index ne } { /noname true } ifelse dup { /$origfontnamefound 2 index def /$origfontname 4 index def /$substituteFound true def } if exch pop { $slen 0 gt $sname null ne 3 index length $slen gt or and { pop dup $findfontByEnum findfont dup maxlength 1 add dict begin { 1 index /FID eq { pop pop } { def } ifelse } forall currentdict end definefont dup /FontName known { dup /FontName get } { null } ifelse $origfontnamefound ne { $origfontname $str cvs print ( substitution revised, using ) print dup /FontName known { dup /FontName get } { (unspecified font) } ifelse $str cvs print (.\n) print } if } { exch pop } ifelse } { exch pop } ifelse end } bind def } ifelse end end Adobe_CoolType_Core_Defined not { Adobe_CoolType_Core /findfont { $SubstituteFont begin $depth 0 eq { /$fontname 1 index dup type /stringtype ne { $str cvs } if def /$substituteFound false def } if /$depth $depth 1 add def end scfindfont $SubstituteFont begin /$depth $depth 1 sub def $substituteFound $depth 0 eq and { $inVMIndex null ne { dup $inVMIndex $AddInVMFont } if $doSmartSub { currentdict /$Strategy known { $Strategy /$BuildFont get exec } if } if } if end } bind put } if } if end /$AddInVMFont { exch /FontName 2 copy known { get 1 dict dup begin exch 1 index gcheck def end exch Adobe_CoolType_Data /InVMFontsByCMap get exch $DictAdd } { pop pop pop } ifelse } bind def /$DictAdd { 2 copy known not { 2 copy 4 index length dict put } if Level2? not { 2 copy get dup maxlength exch length 4 index length add lt 2 copy get dup length 4 index length add exch maxlength 1 index lt { 2 mul dict begin 2 copy get { forall } def 2 copy currentdict put end } { pop } ifelse } if get begin { def } forall end } bind def end end %%EndResource %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.21 0 %%Copyright: Copyright 1987-2005 Adobe Systems Incorporated. %%Version: 1.21 0 systemdict /languagelevel known dup { currentglobal false setglobal } { false } ifelse exch userdict /Adobe_CoolType_Utility 2 copy known { 2 copy get dup maxlength 27 add dict copy } { 27 dict } ifelse put Adobe_CoolType_Utility begin /@eexecStartData def /@recognizeCIDFont null def /ct_Level2? exch def /ct_Clone? 1183615869 internaldict dup /CCRun known not exch /eCCRun known not ct_Level2? and or def ct_Level2? { globaldict begin currentglobal true setglobal } if /ct_AddStdCIDMap ct_Level2? { { mark Adobe_CoolType_Utility /@recognizeCIDFont currentdict put { ((Hex) 57 StartData 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 cc36 74f4 1144 b13b 77) 0 () /SubFileDecode filter cvx exec } stopped { cleartomark Adobe_CoolType_Utility /@recognizeCIDFont get countdictstack dup array dictstack exch 1 sub -1 0 { 2 copy get 3 index eq { 1 index length exch sub 1 sub { end } repeat exit } { pop } ifelse } for pop pop Adobe_CoolType_Utility /@eexecStartData get eexec } { cleartomark } ifelse } } { { Adobe_CoolType_Utility /@eexecStartData get eexec } } ifelse bind def userdict /cid_extensions known dup { cid_extensions /cid_UpdateDB known and } if { cid_extensions begin /cid_GetCIDSystemInfo { 1 index type /stringtype eq { exch cvn exch } if cid_extensions begin dup load 2 index known { 2 copy cid_GetStatusInfo dup null ne { 1 index load 3 index get dup null eq { pop pop cid_UpdateDB } { exch 1 index /Created get eq { exch pop exch pop } { pop cid_UpdateDB } ifelse } ifelse } { pop cid_UpdateDB } ifelse } { cid_UpdateDB } ifelse end } bind def end } if ct_Level2? { end setglobal } if /ct_UseNativeCapability? systemdict /composefont known def /ct_MakeOCF 35 dict def /ct_Vars 25 dict def /ct_GlyphDirProcs 6 dict def /ct_BuildCharDict 15 dict dup begin /charcode 2 string def /dst_string 1500 string def /nullstring () def /usewidths? true def end def ct_Level2? { setglobal } { pop } ifelse ct_GlyphDirProcs begin /GetGlyphDirectory { systemdict /languagelevel known { pop /CIDFont findresource /GlyphDirectory get } { 1 index /CIDFont findresource /GlyphDirectory get dup type /dicttype eq { dup dup maxlength exch length sub 2 index lt { dup length 2 index add dict copy 2 index /CIDFont findresource/GlyphDirectory 2 index put } if } if exch pop exch pop } ifelse + } def /+ { systemdict /languagelevel known { currentglobal false setglobal 3 dict begin /vm exch def } { 1 dict begin } ifelse /$ exch def systemdict /languagelevel known { vm setglobal /gvm currentglobal def $ gcheck setglobal } if ? { $ begin } if } def /? { $ type /dicttype eq } def /| { userdict /Adobe_CoolType_Data known { Adobe_CoolType_Data /AddWidths? known { currentdict Adobe_CoolType_Data begin begin AddWidths? { Adobe_CoolType_Data /CC 3 index put ? { def } { $ 3 1 roll put } ifelse CC charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore currentfont /Widths get exch CC exch put } { ? { def } { $ 3 1 roll put } ifelse } ifelse end end } { ? { def } { $ 3 1 roll put } ifelse } ifelse } { ? { def } { $ 3 1 roll put } ifelse } ifelse } def /! { ? { end } if systemdict /languagelevel known { gvm setglobal } if end } def /: { string currentfile exch readstring pop } executeonly def end ct_MakeOCF begin /ct_cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def /ct_CID_STR_SIZE 8000 def /ct_mkocfStr100 100 string def /ct_defaultFontMtx [.001 0 0 .001 0 0] def /ct_1000Mtx [1000 0 0 1000 0 0] def /ct_raise {exch cvx exch errordict exch get exec stop} bind def /ct_reraise { cvx $error /errorname get (Error: ) print dup ( ) cvs print errordict exch get exec stop } bind def /ct_cvnsi { 1 index add 1 sub 1 exch 0 4 1 roll { 2 index exch get exch 8 bitshift add } for exch pop } bind def /ct_GetInterval { Adobe_CoolType_Utility /ct_BuildCharDict get begin /dst_index 0 def dup dst_string length gt { dup string /dst_string exch def } if 1 index ct_CID_STR_SIZE idiv /arrayIndex exch def 2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub { dup 3 index add 2 index length le { 2 index getinterval dst_string dst_index 2 index putinterval length dst_index add /dst_index exch def exit } { 1 index length 1 index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval pop dup dst_index add /dst_index exch def sub /arrayIndex arrayIndex 1 add def 2 index dup length arrayIndex gt { arrayIndex get } { pop exit } ifelse 0 } ifelse } loop pop pop pop dst_string 0 dst_index getinterval end } bind def ct_Level2? { /ct_resourcestatus currentglobal mark true setglobal { /unknowninstancename /Category resourcestatus } stopped { cleartomark setglobal true } { cleartomark currentglobal not exch setglobal } ifelse { { mark 3 1 roll /Category findresource begin ct_Vars /vm currentglobal put ({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec { cleartomark false } { { 3 2 roll pop true } { cleartomark false } ifelse } ifelse ct_Vars /vm get setglobal end } } { { resourcestatus } } ifelse bind def /CIDFont /Category ct_resourcestatus { pop pop } { currentglobal true setglobal /Generic /Category findresource dup length dict copy dup /InstanceType /dicttype put /CIDFont exch /Category defineresource pop setglobal } ifelse ct_UseNativeCapability? { /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry (Adobe) def /Ordering (Identity) def /Supplement 0 def end def /CMapName /Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000> 0 endcidrange endcmap CMapName currentdict /CMap defineresource pop end end } if } { /ct_Category 2 dict begin /CIDFont 10 dict def /ProcSet 2 dict def currentdict end def /defineresource { ct_Category 1 index 2 copy known { get dup dup maxlength exch length eq { dup length 10 add dict copy ct_Category 2 index 2 index put } if 3 index 3 index put pop exch pop } { pop pop /defineresource /undefined ct_raise } ifelse } bind def /findresource { ct_Category 1 index 2 copy known { get 2 index 2 copy known { get 3 1 roll pop pop} { pop pop /findresource /undefinedresource ct_raise } ifelse } { pop pop /findresource /undefined ct_raise } ifelse } bind def /resourcestatus { ct_Category 1 index 2 copy known { get 2 index known exch pop exch pop { 0 -1 true } { false } ifelse } { pop pop /findresource /undefined ct_raise } ifelse } bind def /ct_resourcestatus /resourcestatus load def } ifelse /ct_CIDInit 2 dict begin /ct_cidfont_stream_init { { dup (Binary) eq { pop null currentfile ct_Level2? { { cid_BYTE_COUNT () /SubFileDecode filter } stopped { pop pop pop } if } if /readstring load exit } if dup (Hex) eq { pop currentfile ct_Level2? { { null exch /ASCIIHexDecode filter /readstring } stopped { pop exch pop (>) exch /readhexstring } if } { (>) exch /readhexstring } ifelse load exit } if /StartData /typecheck ct_raise } loop cid_BYTE_COUNT ct_CID_STR_SIZE le { 2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put } { cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 exch { 2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop } for 2 index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch 1 index length 1 sub exch put } ifelse cid_CIDFONT exch /GlyphData exch put 2 index null eq { pop pop pop } { pop /readstring load 1 string exch { 3 copy exec pop dup length 0 eq { pop pop pop pop pop true exit } if 4 index eq { pop pop pop pop false exit } if } loop pop } ifelse } bind def /StartData { mark { currentdict dup /FDArray get 0 get /FontMatrix get 0 get 0.001 eq { dup /CDevProc known not { /CDevProc 1183615869 internaldict /stdCDevProc 2 copy known { get } { pop pop { pop pop pop pop pop 0 -1000 7 index 2 div 880 } } ifelse def } if } { /CDevProc { pop pop pop pop pop 0 1 cid_temp /cid_CIDFONT get /FDArray get 0 get /FontMatrix get 0 get div 7 index 2 div 1 index 0.88 mul } def } ifelse /cid_temp 15 dict def cid_temp begin /cid_CIDFONT exch def 3 copy pop dup /cid_BYTE_COUNT exch def 0 gt { ct_cidfont_stream_init FDArray { /Private get dup /SubrMapOffset known { begin /Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2? { currentdict dup /SubrMapOffset undef dup /SubrCount undef /SDBytes undef } if end /cid_SD_BYTES exch def /cid_SUBR_COUNT exch def /cid_SUBR_MAP_OFFSET exch def /cid_SUBRS exch def cid_SUBR_COUNT 0 gt { GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub { exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put } for pop } if } { pop } ifelse } forall } if cleartomark pop pop end CIDFontName currentdict /CIDFont defineresource pop end end } stopped { cleartomark /StartData ct_reraise } if } bind def currentdict end def /ct_saveCIDInit { /CIDInit /ProcSet ct_resourcestatus { true } { /CIDInitC /ProcSet ct_resourcestatus } ifelse { pop pop /CIDInit /ProcSet findresource ct_UseNativeCapability? { pop null } { /CIDInit ct_CIDInit /ProcSet defineresource pop } ifelse } { /CIDInit ct_CIDInit /ProcSet defineresource pop null } ifelse ct_Vars exch /ct_oldCIDInit exch put } bind def /ct_restoreCIDInit { ct_Vars /ct_oldCIDInit get dup null ne { /CIDInit exch /ProcSet defineresource pop } { pop } ifelse } bind def /ct_BuildCharSetUp { 1 index begin CIDFont begin Adobe_CoolType_Utility /ct_BuildCharDict get begin /ct_dfCharCode exch def /ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge { pop 0 } if /cid exch def { GlyphDirectory cid 2 copy known { get } { pop pop nullstring } ifelse dup length FDBytes sub 0 gt { dup FDBytes 0 ne { 0 FDBytes ct_cvnsi } { pop 0 } ifelse /fdIndex exch def dup length FDBytes sub FDBytes exch getinterval /charstring exch def exit } { pop cid 0 eq { /charstring nullstring def exit } if /cid 0 def } ifelse } loop } def /ct_SetCacheDevice { 0 0 moveto dup stringwidth 3 -1 roll true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto } def /ct_CloneSetCacheProc { 1 eq { stringwidth pop -2 div -880 0 -1000 setcharwidth moveto } { usewidths? { currentfont /Widths get cid 2 copy known { get exch pop aload pop } { pop pop stringwidth } ifelse } { stringwidth } ifelse setcharwidth 0 0 moveto } ifelse } def /ct_Type3ShowCharString { ct_FDDict fdIndex 2 copy known { get } { currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup maxlength dict copy begin FDArray fdIndex get dup /FontMatrix 2 copy known { get } { pop pop ct_defaultFontMtx } ifelse /FontMatrix exch dup length array copy def /Private get /Private exch def /Widths rootfont /Widths get def /CharStrings 1 dict dup /.notdef dup length string copy put def currentdict end /ct_Type1Font exch definefont dup 5 1 roll put setglobal } ifelse dup /CharStrings get 1 index /Encoding get ct_dfCharCode get charstring put rootfont /WMode 2 copy known { get } { pop pop 0 } ifelse exch 1000 scalefont setfont ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold { currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth setlinewidth stroke } { ct_str1 show } ifelse } def /ct_Type4ShowCharString { ct_dfDict ct_dfCharCode charstring FDArray fdIndex get dup /FontMatrix get dup ct_defaultFontMtx ct_matrixeq not { ct_1000Mtx matrix concatmatrix concat } { pop } ifelse /Private get Adobe_CoolType_Utility /ct_Level2? get not { ct_dfDict /Private 3 -1 roll { put } 1183615869 internaldict /superexec get exec } if 1183615869 internaldict Adobe_CoolType_Utility /ct_Level2? get { 1 index } { 3 index /Private get mark 6 1 roll } ifelse dup /RunInt known { /RunInt get } { pop /CCRun } ifelse get exec Adobe_CoolType_Utility /ct_Level2? get not { cleartomark } if } bind def /ct_BuildCharIncremental { { Adobe_CoolType_Utility /ct_MakeOCF get begin ct_BuildCharSetUp ct_ShowCharString } stopped { stop } if end end end end } bind def /BaseFontNameStr (BF00) def /ct_Type1FontTemplate 14 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] def /FontBBox [-250 -250 1250 1250] def /Encoding ct_cHexEncoding def /PaintType 0 def currentdict end def /BaseFontTemplate 11 dict begin /FontMatrix [0.001 0 0 0.001 0 0] def /FontBBox [-250 -250 1250 1250] def /Encoding ct_cHexEncoding def /BuildChar /ct_BuildCharIncremental load def ct_Clone? { /FontType 3 def /ct_ShowCharString /ct_Type3ShowCharString load def /ct_dfSetCacheProc /ct_CloneSetCacheProc load def /ct_SyntheticBold false def /ct_StrokeWidth 1 def } { /FontType 4 def /Private 1 dict dup /lenIV 4 put def /CharStrings 1 dict dup /.notdef put def /PaintType 0 def /ct_ShowCharString /ct_Type4ShowCharString load def } ifelse /ct_str1 1 string def currentdict end def /BaseFontDictSize BaseFontTemplate length 5 add def /ct_matrixeq { true 0 1 5 { dup 4 index exch get exch 3 index exch get eq and dup not { exit } if } for exch pop exch pop } bind def /ct_makeocf { 15 dict begin exch /WMode exch def exch /FontName exch def /FontType 0 def /FMapType 2 def dup /FontMatrix known { dup /FontMatrix get /FontMatrix exch def } { /FontMatrix matrix def } ifelse /bfCount 1 index /CIDCount get 256 idiv 1 add dup 256 gt { pop 256} if def /Encoding 256 array 0 1 bfCount 1 sub { 2 copy dup put pop } for bfCount 1 255 { 2 copy bfCount put pop } for def /FDepVector bfCount dup 256 lt { 1 add } if array def BaseFontTemplate BaseFontDictSize dict copy begin /CIDFont exch def CIDFont /FontBBox known { CIDFont /FontBBox get /FontBBox exch def } if CIDFont /CDevProc known { CIDFont /CDevProc get /CDevProc exch def } if currentdict end BaseFontNameStr 3 (0) putinterval 0 1 bfCount dup 256 eq { 1 sub } if { FDepVector exch 2 index BaseFontDictSize dict copy begin dup /CIDFirstByte exch 256 mul def FontType 3 eq { /ct_FDDict 2 dict def } if currentdict end 1 index 16 BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put } for ct_Clone? { /Widths 1 index /CIDFont get /GlyphDirectory get length dict def } if FontName currentdict end definefont ct_Clone? { gsave dup 1000 scalefont setfont ct_BuildCharDict begin /usewidths? false def currentfont /Widths get begin exch /CIDFont get /GlyphDirectory get { pop dup charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore def } forall end /usewidths? true def end grestore } { exch pop } ifelse } bind def /ct_ComposeFont { ct_UseNativeCapability? { 2 index /CMap ct_resourcestatus { pop pop exch pop } { /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CMapName 3 index def /CMapVersion 1.000 def /CMapType 1 def exch /WMode exch def /CIDSystemInfo 3 dict dup begin /Registry (Adobe) def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-) search { pop pop (-) search { dup length string copy exch pop exch pop } { pop (Identity)} ifelse } { pop (Identity) } ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000> 0 endcidrange endcmap CMapName currentdict /CMap defineresource pop end end } ifelse composefont } { 3 2 roll pop 0 get /CIDFont findresource ct_makeocf } ifelse } bind def /ct_MakeIdentity { ct_UseNativeCapability? { 1 index /CMap ct_resourcestatus { pop pop } { /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CMapName 2 index def /CMapVersion 1.000 def /CMapType 1 def /CIDSystemInfo 3 dict dup begin /Registry (Adobe) def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-) search { pop pop (-) search { dup length string copy exch pop exch pop } { pop (Identity) } ifelse } { pop (Identity) } ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000> 0 endcidrange endcmap CMapName currentdict /CMap defineresource pop end end } ifelse composefont } { exch pop 0 get /CIDFont findresource ct_makeocf } ifelse } bind def currentdict readonly pop end end %%EndResource %%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 %%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. %%Version: 1.0 0 userdict /ct_T42Dict 15 dict put ct_T42Dict begin /Is2015? { version cvi 2015 ge } bind def /AllocGlyphStorage { Is2015? { pop } { {string} forall } ifelse } bind def /Type42DictBegin { 25 dict begin /FontName exch def /CharStrings 256 dict begin /.notdef 0 def currentdict end def /Encoding exch def /PaintType 0 def /FontType 42 def /FontMatrix [1 0 0 1 0 0] def 4 array astore cvx /FontBBox exch def /sfnts } bind def /Type42DictEnd { currentdict dup /FontName get exch definefont end ct_T42Dict exch dup /FontName get exch put } bind def /RD {string currentfile exch readstring pop} executeonly def /PrepFor2015 { Is2015? { /GlyphDirectory 16 dict def sfnts 0 get dup 2 index (glyx) putinterval 2 index (locx) putinterval pop pop } { pop pop } ifelse } bind def /AddT42Char { Is2015? { /GlyphDirectory get begin def end pop pop } { /sfnts get 4 index get 3 index 2 index putinterval pop pop pop pop } ifelse } bind def /T0AddT42Mtx2 { /CIDFont findresource /Metrics2 get begin def end }bind def end %%EndResource Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end %%BeginResource: procset Adobe_AGM_Image 1.0 0 %%Version: 1.0 0 %%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc. All Rights Reserved. systemdict /setpacking known { currentpacking true setpacking } if userdict /Adobe_AGM_Image 75 dict dup begin put /Adobe_AGM_Image_Id /Adobe_AGM_Image_1.0_0 def /nd{ null def }bind def /AGMIMG_&image nd /AGMIMG_&colorimage nd /AGMIMG_&imagemask nd /AGMIMG_mbuf () def /AGMIMG_ybuf () def /AGMIMG_kbuf () def /AGMIMG_c 0 def /AGMIMG_m 0 def /AGMIMG_y 0 def /AGMIMG_k 0 def /AGMIMG_tmp nd /AGMIMG_imagestring0 nd /AGMIMG_imagestring1 nd /AGMIMG_imagestring2 nd /AGMIMG_imagestring3 nd /AGMIMG_imagestring4 nd /AGMIMG_imagestring5 nd /AGMIMG_cnt nd /AGMIMG_fsave nd /AGMIMG_colorAry nd /AGMIMG_override nd /AGMIMG_name nd /AGMIMG_maskSource nd /AGMIMG_flushfilters nd /invert_image_samples nd /knockout_image_samples nd /img nd /sepimg nd /devnimg nd /idximg nd /doc_setup { Adobe_AGM_Core begin Adobe_AGM_Image begin /AGMIMG_&image systemdict/image get def /AGMIMG_&imagemask systemdict/imagemask get def /colorimage where{ pop /AGMIMG_&colorimage /colorimage ldf }if end end }def /page_setup { Adobe_AGM_Image begin /AGMIMG_ccimage_exists {/customcolorimage where { pop /Adobe_AGM_OnHost_Seps where { pop false }{ /Adobe_AGM_InRip_Seps where { pop false }{ true }ifelse }ifelse }{ false }ifelse }bdf level2{ /invert_image_samples { Adobe_AGM_Image/AGMIMG_tmp Decode length ddf /Decode [ Decode 1 get Decode 0 get] def }def /knockout_image_samples { Operator/imagemask ne{ /Decode [1 1] def }if }def }{ /invert_image_samples { {1 exch sub} currenttransfer addprocs settransfer }def /knockout_image_samples { { pop 1 } currenttransfer addprocs settransfer }def }ifelse /img /imageormask ldf /sepimg /sep_imageormask ldf /devnimg /devn_imageormask ldf /idximg /indexed_imageormask ldf /_ctype 7 def currentdict{ dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and{ bind }if def }forall }def /page_trailer { end }def /doc_trailer { }def /AGMIMG_flushfilters { dup type /arraytype ne {1 array astore}if aload length { dup type /filetype eq { dup status 1 index currentfile ne and {dup flushfile closefile} {pop} ifelse }{pop}ifelse } repeat }def /imageormask_sys { begin save mark level2{ currentdict Operator /imagemask eq{ AGMIMG_&imagemask }{ use_mask { level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse }{ AGMIMG_&image }ifelse }ifelse }{ Width Height Operator /imagemask eq{ Decode 0 get 1 eq Decode 1 get 0 eq and ImageMatrix /DataSource load AGMIMG_&imagemask }{ BitsPerComponent ImageMatrix /DataSource load AGMIMG_&image }ifelse }ifelse currentdict /_Filters known {_Filters AGMIMG_flushfilters} if cleartomark restore end }def /overprint_plate { currentoverprint { 0 get dup type /nametype eq { dup /DeviceGray eq{ pop AGMCORE_black_plate not }{ /DeviceCMYK eq{ AGMCORE_is_cmyk_sep not }if }ifelse }{ false exch { AGMOHS_sepink eq or } forall not } ifelse }{ pop false }ifelse }def /process_mask_L3 { dup begin /ImageType 1 def end 4 dict begin /DataDict exch def /ImageType 3 def /InterleaveType 3 def /MaskDict 9 dict begin /ImageType 1 def /Width DataDict dup /MaskWidth known {/MaskWidth}{/Width} ifelse get def /Height DataDict dup /MaskHeight known {/MaskHeight}{/Height} ifelse get def /ImageMatrix [Width 0 0 Height neg 0 Height] def /NComponents 1 def /BitsPerComponent 1 def /Decode [0 1] def /DataSource AGMIMG_maskSource def currentdict end def currentdict end }def /use_mask { dup type /dicttype eq { dup /Mask known { dup /Mask get { level3 {true} { dup /MaskWidth known {dup /MaskWidth get 1 index /Width get eq}{true}ifelse exch dup /MaskHeight known {dup /MaskHeight get 1 index /Height get eq}{true}ifelse 3 -1 roll and } ifelse } {false} ifelse } {false} ifelse } {false} ifelse }def /make_line_source { begin MultipleDataSources { [ Decode length 2 div cvi {Width string} repeat ] }{ Width Decode length 2 div mul cvi string }ifelse end }def /datasource_to_str { exch dup type dup /filetype eq { pop exch readstring }{ /arraytype eq { exec exch copy }{ pop }ifelse }ifelse pop }def /masked_image_simulation { 3 dict begin dup make_line_source /line_source xdf /mask_source AGMIMG_maskSource /LZWDecode filter def dup /Width get 8 div ceiling cvi string /mask_str xdf begin gsave 0 1 translate 1 -1 Height div scale 1 1 Height { pop gsave MultipleDataSources { 0 1 DataSource length 1 sub { dup DataSource exch get exch line_source exch get datasource_to_str } for }{ DataSource line_source datasource_to_str } ifelse << /PatternType 1 /PaintProc [ /pop cvx << /ImageType 1 /Width Width /Height 1 /ImageMatrix Width 1.0 sub 1 matrix scale 0.5 0 matrix translate matrix concatmatrix /MultipleDataSources MultipleDataSources /DataSource line_source /BitsPerComponent BitsPerComponent /Decode Decode >> /image cvx ] cvx /BBox [0 0 Width 1] /XStep Width /YStep 1 /PaintType 1 /TilingType 2 >> matrix makepattern set_pattern << /ImageType 1 /Width Width /Height 1 /ImageMatrix Width 1 matrix scale /MultipleDataSources false /DataSource mask_source mask_str readstring pop /BitsPerComponent 1 /Decode [0 1] >> imagemask grestore 0 1 translate } for grestore end end }def /imageormask { begin SkipImageProc { currentdict consumeimagedata } { save mark level2 AGMCORE_host_sep not and{ currentdict Operator /imagemask eq DeviceN_PS2 not and { imagemask }{ AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get /DeviceGray eq and{ [/Separation /Black /DeviceGray {}] setcolorspace /Decode [ Decode 1 get Decode 0 get ] def }if use_mask { level3 {process_mask_L3 image}{masked_image_simulation}ifelse }{ DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and { Names convert_to_process not { 2 dict begin /imageDict xdf /names_index 0 def gsave imageDict write_image_file { Names { dup (None) ne { [/Separation 3 -1 roll /DeviceGray {1 exch sub}] setcolorspace Operator imageDict read_image_file names_index 0 eq {true setoverprint} if /names_index names_index 1 add def }{ pop } ifelse } forall close_image_file } if grestore end }{ Operator /imagemask eq { imagemask }{ image } ifelse } ifelse }{ Operator /imagemask eq { imagemask }{ image } ifelse } ifelse }ifelse }ifelse }{ Width Height Operator /imagemask eq{ Decode 0 get 1 eq Decode 1 get 0 eq and ImageMatrix /DataSource load /Adobe_AGM_OnHost_Seps where { pop imagemask }{ currentgray 1 ne{ currentdict imageormask_sys }{ currentoverprint not{ 1 AGMCORE_&setgray currentdict imageormask_sys }{ currentdict ignoreimagedata }ifelse }ifelse }ifelse }{ BitsPerComponent ImageMatrix MultipleDataSources{ 0 1 NComponents 1 sub{ DataSource exch get }for }{ /DataSource load }ifelse Operator /colorimage eq{ AGMCORE_host_sep{ MultipleDataSources level2 or NComponents 4 eq and{ AGMCORE_is_cmyk_sep{ MultipleDataSources{ /DataSource [ DataSource 0 get /exec cvx DataSource 1 get /exec cvx DataSource 2 get /exec cvx DataSource 3 get /exec cvx /AGMCORE_get_ink_data cvx ] cvx def }{ /DataSource Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul /DataSource load filter_cmyk 0 () /SubFileDecode filter def }ifelse /Decode [ Decode 0 get Decode 1 get ] def /MultipleDataSources false def /NComponents 1 def /Operator /image def invert_image_samples 1 AGMCORE_&setgray currentdict imageormask_sys }{ currentoverprint not Operator/imagemask eq and{ 1 AGMCORE_&setgray currentdict imageormask_sys }{ currentdict ignoreimagedata }ifelse }ifelse }{ MultipleDataSources NComponents AGMIMG_&colorimage }ifelse }{ true NComponents colorimage }ifelse }{ Operator /image eq{ AGMCORE_host_sep{ /DoImage true def HostSepColorImage{ invert_image_samples }{ AGMCORE_black_plate not Operator/imagemask ne and{ /DoImage false def currentdict ignoreimagedata }if }ifelse 1 AGMCORE_&setgray DoImage {currentdict imageormask_sys} if }{ use_mask { level3 {process_mask_L3 image}{masked_image_simulation}ifelse }{ image }ifelse }ifelse }{ Operator/knockout eq{ pop pop pop pop pop currentcolorspace overprint_plate not{ knockout_unitsq }if }if }ifelse }ifelse }ifelse }ifelse cleartomark restore }ifelse currentdict /_Filters known {_Filters AGMIMG_flushfilters} if end }def /sep_imageormask { /sep_colorspace_dict AGMCORE_gget begin CSA map_csa begin SkipImageProc { currentdict consumeimagedata } { save mark AGMCORE_avoid_L2_sep_space{ /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def }if AGMIMG_ccimage_exists MappedCSA 0 get /DeviceCMYK eq and currentdict/Components known and Name () ne and Name (All) ne and Operator /image eq and AGMCORE_producing_seps not and level2 not and { Width Height BitsPerComponent ImageMatrix [ /DataSource load /exec cvx { 0 1 2 index length 1 sub{ 1 index exch 2 copy get 255 xor put }for } /exec cvx ] cvx bind MappedCSA 0 get /DeviceCMYK eq{ Components aload pop }{ 0 0 0 Components aload pop 1 exch sub }ifelse Name findcmykcustomcolor customcolorimage }{ AGMCORE_producing_seps not{ level2{ AGMCORE_avoid_L2_sep_space not currentcolorspace 0 get /Separation ne and{ [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt /sep_tint AGMCORE_gget setcolor }if currentdict imageormask }{ currentdict Operator /imagemask eq{ imageormask }{ sep_imageormask_lev1 }ifelse }ifelse }{ AGMCORE_host_sep{ Operator/knockout eq{ currentdict/ImageMatrix get concat knockout_unitsq }{ currentgray 1 ne{ AGMCORE_is_cmyk_sep Name (All) ne and{ level2{ Name AGMCORE_IsSeparationAProcessColor { Operator /imagemask eq{ /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor }{ invert_image_samples }ifelse }{ [ /Separation Name [/DeviceGray] { sep_colorspace_proc AGMCORE_get_ink_data 1 exch sub } bind ] AGMCORE_&setcolorspace /sep_tint AGMCORE_gget AGMCORE_&setcolor }ifelse currentdict imageormask_sys }{ currentdict Operator /imagemask eq{ imageormask_sys }{ sep_image_lev1_sep }ifelse }ifelse }{ Operator/imagemask ne{ invert_image_samples }if currentdict imageormask_sys }ifelse }{ currentoverprint not Name (All) eq or Operator/imagemask eq and{ currentdict imageormask_sys }{ currentoverprint not { gsave knockout_unitsq grestore }if currentdict consumeimagedata }ifelse }ifelse }ifelse }{ currentcolorspace 0 get /Separation ne{ [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt /sep_tint AGMCORE_gget setcolor }if currentoverprint MappedCSA 0 get /DeviceCMYK eq and Name AGMCORE_IsSeparationAProcessColor not and Name inRip_spot_has_ink not and Name (All) ne and { imageormask_l2_overprint }{ currentdict imageormask }ifelse }ifelse }ifelse }ifelse cleartomark restore }ifelse currentdict /_Filters known {_Filters AGMIMG_flushfilters} if end end }def /decode_image_sample { 4 1 roll exch dup 5 1 roll sub 2 4 -1 roll exp 1 sub div mul add } bdf /colorSpaceElemCnt { mark currentcolor counttomark dup 2 add 1 roll cleartomark } bdf /devn_sep_datasource { 1 dict begin /dataSource xdf [ 0 1 dataSource length 1 sub { dup currentdict /dataSource get /exch cvx /get cvx /exec cvx /exch cvx names_index /ne cvx [ /pop cvx ] cvx /if cvx } for ] cvx bind end } bdf /devn_alt_datasource { 11 dict begin /convProc xdf /origcolorSpaceElemCnt xdf /origMultipleDataSources xdf /origBitsPerComponent xdf /origDecode xdf /origDataSource xdf /dsCnt origMultipleDataSources {origDataSource length}{1}ifelse def /DataSource origMultipleDataSources { [ BitsPerComponent 8 idiv origDecode length 2 idiv mul string 0 1 origDecode length 2 idiv 1 sub { dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch origDataSource exch get 0 () /SubFileDecode filter BitsPerComponent 8 idiv string /readstring cvx /pop cvx /putinterval cvx }for ]bind cvx }{origDataSource}ifelse 0 () /SubFileDecode filter def [ origcolorSpaceElemCnt string 0 2 origDecode length 2 sub { dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div 1 BitsPerComponent 8 idiv {DataSource /read cvx /not cvx{0}/if cvx /mul cvx}repeat /mul cvx /add cvx }for /convProc load /exec cvx origcolorSpaceElemCnt 1 sub -1 0 { /dup cvx 2 /add cvx /index cvx 3 1 /roll cvx /exch cvx 255 /mul cvx /cvi cvx /put cvx }for ]bind cvx 0 () /SubFileDecode filter end } bdf /devn_imageormask { /devicen_colorspace_dict AGMCORE_gget begin CSA map_csa 2 dict begin dup /srcDataStrs [ 3 -1 roll begin currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse { Width Decode length 2 div mul cvi { dup 65535 gt {1 add 2 div cvi}{exit}ifelse } loop string } repeat end ] def /dstDataStr srcDataStrs 0 get length string def begin SkipImageProc { currentdict consumeimagedata } { save mark AGMCORE_producing_seps not { level3 not { Operator /imagemask ne { /DataSource [ [ DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse colorSpaceElemCnt /devicen_colorspace_dict AGMCORE_gget /TintTransform get devn_alt_datasource 1 /string cvx /readstring cvx /pop cvx] cvx colorSpaceElemCnt 1 sub{dup}repeat] def /MultipleDataSources true def /Decode colorSpaceElemCnt [ exch {0 1} repeat ] def } if }if currentdict imageormask }{ AGMCORE_host_sep{ Names convert_to_process { CSA get_csa_by_name 0 get /DeviceCMYK eq { /DataSource Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse 4 /devicen_colorspace_dict AGMCORE_gget /TintTransform get devn_alt_datasource filter_cmyk 0 () /SubFileDecode filter def /MultipleDataSources false def /Decode [1 0] def /DeviceGray setcolorspace currentdict imageormask_sys }{ AGMCORE_report_unsupported_color_space AGMCORE_black_plate { /DataSource DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse CSA get_csa_by_name 0 get /DeviceRGB eq{3}{1}ifelse /devicen_colorspace_dict AGMCORE_gget /TintTransform get devn_alt_datasource /MultipleDataSources false def /Decode colorSpaceElemCnt [ exch {0 1} repeat ] def currentdict imageormask_sys } { gsave knockout_unitsq grestore currentdict consumeimagedata } ifelse } ifelse } { /devicen_colorspace_dict AGMCORE_gget /names_index known { Operator/imagemask ne{ MultipleDataSources { /DataSource [ DataSource devn_sep_datasource /exec cvx ] cvx def /MultipleDataSources false def }{ /DataSource /DataSource load dstDataStr srcDataStrs 0 get filter_devn def } ifelse invert_image_samples } if currentdict imageormask_sys }{ currentoverprint not Operator/imagemask eq and{ currentdict imageormask_sys }{ currentoverprint not { gsave knockout_unitsq grestore }if currentdict consumeimagedata }ifelse }ifelse }ifelse }{ currentdict imageormask }ifelse }ifelse cleartomark restore }ifelse currentdict /_Filters known {_Filters AGMIMG_flushfilters} if end end end }def /imageormask_l2_overprint { currentdict currentcmykcolor add add add 0 eq{ currentdict consumeimagedata }{ level3{ currentcmykcolor /AGMIMG_k xdf /AGMIMG_y xdf /AGMIMG_m xdf /AGMIMG_c xdf Operator/imagemask eq{ [/DeviceN [ AGMIMG_c 0 ne {/Cyan} if AGMIMG_m 0 ne {/Magenta} if AGMIMG_y 0 ne {/Yellow} if AGMIMG_k 0 ne {/Black} if ] /DeviceCMYK {}] setcolorspace AGMIMG_c 0 ne {AGMIMG_c} if AGMIMG_m 0 ne {AGMIMG_m} if AGMIMG_y 0 ne {AGMIMG_y} if AGMIMG_k 0 ne {AGMIMG_k} if setcolor }{ /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def [/Indexed [ /DeviceN [ AGMIMG_c 0 ne {/Cyan} if AGMIMG_m 0 ne {/Magenta} if AGMIMG_y 0 ne {/Yellow} if AGMIMG_k 0 ne {/Black} if ] /DeviceCMYK { AGMIMG_k 0 eq {0} if AGMIMG_y 0 eq {0 exch} if AGMIMG_m 0 eq {0 3 1 roll} if AGMIMG_c 0 eq {0 4 1 roll} if } ] 255 { 255 div mark exch dup dup dup AGMIMG_k 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop counttomark 1 roll }{ pop }ifelse AGMIMG_y 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop counttomark 1 roll }{ pop }ifelse AGMIMG_m 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop counttomark 1 roll }{ pop }ifelse AGMIMG_c 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop counttomark 1 roll }{ pop }ifelse counttomark 1 add -1 roll pop } ] setcolorspace }ifelse imageormask_sys }{ write_image_file{ currentcmykcolor 0 ne{ [/Separation /Black /DeviceGray {}] setcolorspace gsave /Black [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 1 roll pop pop pop 1 exch sub} /exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if 0 ne{ [/Separation /Yellow /DeviceGray {}] setcolorspace gsave /Yellow [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 2 roll pop pop pop 1 exch sub} /exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if 0 ne{ [/Separation /Magenta /DeviceGray {}] setcolorspace gsave /Magenta [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 3 roll pop pop pop 1 exch sub} /exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if 0 ne{ [/Separation /Cyan /DeviceGray {}] setcolorspace gsave /Cyan [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {pop pop pop 1 exch sub} /exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore } if close_image_file }{ imageormask }ifelse }ifelse }ifelse } def /indexed_imageormask { begin save mark currentdict AGMCORE_host_sep{ Operator/knockout eq{ /indexed_colorspace_dict AGMCORE_gget dup /CSA known { /CSA get get_csa_by_name }{ /Names get } ifelse overprint_plate not{ knockout_unitsq }if }{ Indexed_DeviceN { /devicen_colorspace_dict AGMCORE_gget /names_index known { indexed_image_lev2_sep }{ currentoverprint not{ knockout_unitsq }if currentdict consumeimagedata } ifelse }{ AGMCORE_is_cmyk_sep{ Operator /imagemask eq{ imageormask_sys }{ level2{ indexed_image_lev2_sep }{ indexed_image_lev1_sep }ifelse }ifelse }{ currentoverprint not{ knockout_unitsq }if currentdict consumeimagedata }ifelse }ifelse }ifelse }{ level2{ Indexed_DeviceN { /indexed_colorspace_dict AGMCORE_gget begin }{ /indexed_colorspace_dict AGMCORE_gget begin CSA get_csa_by_name 0 get /DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and { [/Indexed [/DeviceN [/Cyan /Magenta /Yellow /Black] /DeviceCMYK {}] HiVal Lookup] setcolorspace } if end } ifelse imageormask Indexed_DeviceN { end } if }{ Operator /imagemask eq{ imageormask }{ indexed_imageormask_lev1 }ifelse }ifelse }ifelse cleartomark restore currentdict /_Filters known {_Filters AGMIMG_flushfilters} if end }def /indexed_image_lev2_sep { /indexed_colorspace_dict AGMCORE_gget begin begin Indexed_DeviceN not { currentcolorspace dup 1 /DeviceGray put dup 3 currentcolorspace 2 get 1 add string 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub { dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put }for put setcolorspace } if currentdict Operator /imagemask eq{ AGMIMG_&imagemask }{ use_mask { level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse }{ AGMIMG_&image }ifelse }ifelse end end }def /OPIimage { dup type /dicttype ne{ 10 dict begin /DataSource xdf /ImageMatrix xdf /BitsPerComponent xdf /Height xdf /Width xdf /ImageType 1 def /Decode [0 1 def] currentdict end }if dup begin /NComponents 1 cdndf /MultipleDataSources false cdndf /SkipImageProc {false} cdndf /HostSepColorImage false cdndf /Decode [ 0 currentcolorspace 0 get /Indexed eq{ 2 BitsPerComponent exp 1 sub }{ 1 }ifelse ] cdndf /Operator /image cdndf end /sep_colorspace_dict AGMCORE_gget null eq{ imageormask }{ gsave dup begin invert_image_samples end sep_imageormask grestore }ifelse }def /cachemask_level2 { 3 dict begin /LZWEncode filter /WriteFilter xdf /readBuffer 256 string def /ReadFilter currentfile 0 (%EndMask) /SubFileDecode filter /ASCII85Decode filter /RunLengthDecode filter def { ReadFilter readBuffer readstring exch WriteFilter exch writestring not {exit} if }loop WriteFilter closefile end }def /cachemask_level3 { currentfile << /Filter [ /SubFileDecode /ASCII85Decode /RunLengthDecode ] /DecodeParms [ << /EODCount 0 /EODString (%EndMask) >> null null ] /Intent 1 >> /ReusableStreamDecode filter }def /spot_alias { /mapto_sep_imageormask { dup type /dicttype ne{ 12 dict begin /ImageType 1 def /DataSource xdf /ImageMatrix xdf /BitsPerComponent xdf /Height xdf /Width xdf /MultipleDataSources false def }{ begin }ifelse /Decode [/customcolor_tint AGMCORE_gget 0] def /Operator /image def /HostSepColorImage false def /SkipImageProc {false} def currentdict end sep_imageormask }bdf /customcolorimage { Adobe_AGM_Image/AGMIMG_colorAry xddf /customcolor_tint AGMCORE_gget << /Name AGMIMG_colorAry 4 get /CSA [ /DeviceCMYK ] /TintMethod /Subtractive /TintProc null /MappedCSA null /NComponents 4 /Components [ AGMIMG_colorAry aload pop pop ] >> setsepcolorspace mapto_sep_imageormask }ndf Adobe_AGM_Image/AGMIMG_&customcolorimage /customcolorimage load put /customcolorimage { Adobe_AGM_Image/AGMIMG_override false put current_spot_alias{dup 4 get map_alias}{false}ifelse { false set_spot_alias /customcolor_tint AGMCORE_gget exch setsepcolorspace pop mapto_sep_imageormask true set_spot_alias }{ AGMIMG_&customcolorimage }ifelse }bdf }def /snap_to_device { 6 dict begin matrix currentmatrix dup 0 get 0 eq 1 index 3 get 0 eq and 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop { 1 1 dtransform 0 gt exch 0 gt /AGMIMG_xSign? exch def /AGMIMG_ySign? exch def 0 0 transform AGMIMG_ySign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch AGMIMG_xSign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch itransform /AGMIMG_llY exch def /AGMIMG_llX exch def 1 1 transform AGMIMG_ySign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch AGMIMG_xSign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch itransform /AGMIMG_urY exch def /AGMIMG_urX exch def [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY] concat }{ }ifelse end } def level2 not{ /colorbuf { 0 1 2 index length 1 sub{ dup 2 index exch get 255 exch sub 2 index 3 1 roll put }for }def /tint_image_to_color { begin Width Height BitsPerComponent ImageMatrix /DataSource load end Adobe_AGM_Image begin /AGMIMG_mbuf 0 string def /AGMIMG_ybuf 0 string def /AGMIMG_kbuf 0 string def { colorbuf dup length AGMIMG_mbuf length ne { dup length dup dup /AGMIMG_mbuf exch string def /AGMIMG_ybuf exch string def /AGMIMG_kbuf exch string def } if dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop } addprocs {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf} true 4 colorimage end } def /sep_imageormask_lev1 { begin MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ { 255 mul round cvi GrayLookup exch get } currenttransfer addprocs settransfer currentdict imageormask }{ /sep_colorspace_dict AGMCORE_gget/Components known{ MappedCSA 0 get /DeviceCMYK eq{ Components aload pop }{ 0 0 0 Components aload pop 1 exch sub }ifelse Adobe_AGM_Image/AGMIMG_k xddf Adobe_AGM_Image/AGMIMG_y xddf Adobe_AGM_Image/AGMIMG_m xddf Adobe_AGM_Image/AGMIMG_c xddf AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ {AGMIMG_k mul 1 exch sub} currenttransfer addprocs settransfer currentdict imageormask }{ currentcolortransfer {AGMIMG_k mul 1 exch sub} exch addprocs 4 1 roll {AGMIMG_y mul 1 exch sub} exch addprocs 4 1 roll {AGMIMG_m mul 1 exch sub} exch addprocs 4 1 roll {AGMIMG_c mul 1 exch sub} exch addprocs 4 1 roll setcolortransfer currentdict tint_image_to_color }ifelse }{ MappedCSA 0 get /DeviceGray eq { {255 mul round cvi ColorLookup exch get 0 get} currenttransfer addprocs settransfer currentdict imageormask }{ MappedCSA 0 get /DeviceCMYK eq { currentcolortransfer {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} exch addprocs 4 1 roll setcolortransfer currentdict tint_image_to_color }{ currentcolortransfer {pop 1} exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 2 get} exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 1 get} exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 0 get} exch addprocs 4 1 roll setcolortransfer currentdict tint_image_to_color }ifelse }ifelse }ifelse }ifelse end }def /sep_image_lev1_sep { begin /sep_colorspace_dict AGMCORE_gget/Components known{ Components aload pop Adobe_AGM_Image/AGMIMG_k xddf Adobe_AGM_Image/AGMIMG_y xddf Adobe_AGM_Image/AGMIMG_m xddf Adobe_AGM_Image/AGMIMG_c xddf {AGMIMG_c mul 1 exch sub} {AGMIMG_m mul 1 exch sub} {AGMIMG_y mul 1 exch sub} {AGMIMG_k mul 1 exch sub} }{ {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} }ifelse AGMCORE_get_ink_data currenttransfer addprocs settransfer currentdict imageormask_sys end }def /indexed_imageormask_lev1 { /indexed_colorspace_dict AGMCORE_gget begin begin currentdict MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ {HiVal mul round cvi GrayLookup exch get HiVal div} currenttransfer addprocs settransfer imageormask }{ MappedCSA 0 get /DeviceGray eq { {HiVal mul round cvi Lookup exch get HiVal div} currenttransfer addprocs settransfer imageormask }{ MappedCSA 0 get /DeviceCMYK eq { currentcolortransfer {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll setcolortransfer tint_image_to_color }{ currentcolortransfer {pop 1} exch addprocs 4 1 roll {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div} exch addprocs 4 1 roll {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div} exch addprocs 4 1 roll {3 mul HiVal mul round cvi Lookup exch get HiVal div} exch addprocs 4 1 roll setcolortransfer tint_image_to_color }ifelse }ifelse }ifelse end end }def /indexed_image_lev1_sep { /indexed_colorspace_dict AGMCORE_gget begin begin {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} AGMCORE_get_ink_data currenttransfer addprocs settransfer currentdict imageormask_sys end end }def }if end systemdict /setpacking known { setpacking } if %%EndResource currentdict Adobe_AGM_Utils eq {end} if %%EndProlog %%BeginSetup Adobe_AGM_Utils begin 2 2010 Adobe_AGM_Core/doc_setup get exec Adobe_CoolType_Core/doc_setup get exec Adobe_AGM_Image/doc_setup get exec currentdict Adobe_AGM_Utils eq {end} if %%EndSetup %%Page: (Page 1) 1 %%EndPageComments %%BeginPageSetup /currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: MacOS Roman +%%Title: GOsa-logo.eps +%%Creator: Adobe Illustrator(R) 12 +%%AI8_CreatorVersion: 12.0.1 +%AI9_PrintingDataBegin +%%For: stephan heller +%%CreationDate: 09.02.2009 +%%BoundingBox: 0 0 1191 347 +%%HiResBoundingBox: 0 0 1190.5879 346.9991 +%%CropBox: 0 0 1190.5879 346.9991 +%%LanguageLevel: 2 +%%DocumentData: Clean7Bit +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.19 0 +%%+ procset Adobe_CoolType_Core 2.23 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentFonts: +%%DocumentNeededFonts: +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentCustomColors: +%%CMYKCustomColor: +%%RGBCustomColor: +%ADO_BuildNumber: Adobe Illustrator(R) 12.0.1 x5205 R agm 4.3861 ct 5.530 +%ADO_ContainsXMP: MainFirst +%AI7_Thumbnail: 128 40 8 +%%BeginData: 6528 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDFCFFFDFCFFFD96FFA8A9A8A8A8FD1DFFA8A87EA87EA9A8AFA8FD +%0FFFA87E5354535353A8A8FD3AFFAFA8535328FD04295A7EFD17FF7E5329 +%2F2929282929292853FD0DFF7E2F29282928292829285353AFFD37FF7E53 +%01292829282928290129297EAFFD11FFA853282928292829282928292829 +%2FFD0BFF7E53062928292829282928292829287EFD35FF53292853292928 +%292929285329292854A9FD0FFF7E2F2853292F2953292F2953292F287EFD +%0AFF7E29292F2953292F2953292F29532929287EFD33FF29292829282929 +%53537E5353062928290653A8FD0DFF532928292829282928292829282928 +%2953FD09FF532928292829282928292829282928292829017EFD32FF5328 +%2F28537EFD06FFA853FD0429FD0DFF7E292853292928532929282F292928 +%2F287EFD08FF592929292853292928292829282F29292853292928AFFD32 +%FF53017EA8FD09FF592928A9FD0CFF7E2928292829282928290629282928 +%2906297EFD07FF7E292829282928292853537E7D53282928292829282953 +%FD22FFA87EA9FD0DFFA8A8FFFFFFA953532F547EFFFFFF7EA9FD0CFFA853 +%2953295329532829537E7EA97EA87EA97EFD08FF532853292F29292FA9FD +%05FFA929292953292F2953FD20FFA85328292954A9FD09FFA92FFFFFFFA8 +%53062928292829287EFFFFFF7E7EFD0AFF5306292829282928537EFD10FF +%A828292829282928FD08FFA828292829282906A8FD1EFFA8290629532901 +%53FD08FFA92829FFFFA95328292853292928292884FFFF53297EFD09FF29 +%292853292F2853A9FD11FF532929292853287EFD09FF5329292853292953 +%FD1EFFA828297EFF532953FD07FFA9282929FFFF53012928292829282928 +%2928A9FF7E01297EFD07FF53292829282928297EFFFFFFA8FFA8FFA8FFA8 +%FFA8FFA8FFA8FFA82928292829282FA8FD09FF5329282928292853FD1EFF +%A8A97EFFA82F0153FD07FF29292854FFA9287E29292953295328537E2953 +%FF7E292853A8FD06FF53292F2953292953FD04FF7E2F532F5353532F5353 +%53297EFF842853292F292953FD0AFFA8282F2953292953FD07FFA9FD19FF +%A953282984FD06FF2929282928A82F287EFF2829282928297EFF28297E54 +%28292829A8FD04FFA928292829282928A8FD04FF28292829282928292829 +%282953FF53292829282906A8FD0AFF7E29282928292853FD04FF7E7E5353 +%295353A9FD06FFA87E5353295353A9FD06FF7E2906297DFD06FFFD042953 +%A97EA9A8FFFFAF292928537EFFFFA9A8A8A87E29292853A8FFFFFF7E2928 +%5329292853FD04FFA92F28532929285329292853287EFF53292928532929 +%A8FD0AFFA828532929282953FFFFFF532928292829282929A8FD04FF7E53 +%282928292929287EFD04FF7E292853A8FD06FF29292829017EFD07FF7E28 +%2953FD07FF7E2928290153FFFFFF7E06292829282953FD04FFA928292829 +%282928292829282953FF28292829282928FD0BFF7E29282928290654FFFF +%5329282929532929282928A9FFFF7E290629282F2829282928AFFFFF7E29 +%28297EFFA8FD05FFA9FD04297EFFA8FD05FF53292953A8FD06FFA8292F28 +%2FA8FFFFFF7E292953292F287EFD04FFA8292953292F2953292F2953287E +%FF53292F29532953FD0BFF7E2853292F29297EFFA82F29297EFFFFFF5929 +%29297EFFFF53282929A9FFFF532929297EFFA953292929532953A9FD05FF +%A9282928292FA85329A8FF29292829282FA8FF292F7E53282928297EFD04 +%FF7E06292829282953FD04FF840129012928292829282928297EFF282928 +%29282929FD0BFF53292829282906A8FF7E0629287EFD04FF7EA8A8FFFFFF +%7EA87DA8FFFFFFA928290684FFA8282F2829282953FD07FFA929292853FF +%A8017E53292853292F28537E2929FF7E2928297EFD05FF7E292929285329 +%53A9FFFFFF7E54537E537E2F292853292928A9FF53285329292853A9FD09 +%FFA853292928532929A8FF8429282F297E7EFD0FFF532929297EFFFFFFA8 +%FFA9FFA8FD09FFA8282929FFFF530129282928292829282906A8FF7E0629 +%53FD06FFA8062928292829287EFD09FF7E282928292829A8FF2929282928 +%2901A8FD09FF7E01292829282953FFFFFF2929282906292853A8FD05FFA8 +%7E535329532829282928A8FD12FFA82853FFFFA82929532953292F295328 +%7EFFFF7E297EFD07FFA853292F2953292929FD09FF2929295329292FFFFF +%7E2853292F292953FD09FF2953292F295328A8FFFFFFA92929292F292F28 +%297EFFFFFFA85328290629282F29532953FD14FF7E28FFFFFF7E29282928 +%2928290154FFFFFF7E53FD09FF292928292829282929FD07FF5329282928 +%29287EFFFF7E292829282928297EFD07FF2929282928292853FD06FF7D53 +%2829282928297EFFA92F062928537EA9A82F282953FD15FFA9A87EFFFFA8 +%7E29292853537EFFFF7EA8A8FD0AFF7E2853292928532929297EA8FFA8A8 +%5329285329292829A8FFFFFF29292853292928297EFFA9FFA9A8FD042928 +%5329297EFD08FFA959532853287EFFA9282928A9FD04FF29292884FD16FF +%530153A8FFFFFFA8A8A8FFFFFF7E2928A9FD0AFFA8292829282928292829 +%01292829062928292829282929FD04FF7E0629282928292829282F282F28 +%2928292829282953FFFFFF7E7E53A8FD04FF7E29282953FF7D292853FD04 +%FF7D2928297EFD15FF53285329537EFD06FFA953FD0429FD0BFF7E292953 +%2953292F2953292F2953292F2953292928A9FD04FFAF532853292F295329 +%2F282F292F2953292F292953FFFFFFA829282929FD04FF842853287EFFA8 +%282929FFFFFFA853292929FD16FF2929282928292853537E535328292829 +%2829A8FD0BFF532928292829282928292829282928292829067EFD06FF7E +%292829282928292829282928292829282929FD05FF53292829297E595428 +%292829A8FF7E292829297E59290629282FA9FD16FF532928532929282928 +%29282F29292853A8FD0DFF7E292829285329292853292928532929287EFD +%08FF7E29282F29292853292928532929282953FD07FF5329282928292829 +%282F84FFFFFFFD042901292953282929FD18FF7D29012928292829282928 +%29287EA8FD0FFF8453282906292829282928290629287EFD0AFFA8530129 +%2829282928292829062F7DFD09FF7D5328292829287EA8FD04FFA9292928 +%2953A97E292853A8FD18FFA87E532F28292929285359A9FD13FFA9595429 +%29282F292929547EFD0EFFA95353292F29292953537EA9FD0DFFA8A9A8FD +%09FFA8A9A8FFFFFFAFFD1EFFA8A87EA87EA9A8FD19FFA8A87EA9A8FD13FF +%A9A97EA9A8A9A8FDFCFFFDFCFFFDFCFFFD3EFFFF +%%EndData +%%EndComments +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc. All Rights Reserved. +systemdict /setpacking known +{ + currentpacking + true setpacking +} if +userdict /Adobe_AGM_Utils 70 dict dup begin put +/bdf +{ + bind def +} bind def +/nd{ + null def +}bdf +/xdf +{ + exch def +}bdf +/ldf +{ + load def +}bdf +/ddf +{ + put +}bdf +/xddf +{ + 3 -1 roll put +}bdf +/xpt +{ + exch put +}bdf +/ndf +{ + exch dup where{ + pop pop pop + }{ + xdf + }ifelse +}def +/cdndf +{ + exch dup currentdict exch known{ + pop pop + }{ + exch def + }ifelse +}def +/ps_level + /languagelevel where{ + pop systemdict /languagelevel get exec + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr} stopped { + -1 + }if +def +/set_gvm +{ + currentglobal exch setglobal +}bdf +/reset_gvm +{ + setglobal +}bdf +/makereadonlyarray +{ + /packedarray where{ + pop packedarray + }{ + array astore readonly + }ifelse +}bdf +/map_reserved_ink_name +{ + dup type /stringtype eq{ + dup /Red eq{ + pop (_Red_) + }{ + dup /Green eq{ + pop (_Green_) + }{ + dup /Blue eq{ + pop (_Blue_) + }{ + dup () cvn eq{ + pop (Process) + }if + }ifelse + }ifelse + }ifelse + }if +}bdf +/AGMUTIL_GSTATE 22 dict def +/get_gstate +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_clr_spc currentcolorspace def + /AGMUTIL_GSTATE_clr_indx 0 def + /AGMUTIL_GSTATE_clr_comps 12 array def + mark currentcolor counttomark + {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop + /AGMUTIL_GSTATE_fnt rootfont def + /AGMUTIL_GSTATE_lw currentlinewidth def + /AGMUTIL_GSTATE_lc currentlinecap def + /AGMUTIL_GSTATE_lj currentlinejoin def + /AGMUTIL_GSTATE_ml currentmiterlimit def + currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf + /AGMUTIL_GSTATE_sa currentstrokeadjust def + /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def + /AGMUTIL_GSTATE_op currentoverprint def + /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def + /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def + currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf + cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf + /AGMUTIL_GSTATE_ht currenthalftone def + /AGMUTIL_GSTATE_flt currentflat def + end +}def +/set_gstate +{ + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_clr_spc setcolorspace + AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor + AGMUTIL_GSTATE_fnt setfont + AGMUTIL_GSTATE_lw setlinewidth + AGMUTIL_GSTATE_lc setlinecap + AGMUTIL_GSTATE_lj setlinejoin + AGMUTIL_GSTATE_ml setmiterlimit + AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash + AGMUTIL_GSTATE_sa setstrokeadjust + AGMUTIL_GSTATE_clr_rnd setcolorrendering + AGMUTIL_GSTATE_op setoverprint + AGMUTIL_GSTATE_bg cvx setblackgeneration + AGMUTIL_GSTATE_ucr cvx setundercolorremoval + AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx + AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer + AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or + { + currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne + { + mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark + } if + }{ + AGMUTIL_GSTATE_ht sethalftone + } ifelse + AGMUTIL_GSTATE_flt setflat + end +}def +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup /HalftoneType get 3 eq + { + sethalftone currenthalftone + } + { + begin + Width Height mul { + Thresholds read {pop} if + } repeat + end + currenthalftone + } ifelse + }ifelse +} def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%) anchorsearch {pop} if +} bdf +/filter_cmyk +{ + dup type /filetype ne{ + exch () /SubFileDecode filter + } + { + exch pop + } + ifelse + [ + exch + { + AGMUTIL_src256 readstring pop + dup length /AGMUTIL_srcLen exch def + /AGMUTIL_ndx 0 def + AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ + 1 index exch get + AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put + /AGMUTIL_ndx AGMUTIL_ndx 1 add def + }for + pop + AGMUTIL_dst64 0 AGMUTIL_ndx getinterval + } + bind + /exec cvx + ] cvx +} bdf +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +} bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type /filetype ne{ + 0 () /SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict /AGMCORE_gget cvx /begin cvx + currentdict /srcStr get /readstring cvx /pop cvx + /dup cvx /length cvx 0 /gt cvx [ + Adobe_AGM_Utils /AGMUTIL_ndx 0 /ddf cvx + names_index Names length currentdict /srcStr get length 1 sub { + 1 /index cvx /exch cvx /get cvx + currentdict /dstStr get /AGMUTIL_ndx /load cvx 3 -1 /roll cvx /put cvx + Adobe_AGM_Utils /AGMUTIL_ndx /AGMUTIL_ndx /load cvx 1 /add cvx /ddf cvx + } for + currentdict /dstStr get 0 /AGMUTIL_ndx /load cvx /getinterval cvx + ] cvx /if cvx + /end cvx + ] cvx + bind + /exec cvx + ] cvx + end +} bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict /DataSource get def + /origMultipleDataSources imageDict /MultipleDataSources get def + /origDecode imageDict /Decode get def + /dstDataStr imageDict /Width get colorSpaceElemCnt mul string def + imageDict /MultipleDataSources known {MultipleDataSources}{false} ifelse + { + /imbufCnt imageDict /DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub { + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict /DataSource get imbufIdx [ AGMUTIL_imagefile imbufs imbufIdx get /readstring cvx /pop cvx ] cvx put + } for + DeviceN_PS2 { + imageDict begin + /DataSource [ DataSource /devn_sep_datasource cvx ] cvx def + /MultipleDataSources false def + /Decode [0 1] def + end + } if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or { + /srcDataStrs [ imageDict begin + currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse + { + Width Decode length 2 div mul cvi string + } repeat + end ] def + imageDict begin + /DataSource [AGMUTIL_imagefile Decode BitsPerComponent false 1 /filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource /exec cvx] cvx def + /Decode [0 1] def + end + }{ + imageDict /DataSource [1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx /pop cvx names_index /get cvx /put cvx] cvx put + imageDict /Decode [0 1] put + } ifelse + } ifelse + imageDict exch + load exec + imageDict /DataSource origDataSource put + imageDict /MultipleDataSources origMultipleDataSources put + imageDict /Decode origDecode put + end +} bdf +/write_image_file +{ + begin + { (AGMUTIL_imagefile) (w+) file } stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources {DataSource 0 get}{DataSource}ifelse type /filetype eq { + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources { + 0 1 DataSource length 1 sub { + DataSource type dup + /arraytype eq { + pop DataSource exch get exec + }{ + /filetype eq { + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + } ifelse + } ifelse + AGMUTIL_imagefile exch writestring + } for + }{ + DataSource type dup + /arraytype eq { + pop DataSource exec + }{ + /filetype eq { + DataSource imbuf readstring pop + }{ + DataSource + } ifelse + } ifelse + AGMUTIL_imagefile exch writestring + } ifelse + }for + end + true + }ifelse + end +} bdf +/close_image_file +{ + AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile +}def +statusdict /product known userdict /AGMP_current_show known not and{ + /pstr statusdict /product get def + pstr (HP LaserJet 2200) eq + pstr (HP LaserJet 4000 Series) eq or + pstr (HP LaserJet 4050 Series ) eq or + pstr (HP LaserJet 8000 Series) eq or + pstr (HP LaserJet 8100 Series) eq or + pstr (HP LaserJet 8150 Series) eq or + pstr (HP LaserJet 5000 Series) eq or + pstr (HP LaserJet 5100 Series) eq or + pstr (HP Color LaserJet 4500) eq or + pstr (HP Color LaserJet 4600) eq or + pstr (HP LaserJet 5Si) eq or + pstr (HP LaserJet 1200 Series) eq or + pstr (HP LaserJet 1300 Series) eq or + pstr (HP LaserJet 4100 Series) eq or + { + userdict /AGMP_current_show /show load put + userdict /show { + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show} ifelse + } put + }if + currentdict /pstr undef +} if +/consumeimagedata +{ + begin + currentdict /MultipleDataSources known not + {/MultipleDataSources false def} if + MultipleDataSources + { + DataSource 0 get type + dup /filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup /arraytype eq exch /packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch get exec length exch 0 ne {pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup /filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height { pop DataSource flushbuffer readstring pop pop} for + end + }if + dup /arraytype eq exch /packedarraytype eq or /DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + }ifelse + end +}bdf +/addprocs +{ + 2{/exec load}repeat + 3 1 roll + [ 5 1 roll ] bind cvx +}def +/modify_halftone_xfer +{ + currenthalftone dup length dict copy begin + currentdict 2 index known{ + 1 index load dup length dict copy begin + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs /TransferFunction xdf + currentdict end def + currentdict end sethalftone + }{ + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs /TransferFunction xdf + currentdict end sethalftone + pop + }ifelse +}def +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type /dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + } if + dup type /arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + } if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch {cvx} if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type /dicttype eq + { + clonedict + } if + dup type /arraytype eq + { + clonearray + } if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get /DeviceN eq level3 not and +} bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne { + dup /CSDBase known { + /CSDBase get /CSD get_res /Names known + }{ + pop false + }ifelse + }{ + pop false + } ifelse +} bdf +/DeviceN_NoneName +{ + /Names where { + pop + false Names + { + (None) eq or + } forall + }{ + false + }ifelse +} bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup /arraytype eq exch /packedarraytype eq or + { + dup 0 get /DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + } + { + true + }ifelse + } + { + true + } ifelse + } + { + true + } ifelse +} bdf +/base_colorspace_type +{ + dup type /arraytype eq {0 get} if +} bdf +/currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5 {cleartomark} bind def +}{ + /pdfmark_5 {pdfmark} bind def +}ifelse +/ReadBypdfmark_5 +{ + 2 dict begin + /makerString exch def string /tmpString exch def + { + currentfile tmpString readline pop + makerString anchorsearch + { + pop pop cleartomark exit + }{ + 3 copy /PUT pdfmark_5 pop 2 copy (\n) /PUT pdfmark_5 + } ifelse + }loop + end +} bdf +/doc_setup{ + Adobe_AGM_Utils begin +}bdf +/doc_trailer{ + currentdict Adobe_AGM_Utils eq{ + end + }if +}bdf +systemdict /setpacking known +{ + setpacking +} if +%%EndResource +%%BeginResource: procset Adobe_AGM_Core 2.0 0 +%%Version: 2.0 0 +%%Copyright: Copyright (C) 1997-2005 Adobe Systems, Inc. All Rights Reserved. +%% Note: This procset assumes Adobe_AGM_Utils is opened on the stack below it, for +%% definitions of some fundamental procedures. +systemdict /setpacking known +{ + currentpacking + true setpacking +} if +userdict /Adobe_AGM_Core 201 dict dup begin put +/Adobe_AGM_Core_Id /Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 256 string def +/AGMCORE_save nd +/AGMCORE_graphicsave nd +/AGMCORE_c 0 def +/AGMCORE_m 0 def +/AGMCORE_y 0 def +/AGMCORE_k 0 def +/AGMCORE_cmykbuf 4 array def +/AGMCORE_screen [currentscreen] cvx def +/AGMCORE_tmp 0 def +/AGMCORE_&setgray nd +/AGMCORE_&setcolor nd +/AGMCORE_&setcolorspace nd +/AGMCORE_&setcmykcolor nd +/AGMCORE_cyan_plate nd +/AGMCORE_magenta_plate nd +/AGMCORE_yellow_plate nd +/AGMCORE_black_plate nd +/AGMCORE_plate_ndx nd +/AGMCORE_get_ink_data nd +/AGMCORE_is_cmyk_sep nd +/AGMCORE_host_sep nd +/AGMCORE_avoid_L2_sep_space nd +/AGMCORE_distilling nd +/AGMCORE_composite_job nd +/AGMCORE_producing_seps nd +/AGMCORE_ps_level -1 def +/AGMCORE_ps_version -1 def +/AGMCORE_environ_ok nd +/AGMCORE_CSD_cache 0 dict def +/AGMCORE_currentoverprint false def +/AGMCORE_deltaX nd +/AGMCORE_deltaY nd +/AGMCORE_name nd +/AGMCORE_sep_special nd +/AGMCORE_err_strings 4 dict def +/AGMCORE_cur_err nd +/AGMCORE_current_spot_alias false def +/AGMCORE_inverting false def +/AGMCORE_feature_dictCount nd +/AGMCORE_feature_opCount nd +/AGMCORE_feature_ctm nd +/AGMCORE_ConvertToProcess false def +/AGMCORE_Default_CTM matrix def +/AGMCORE_Default_PageSize nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_in_pattern false def +/AGMCORE_currentpagedevice nd +/knockout_unitsq nd +currentglobal true setglobal +[/CSA /Gradient /Procedure] +{ + /Generic /Category findresource dup length dict copy /Category defineresource pop +} forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /CompareBuffer 3 -1 roll def + /readbuffer 256 string def + mark + { + currentfile readbuffer {readline} stopped + {cleartomark mark} + { + not + {pop exit} + if + CompareBuffer eq + {exit} + if + }ifelse + }loop + cleartomark + end + restore +}bdf +/getspotfunction +{ + AGMCORE_screen exch pop exch pop + dup type /dicttype eq{ + dup /HalftoneType get 1 eq{ + /SpotFunction get + }{ + dup /HalftoneType get 2 eq{ + /GraySpotFunction get + }{ + pop + { + abs exch abs 2 copy add 1 gt{ + 1 sub dup mul exch 1 sub dup mul add 1 sub + }{ + dup mul exch dup mul add 1 exch sub + }ifelse + }bind + }ifelse + }ifelse + }if +} def +/clp_npth +{ + clip newpath +} def +/eoclp_npth +{ + eoclip newpath +} def +/npth_clp +{ + newpath clip +} def +/graphic_setup +{ + /AGMCORE_graphicsave save def + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + [] 0 setdash + 10 setmiterlimit + newpath + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias get exec + /Adobe_AGM_Image where { + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + get exec + }{ + pop pop + }ifelse + } if + 100 dict begin + /dictstackcount countdictstack def + /showpage {} def + mark +} def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub {end}for + end + AGMCORE_graphicsave restore +} def +/compose_error_msg +{ + grestoreall initgraphics + /Helvetica findfont 10 scalefont setfont + /AGMCORE_deltaY 100 def + /AGMCORE_deltaX 310 def + clippath pathbbox newpath pop pop 36 add exch 36 add exch moveto + 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto + 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath + 0 AGMCORE_&setgray + gsave 1 AGMCORE_&setgray fill grestore + 1 setlinewidth gsave stroke grestore + currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto + /AGMCORE_deltaY 12 def + /AGMCORE_tmp 0 def + AGMCORE_err_strings exch get + { + dup 32 eq + { + pop + AGMCORE_str256 0 AGMCORE_tmp getinterval + stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt + { + currentpoint AGMCORE_deltaY sub exch pop + clippath pathbbox pop pop pop 44 add exch moveto + } if + AGMCORE_str256 0 AGMCORE_tmp getinterval show ( ) show + 0 1 AGMCORE_str256 length 1 sub + { + AGMCORE_str256 exch 0 put + }for + /AGMCORE_tmp 0 def + } + { + AGMCORE_str256 exch AGMCORE_tmp xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + } ifelse + } forall +} bdf +/doc_setup{ + Adobe_AGM_Core begin + /AGMCORE_ps_version xdf + /AGMCORE_ps_level xdf + errordict /AGM_handleerror known not{ + errordict /AGM_handleerror errordict /handleerror get put + errordict /handleerror { + Adobe_AGM_Core begin + $error /newerror get AGMCORE_cur_err null ne and{ + $error /newerror false put + AGMCORE_cur_err compose_error_msg + }if + $error /newerror true put + end + errordict /AGM_handleerror get exec + } bind put + }if + /AGMCORE_environ_ok + ps_level AGMCORE_ps_level ge + ps_version AGMCORE_ps_version ge and + AGMCORE_ps_level -1 eq or + def + AGMCORE_environ_ok not + {/AGMCORE_cur_err /AGMCORE_bad_environ def} if + /AGMCORE_&setgray systemdict/setgray get def + level2{ + /AGMCORE_&setcolor systemdict/setcolor get def + /AGMCORE_&setcolorspace systemdict/setcolorspace get def + }if + /AGMCORE_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product (Adobe PostScript Parser) ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 32 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 10 def + /AGMCORE_&gsave /gsave ldf + /AGMCORE_&grestore /grestore ldf + /AGMCORE_&grestoreall /grestoreall ldf + /AGMCORE_&save /save ldf + /AGMCORE_&setoverprint /setoverprint ldf + /AGMCORE_gdictcopy { + begin + { def } forall + end + }def + /AGMCORE_gput { + AGMCORE_gstack AGMCORE_gstackptr get + 3 1 roll + put + }def + /AGMCORE_gget { + AGMCORE_gstack AGMCORE_gstackptr get + exch + get + }def + /gsave { + AGMCORE_&gsave + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge {limitcheck} if + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore { + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt {1 add} if + dup AGMCORE_gstack exch get dup /AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall { + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save { + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge {limitcheck} if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup /AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub { + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + } for + }if + level3 /AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern /makepattern load def + }if + /currentcmykcolor [0 0 0 0] AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace [/DeviceGray] AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent () AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + << + /MaxPatternItem currentsystemparams /MaxPatternCache get + >> + setuserparams + end +}def +/page_setup +{ + /setcmykcolor where{ + pop + Adobe_AGM_Core/AGMCORE_&setcmykcolor /setcmykcolor load put + }if + Adobe_AGM_Core begin + /setcmykcolor + { + 4 copy AGMCORE_cmykbuf astore /currentcmykcolor exch AGMCORE_gput + 1 sub 4 1 roll + 3 { + 3 index add neg dup 0 lt { + pop 0 + } if + 3 1 roll + } repeat + setrgbcolor pop + }ndf + /currentcmykcolor + { + /currentcmykcolor AGMCORE_gget aload pop + }ndf + /setoverprint + { + pop + }ndf + /currentoverprint + { + false + }ndf + /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def + /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def + /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def + /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def + /AGMCORE_plate_ndx + AGMCORE_cyan_plate{ + 0 + }{ + AGMCORE_magenta_plate{ + 1 + }{ + AGMCORE_yellow_plate{ + 2 + }{ + AGMCORE_black_plate{ + 3 + }{ + 4 + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.) == + Adobe_AGM_Core /AGMCORE_have_reported_unsupported_color_space true ddf + } if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def + /AGMCORE_in_rip_sep + /AGMCORE_in_rip_sep where{ + pop AGMCORE_in_rip_sep + }{ + AGMCORE_distilling + { + false + }{ + userdict/Adobe_AGM_OnHost_Seps known{ + false + }{ + level2{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def + /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def + /AGM_preserve_spots + /AGM_preserve_spots where{ + pop AGM_preserve_spots + }{ + AGMCORE_distilling AGMCORE_producing_seps or + }ifelse + def + /AGM_is_distiller_preserving_spotimages + { + currentdistillerparams/PreserveOverprintSettings known + { + currentdistillerparams/PreserveOverprintSettings get + { + currentdistillerparams/ColorConversionStrategy known + { + currentdistillerparams/ColorConversionStrategy get + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where {pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias { + /Name get exch pop + } if + dup dup (None) eq exch (All) eq or + { + pop false + }{ + AGMCORE_host_sep + { + gsave + 1 0 0 0 setcmykcolor currentgray 1 exch sub + 0 1 0 0 setcmykcolor currentgray 1 exch sub + 0 0 1 0 setcmykcolor currentgray 1 exch sub + 0 0 0 1 setcmykcolor currentgray 1 exch sub + add add add 0 eq + { + pop false + }{ + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_in_pattern known {//Adobe_AGM_Core/AGMCORE_in_pattern get}{false} ifelse + not AGMCORE_currentpagedevice/OverrideSeparations known and + { + AGMCORE_currentpagedevice/OverrideSeparations get + { + /HqnSpots /ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name /HqnSpots /ProcSet findresource /TestSpot get exec not + }{ + gsave + [/Separation AGMCORE_name /DeviceGray {}]AGMCORE_&setcolorspace + false + AGMCORE_currentpagedevice/SeparationColorNames 2 copy known + { + get + { AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where {pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup (Cyan) eq exch + dup (Magenta) eq 3 -1 roll or exch + dup (Yellow) eq 3 -1 roll or exch + dup (Black) eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup (Cyan) eq exch + dup (Magenta) eq 3 -1 roll or exch + dup (Yellow) eq 3 -1 roll or exch + (Black) eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + dup (Cyan) eq exch + dup (Magenta) eq 3 -1 roll or exch + dup (Yellow) eq 3 -1 roll or exch + dup (Black) eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /AGMCORE_avoid_L2_sep_space + version cvr 2012 lt + level2 and + AGMCORE_producing_seps not and + def + /AGMCORE_is_cmyk_sep + AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or + def + /AGM_avoid_0_cmyk where{ + pop AGM_avoid_0_cmyk + }{ + AGM_preserve_spots + userdict/Adobe_AGM_OnHost_Seps known + userdict/Adobe_AGM_InRip_Seps known or + not and + }ifelse + { + /setcmykcolor[ + { + 4 copy add add add 0 eq currentoverprint and{ + pop 0.0005 + }if + }/exec cvx + /AGMCORE_&setcmykcolor load dup type/operatortype ne{ + /exec cvx + }if + ]cvx def + }if + /AGMCORE_IsSeparationAProcessColor + { + dup (Cyan) eq exch dup (Magenta) eq exch dup (Yellow) eq exch (Black) eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + AGMCORE_cyan_plate{ + pop pop pop + }{ + AGMCORE_magenta_plate{ + 4 3 roll pop pop pop + }{ + AGMCORE_yellow_plate{ + 4 2 roll pop pop pop + }{ + 4 1 roll pop pop pop + }ifelse + }ifelse + }ifelse + settransfer + } + def + /AGMCORE_get_ink_data + AGMCORE_cyan_plate{ + {pop pop pop} + }{ + AGMCORE_magenta_plate{ + {4 3 roll pop pop pop} + }{ + AGMCORE_yellow_plate{ + {4 2 roll pop pop pop} + }{ + {4 1 roll pop pop pop} + }ifelse + }ifelse + }ifelse + def + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup /Cyan eq 1 index (Cyan) eq or + {pop (_cyan_)}if + dup /Magenta eq 1 index (Magenta) eq or + {pop (_magenta_)}if + dup /Yellow eq 1 index (Yellow) eq or + {pop (_yellow_)}if + dup /Black eq 1 index (Black) eq or + {pop (_black_)}if + }def + dup type /arraytype eq + {[exch {filtername}forall]} + {filtername}ifelse + end + }def + level3 { + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup (Cyan) eq exch /Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup (Magenta) eq exch /Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup (Yellow) eq exch /Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup (Black) eq exch /Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type /stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string /string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in /readstring cvx + [component /get cvx 255 /exch cvx /sub cvx string_out /exch cvx 0 /exch cvx /put cvx string_out]cvx + [/pop cvx ()]cvx /ifelse cvx + ]cvx /ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type /dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict /Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode [1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0 [C0 channel get 1 exch sub] def + /C1 [C1 channel get 1 exch sub] def + }{ + /C0 [1] def + /C1 [1] def + }ifelse + }if + FunctionType 3 eq + { + /Functions [Functions {channel paint? AGMCORE_separateShadingFunction} forall] def + }if + currentdict /Range known + {/Range [0 1] def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict /Function known + { + currentdict /Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction /Function xdf + /ColorSpace [/DeviceGray] def + }{ + ColorSpace dup type /arraytype eq {0 get}if /DeviceCMYK eq + { + /ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get /Separation eq + { + { + [1 /exch cvx /sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub /index cvx 1 /exch cvx /sub cvx ColorSpace 1 get length 1 add 1 /roll cvx ColorSpace 1 get length{/pop cvx} repeat]cvx + }{ + pop [ColorSpace 1 get length {/pop cvx} repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2 /DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup /ColorSpace get + dup type /arraytype ne + {[exch]}if + dup 0 get /DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get /Separation eq + { + exch begin + ColorSpace 1 get dup /None ne exch /All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get /exec cvx + 4 AGMCORE_plate_ndx sub -1 /roll cvx + 4 1 /roll cvx + 3 [/pop cvx]cvx /repeat cvx + 1 /exch cvx /sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get /DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get /exec cvx + 4 AGMCORE_plate_ndx sub -1 /roll cvx + 4 1 /roll cvx + 3 [/pop cvx]cvx /repeat cvx + 1 /exch cvx /sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace [/DeviceGray] def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup /DeviceCMYK eq exch dup /Separation eq exch /DeviceN eq or or not + { + exch begin + ColorSpace dup type /arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get /CIEBasedA eq + { + /ColorSpace [/Separation /_ciebaseda_ /DeviceGray {}] def + }if + ColorSpace 0 get dup /CIEBasedABC eq exch dup /CIEBasedDEF eq exch /DeviceRGB eq or or + { + /ColorSpace [/DeviceN [/_red_ /_green_ /_blue_] /DeviceRGB {}] def + }if + ColorSpace 0 get /CIEBasedDEFG eq + { + /ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup /AGMCORE_ignoreshade known + { + begin + /ColorSpace [/Separation (None) /DeviceGray {}] def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup /AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup /PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading /AGMCORE_ignoreshade known + currentdict end exch + {pop <>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }def + }if + }if + AGMCORE_in_rip_sep{ + /setcustomcolor + { + exch aload pop + dup 7 1 roll inRip_spot_has_ink not { + 4 {4 index mul 4 1 roll} + repeat + /DeviceCMYK setcolorspace + 6 -2 roll pop pop + }{ + //Adobe_AGM_Core begin + /AGMCORE_k xdf /AGMCORE_y xdf /AGMCORE_m xdf /AGMCORE_c xdf + end + [/Separation 4 -1 roll /DeviceCMYK + {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} + ] + setcolorspace + }ifelse + setcolor + }ndf + /setseparationgray + { + [/Separation (All) /DeviceGray {}] setcolorspace_opt + 1 exch sub setcolor + }ndf + }{ + /setseparationgray + { + AGMCORE_&setgray + }ndf + }ifelse + /findcmykcustomcolor + { + 5 makereadonlyarray + }ndf + /setcustomcolor + { + exch aload pop pop + 4 {4 index mul 4 1 roll} repeat + setcmykcolor pop + }ndf + /has_color + /colorimage where{ + AGMCORE_producing_seps{ + pop true + }{ + systemdict eq + }ifelse + }{ + false + }ifelse + def + /map_index + { + 1 index mul exch getinterval {255 div} forall + } bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + } bdf + /n_color_components + { + base_colorspace_type + dup /DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo /moveto ldf + /li /lineto ldf + /cv /curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2 /setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace /setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup /arraytype eq exch /packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where { + begin + dup 0 get dup /Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /DeviceN eq + { + dup length array copy + dup dup 1 get [ + exch { + current_spot_alias{ + dup map_alias{ + /Name get exch pop + }if + }if + map_reserved_ink_name + } forall + ] 1 xpt + }if + }ifelse + end + } if + }if + }def + /setcolorspace + { + dup type dup /arraytype eq exch /packedarraytype eq or + { + dup 0 get /Indexed eq + { + AGMCORE_distilling + { + /PhotoshopDuotoneList where + { + pop false + }{ + true + }ifelse + }{ + true + }ifelse + { + aload pop 3 -1 roll + AGMCORE_ReplaceMappedColor + 3 1 roll 4 array astore + }if + }{ + AGMCORE_ReplaceMappedColor + }ifelse + }if + DeviceN_PS2_inRip_seps {AGMCORE_&&&setcolorspace} if + }def + }if + }{ + /adj + { + currentstrokeadjust{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + }if + }def + /mo{ + adj moveto + }def + /li{ + adj lineto + }def + /cv{ + 6 2 roll adj + 6 2 roll adj + 6 2 roll adj curveto + }def + /knockout_unitsq + { + 1 setgray + 8 8 1 [8 0 0 8 0 0] {} image + }def + /currentstrokeadjust{ + /currentstrokeadjust AGMCORE_gget + }def + /setstrokeadjust{ + /currentstrokeadjust exch AGMCORE_gput + }def + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + } def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + } def + /setcolor_devicecolor + { + base_colorspace_type + dup /DeviceGray eq{ + pop setgray + }{ + /DeviceCMYK eq{ + setcmykcolor + }{ + setrgbcolor + }ifelse + }ifelse + }def + /setcolor + { + currentcolorspace 0 get + dup /DeviceGray ne{ + dup /DeviceCMYK ne{ + dup /DeviceRGB ne{ + dup /Separation eq{ + pop + currentcolorspace 3 get exec + currentcolorspace 2 get + }{ + dup /Indexed eq{ + pop + currentcolorspace 3 get dup type /stringtype eq{ + currentcolorspace 1 get n_color_components + 3 -1 roll map_index + }{ + exec + }ifelse + currentcolorspace 1 get + }{ + /AGMCORE_cur_err /AGMCORE_invalid_color_space def + AGMCORE_invalid_color_space + }ifelse + }ifelse + }if + }if + }if + setcolor_devicecolor + } def + }ifelse + /sop /setoverprint ldf + /lw /setlinewidth ldf + /lc /setlinecap ldf + /lj /setlinejoin ldf + /ml /setmiterlimit ldf + /dsh /setdash ldf + /sadj /setstrokeadjust ldf + /gry /setgray ldf + /rgb /setrgbcolor ldf + /cmyk /setcmykcolor ldf + /sep /setsepcolor ldf + /devn /setdevicencolor ldf + /idx /setindexedcolor ldf + /colr /setcolor ldf + /csacrd /set_csa_crd ldf + /sepcs /setsepcolorspace ldf + /devncs /setdevicencolorspace ldf + /idxcs /setindexedcolorspace ldf + /cp /closepath ldf + /clp /clp_npth ldf + /eclp /eoclp_npth ldf + /f /fill ldf + /ef /eofill ldf + /@ /stroke ldf + /nclp /npth_clp ldf + /gset /graphic_setup ldf + /gcln /graphic_cleanup ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin /clonedict load end def + /clonearray Adobe_AGM_Utils begin /clonearray load end def + currentdict{ + dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and { + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type /stringtype eq {indx get} if + exch + Scaling exch get aload pop + 3 1 roll + mul add + } for + ColorSpaceFamily /Separation eq + {sep} + { + ColorSpaceFamily /DeviceN eq + {devn} {setcolor}ifelse + }ifelse + } bdf + /sssetbackground {aload pop setcolor} bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where {pop /setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + newpath + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + newpath + } if + c1x c2x eq + { + c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse + } + { + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if + c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if + } ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + { pathbbox } stopped + { 0 0 0 0 } if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + } + { + /max { 2 copy gt { pop } {exch pop} ifelse } bdf + /min { 2 copy lt { pop } {exch pop} ifelse } bdf + rampdict begin + 40 dict begin + background length 0 gt { background sssetbackground gsave clippath fill grestore } if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + } + { + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + } + { + /AA r2 r1 sub c2y div def + AA -1 eq + { /theta 89.99 def} + { /theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + } + { + /L1maxX 0 def + /L2maxX 0 def + } ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + } ifelse + } ifelse + } ifelse + } if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt { exch } if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + } if + } if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + newpath + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + } + { + 0 + numsteps + { + dup + subsampling { round cvi } if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + } repeat + pop + } ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + } + { + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + } + { + /AA r2 r1 sub c2y div def + AA -1 eq + { /theta 89.99 def} + { /theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + } + { + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + } ifelse + } ifelse + } ifelse + } if + grestore + grestore + end + end + end + } ifelse + } bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where {pop /setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + newpath + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + newpath + } if + x1 x2 eq + { + y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse + } + { + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if + x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + { pathbbox } stopped + { 0 0 0 0 } if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + } + { + rampdict begin + 20 dict begin + background length 0 gt { background sssetbackground gsave clippath fill grestore } if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt { exch } if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + } if + } if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + } if + } if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling { round cvi } if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + } repeat + pop + ext1 { + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + } if + } if + grestore + grestore + end + end + end + } ifelse + } bdf +}def +/page_trailer +{ + end +}def +/doc_trailer{ +}def +/capture_currentpagedevice { + //Adobe_AGM_Core/AGMCORE_currentpagedevice currentpagedevice ddf +} def +systemdict /findcolorrendering known{ + /findcolorrendering systemdict /findcolorrendering get def +}if +systemdict /setcolorrendering known{ + /setcolorrendering systemdict /setcolorrendering get def +}if +/test_cmyk_color_plate +{ + gsave + setcmykcolor currentgray 1 ne + grestore +}def +/inRip_spot_has_ink +{ + dup //Adobe_AGM_Core/AGMCORE_name xddf + convert_spot_to_process not +}def +/map255_to_range +{ + 1 index sub + 3 -1 roll 255 div mul add +}def +/set_csa_crd +{ + /sep_colorspace_dict null AGMCORE_gput + begin + CSA get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name /MappedCSA xdf}ifelse +} def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup /sep_tint exch AGMCORE_gput + TintProc + end +} def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + } for + TintProc + end +} def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + currentdict/Components known{ + Components aload pop + TintMethod/Lab eq{ + 2 {AGMCORE_tmp mul NComponents 1 roll} repeat + LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll + }{ + TintMethod/Subtractive eq{ + NComponents{ + AGMCORE_tmp mul NComponents 1 roll + }repeat + }{ + NComponents{ + 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll + } repeat + }ifelse + }ifelse + }{ + ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get + aload pop + }ifelse + end +} def +/sep_colorspace_gray_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get + end +} def +/sep_proc_name +{ + dup 0 get + dup /DeviceRGB eq exch /DeviceCMYK eq or level2 not and has_color not and{ + pop [/DeviceGray] + /sep_colorspace_gray_proc + }{ + /sep_colorspace_proc + }ifelse +} def +/setsepcolorspace +{ + current_spot_alias{ + dup begin + Name map_alias{ + exch pop + }if + end + }if + dup /sep_colorspace_dict exch AGMCORE_gput + begin + CSA map_csa + /AGMCORE_sep_special Name dup () eq exch (All) eq or store + AGMCORE_avoid_L2_sep_space{ + [/Indexed MappedCSA sep_proc_name 255 exch + { 255 div } /exec cvx 3 -1 roll [ 4 1 roll load /exec cvx ] cvx + ] setcolorspace_opt + /TintProc { + 255 mul round cvi setcolor + }bdf + }{ + MappedCSA 0 get /DeviceCMYK eq + currentdict/Components known and + AGMCORE_sep_special not and{ + /TintProc [ + Components aload pop Name findcmykcustomcolor + /exch cvx /setcustomcolor cvx + ] cvx bdf + }{ + AGMCORE_host_sep Name (All) eq and{ + /TintProc { + 1 exch sub setseparationgray + }bdf + }{ + AGMCORE_in_rip_sep MappedCSA 0 get /DeviceCMYK eq and + AGMCORE_host_sep or + Name () eq and{ + /TintProc [ + MappedCSA sep_proc_name exch 0 get /DeviceCMYK eq{ + cvx /setcmykcolor cvx + }{ + cvx /setgray cvx + }ifelse + ] cvx bdf + }{ + AGMCORE_producing_seps MappedCSA 0 get dup /DeviceCMYK eq exch /DeviceGray eq or and AGMCORE_sep_special not and{ + /TintProc [ + /dup cvx + MappedCSA sep_proc_name cvx exch + 0 get /DeviceGray eq{ + 1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx + }if + /Name cvx /findcmykcustomcolor cvx /exch cvx + AGMCORE_host_sep{ + AGMCORE_is_cmyk_sep + /Name cvx + /AGMCORE_IsSeparationAProcessColor load /exec cvx + /not cvx /and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ] cvx /if cvx + /setcustomcolor cvx + ] cvx bdf + }{ + /TintProc {setcolor} bdf + [/Separation Name MappedCSA sep_proc_name load ] setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +} def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add /index cvx + c1 /get cvx /mul cvx + }for + numarrays 1 add 1 /roll cvx + }for + numarrays [/pop cvx] cvx /repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add /index cvx + c1 /get cvx /sub cvx /mul cvx + }for + /sub cvx + numarrays 1 add 1 /roll cvx + }for + numarrays [/pop cvx] cvx /repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc [ + /TintTransform cvx /setcolor cvx + ] cvx bdf + MappedCSA setcolorspace_opt +} bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length {pop} repeat + end +} bdf +/setdevicencolorspace +{ + dup /AliasedColorants known {false}{true}ifelse + current_spot_alias and { + 7 dict begin + /names_index 0 def + dup /names_len exch /Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup /Names get + { + dup map_alias { + exch pop + dup /ColorLookup known { + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup /Components known { + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index [null null null null] put + end + } ifelse + } ifelse + new_names names_index 3 -1 roll /Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup /LookupTables known { + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index [null null null null] put + end + } ifelse + } ifelse + /names_index names_index 1 add def + } forall + alias_cnt 0 gt { + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge {0 get length}{length}ifelse def + 0 1 names_len 1 sub { + /names_index xdf + new_LookupTables names_index get dup length 256 ge {0 get length}{length}ifelse lut_entry_len ne { + /AliasedColorants false def + exit + } + { + new_LookupTables names_index get 0 get null eq { + dup /Names get names_index get /name xdf + name (Cyan) eq name (Magenta) eq name (Yellow) eq name (Black) eq + or or or not { + /AliasedColorants false def + exit + } if + } if + } ifelse + } for + lut_entry_len 1 eq { + /AliasedColorants false def + } if + AliasedColorants { + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq {/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod /Additive eq {/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict /TTTablesIdx known not { + /TTTablesIdx -1 def + } if + end + } if + }if + end + } if + dup /devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict /AliasedColorants known { + AliasedColorants + }{ + false + } ifelse + dup not { + CSA map_csa + } if + /TintTransform load type /nulltype eq or { + /TintTransform [ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup (Cyan) eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup (Magenta) eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 /exch cvx 0 0 + } + { + (Yellow) eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1 /roll cvx 0 + } + { + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1 /roll cvx + } ifelse + } ifelse + } ifelse + 5 -1 /roll cvx /astore cvx + } + { + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx /mul cvx /round cvx /cvi cvx /get cvx + } ifelse + Names length TTTablesIdx add 1 add 1 /roll cvx + } for + Names length [/pop cvx] cvx /repeat cvx + NComponents Names length + TintMethod /Subtractive eq + { + subtractive_blend + } + { + additive_blend + } ifelse + ] cvx bdf + } if + AGMCORE_host_sep { + Names convert_to_process { + exec_tint_transform + } + { + currentdict /AliasedColorants known { + AliasedColorants not + }{ + false + } ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants { + /currentspotalias current_spot_alias def + false set_spot_alias + } if + Names { + AGMCORE_is_cmyk_sep { + dup (Cyan) eq AGMCORE_cyan_plate and exch + dup (Magenta) eq AGMCORE_magenta_plate and exch + dup (Yellow) eq AGMCORE_yellow_plate and exch + (Black) eq AGMCORE_black_plate and or or or { + /devicen_colorspace_dict AGMCORE_gget /TintProc [ + Names names_index /devn_makecustomcolor cvx + ] cvx ddf + /painted? true def + } if + painted? {exit} if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq { + /devicen_colorspace_dict AGMCORE_gget /TintProc [ + Names names_index /devn_makecustomcolor cvx + ] cvx ddf + /painted? true def + exit + } if + } ifelse + /names_index names_index 1 add def + } forall + AvoidAliasedColorants { + currentspotalias set_spot_alias + } if + painted? { + /devicen_colorspace_dict AGMCORE_gget /names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget /TintProc [ + names_len [/pop cvx] cvx /repeat cvx 1 /setseparationgray cvx + 0 0 0 0 /setcmykcolor cvx + ] cvx ddf + } ifelse + end + } ifelse + } + { + AGMCORE_in_rip_sep { + Names convert_to_process not + }{ + level3 + } ifelse + { + [/DeviceN Names MappedCSA /TintTransform load] setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and { + [ + Names /length cvx [/pop cvx] cvx /repeat cvx + ] cvx bdf + }{ + {setcolor} bdf + } ifelse + }{ + exec_tint_transform + } ifelse + } ifelse + set_crd + /AliasedColorants false def + end +} def +/setindexedcolorspace +{ + dup /indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict /CSDBase known { + CSDBase /CSD get_res begin + currentdict /Names known { + currentdict devncs + }{ + 1 currentdict sepcs + } ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt /Names where {pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal { + /tableIndex xdf + Lookup dup type /stringtype eq { + compCnt tableIndex map_index + }{ + exec + } ifelse + /Names where { + pop setdevicencolor + }{ + setsepcolor + } ifelse + currentgray + tableIndex exch + HiVal mul cvi + NewLookup 3 1 roll put + } for + [/Indexed currentcolorspace HiVal NewLookup] setcolorspace_opt + end + }{ + level3 + { + currentdict /Names known { + [/Indexed [/DeviceN Names MappedCSA /TintTransform load] HiVal Lookup] setcolorspace_opt + }{ + [/Indexed [/Separation Name MappedCSA sep_proc_name load] HiVal Lookup] setcolorspace_opt + } ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict /Names known { + Lookup dup type /stringtype eq + {/exch cvx CSDBase /CSD get_res /Names get length dup /mul cvx exch /getinterval cvx {255 div} /forall cvx} + {/exec cvx}ifelse + /TintTransform load /exec cvx + }{ + Lookup dup type /stringtype eq + {/exch cvx /get cvx 255 /div cvx} + {/exec cvx}ifelse + CSDBase /CSD get_res /MappedCSA get sep_proc_name exch pop /load cvx /exec cvx + } ifelse + ]cvx + ]setcolorspace_opt + }ifelse + } ifelse + end + set_crd + } + { + CSA map_csa + AGMCORE_host_sep level2 not and{ + 0 0 0 0 setcmykcolor + }{ + [/Indexed MappedCSA + level2 not has_color not and{ + dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or{ + pop [/DeviceGray] + }if + HiVal GrayLookup + }{ + HiVal + currentdict/RangeArray known{ + { + /indexed_colorspace_dict AGMCORE_gget begin + Lookup exch + dup HiVal gt{ + pop HiVal + }if + NComponents mul NComponents getinterval {} forall + NComponents 1 sub -1 0{ + RangeArray exch 2 mul 2 getinterval aload pop map255_to_range + NComponents 1 roll + }for + end + } bind + }{ + Lookup + }ifelse + }ifelse + ] setcolorspace_opt + set_crd + }ifelse + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep { + /indexed_colorspace_dict AGMCORE_gget dup /CSDBase known { + begin + CSDBase /CSD get_res begin + currentdict /Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + end + }{ + /Lookup get 4 3 -1 roll map_index setcmykcolor + } ifelse + }{ + level3 not AGMCORE_in_rip_sep and /indexed_colorspace_dict AGMCORE_gget /CSDBase known and { + /indexed_colorspace_dict AGMCORE_gget /CSDBase get /CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + } ifelse + }ifelse +} def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode [0 1] def + /DataSource def + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict /image get exec + grestore + }if + consumeimagedata +}def +/add_res +{ + dup /CSD eq { + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + } ifelse +}def +/del_res +{ + { + aload pop exch + dup /CSD eq { + pop + { + //Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef + }forall + }{ + exch + { + 1 index undefineresource + }forall + pop + } ifelse + } forall +}def +/get_res +{ + dup /CSD eq { + pop + dup type dup /nametype eq exch /stringtype eq or { + AGMCORE_CSD_cache exch get + } if + }{ + findresource + } ifelse +}def +/get_csa_by_name +{ + dup type dup /nametype eq exch /stringtype eq or{ + /CSA get_res + } if +}def +/pattern_buf_init +{ + /count get 0 0 put +} def +/pattern_buf_next +{ + dup /count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +} def +/cachepattern_compress +{ + 5 dict begin + currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def + /patarray 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + patarray 1 array dup 0 1 put /count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq { + pop + }{ + patarray dup length 1 sub 3 -1 roll put + } ifelse + {string_size}{0}ifelse string + } /LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not {exit} if + } loop + LZWFilter closefile + patarray + end +}def +/cachepattern +{ + 2 dict begin + currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def + /patarray 20 dict def + currentglobal true setglobal + patarray 1 array dup 0 1 put /count xpt + setglobal + { + ReadFilter 16000 string readstring exch + patarray dup length 1 sub 3 -1 roll put + not {exit} if + } loop + patarray dup dup length 1 sub () put + end +}def +/wrap_paintproc +{ + statusdict /currentfilenameextend known{ + clonedict + begin + /OldPaintProc /PaintProc load def + /PaintProc + { + mark exch + dup /OldPaintProc get stopped + {closefile restore end} if + cleartomark + } def + end + } {pop} ifelse +} def +/make_pattern +{ + exch clonedict exch + dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform + exch 3 index /XStep get 1 index exch 2 copy div cvi mul sub sub + exch 3 index /YStep get 1 index exch 2 copy div cvi mul sub sub + matrix translate exch matrix concatmatrix + 1 index begin + BBox 0 get XStep div cvi XStep mul /xshift exch neg def + BBox 1 get YStep div cvi YStep mul /yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [ xshift yshift /translate load null /exec load ] dup + 3 /PaintProc load put cvx /PaintProc exch def + end + 1 index dup /ID get exch /Pattern add_res + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup /PatternType get 1 eq{ + dup /PaintType get 1 eq{ + currentoverprint sop [/DeviceGray] setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{ + pop + }{ + setcolorspace + }ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + }{null}ifelse + Intent ne { + Intent /ColorRendering {findresource} stopped + { + pop pop systemdict /findcolorrendering known + { + Intent findcolorrendering pop + /ColorRendering findresource + true + } + {false} ifelse + } + {true} ifelse + { + dup begin + currentdict /TransformPQR known { + currentdict /TransformPQR get aload pop + 3 {{} eq 3 1 roll} repeat or or + } + {true} ifelse + currentdict /MatrixPQR known { + currentdict /MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true} ifelse + end + or + { + clonedict begin + /TransformPQR [ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add} bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add} bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add} bind + ] def + /MatrixPQR [ 0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296 ] def + /RangePQR [-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392] def + currentdict end + } if + setcolorrendering_opt + } if + }if +} def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict /ColorRendering known{ + ColorRendering /ColorRendering {findresource} stopped not {setcolorrendering_opt} if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type /arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse +}def +/cpaint_gcomp +{ + convert_to_process //Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not + { + (%end_cpaint_gcomp) flushinput + }if +}def +/cpaint_gsep +{ + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get + { + (%end_cpaint_gsep) flushinput + }if +}def +/cpaint_gend +{ + newpath +}def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add} if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0} ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup /Name get map_alias {/CSD put}{pop} ifelse} forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get /CSD get_res + exch pop true + exit + }{ + pop + }ifelse + }forall + end + }{ + pop false + }ifelse +}bdf +/spot_alias +{ + true set_spot_alias + /AGMCORE_&setcustomcolor AGMCORE_key_known not { + //Adobe_AGM_Core/AGMCORE_&setcustomcolor /setcustomcolor load put + } if + /customcolor_tint 1 AGMCORE_gput + //Adobe_AGM_Core begin + /setcustomcolor + { + currentdict/TintProc known currentdict/CSA known and 3 1 roll + //Adobe_AGM_Core begin + dup /customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + 4 -1 roll{ + exch pop /sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + pop + }ifelse + end + }bdf + end +}def +/begin_feature +{ + Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put + count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put + {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if +}def +/end_feature +{ + 2 dict begin + /spd /setpagedevice load def + /setpagedevice { get_gstate spd set_gstate } def + stopped{$error/newerror false put}if + end + count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse + countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse + {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if +}def +/set_negative +{ + //Adobe_AGM_Core begin + /AGMCORE_inverting exch def + level2{ + currentpagedevice/NegativePrint known{ + currentpagedevice/NegativePrint get //Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + << /NegativePrint //Adobe_AGM_Core/AGMCORE_inverting get >> setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + gsave newpath clippath 1 /setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where {pop AGMIRS_&fill}{fill} ifelse grestore + }if + end +}def +/lw_save_restore_override { + /md where { + pop + md begin + initializepage + /initializepage{}def + /pmSVsetup{} def + /endp{}def + /pse{}def + /psb{}def + /orig_showpage where + {pop} + {/orig_showpage /showpage load def} + ifelse + /showpage {orig_showpage gR} def + end + }if +}def +/pscript_showpage_override { + /NTPSOct95 where + { + begin + showpage + save + /showpage /restore load def + /restore {exch pop}def + end + }if +}def +/driver_media_override +{ + /md where { + pop + md /initializepage known { + md /initializepage {} put + } if + md /rC known { + md /rC {4{pop}repeat} put + } if + }if + /mysetup where { + /mysetup [1 0 0 1 0 0] put + }if + Adobe_AGM_Core /AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core /AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core /AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core /AGMCORE_Default_PageSize get type /arraytype eq + { + Adobe_AGM_Core /AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core /AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core /AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}def +AGMCORE_err_strings begin + /AGMCORE_bad_environ (Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. ) def + /AGMCORE_color_space_onhost_seps (This job contains colors that will not separate with on-host methods. ) def + /AGMCORE_invalid_color_space (This job contains an invalid color space. ) def +end +/set_def_ht +{ + AGMCORE_def_ht sethalftone +} def +end +systemdict /setpacking known +{ + setpacking +} if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.25 0 +%%Copyright: Copyright 1997-2005 Adobe Systems Incorporated. All Rights Reserved. +%%Version: 2.25 0 +10 dict begin +/Adobe_CoolType_Passthru currentdict def +/Adobe_CoolType_Core_Defined userdict /Adobe_CoolType_Core known def +Adobe_CoolType_Core_Defined + { /Adobe_CoolType_Core userdict /Adobe_CoolType_Core get def } +if +userdict /Adobe_CoolType_Core 60 dict dup begin put +/Adobe_CoolType_Version 2.25 def +/Level2? + systemdict /languagelevel known dup + { pop systemdict /languagelevel get 2 ge } + if def +Level2? not + { + /currentglobal false def + /setglobal /pop load def + /gcheck { pop false } bind def + /currentpacking false def + /setpacking /pop load def + /SharedFontDirectory 0 dict def + } +if +currentpacking +true setpacking +currentglobal false setglobal +userdict /Adobe_CoolType_Data 2 copy known not + { 2 copy 10 dict put } +if +get + begin + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + end +setglobal +/@_SaveStackLevels + { + Adobe_CoolType_Data + begin + /@vmState currentglobal def false setglobal + @opStackCountByLevel + @opStackLevel + 2 copy known not + { + 2 copy + 3 dict dup /args + 7 index + 5 add array put + put get + } + { + get dup /args get dup length 3 index lt + { + dup length 5 add array exch + 1 index exch 0 exch putinterval + 1 index exch /args exch put + } + { pop } + ifelse + } + ifelse + begin + count 1 sub + 1 index lt + { pop count } + if + dup /argCount exch def + dup 0 gt + { + args exch 0 exch getinterval + astore pop + } + { pop } + ifelse + count + /restCount exch def + end + /@opStackLevel @opStackLevel 1 add def + countdictstack 1 sub + @dictStackCountByLevel exch @dictStackLevel exch put + /@dictStackLevel @dictStackLevel 1 add def + @vmState setglobal + end + } bind def +/@_RestoreStackLevels + { + Adobe_CoolType_Data + begin + /@opStackLevel @opStackLevel 1 sub def + @opStackCountByLevel @opStackLevel get + begin + count restCount sub dup 0 gt + { { pop } repeat } + { pop } + ifelse + args 0 argCount getinterval {} forall + end + /@dictStackLevel @dictStackLevel 1 sub def + @dictStackCountByLevel @dictStackLevel get + end + countdictstack exch sub dup 0 gt + { { end } repeat } + { pop } + ifelse + } bind def +/@_PopStackLevels + { + Adobe_CoolType_Data + begin + /@opStackLevel @opStackLevel 1 sub def + /@dictStackLevel @dictStackLevel 1 sub def + end + } bind def +/@Raise + { + exch cvx exch errordict exch get exec + stop + } bind def +/@ReRaise + { + cvx $error /errorname get errordict exch get exec + stop + } bind def +/@Stopped + { + 0 @#Stopped + } bind def +/@#Stopped + { + @_SaveStackLevels + stopped + { @_RestoreStackLevels true } + { @_PopStackLevels false } + ifelse + } bind def +/@Arg + { + Adobe_CoolType_Data + begin + @opStackCountByLevel @opStackLevel 1 sub get + begin + args exch + argCount 1 sub exch sub get + end + end + } bind def +currentglobal true setglobal +/CTHasResourceForAllBug + Level2? + { + 1 dict dup + /@shouldNotDisappearDictValue true def + Adobe_CoolType_Data exch /@shouldNotDisappearDict exch put + begin + count @_SaveStackLevels + { (*) { pop stop } 128 string /Category resourceforall } + stopped pop + @_RestoreStackLevels + currentdict Adobe_CoolType_Data /@shouldNotDisappearDict get ne dup + { + /@shouldNotDisappearDictValue known + { + { + end + currentdict 1 index eq + { pop exit } + if + } + loop + } + if + } + if + end + } + { false } + ifelse + def +true setglobal +/CTHasResourceStatusBug + Level2? + { + mark + { /steveamerige /Category resourcestatus } + stopped + { cleartomark true } + { cleartomark currentglobal not } + ifelse + } + { false } + ifelse + def +setglobal +/CTResourceStatus + { + mark 3 1 roll + /Category findresource + begin + ({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec + { cleartomark false } + { { 3 2 roll pop true } { cleartomark false } ifelse } + ifelse + end + } bind def +/CTWorkAroundBugs + { + Level2? + { + /cid_PreLoad /ProcSet resourcestatus + { + pop pop + currentglobal + mark + { + (*) + { + dup /CMap CTHasResourceStatusBug + { CTResourceStatus } + { resourcestatus } + ifelse + { + pop dup 0 eq exch 1 eq or + { + dup /CMap findresource gcheck setglobal + /CMap undefineresource + } + { + pop CTHasResourceForAllBug + { exit } + { stop } + ifelse + } + ifelse + } + { pop } + ifelse + } + 128 string /CMap resourceforall + } + stopped + { cleartomark } + stopped pop + setglobal + } + if + } + if + } bind def +/doc_setup + { + Adobe_CoolType_Core + begin + CTWorkAroundBugs + /mov /moveto load def + /nfnt /newencodedfont load def + /mfnt /makefont load def + /sfnt /setfont load def + /ufnt /undefinefont load def + /chp /charpath load def + /awsh /awidthshow load def + /wsh /widthshow load def + /ash /ashow load def + /sh /show load def + end + currentglobal false setglobal + userdict /Adobe_CoolType_Data 2 copy known not + { 2 copy 10 dict put } + if + get + begin + /AddWidths? false def + /CC 0 def + /charcode 2 string def + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + /InVMFontsByCMap 10 dict def + /InVMDeepCopiedFonts 10 dict def + end + setglobal + } bind def +/doc_trailer + { + currentdict Adobe_CoolType_Core eq + { end } + if + } bind def +/page_setup + { + Adobe_CoolType_Core begin + } bind def +/page_trailer + { + end + } bind def +/unload + { + systemdict /languagelevel known + { + systemdict/languagelevel get 2 ge + { + userdict/Adobe_CoolType_Core 2 copy known + { undef } + { pop pop } + ifelse + } + if + } + if + } bind def +/ndf + { + 1 index where + { pop pop pop } + { dup xcheck { bind } if def } + ifelse + } def +/findfont systemdict + begin + userdict + begin + /globaldict where { /globaldict get begin } if + dup where pop exch get + /globaldict where { pop end } if + end + end +Adobe_CoolType_Core_Defined + { /systemfindfont exch def } + { + /findfont 1 index def + /systemfindfont exch def + } +ifelse +/undefinefont + { pop } ndf +/copyfont + { + currentglobal 3 1 roll + 1 index gcheck setglobal + dup null eq { 0 } { dup length } ifelse + 2 index length add 1 add dict + begin + exch + { + 1 index /FID eq + { pop pop } + { def } + ifelse + } + forall + dup null eq + { pop } + { { def } forall } + ifelse + currentdict + end + exch setglobal + } bind def +/copyarray + { + currentglobal exch + dup gcheck setglobal + dup length array copy + exch setglobal + } bind def +/newencodedfont + { + currentglobal + { + SharedFontDirectory 3 index known + { SharedFontDirectory 3 index get /FontReferenced known } + { false } + ifelse + } + { + FontDirectory 3 index known + { FontDirectory 3 index get /FontReferenced known } + { + SharedFontDirectory 3 index known + { SharedFontDirectory 3 index get /FontReferenced known } + { false } + ifelse + } + ifelse + } + ifelse + dup + { + 3 index findfont /FontReferenced get + 2 index dup type /nametype eq + {findfont} + if ne + { pop false } + if + } + if + { + pop + 1 index findfont + /Encoding get exch + 0 1 255 + { 2 copy get 3 index 3 1 roll put } + for + pop pop pop + } + { + dup type /nametype eq + { findfont } + if + dup dup maxlength 2 add dict + begin + exch + { + 1 index /FID ne + {def} + {pop pop} + ifelse + } + forall + /FontReferenced exch def + /Encoding exch dup length array copy def + /FontName 1 index dup type /stringtype eq { cvn } if def dup + currentdict + end + definefont def + } + ifelse + } bind def +/SetSubstituteStrategy + { + $SubstituteFont + begin + dup type /dicttype ne + { 0 dict } + if + currentdict /$Strategies known + { + exch $Strategies exch + 2 copy known + { + get + 2 copy maxlength exch maxlength add dict + begin + { def } forall + { def } forall + currentdict + dup /$Init known + { dup /$Init get exec } + if + end + /$Strategy exch def + } + { pop pop pop } + ifelse + } + { pop pop } + ifelse + end + } bind def +/scff + { + $SubstituteFont + begin + dup type /stringtype eq + { dup length exch } + { null } + ifelse + /$sname exch def + /$slen exch def + /$inVMIndex + $sname null eq + { + 1 index $str cvs + dup length $slen sub $slen getinterval cvn + } + { $sname } + ifelse def + end + { findfont } + @Stopped + { + dup length 8 add string exch + 1 index 0 (BadFont:) putinterval + 1 index exch 8 exch dup length string cvs putinterval cvn + { findfont } + @Stopped + { pop /Courier findfont } + if + } + if + $SubstituteFont + begin + /$sname null def + /$slen 0 def + /$inVMIndex null def + end + } bind def +/isWidthsOnlyFont + { + dup /WidthsOnly known + { pop pop true } + { + dup /FDepVector known + { /FDepVector get { isWidthsOnlyFont dup { exit } if } forall } + { + dup /FDArray known + { /FDArray get { isWidthsOnlyFont dup { exit } if } forall } + { pop } + ifelse + } + ifelse + } + ifelse + } bind def +/?str1 256 string def +/?set + { + $SubstituteFont + begin + /$substituteFound false def + /$fontname 4 index def + /$doSmartSub false def + end + 3 index + currentglobal false setglobal exch + /CompatibleFonts /ProcSet resourcestatus + { + pop pop + /CompatibleFonts /ProcSet findresource + begin + dup /CompatibleFont currentexception + 1 index /CompatibleFont true setexception + 1 index /Font resourcestatus + { + pop pop + 3 2 roll setglobal + end + exch + dup findfont + /CompatibleFonts /ProcSet findresource + begin + 3 1 roll exch /CompatibleFont exch setexception + end + } + { + 3 2 roll setglobal + 1 index exch /CompatibleFont exch setexception + end + findfont + $SubstituteFont /$substituteFound true put + } + ifelse + } + { exch setglobal findfont } + ifelse + $SubstituteFont + begin + $substituteFound + { + false + (%%[Using embedded font ) print + 5 index ?str1 cvs print + ( to avoid the font substitution problem noted earlier.]%%\n) print + } + { + dup /FontName known + { + dup /FontName get $fontname eq + 1 index /DistillerFauxFont known not and + /currentdistillerparams where + { pop false 2 index isWidthsOnlyFont not and } + if + } + { false } + ifelse + } + ifelse + exch pop + /$doSmartSub true def + end + { + exch pop exch pop exch + 2 dict dup /Found 3 index put + exch findfont exch + } + { + exch exec + exch dup findfont + dup /FontType get 3 eq + { + exch ?str1 cvs + dup length 1 sub + -1 0 + { + exch dup 2 index get 42 eq + { + exch 0 exch getinterval cvn 4 1 roll 3 2 roll pop + exit + } + {exch pop} ifelse + }for + } + { + exch pop + } ifelse + 2 dict dup /Downloaded 6 5 roll put + } + ifelse + dup /FontName 4 index put copyfont definefont pop + } bind def +/?str2 256 string def +/?add + { + 1 index type /integertype eq + { exch true 4 2 } + { false 3 1 } + ifelse + roll + 1 index findfont + dup /Widths known + { + Adobe_CoolType_Data /AddWidths? true put + gsave dup 1000 scalefont setfont + } + if + /Downloaded known + { + exec + exch + { + exch ?str2 cvs exch + findfont /Downloaded get 1 dict begin /Downloaded 1 index def ?str1 cvs length + ?str1 1 index 1 add 3 index putinterval + exch length 1 add 1 index add + ?str1 2 index (*) putinterval + ?str1 0 2 index getinterval cvn findfont + ?str1 3 index (+) putinterval + 2 dict dup /FontName ?str1 0 6 index getinterval cvn put + dup /Downloaded Downloaded put end copyfont + dup /FontName get exch definefont pop pop pop + } + { + pop + } + ifelse + } + { + pop + exch + { + findfont + dup /Found get + dup length exch ?str1 cvs pop + ?str1 1 index (+) putinterval + ?str1 1 index 1 add 4 index ?str2 cvs putinterval + ?str1 exch 0 exch 5 4 roll ?str2 cvs length 1 add add getinterval cvn + 1 dict exch 1 index exch /FontName exch put copyfont + dup /FontName get exch definefont pop + } + { + pop + } + ifelse + } + ifelse + Adobe_CoolType_Data /AddWidths? get + { grestore Adobe_CoolType_Data /AddWidths? false put } + if + } bind def +/?sh + { + currentfont /Downloaded known { exch } if pop + } bind def +/?chp + { + currentfont /Downloaded known { pop } { false chp } ifelse + } bind def +/?mv + { + currentfont /Downloaded known { moveto pop pop } { pop pop moveto } ifelse + } bind def +setpacking +userdict /$SubstituteFont 25 dict put +1 dict + begin + /SubstituteFont + dup $error exch 2 copy known + { get } + { pop pop { pop /Courier } bind } + ifelse def + /currentdistillerparams where dup + { + pop pop + currentdistillerparams /CannotEmbedFontPolicy 2 copy known + { get /Error eq } + { pop pop false } + ifelse + } + if not + { + countdictstack array dictstack 0 get + begin + userdict + begin + $SubstituteFont + begin + /$str 128 string def + /$fontpat 128 string def + /$slen 0 def + /$sname null def + /$match false def + /$fontname null def + /$substituteFound false def + /$inVMIndex null def + /$doSmartSub true def + /$depth 0 def + /$fontname null def + /$italicangle 26.5 def + /$dstack null def + /$Strategies 10 dict dup + begin + /$Type3Underprint + { + currentglobal exch false setglobal + 11 dict + begin + /UseFont exch + $WMode 0 ne + { + dup length dict copy + dup /WMode $WMode put + /UseFont exch definefont + } + if def + /FontName $fontname dup type /stringtype eq { cvn } if def + /FontType 3 def + /FontMatrix [ .001 0 0 .001 0 0 ] def + /Encoding 256 array dup 0 1 255 { /.notdef put dup } for pop def + /FontBBox [ 0 0 0 0 ] def + /CCInfo 7 dict dup + begin + /cc null def + /x 0 def + /y 0 def + end def + /BuildChar + { + exch + begin + CCInfo + begin + 1 string dup 0 3 index put exch pop + /cc exch def + UseFont 1000 scalefont setfont + cc stringwidth /y exch def /x exch def + x y setcharwidth + $SubstituteFont /$Strategy get /$Underprint get exec + 0 0 moveto cc show + x y moveto + end + end + } bind def + currentdict + end + exch setglobal + } bind def + /$GetaTint + 2 dict dup + begin + /$BuildFont + { + dup /WMode known + { dup /WMode get } + { 0 } + ifelse + /$WMode exch def + $fontname exch + dup /FontName known + { + dup /FontName get + dup type /stringtype eq { cvn } if + } + { /unnamedfont } + ifelse + exch + Adobe_CoolType_Data /InVMDeepCopiedFonts get + 1 index /FontName get known + { + pop + Adobe_CoolType_Data /InVMDeepCopiedFonts get + 1 index get + null copyfont + } + { $deepcopyfont } + ifelse + exch 1 index exch /FontBasedOn exch put + dup /FontName $fontname dup type /stringtype eq { cvn } if put + definefont + Adobe_CoolType_Data /InVMDeepCopiedFonts get + begin + dup /FontBasedOn get 1 index def + end + } bind def + /$Underprint + { + gsave + x abs y abs gt + { /y 1000 def } + { /x -1000 def 500 120 translate } + ifelse + Level2? + { + [ /Separation (All) /DeviceCMYK { 0 0 0 1 pop } ] + setcolorspace + } + { 0 setgray } + ifelse + 10 setlinewidth + x .8 mul + [ 7 3 ] + { + y mul 8 div 120 sub x 10 div exch moveto + 0 y 4 div neg rlineto + dup 0 rlineto + 0 y 4 div rlineto + closepath + gsave + Level2? + { .2 setcolor } + { .8 setgray } + ifelse + fill grestore + stroke + } + forall + pop + grestore + } bind def + end def + /$Oblique + 1 dict dup + begin + /$BuildFont + { + currentglobal exch dup gcheck setglobal + null copyfont + begin + /FontBasedOn + currentdict /FontName known + { + FontName + dup type /stringtype eq { cvn } if + } + { /unnamedfont } + ifelse + def + /FontName $fontname dup type /stringtype eq { cvn } if def + /currentdistillerparams where + { pop } + { + /FontInfo currentdict /FontInfo known + { FontInfo null copyfont } + { 2 dict } + ifelse + dup + begin + /ItalicAngle $italicangle def + /FontMatrix FontMatrix + [ 1 0 ItalicAngle dup sin exch cos div 1 0 0 ] + matrix concatmatrix readonly + end + 4 2 roll def + def + } + ifelse + FontName currentdict + end + definefont + exch setglobal + } bind def + end def + /$None + 1 dict dup + begin + /$BuildFont {} bind def + end def + end def + /$Oblique SetSubstituteStrategy + /$findfontByEnum + { + dup type /stringtype eq { cvn } if + dup /$fontname exch def + $sname null eq + { $str cvs dup length $slen sub $slen getinterval } + { pop $sname } + ifelse + $fontpat dup 0 (fonts/*) putinterval exch 7 exch putinterval + /$match false def + $SubstituteFont /$dstack countdictstack array dictstack put + mark + { + $fontpat 0 $slen 7 add getinterval + { /$match exch def exit } + $str filenameforall + } + stopped + { + cleardictstack + currentdict + true + $SubstituteFont /$dstack get + { + exch + { + 1 index eq + { pop false } + { true } + ifelse + } + { begin false } + ifelse + } + forall + pop + } + if + cleartomark + /$slen 0 def + $match false ne + { $match (fonts/) anchorsearch pop pop cvn } + { /Courier } + ifelse + } bind def + /$ROS 1 dict dup + begin + /Adobe 4 dict dup + begin + /Japan1 [ /Ryumin-Light /HeiseiMin-W3 + /GothicBBB-Medium /HeiseiKakuGo-W5 + /HeiseiMaruGo-W4 /Jun101-Light ] def + /Korea1 [ /HYSMyeongJo-Medium /HYGoThic-Medium ] def + /GB1 [ /STSong-Light /STHeiti-Regular ] def + /CNS1 [ /MKai-Medium /MHei-Medium ] def + end def + end def + /$cmapname null def + /$deepcopyfont + { + dup /FontType get 0 eq + { + 1 dict dup /FontName /copied put copyfont + begin + /FDepVector FDepVector copyarray + 0 1 2 index length 1 sub + { + 2 copy get $deepcopyfont + dup /FontName /copied put + /copied exch definefont + 3 copy put pop pop + } + for + def + currentdict + end + } + { $Strategies /$Type3Underprint get exec } + ifelse + } bind def + /$buildfontname + { + dup /CIDFont findresource /CIDSystemInfo get + begin + Registry length Ordering length Supplement 8 string cvs + 3 copy length 2 add add add string + dup 5 1 roll dup 0 Registry putinterval + dup 4 index (-) putinterval + dup 4 index 1 add Ordering putinterval + 4 2 roll add 1 add 2 copy (-) putinterval + end + 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch + anchorsearch + { pop pop 3 2 roll putinterval cvn /$cmapname exch def } + { pop pop pop pop pop } + ifelse + length + $str 1 index (-) putinterval 1 add + $str 1 index $cmapname $fontpat cvs putinterval + $cmapname length add + $str exch 0 exch getinterval cvn + } bind def + /$findfontByROS + { + /$fontname exch def + $ROS Registry 2 copy known + { + get Ordering 2 copy known + { get } + { pop pop [] } + ifelse + } + { pop pop [] } + ifelse + false exch + { + dup /CIDFont resourcestatus + { + pop pop + save + 1 index /CIDFont findresource + dup /WidthsOnly known + { dup /WidthsOnly get } + { false } + ifelse + exch pop + exch restore + { pop } + { exch pop true exit } + ifelse + } + { pop } + ifelse + } + forall + { $str cvs $buildfontname } + { + false (*) + { + save exch + dup /CIDFont findresource + dup /WidthsOnly known + { dup /WidthsOnly get not } + { true } + ifelse + exch /CIDSystemInfo get + dup /Registry get Registry eq + exch /Ordering get Ordering eq and and + { exch restore exch pop true exit } + { pop restore } + ifelse + } + $str /CIDFont resourceforall + { $buildfontname } + { $fontname $findfontByEnum } + ifelse + } + ifelse + } bind def + end + end + currentdict /$error known currentdict /languagelevel known and dup + { pop $error /SubstituteFont known } + if + dup + { $error } + { Adobe_CoolType_Core } + ifelse + begin + { + /SubstituteFont + /CMap /Category resourcestatus + { + pop pop + { + $SubstituteFont + begin + /$substituteFound true def + dup length $slen gt + $sname null ne or + $slen 0 gt and + { + $sname null eq + { dup $str cvs dup length $slen sub $slen getinterval cvn } + { $sname } + ifelse + Adobe_CoolType_Data /InVMFontsByCMap get + 1 index 2 copy known + { + get + false exch + { + pop + currentglobal + { + GlobalFontDirectory 1 index known + { exch pop true exit } + { pop } + ifelse + } + { + FontDirectory 1 index known + { exch pop true exit } + { + GlobalFontDirectory 1 index known + { exch pop true exit } + { pop } + ifelse + } + ifelse + } + ifelse + } + forall + } + { pop pop false } + ifelse + { + exch pop exch pop + } + { + dup /CMap resourcestatus + { + pop pop + dup /$cmapname exch def + /CMap findresource /CIDSystemInfo get { def } forall + $findfontByROS + } + { + 128 string cvs + dup (-) search + { + 3 1 roll search + { + 3 1 roll pop + { dup cvi } + stopped + { pop pop pop pop pop $findfontByEnum } + { + 4 2 roll pop pop + exch length + exch + 2 index length + 2 index + sub + exch 1 sub -1 0 + { + $str cvs dup length + 4 index + 0 + 4 index + 4 3 roll add + getinterval + exch 1 index exch 3 index exch + putinterval + dup /CMap resourcestatus + { + pop pop + 4 1 roll pop pop pop + dup /$cmapname exch def + /CMap findresource /CIDSystemInfo get { def } forall + $findfontByROS + true exit + } + { pop } + ifelse + } + for + dup type /booleantype eq + { pop } + { pop pop pop $findfontByEnum } + ifelse + } + ifelse + } + { pop pop pop $findfontByEnum } + ifelse + } + { pop pop $findfontByEnum } + ifelse + } + ifelse + } + ifelse + } + { //SubstituteFont exec } + ifelse + /$slen 0 def + end + } + } + { + { + $SubstituteFont + begin + /$substituteFound true def + dup length $slen gt + $sname null ne or + $slen 0 gt and + { $findfontByEnum } + { //SubstituteFont exec } + ifelse + end + } + } + ifelse + bind readonly def + Adobe_CoolType_Core /scfindfont /systemfindfont load put + } + { + /scfindfont + { + $SubstituteFont + begin + dup systemfindfont + dup /FontName known + { dup /FontName get dup 3 index ne } + { /noname true } + ifelse + dup + { + /$origfontnamefound 2 index def + /$origfontname 4 index def /$substituteFound true def + } + if + exch pop + { + $slen 0 gt + $sname null ne + 3 index length $slen gt or and + { + pop dup $findfontByEnum findfont + dup maxlength 1 add dict + begin + { 1 index /FID eq { pop pop } { def } ifelse } + forall + currentdict + end + definefont + dup /FontName known { dup /FontName get } { null } ifelse + $origfontnamefound ne + { + $origfontname $str cvs print + ( substitution revised, using ) print + dup /FontName known + { dup /FontName get } { (unspecified font) } + ifelse + $str cvs print (.\n) print + } + if + } + { exch pop } + ifelse + } + { exch pop } + ifelse + end + } bind def + } + ifelse + end + end + Adobe_CoolType_Core_Defined not + { + Adobe_CoolType_Core /findfont + { + $SubstituteFont + begin + $depth 0 eq + { + /$fontname 1 index dup type /stringtype ne { $str cvs } if def + /$substituteFound false def + } + if + /$depth $depth 1 add def + end + scfindfont + $SubstituteFont + begin + /$depth $depth 1 sub def + $substituteFound $depth 0 eq and + { + $inVMIndex null ne + { dup $inVMIndex $AddInVMFont } + if + $doSmartSub + { + currentdict /$Strategy known + { $Strategy /$BuildFont get exec } + if + } + if + } + if + end + } bind put + } + if + } + if + end +/$AddInVMFont + { + exch /FontName 2 copy known + { + get + 1 dict dup begin exch 1 index gcheck def end exch + Adobe_CoolType_Data /InVMFontsByCMap get exch + $DictAdd + } + { pop pop pop } + ifelse + } bind def +/$DictAdd + { + 2 copy known not + { 2 copy 4 index length dict put } + if + Level2? not + { + 2 copy get dup maxlength exch length 4 index length add lt + 2 copy get dup length 4 index length add exch maxlength 1 index lt + { + 2 mul dict + begin + 2 copy get { forall } def + 2 copy currentdict put + end + } + { pop } + ifelse + } + if + get + begin + { def } + forall + end + } bind def +end +end +%%EndResource +%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.21 0 +%%Copyright: Copyright 1987-2005 Adobe Systems Incorporated. +%%Version: 1.21 0 +systemdict /languagelevel known dup + { currentglobal false setglobal } + { false } +ifelse +exch +userdict /Adobe_CoolType_Utility 2 copy known + { 2 copy get dup maxlength 27 add dict copy } + { 27 dict } +ifelse put +Adobe_CoolType_Utility + begin + /@eexecStartData + def + /@recognizeCIDFont null def + /ct_Level2? exch def + /ct_Clone? 1183615869 internaldict dup + /CCRun known not + exch /eCCRun known not + ct_Level2? and or def +ct_Level2? + { globaldict begin currentglobal true setglobal } +if + /ct_AddStdCIDMap + ct_Level2? + { { + mark + Adobe_CoolType_Utility /@recognizeCIDFont currentdict put + { + ((Hex) 57 StartData + 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 + 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 + d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 + cc36 74f4 1144 b13b 77) 0 () /SubFileDecode filter cvx exec + } + stopped + { + cleartomark + Adobe_CoolType_Utility /@recognizeCIDFont get + countdictstack dup array dictstack + exch 1 sub -1 0 + { + 2 copy get 3 index eq + { 1 index length exch sub 1 sub { end } repeat exit } + { pop } + ifelse + } + for + pop pop + Adobe_CoolType_Utility /@eexecStartData get eexec + } + { cleartomark } + ifelse + } } + { { + Adobe_CoolType_Utility /@eexecStartData get eexec + } } + ifelse bind def +userdict /cid_extensions known +dup { cid_extensions /cid_UpdateDB known and } if + { + cid_extensions + begin + /cid_GetCIDSystemInfo + { + 1 index type /stringtype eq + { exch cvn exch } + if + cid_extensions + begin + dup load 2 index known + { + 2 copy + cid_GetStatusInfo + dup null ne + { + 1 index load + 3 index get + dup null eq + { pop pop cid_UpdateDB } + { + exch + 1 index /Created get eq + { exch pop exch pop } + { pop cid_UpdateDB } + ifelse + } + ifelse + } + { pop cid_UpdateDB } + ifelse + } + { cid_UpdateDB } + ifelse + end + } bind def + end + } +if +ct_Level2? + { end setglobal } +if + /ct_UseNativeCapability? systemdict /composefont known def + /ct_MakeOCF 35 dict def + /ct_Vars 25 dict def + /ct_GlyphDirProcs 6 dict def + /ct_BuildCharDict 15 dict dup + begin + /charcode 2 string def + /dst_string 1500 string def + /nullstring () def + /usewidths? true def + end def + ct_Level2? { setglobal } { pop } ifelse + ct_GlyphDirProcs + begin + /GetGlyphDirectory + { + systemdict /languagelevel known + { pop /CIDFont findresource /GlyphDirectory get } + { + 1 index /CIDFont findresource /GlyphDirectory + get dup type /dicttype eq + { + dup dup maxlength exch length sub 2 index lt + { + dup length 2 index add dict copy 2 index + /CIDFont findresource/GlyphDirectory 2 index put + } + if + } + if + exch pop exch pop + } + ifelse + + + } def + /+ + { + systemdict /languagelevel known + { + currentglobal false setglobal + 3 dict begin + /vm exch def + } + { 1 dict begin } + ifelse + /$ exch def + systemdict /languagelevel known + { + vm setglobal + /gvm currentglobal def + $ gcheck setglobal + } + if + ? { $ begin } if + } def + /? { $ type /dicttype eq } def + /| { + userdict /Adobe_CoolType_Data known + { + Adobe_CoolType_Data /AddWidths? known + { + currentdict Adobe_CoolType_Data + begin + begin + AddWidths? + { + Adobe_CoolType_Data /CC 3 index put + ? { def } { $ 3 1 roll put } ifelse + CC charcode exch 1 index 0 2 index 256 idiv put + 1 index exch 1 exch 256 mod put + stringwidth 2 array astore + currentfont /Widths get exch CC exch put + } + { ? { def } { $ 3 1 roll put } ifelse } + ifelse + end + end + } + { ? { def } { $ 3 1 roll put } ifelse } ifelse + } + { ? { def } { $ 3 1 roll put } ifelse } + ifelse + } def + /! + { + ? { end } if + systemdict /languagelevel known + { gvm setglobal } + if + end + } def + /: { string currentfile exch readstring pop } executeonly def + end + ct_MakeOCF + begin + /ct_cHexEncoding + [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 + /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 + /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 + /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B + /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E + /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 + /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 + /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 + /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA + /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD + /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 + /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 + /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 + /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def + /ct_CID_STR_SIZE 8000 def + /ct_mkocfStr100 100 string def + /ct_defaultFontMtx [.001 0 0 .001 0 0] def + /ct_1000Mtx [1000 0 0 1000 0 0] def + /ct_raise {exch cvx exch errordict exch get exec stop} bind def + /ct_reraise + { cvx $error /errorname get (Error: ) print dup ( ) cvs print + errordict exch get exec stop + } bind def + /ct_cvnsi + { + 1 index add 1 sub 1 exch 0 4 1 roll + { + 2 index exch get + exch 8 bitshift + add + } + for + exch pop + } bind def + /ct_GetInterval + { + Adobe_CoolType_Utility /ct_BuildCharDict get + begin + /dst_index 0 def + dup dst_string length gt + { dup string /dst_string exch def } + if + 1 index ct_CID_STR_SIZE idiv + /arrayIndex exch def + 2 index arrayIndex get + 2 index + arrayIndex ct_CID_STR_SIZE mul + sub + { + dup 3 index add 2 index length le + { + 2 index getinterval + dst_string dst_index 2 index putinterval + length dst_index add /dst_index exch def + exit + } + { + 1 index length 1 index sub + dup 4 1 roll + getinterval + dst_string dst_index 2 index putinterval + pop dup dst_index add /dst_index exch def + sub + /arrayIndex arrayIndex 1 add def + 2 index dup length arrayIndex gt + { arrayIndex get } + { + pop + exit + } + ifelse + 0 + } + ifelse + } + loop + pop pop pop + dst_string 0 dst_index getinterval + end + } bind def + ct_Level2? + { + /ct_resourcestatus + currentglobal mark true setglobal + { /unknowninstancename /Category resourcestatus } + stopped + { cleartomark setglobal true } + { cleartomark currentglobal not exch setglobal } + ifelse + { + { + mark 3 1 roll /Category findresource + begin + ct_Vars /vm currentglobal put + ({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec + { cleartomark false } + { { 3 2 roll pop true } { cleartomark false } ifelse } + ifelse + ct_Vars /vm get setglobal + end + } + } + { { resourcestatus } } + ifelse bind def + /CIDFont /Category ct_resourcestatus + { pop pop } + { + currentglobal true setglobal + /Generic /Category findresource + dup length dict copy + dup /InstanceType /dicttype put + /CIDFont exch /Category defineresource pop + setglobal + } + ifelse + ct_UseNativeCapability? + { + /CIDInit /ProcSet findresource begin + 12 dict begin + begincmap + /CIDSystemInfo 3 dict dup begin + /Registry (Adobe) def + /Ordering (Identity) def + /Supplement 0 def + end def + /CMapName /Identity-H def + /CMapVersion 1.000 def + /CMapType 1 def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000> 0 + endcidrange + endcmap + CMapName currentdict /CMap defineresource pop + end + end + } + if + } + { + /ct_Category 2 dict begin + /CIDFont 10 dict def + /ProcSet 2 dict def + currentdict + end + def + /defineresource + { + ct_Category 1 index 2 copy known + { + get + dup dup maxlength exch length eq + { + dup length 10 add dict copy + ct_Category 2 index 2 index put + } + if + 3 index 3 index put + pop exch pop + } + { pop pop /defineresource /undefined ct_raise } + ifelse + } bind def + /findresource + { + ct_Category 1 index 2 copy known + { + get + 2 index 2 copy known + { get 3 1 roll pop pop} + { pop pop /findresource /undefinedresource ct_raise } + ifelse + } + { pop pop /findresource /undefined ct_raise } + ifelse + } bind def + /resourcestatus + { + ct_Category 1 index 2 copy known + { + get + 2 index known + exch pop exch pop + { + 0 -1 true + } + { + false + } + ifelse + } + { pop pop /findresource /undefined ct_raise } + ifelse + } bind def + /ct_resourcestatus /resourcestatus load def + } + ifelse + /ct_CIDInit 2 dict + begin + /ct_cidfont_stream_init + { + { + dup (Binary) eq + { + pop + null + currentfile + ct_Level2? + { + { cid_BYTE_COUNT () /SubFileDecode filter } + stopped + { pop pop pop } + if + } + if + /readstring load + exit + } + if + dup (Hex) eq + { + pop + currentfile + ct_Level2? + { + { null exch /ASCIIHexDecode filter /readstring } + stopped + { pop exch pop (>) exch /readhexstring } + if + } + { (>) exch /readhexstring } + ifelse + load + exit + } + if + /StartData /typecheck ct_raise + } + loop + cid_BYTE_COUNT ct_CID_STR_SIZE le + { + 2 copy cid_BYTE_COUNT string exch exec + pop + 1 array dup + 3 -1 roll + 0 exch put + } + { + cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi + dup array exch 2 sub 0 exch 1 exch + { + 2 copy + 5 index + ct_CID_STR_SIZE + string + 6 index exec + pop + put + pop + } + for + 2 index + cid_BYTE_COUNT ct_CID_STR_SIZE mod string + 3 index exec + pop + 1 index exch + 1 index length 1 sub + exch put + } + ifelse + cid_CIDFONT exch /GlyphData exch put + 2 index null eq + { + pop pop pop + } + { + pop /readstring load + 1 string exch + { + 3 copy exec + pop + dup length 0 eq + { + pop pop pop pop pop + true exit + } + if + 4 index + eq + { + pop pop pop pop + false exit + } + if + } + loop + pop + } + ifelse + } bind def + /StartData + { + mark + { + currentdict + dup /FDArray get 0 get /FontMatrix get + 0 get 0.001 eq + { + dup /CDevProc known not + { + /CDevProc 1183615869 internaldict /stdCDevProc 2 copy known + { get } + { + pop pop + { pop pop pop pop pop 0 -1000 7 index 2 div 880 } + } + ifelse + def + } + if + } + { + /CDevProc + { + pop pop pop pop pop + 0 + 1 cid_temp /cid_CIDFONT get + /FDArray get 0 get + /FontMatrix get 0 get div + 7 index 2 div + 1 index 0.88 mul + } def + } + ifelse + /cid_temp 15 dict def + cid_temp + begin + /cid_CIDFONT exch def + 3 copy pop + dup /cid_BYTE_COUNT exch def 0 gt + { + ct_cidfont_stream_init + FDArray + { + /Private get + dup /SubrMapOffset known + { + begin + /Subrs SubrCount array def + Subrs + SubrMapOffset + SubrCount + SDBytes + ct_Level2? + { + currentdict dup /SubrMapOffset undef + dup /SubrCount undef + /SDBytes undef + } + if + end + /cid_SD_BYTES exch def + /cid_SUBR_COUNT exch def + /cid_SUBR_MAP_OFFSET exch def + /cid_SUBRS exch def + cid_SUBR_COUNT 0 gt + { + GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval + 0 cid_SD_BYTES ct_cvnsi + 0 1 cid_SUBR_COUNT 1 sub + { + exch 1 index + 1 add + cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add + GlyphData exch cid_SD_BYTES ct_GetInterval + 0 cid_SD_BYTES ct_cvnsi + cid_SUBRS 4 2 roll + GlyphData exch + 4 index + 1 index + sub + ct_GetInterval + dup length string copy put + } + for + pop + } + if + } + { pop } + ifelse + } + forall + } + if + cleartomark pop pop + end + CIDFontName currentdict /CIDFont defineresource pop + end end + } + stopped + { cleartomark /StartData ct_reraise } + if + } bind def + currentdict + end def + /ct_saveCIDInit + { + /CIDInit /ProcSet ct_resourcestatus + { true } + { /CIDInitC /ProcSet ct_resourcestatus } + ifelse + { + pop pop + /CIDInit /ProcSet findresource + ct_UseNativeCapability? + { pop null } + { /CIDInit ct_CIDInit /ProcSet defineresource pop } + ifelse + } + { /CIDInit ct_CIDInit /ProcSet defineresource pop null } + ifelse + ct_Vars exch /ct_oldCIDInit exch put + } bind def + /ct_restoreCIDInit + { + ct_Vars /ct_oldCIDInit get dup null ne + { /CIDInit exch /ProcSet defineresource pop } + { pop } + ifelse + } bind def + /ct_BuildCharSetUp + { + 1 index + begin + CIDFont + begin + Adobe_CoolType_Utility /ct_BuildCharDict get + begin + /ct_dfCharCode exch def + /ct_dfDict exch def + CIDFirstByte ct_dfCharCode add + dup CIDCount ge + { pop 0 } + if + /cid exch def + { + GlyphDirectory cid 2 copy known + { get } + { pop pop nullstring } + ifelse + dup length FDBytes sub 0 gt + { + dup + FDBytes 0 ne + { 0 FDBytes ct_cvnsi } + { pop 0 } + ifelse + /fdIndex exch def + dup length FDBytes sub FDBytes exch getinterval + /charstring exch def + exit + } + { + pop + cid 0 eq + { /charstring nullstring def exit } + if + /cid 0 def + } + ifelse + } + loop + } def + /ct_SetCacheDevice + { + 0 0 moveto + dup stringwidth + 3 -1 roll + true charpath + pathbbox + 0 -1000 + 7 index 2 div 880 + setcachedevice2 + 0 0 moveto + } def + /ct_CloneSetCacheProc + { + 1 eq + { + stringwidth + pop -2 div -880 + 0 -1000 setcharwidth + moveto + } + { + usewidths? + { + currentfont /Widths get cid + 2 copy known + { get exch pop aload pop } + { pop pop stringwidth } + ifelse + } + { stringwidth } + ifelse + setcharwidth + 0 0 moveto + } + ifelse + } def + /ct_Type3ShowCharString + { + ct_FDDict fdIndex 2 copy known + { get } + { + currentglobal 3 1 roll + 1 index gcheck setglobal + ct_Type1FontTemplate dup maxlength dict copy + begin + FDArray fdIndex get + dup /FontMatrix 2 copy known + { get } + { pop pop ct_defaultFontMtx } + ifelse + /FontMatrix exch dup length array copy def + /Private get + /Private exch def + /Widths rootfont /Widths get def + /CharStrings 1 dict dup /.notdef + dup length string copy put def + currentdict + end + /ct_Type1Font exch definefont + dup 5 1 roll put + setglobal + } + ifelse + dup /CharStrings get 1 index /Encoding get + ct_dfCharCode get charstring put + rootfont /WMode 2 copy known + { get } + { pop pop 0 } + ifelse + exch + 1000 scalefont setfont + ct_str1 0 ct_dfCharCode put + ct_str1 exch ct_dfSetCacheProc + ct_SyntheticBold + { + currentpoint + ct_str1 show + newpath + moveto + ct_str1 true charpath + ct_StrokeWidth setlinewidth + stroke + } + { ct_str1 show } + ifelse + } def + /ct_Type4ShowCharString + { + ct_dfDict ct_dfCharCode charstring + FDArray fdIndex get + dup /FontMatrix get dup ct_defaultFontMtx ct_matrixeq not + { ct_1000Mtx matrix concatmatrix concat } + { pop } + ifelse + /Private get + Adobe_CoolType_Utility /ct_Level2? get not + { + ct_dfDict /Private + 3 -1 roll + { put } + 1183615869 internaldict /superexec get exec + } + if + 1183615869 internaldict + Adobe_CoolType_Utility /ct_Level2? get + { 1 index } + { 3 index /Private get mark 6 1 roll } + ifelse + dup /RunInt known + { /RunInt get } + { pop /CCRun } + ifelse + get exec + Adobe_CoolType_Utility /ct_Level2? get not + { cleartomark } + if + } bind def + /ct_BuildCharIncremental + { + { + Adobe_CoolType_Utility /ct_MakeOCF get begin + ct_BuildCharSetUp + ct_ShowCharString + } + stopped + { stop } + if + end + end + end + end + } bind def + /BaseFontNameStr (BF00) def + /ct_Type1FontTemplate 14 dict + begin + /FontType 1 def + /FontMatrix [0.001 0 0 0.001 0 0] def + /FontBBox [-250 -250 1250 1250] def + /Encoding ct_cHexEncoding def + /PaintType 0 def + currentdict + end def + /BaseFontTemplate 11 dict + begin + /FontMatrix [0.001 0 0 0.001 0 0] def + /FontBBox [-250 -250 1250 1250] def + /Encoding ct_cHexEncoding def + /BuildChar /ct_BuildCharIncremental load def + ct_Clone? + { + /FontType 3 def + /ct_ShowCharString /ct_Type3ShowCharString load def + /ct_dfSetCacheProc /ct_CloneSetCacheProc load def + /ct_SyntheticBold false def + /ct_StrokeWidth 1 def + } + { + /FontType 4 def + /Private 1 dict dup /lenIV 4 put def + /CharStrings 1 dict dup /.notdef put def + /PaintType 0 def + /ct_ShowCharString /ct_Type4ShowCharString load def + } + ifelse + /ct_str1 1 string def + currentdict + end def + /BaseFontDictSize BaseFontTemplate length 5 add def + /ct_matrixeq + { + true 0 1 5 + { + dup 4 index exch get exch 3 index exch get eq and + dup not + { exit } + if + } + for + exch pop exch pop + } bind def + /ct_makeocf + { + 15 dict + begin + exch /WMode exch def + exch /FontName exch def + /FontType 0 def + /FMapType 2 def + dup /FontMatrix known + { dup /FontMatrix get /FontMatrix exch def } + { /FontMatrix matrix def } + ifelse + /bfCount 1 index /CIDCount get 256 idiv 1 add + dup 256 gt { pop 256} if def + /Encoding + 256 array 0 1 bfCount 1 sub { 2 copy dup put pop } for + bfCount 1 255 { 2 copy bfCount put pop } for + def + /FDepVector bfCount dup 256 lt { 1 add } if array def + BaseFontTemplate BaseFontDictSize dict copy + begin + /CIDFont exch def + CIDFont /FontBBox known + { CIDFont /FontBBox get /FontBBox exch def } + if + CIDFont /CDevProc known + { CIDFont /CDevProc get /CDevProc exch def } + if + currentdict + end + BaseFontNameStr 3 (0) putinterval + 0 1 bfCount dup 256 eq { 1 sub } if + { + FDepVector exch + 2 index BaseFontDictSize dict copy + begin + dup /CIDFirstByte exch 256 mul def + FontType 3 eq + { /ct_FDDict 2 dict def } + if + currentdict + end + 1 index 16 + BaseFontNameStr 2 2 getinterval cvrs pop + BaseFontNameStr exch definefont + put + } + for + ct_Clone? + { /Widths 1 index /CIDFont get /GlyphDirectory get length dict def } + if + FontName + currentdict + end + definefont + ct_Clone? + { + gsave + dup 1000 scalefont setfont + ct_BuildCharDict + begin + /usewidths? false def + currentfont /Widths get + begin + exch /CIDFont get /GlyphDirectory get + { + pop + dup charcode exch 1 index 0 2 index 256 idiv put + 1 index exch 1 exch 256 mod put + stringwidth 2 array astore def + } + forall + end + /usewidths? true def + end + grestore + } + { exch pop } + ifelse + } bind def + /ct_ComposeFont + { + ct_UseNativeCapability? + { + 2 index /CMap ct_resourcestatus + { pop pop exch pop } + { + /CIDInit /ProcSet findresource + begin + 12 dict + begin + begincmap + /CMapName 3 index def + /CMapVersion 1.000 def + /CMapType 1 def + exch /WMode exch def + /CIDSystemInfo 3 dict dup + begin + /Registry (Adobe) def + /Ordering + CMapName ct_mkocfStr100 cvs + (Adobe-) search + { + pop pop + (-) search + { + dup length string copy + exch pop exch pop + } + { pop (Identity)} + ifelse + } + { pop (Identity) } + ifelse + def + /Supplement 0 def + end def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000> 0 + endcidrange + endcmap + CMapName currentdict /CMap defineresource pop + end + end + } + ifelse + composefont + } + { + 3 2 roll pop + 0 get /CIDFont findresource + ct_makeocf + } + ifelse + } bind def + /ct_MakeIdentity + { + ct_UseNativeCapability? + { + 1 index /CMap ct_resourcestatus + { pop pop } + { + /CIDInit /ProcSet findresource begin + 12 dict begin + begincmap + /CMapName 2 index def + /CMapVersion 1.000 def + /CMapType 1 def + /CIDSystemInfo 3 dict dup + begin + /Registry (Adobe) def + /Ordering + CMapName ct_mkocfStr100 cvs + (Adobe-) search + { + pop pop + (-) search + { dup length string copy exch pop exch pop } + { pop (Identity) } + ifelse + } + { pop (Identity) } + ifelse + def + /Supplement 0 def + end def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000> 0 + endcidrange + endcmap + CMapName currentdict /CMap defineresource pop + end + end + } + ifelse + composefont + } + { + exch pop + 0 get /CIDFont findresource + ct_makeocf + } + ifelse + } bind def + currentdict readonly pop + end + end +%%EndResource +%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 +%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. +%%Version: 1.0 0 +userdict /ct_T42Dict 15 dict put +ct_T42Dict begin +/Is2015? +{ + version + cvi + 2015 + ge +} bind def +/AllocGlyphStorage +{ + Is2015? + { + pop + } + { + {string} forall + } ifelse +} bind def +/Type42DictBegin +{ + 25 dict begin + /FontName exch def + /CharStrings 256 dict + begin + /.notdef 0 def + currentdict + end def + /Encoding exch def + /PaintType 0 def + /FontType 42 def + /FontMatrix [1 0 0 1 0 0] def + 4 array astore cvx /FontBBox exch def + /sfnts +} bind def +/Type42DictEnd +{ + currentdict dup /FontName get exch definefont end + ct_T42Dict exch + dup /FontName get exch put +} bind def +/RD {string currentfile exch readstring pop} executeonly def +/PrepFor2015 +{ + Is2015? + { + /GlyphDirectory + 16 + dict def + sfnts 0 get + dup + 2 index + (glyx) + putinterval + 2 index + (locx) + putinterval + pop + pop + } + { + pop + pop + } ifelse +} bind def +/AddT42Char +{ + Is2015? + { + /GlyphDirectory get + begin + def + end + pop + pop + } + { + /sfnts get + 4 index + get + 3 index + 2 index + putinterval + pop + pop + pop + pop + } ifelse +} bind def +/T0AddT42Mtx2 +{ + /CIDFont findresource /Metrics2 get begin def end +}bind def +end +%%EndResource +Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end +%%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc. All Rights Reserved. +systemdict /setpacking known +{ + currentpacking + true setpacking +} if +userdict /Adobe_AGM_Image 75 dict dup begin put +/Adobe_AGM_Image_Id /Adobe_AGM_Image_1.0_0 def +/nd{ + null def +}bind def +/AGMIMG_&image nd +/AGMIMG_&colorimage nd +/AGMIMG_&imagemask nd +/AGMIMG_mbuf () def +/AGMIMG_ybuf () def +/AGMIMG_kbuf () def +/AGMIMG_c 0 def +/AGMIMG_m 0 def +/AGMIMG_y 0 def +/AGMIMG_k 0 def +/AGMIMG_tmp nd +/AGMIMG_imagestring0 nd +/AGMIMG_imagestring1 nd +/AGMIMG_imagestring2 nd +/AGMIMG_imagestring3 nd +/AGMIMG_imagestring4 nd +/AGMIMG_imagestring5 nd +/AGMIMG_cnt nd +/AGMIMG_fsave nd +/AGMIMG_colorAry nd +/AGMIMG_override nd +/AGMIMG_name nd +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/doc_setup +{ + Adobe_AGM_Core begin + Adobe_AGM_Image begin + /AGMIMG_&image systemdict/image get def + /AGMIMG_&imagemask systemdict/imagemask get def + /colorimage where{ + pop + /AGMIMG_&colorimage /colorimage ldf + }if + end + end +}def +/page_setup +{ + Adobe_AGM_Image begin + /AGMIMG_ccimage_exists {/customcolorimage where + { + pop + /Adobe_AGM_OnHost_Seps where + { + pop false + }{ + /Adobe_AGM_InRip_Seps where + { + pop false + }{ + true + }ifelse + }ifelse + }{ + false + }ifelse + }bdf + level2{ + /invert_image_samples + { + Adobe_AGM_Image/AGMIMG_tmp Decode length ddf + /Decode [ Decode 1 get Decode 0 get] def + }def + /knockout_image_samples + { + Operator/imagemask ne{ + /Decode [1 1] def + }if + }def + }{ + /invert_image_samples + { + {1 exch sub} currenttransfer addprocs settransfer + }def + /knockout_image_samples + { + { pop 1 } currenttransfer addprocs settransfer + }def + }ifelse + /img /imageormask ldf + /sepimg /sep_imageormask ldf + /devnimg /devn_imageormask ldf + /idximg /indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and{ + bind + }if + def + }forall +}def +/page_trailer +{ + end +}def +/doc_trailer +{ +}def +/AGMIMG_flushfilters +{ + dup type /arraytype ne + {1 array astore}if + aload length + { + dup type /filetype eq + { + dup status 1 index currentfile ne and + {dup flushfile closefile} + {pop} + ifelse + }{pop}ifelse + } repeat +}def +/imageormask_sys +{ + begin + save mark + level2{ + currentdict + Operator /imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask { + level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse + }{ + AGMIMG_&image + }ifelse + }ifelse + }{ + Width Height + Operator /imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix /DataSource load + AGMIMG_&imagemask + }{ + BitsPerComponent ImageMatrix /DataSource load + AGMIMG_&image + }ifelse + }ifelse + currentdict /_Filters known {_Filters AGMIMG_flushfilters} if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint { + 0 get dup type /nametype eq { + dup /DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + } forall + not + } ifelse + }{ + pop false + }ifelse +}def +/process_mask_L3 +{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup /MaskWidth known {/MaskWidth}{/Width} ifelse get def + /Height DataDict dup /MaskHeight known {/MaskHeight}{/Height} ifelse get def + /ImageMatrix [Width 0 0 Height neg 0 Height] def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode [0 1] def + /DataSource AGMIMG_maskSource def + currentdict end def + currentdict end +}def +/use_mask +{ + dup type /dicttype eq + { + dup /Mask known { + dup /Mask get { + level3 + {true} + { + dup /MaskWidth known {dup /MaskWidth get 1 index /Width get eq}{true}ifelse exch + dup /MaskHeight known {dup /MaskHeight get 1 index /Height get eq}{true}ifelse + 3 -1 roll and + } ifelse + } + {false} ifelse + } + {false} ifelse + } + {false} ifelse +}def +/make_line_source +{ + begin + MultipleDataSources { + [ + Decode length 2 div cvi {Width string} repeat + ] + }{ + Width Decode length 2 div mul cvi string + }ifelse + end +}def +/datasource_to_str +{ + exch dup type + dup /filetype eq { + pop exch readstring + }{ + /arraytype eq { + exec exch copy + }{ + pop + }ifelse + }ifelse + pop +}def +/masked_image_simulation +{ + 3 dict begin + dup make_line_source /line_source xdf + /mask_source AGMIMG_maskSource /LZWDecode filter def + dup /Width get 8 div ceiling cvi string /mask_str xdf + begin + gsave + 0 1 translate 1 -1 Height div scale + 1 1 Height { + pop + gsave + MultipleDataSources { + 0 1 DataSource length 1 sub { + dup DataSource exch get + exch line_source exch get + datasource_to_str + } for + }{ + DataSource line_source datasource_to_str + } ifelse + << + /PatternType 1 + /PaintProc [ + /pop cvx + << + /ImageType 1 + /Width Width + /Height 1 + /ImageMatrix Width 1.0 sub 1 matrix scale 0.5 0 matrix translate matrix concatmatrix + /MultipleDataSources MultipleDataSources + /DataSource line_source + /BitsPerComponent BitsPerComponent + /Decode Decode + >> + /image cvx + ] cvx + /BBox [0 0 Width 1] + /XStep Width + /YStep 1 + /PaintType 1 + /TilingType 2 + >> + matrix makepattern set_pattern + << + /ImageType 1 + /Width Width + /Height 1 + /ImageMatrix Width 1 matrix scale + /MultipleDataSources false + /DataSource mask_source mask_str readstring pop + /BitsPerComponent 1 + /Decode [0 1] + >> + imagemask + grestore + 0 1 translate + } for + grestore + end + end +}def +/imageormask +{ + begin + SkipImageProc { + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator /imagemask eq DeviceN_PS2 not and { + imagemask + }{ + AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get /DeviceGray eq and{ + [/Separation /Black /DeviceGray {}] setcolorspace + /Decode [ Decode 1 get Decode 0 get ] def + }if + use_mask { + level3 {process_mask_L3 image}{masked_image_simulation}ifelse + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not { + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file { + Names { + dup (None) ne { + [/Separation 3 -1 roll /DeviceGray {1 exch sub}] setcolorspace + Operator imageDict read_image_file + names_index 0 eq {true setoverprint} if + /names_index names_index 1 add def + }{ + pop + } ifelse + } forall + close_image_file + } if + grestore + end + }{ + Operator /imagemask eq { + imagemask + }{ + image + } ifelse + } ifelse + }{ + Operator /imagemask eq { + imagemask + }{ + image + } ifelse + } ifelse + }ifelse + }ifelse + }{ + Width Height + Operator /imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix /DataSource load + /Adobe_AGM_OnHost_Seps where { + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }ifelse + }{ + BitsPerComponent ImageMatrix + MultipleDataSources{ + 0 1 NComponents 1 sub{ + DataSource exch get + }for + }{ + /DataSource load + }ifelse + Operator /colorimage eq{ + AGMCORE_host_sep{ + MultipleDataSources level2 or NComponents 4 eq and{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource [ + DataSource 0 get /exec cvx + DataSource 1 get /exec cvx + DataSource 2 get /exec cvx + DataSource 3 get /exec cvx + /AGMCORE_get_ink_data cvx + ] cvx def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /DataSource load + filter_cmyk 0 () /SubFileDecode filter def + }ifelse + /Decode [ Decode 0 get Decode 1 get ] def + /MultipleDataSources false def + /NComponents 1 def + /Operator /image def + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator /image eq{ + AGMCORE_host_sep{ + /DoImage true def + HostSepColorImage{ + invert_image_samples + }{ + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }ifelse + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys} if + }{ + use_mask { + level3 {process_mask_L3 image}{masked_image_simulation}ifelse + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict /_Filters known {_Filters AGMIMG_flushfilters} if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + SkipImageProc { + currentdict consumeimagedata + } + { + save mark + AGMCORE_avoid_L2_sep_space{ + /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def + }if + AGMIMG_ccimage_exists + MappedCSA 0 get /DeviceCMYK eq and + currentdict/Components known and + Name () ne and + Name (All) ne and + Operator /image eq and + AGMCORE_producing_seps not and + level2 not and + { + Width Height BitsPerComponent ImageMatrix + [ + /DataSource load /exec cvx + { + 0 1 2 index length 1 sub{ + 1 index exch + 2 copy get 255 xor put + }for + } /exec cvx + ] cvx bind + MappedCSA 0 get /DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Name findcmykcustomcolor + customcolorimage + }{ + AGMCORE_producing_seps not{ + level2{ + AGMCORE_avoid_L2_sep_space not currentcolorspace 0 get /Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentdict imageormask + }{ + currentdict + Operator /imagemask eq{ + imageormask + }{ + sep_imageormask_lev1 + }ifelse + }ifelse + }{ + AGMCORE_host_sep{ + Operator/knockout eq{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name (All) ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator /imagemask eq{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }{ + invert_image_samples + }ifelse + }{ + [ /Separation Name [/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + } bind + ] AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }ifelse + currentdict imageormask_sys + }{ + currentdict + Operator /imagemask eq{ + imageormask_sys + }{ + sep_image_lev1_sep + }ifelse + }ifelse + }{ + Operator/imagemask ne{ + invert_image_samples + }if + currentdict imageormask_sys + }ifelse + }{ + currentoverprint not Name (All) eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentcolorspace 0 get /Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentoverprint + MappedCSA 0 get /DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + Name inRip_spot_has_ink not and + Name (All) ne and { + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict /_Filters known {_Filters AGMIMG_flushfilters} if + end + end +}def +/decode_image_sample +{ + 4 1 roll exch dup 5 1 roll + sub 2 4 -1 roll exp 1 sub div mul add +} bdf +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +} bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub { + dup currentdict /dataSource get /exch cvx /get cvx /exec cvx + /exch cvx names_index /ne cvx [ /pop cvx ] cvx /if cvx + } for + ] cvx bind + end +} bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources {origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0 () /SubFileDecode filter + BitsPerComponent 8 idiv string /readstring cvx /pop cvx /putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0 () /SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv {DataSource /read cvx /not cvx{0}/if cvx /mul cvx}repeat /mul cvx /add cvx + }for + /convProc load /exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2 /add cvx /index cvx + 3 1 /roll cvx /exch cvx 255 /mul cvx /cvi cvx /put cvx + }for + ]bind cvx 0 () /SubFileDecode filter + end +} bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs [ 3 -1 roll begin + currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt {1 add 2 div cvi}{exit}ifelse + } loop + string + } repeat + end ] def + /dstDataStr srcDataStrs 0 get length string def + begin + SkipImageProc { + currentdict consumeimagedata + } + { + save mark + AGMCORE_producing_seps not { + level3 not { + Operator /imagemask ne { + /DataSource [ [ + DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse + colorSpaceElemCnt /devicen_colorspace_dict AGMCORE_gget /TintTransform get + devn_alt_datasource 1 /string cvx /readstring cvx /pop cvx] cvx colorSpaceElemCnt 1 sub{dup}repeat] def + /MultipleDataSources true def + /Decode colorSpaceElemCnt [ exch {0 1} repeat ] def + } if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process { + CSA get_csa_by_name 0 get /DeviceCMYK eq { + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse + 4 /devicen_colorspace_dict AGMCORE_gget /TintTransform get + devn_alt_datasource + filter_cmyk 0 () /SubFileDecode filter def + /MultipleDataSources false def + /Decode [1 0] def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate { + /DataSource + DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse + CSA get_csa_by_name 0 get /DeviceRGB eq{3}{1}ifelse /devicen_colorspace_dict AGMCORE_gget /TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt [ exch {0 1} repeat ] def + currentdict imageormask_sys + } + { + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + } ifelse + } ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget /names_index known { + Operator/imagemask ne{ + MultipleDataSources { + /DataSource [ DataSource devn_sep_datasource /exec cvx ] cvx def + /MultipleDataSources false def + }{ + /DataSource /DataSource load dstDataStr srcDataStrs 0 get filter_devn def + } ifelse + invert_image_samples + } if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict /_Filters known {_Filters AGMIMG_flushfilters} if + end + end + end +}def +/imageormask_l2_overprint +{ + currentdict + currentcmykcolor add add add 0 eq{ + currentdict consumeimagedata + }{ + level3{ + currentcmykcolor + /AGMIMG_k xdf + /AGMIMG_y xdf + /AGMIMG_m xdf + /AGMIMG_c xdf + Operator/imagemask eq{ + [/DeviceN [ + AGMIMG_c 0 ne {/Cyan} if + AGMIMG_m 0 ne {/Magenta} if + AGMIMG_y 0 ne {/Yellow} if + AGMIMG_k 0 ne {/Black} if + ] /DeviceCMYK {}] setcolorspace + AGMIMG_c 0 ne {AGMIMG_c} if + AGMIMG_m 0 ne {AGMIMG_m} if + AGMIMG_y 0 ne {AGMIMG_y} if + AGMIMG_k 0 ne {AGMIMG_k} if + setcolor + }{ + /Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def + [/Indexed + [ + /DeviceN [ + AGMIMG_c 0 ne {/Cyan} if + AGMIMG_m 0 ne {/Magenta} if + AGMIMG_y 0 ne {/Yellow} if + AGMIMG_k 0 ne {/Black} if + ] + /DeviceCMYK { + AGMIMG_k 0 eq {0} if + AGMIMG_y 0 eq {0 exch} if + AGMIMG_m 0 eq {0 3 1 roll} if + AGMIMG_c 0 eq {0 4 1 roll} if + } + ] + 255 + { + 255 div + mark exch + dup dup dup + AGMIMG_k 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_y 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_m 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_c 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + counttomark 1 add -1 roll pop + } + ] setcolorspace + }ifelse + imageormask_sys + }{ + write_image_file{ + currentcmykcolor + 0 ne{ + [/Separation /Black /DeviceGray {}] setcolorspace + gsave + /Black + [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 1 roll pop pop pop 1 exch sub} /exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation /Yellow /DeviceGray {}] setcolorspace + gsave + /Yellow + [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 2 roll pop pop pop 1 exch sub} /exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation /Magenta /DeviceGray {}] setcolorspace + gsave + /Magenta + [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 3 roll pop pop pop 1 exch sub} /exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation /Cyan /DeviceGray {}] setcolorspace + gsave + /Cyan + [{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {pop pop pop 1 exch sub} /exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + } if + close_image_file + }{ + imageormask + }ifelse + }ifelse + }ifelse +} def +/indexed_imageormask +{ + begin + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup /CSA known { + /CSA get get_csa_by_name + }{ + /Names get + } ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN { + /devicen_colorspace_dict AGMCORE_gget /names_index known { + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + } ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator /imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN { + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget begin + CSA get_csa_by_name 0 get /DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and { + [/Indexed [/DeviceN [/Cyan /Magenta /Yellow /Black] /DeviceCMYK {}] HiVal Lookup] + setcolorspace + } if + end + } ifelse + imageormask + Indexed_DeviceN { + end + } if + }{ + Operator /imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict /_Filters known {_Filters AGMIMG_flushfilters} if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not { + currentcolorspace + dup 1 /DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + } if + currentdict + Operator /imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask { + level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse + }{ + AGMIMG_&image + }ifelse + }ifelse + end end +}def + /OPIimage + { + dup type /dicttype ne{ + 10 dict begin + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /ImageType 1 def + /Decode [0 1 def] + currentdict + end + }if + dup begin + /NComponents 1 cdndf + /MultipleDataSources false cdndf + /SkipImageProc {false} cdndf + /HostSepColorImage false cdndf + /Decode [ + 0 + currentcolorspace 0 get /Indexed eq{ + 2 BitsPerComponent exp 1 sub + }{ + 1 + }ifelse + ] cdndf + /Operator /image cdndf + end + /sep_colorspace_dict AGMCORE_gget null eq{ + imageormask + }{ + gsave + dup begin invert_image_samples end + sep_imageormask + grestore + }ifelse + }def +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter /WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0 (%EndMask) /SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not {exit} if + }loop + WriteFilter closefile + end +}def +/cachemask_level3 +{ + currentfile + << + /Filter [ /SubFileDecode /ASCII85Decode /RunLengthDecode ] + /DecodeParms [ << /EODCount 0 /EODString (%EndMask) >> null null ] + /Intent 1 + >> + /ReusableStreamDecode filter +}def +/spot_alias +{ + /mapto_sep_imageormask + { + dup type /dicttype ne{ + 12 dict begin + /ImageType 1 def + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /MultipleDataSources false def + }{ + begin + }ifelse + /Decode [/customcolor_tint AGMCORE_gget 0] def + /Operator /image def + /HostSepColorImage false def + /SkipImageProc {false} def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA [ /DeviceCMYK ] + /TintMethod /Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components [ AGMIMG_colorAry aload pop pop ] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage /customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + AGMIMG_&customcolorimage + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt /AGMIMG_xSign? exch def /AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch + AGMIMG_xSign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch + itransform /AGMIMG_llY exch def /AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch + AGMIMG_xSign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch + itransform /AGMIMG_urY exch def /AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY] concat + }{ + }ifelse + end +} def +level2 not{ + /colorbuf + { + 0 1 2 index length 1 sub{ + dup 2 index exch get + 255 exch sub + 2 index + 3 1 roll + put + }for + }def + /tint_image_to_color + { + begin + Width Height BitsPerComponent ImageMatrix + /DataSource load + end + Adobe_AGM_Image begin + /AGMIMG_mbuf 0 string def + /AGMIMG_ybuf 0 string def + /AGMIMG_kbuf 0 string def + { + colorbuf dup length AGMIMG_mbuf length ne + { + dup length dup dup + /AGMIMG_mbuf exch string def + /AGMIMG_ybuf exch string def + /AGMIMG_kbuf exch string def + } if + dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop + } + addprocs + {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf} true 4 colorimage + end + } def + /sep_imageormask_lev1 + { + begin + MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ + { + 255 mul round cvi GrayLookup exch get + } currenttransfer addprocs settransfer + currentdict imageormask + }{ + /sep_colorspace_dict AGMCORE_gget/Components known{ + MappedCSA 0 get /DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ + {AGMIMG_k mul 1 exch sub} currenttransfer addprocs settransfer + currentdict imageormask + }{ + currentcolortransfer + {AGMIMG_k mul 1 exch sub} exch addprocs 4 1 roll + {AGMIMG_y mul 1 exch sub} exch addprocs 4 1 roll + {AGMIMG_m mul 1 exch sub} exch addprocs 4 1 roll + {AGMIMG_c mul 1 exch sub} exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }{ + MappedCSA 0 get /DeviceGray eq { + {255 mul round cvi ColorLookup exch get 0 get} currenttransfer addprocs settransfer + currentdict imageormask + }{ + MappedCSA 0 get /DeviceCMYK eq { + currentcolortransfer + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }{ + currentcolortransfer + {pop 1} exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get} exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get} exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get} exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + /sep_image_lev1_sep + { + begin + /sep_colorspace_dict AGMCORE_gget/Components known{ + Components aload pop + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + {AGMIMG_c mul 1 exch sub} + {AGMIMG_m mul 1 exch sub} + {AGMIMG_y mul 1 exch sub} + {AGMIMG_k mul 1 exch sub} + }{ + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} + }ifelse + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end + }def + /indexed_imageormask_lev1 + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + currentdict + MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{ + {HiVal mul round cvi GrayLookup exch get HiVal div} currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get /DeviceGray eq { + {HiVal mul round cvi Lookup exch get HiVal div} currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get /DeviceCMYK eq { + currentcolortransfer + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }{ + currentcolortransfer + {pop 1} exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div} exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div} exch addprocs 4 1 roll + {3 mul HiVal mul round cvi Lookup exch get HiVal div} exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }ifelse + }ifelse + }ifelse + end end + }def + /indexed_image_lev1_sep + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end end + }def +}if +end +systemdict /setpacking known +{ + setpacking +} if +%%EndResource +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/doc_setup get exec +Adobe_CoolType_Core/doc_setup get exec +Adobe_AGM_Image/doc_setup get exec +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: (Page 1) 1 +%%EndPageComments +%%BeginPageSetup +/currentdistillerparams where +{pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse +{ userdict /AI11_PDFMark5 /cleartomark load put +userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} +{ userdict /AI11_PDFMark5 /pdfmark load put +userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse +[/NamespacePush AI11_PDFMark5 +[/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 +[{ai_metadata_stream_123} +currentfile 0 (% &&end XMP packet marker&&) +/SubFileDecode filter AI11_ReadMetadata_PDFMark5 + % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 %AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 Adobe_AGM_Utils begin Adobe_AGM_Core/page_setup get exec Adobe_AGM_Core/capture_currentpagedevice get exec Adobe_CoolType_Core/page_setup get exec Adobe_AGM_Image/page_setup get exec %%EndPageSetup Adobe_AGM_Core/AGMCORE_save save ddf 1 -1 scale 0 -346.999 translate [1 0 0 1 0 0 ] concat % page clip gsave newpath gsave % PSGState 0 0 mo 0 346.999 li 1190.59 346.999 li 1190.59 0 li cp clp [1 0 0 1 0 0 ] concat 117.664 249.537 mo 115.487 248.393 95.3335 232.718 94.9785 232.733 cv 92.7925 232.826 86.3252 242.936 84.0562 245.336 cv 78.8462 250.847 73.7607 253.542 72.2935 257.938 cv 91.8438 277.571 121.828 294.962 159.673 294.907 cv 197.007 294.853 227.463 277.275 246.213 257.099 cv 237.566 249.501 231.385 239.439 222.688 231.893 cv 200.563 260.887 152.141 267.663 117.664 249.537 cv cp 1072.96 183.161 mo 1069.04 134.177 972.732 145.522 967.938 187.362 cv 979.21 187.853 989.543 189.282 1000.71 189.884 cv 1004.07 167.746 1052.97 172.605 1036.83 200.806 cv 1011.5 208.045 988.711 200.9 968.777 214.249 cv 949.42 227.211 949.312 262.449 965.417 276.423 cv 983.789 292.364 1015.44 281.098 1026.75 268.861 cv 1027.02 273.635 1028.37 277.329 1029.27 281.464 cv 1040.19 281.464 1051.12 281.464 1062.04 281.464 cv 1052 247.624 1075.64 216.563 1072.96 183.161 cv cp 834.347 188.202 mo 831.496 215.83 855.318 223.207 874.676 230.212 cv 883.944 233.566 899.216 236.272 900.722 243.655 cv 904.187 260.636 872.965 264.786 859.553 256.258 cv 853.511 252.416 853.258 246.31 846.949 241.135 cv 836.673 242.9 826.02 244.29 815.862 246.176 cv 824.822 299.207 931.887 296.894 936.01 243.655 cv 937.918 219.014 917.988 209.959 897.361 203.326 cv 887.05 200.011 867.627 198.185 867.114 187.362 cv 866.465 173.664 890.315 171.611 903.242 178.12 cv 909.547 181.295 910.76 187.353 915.005 189.884 cv 924.697 188.093 934.158 186.071 944.412 184.842 cv 937.529 135.568 839.043 142.686 834.347 188.202 cv cp 163.875 107.544 mo 129.846 105.777 105.619 128.293 94.9785 157.116 cv 91.042 156.572 84.918 158.214 82.376 156.275 cv 81.9595 139.498 83.0938 128.673 83.2158 113.426 cv 71.8979 120.709 60.8799 131.561 50.4487 141.992 cv 39.7305 152.71 28.3745 163.109 18.5215 173.919 cv 41.0952 192.759 61.1343 218.305 83.2158 234.413 cv 83.1875 218.077 81.9224 206.733 82.376 189.043 cv 86.8569 189.043 91.3379 189.043 95.8188 189.043 cv 105.267 220.015 129.191 243.992 169.756 239.454 cv 199.332 236.146 216.002 214.026 225.208 189.043 cv 229.044 189.408 234.459 188.193 236.971 189.884 cv 237.443 207.288 236.043 218.351 236.131 234.413 cv 256.226 216.419 278.91 193.734 298.305 172.239 cv 277.22 152.715 257.723 131.603 236.131 112.585 cv 235.604 128.013 238.531 141.457 236.131 157.116 cv 232.21 157.116 228.289 157.116 224.368 157.116 cv 215.628 130.532 195.157 109.169 163.875 107.544 cv cp 1170.42 132.75 mo 1174.93 92.6963 1103.86 97.0156 1103.21 131.91 cv 1110.07 133.73 1118.88 133.607 1125.89 135.271 cv 1123.64 121.726 1145.51 115.46 1147.74 127.709 cv 1149.66 138.281 1132.93 147.278 1125.05 153.755 cv 1109.22 166.772 1097.29 175.587 1093.97 194.925 cv 1115.81 194.925 1137.66 194.925 1159.5 194.925 cv 1160.48 188.339 1162.72 183.024 1163.7 176.44 cv 1152.78 176.44 1141.86 176.44 1130.93 176.44 cv 1141.5 162.071 1167.96 154.686 1170.42 132.75 cv cp 463.823 51.2515 mo 423.245 53.4082 395.704 65.6802 372.242 88.2202 cv 350.11 109.482 333.479 139.475 331.072 173.079 cv 324.933 258.789 383.741 298.306 465.503 293.227 cv 540.949 288.54 566.031 227.583 563.805 141.992 cv 525.437 141.992 487.068 141.992 448.699 141.992 cv 446.654 160.689 443.366 182.566 442.818 199.966 cv 460.743 200.524 480.905 198.847 497.43 200.806 cv 496.612 225.762 478.18 235.873 459.622 237.774 cv 433.265 240.474 412.459 226.915 403.329 208.367 cv 385.779 172.716 406.732 130.137 432.735 116.787 cv 455.405 105.148 488.102 109.767 522.636 109.225 cv 525.261 90.8457 526.691 71.2705 529.357 52.9321 cv 506.556 52.5078 486.571 50.0425 463.823 51.2515 cv cp 234.45 99.9829 mo 236.877 97.5566 246.327 90.8779 246.213 88.2202 cv 246.105 85.6963 233.958 77.1836 229.409 73.937 cv 210.905 60.7314 186.125 51.1035 157.153 51.2515 cv 136.822 51.3555 119.82 56.355 103.38 64.6948 cv 97.7813 67.5352 72.0601 83.6055 72.2935 89.0601 cv 72.373 90.9224 81.8877 97.8145 84.0562 99.9829 cv 88.9297 104.856 91.4717 107.916 94.9785 111.746 cv 110.656 97.6343 133.008 84.1777 161.354 84.8594 cv 188.472 85.5117 208.859 98.792 223.528 112.585 cv 227.055 107.29 229.595 104.838 234.45 99.9829 cv cp 650.345 61.334 mo 612.505 80.8486 587.504 112.492 578.929 161.317 cv 565.98 235.039 608.083 288.694 671.35 293.227 cv 726.54 297.18 760.177 276.371 785.615 244.495 cv 804.927 220.299 819.205 187.081 815.862 141.152 cv 814.438 121.573 807.413 102.675 799.059 89.9004 cv 780.93 62.1777 742.297 43.6064 695.715 47.8906 cv 677.252 49.5889 663.646 54.4741 650.345 61.334 cv cp 0.877441 0 mo 397.437 0 794.029 0 1190.59 0 cv 1190.59 115.667 1190.59 231.33 1190.59 346.999 cv 793.734 346.999 396.897 346.999 0.0371094 346.999 cv 0.0371094 232.173 0.0371094 117.346 0.0371094 2.52051 cv -0.0351563 1.32813 -0.101563 0.141113 0.877441 0 cv cp false sop /0 << /Name (Black) /0 [/DeviceCMYK] /CSA add_res /CSA /0 get_csa_by_name /MappedCSA /0 /CSA get_res /TintMethod /Subtractive /TintProc null /NComponents 4 /Components [ 0 0 0 1 ] >> /CSD add_res 1 /0 /CSD get_res sepcs 0 sep ef 668.829 113.426 mo 644.736 133.127 630.34 201.173 657.906 227.691 cv 670.881 240.173 698.574 241.237 715.04 232.733 cv 753.499 212.87 764.906 123.76 723.441 105.864 cv 717.717 103.394 706.651 102.24 700.757 102.503 cv 686.892 103.122 676.364 107.264 668.829 113.426 cv cp 695.715 47.8906 mo 742.297 43.6064 780.93 62.1777 799.059 89.9004 cv 807.413 102.675 814.438 121.573 815.862 141.152 cv 819.205 187.081 804.927 220.299 785.615 244.495 cv 760.177 276.371 726.54 297.18 671.35 293.227 cv 608.083 288.694 565.98 235.039 578.929 161.317 cv 587.504 112.492 612.505 80.8486 650.345 61.334 cv 663.646 54.4741 677.252 49.5889 695.715 47.8906 cv cp 0.913725 0.807843 0.0470588 0.00392157 cmyk ef 223.528 112.585 mo 208.859 98.792 188.472 85.5117 161.354 84.8594 cv 133.008 84.1777 110.656 97.6343 94.9785 111.746 cv 91.4717 107.916 88.9297 104.856 84.0562 99.9829 cv 81.8877 97.8145 72.373 90.9224 72.2935 89.0601 cv 72.0601 83.6055 97.7813 67.5352 103.38 64.6948 cv 119.82 56.355 136.822 51.3555 157.153 51.2515 cv 186.125 51.1035 210.905 60.7314 229.409 73.937 cv 233.958 77.1836 246.105 85.6963 246.213 88.2202 cv 246.327 90.8779 236.877 97.5566 234.45 99.9829 cv 229.595 104.838 227.055 107.29 223.528 112.585 cv cp ef 529.357 52.9321 mo 526.691 71.2705 525.261 90.8457 522.636 109.225 cv 488.102 109.767 455.405 105.148 432.735 116.787 cv 406.732 130.137 385.779 172.716 403.329 208.367 cv 412.459 226.915 433.265 240.474 459.622 237.774 cv 478.18 235.873 496.612 225.762 497.43 200.806 cv 480.905 198.847 460.743 200.524 442.818 199.966 cv 443.366 182.566 446.654 160.689 448.699 141.992 cv 487.068 141.992 525.437 141.992 563.805 141.992 cv 566.031 227.583 540.949 288.54 465.503 293.227 cv 383.741 298.306 324.933 258.789 331.072 173.079 cv 333.479 139.475 350.11 109.482 372.242 88.2202 cv 395.704 65.6802 423.245 53.4082 463.823 51.2515 cv 486.571 50.0425 506.556 52.5078 529.357 52.9321 cv cp ef 700.757 102.503 mo 706.651 102.24 717.717 103.394 723.441 105.864 cv 764.906 123.76 753.499 212.87 715.04 232.733 cv 698.574 241.237 670.881 240.173 657.906 227.691 cv 630.34 201.173 644.736 133.127 668.829 113.426 cv 676.364 107.264 686.892 103.122 700.757 102.503 cv cp 1 /0 /CSD get_res sepcs 0 sep ef 1130.93 176.44 mo 1141.86 176.44 1152.78 176.44 1163.7 176.44 cv 1162.72 183.024 1160.48 188.339 1159.5 194.925 cv 1137.66 194.925 1115.81 194.925 1093.97 194.925 cv 1097.29 175.587 1109.22 166.772 1125.05 153.755 cv 1132.93 147.278 1149.66 138.281 1147.74 127.709 cv 1145.51 115.46 1123.64 121.726 1125.89 135.271 cv 1118.88 133.607 1110.07 133.73 1103.21 131.91 cv 1103.86 97.0156 1174.93 92.6963 1170.42 132.75 cv 1167.96 154.686 1141.5 162.071 1130.93 176.44 cv cp 0.913725 0.807843 0.0470588 0.00392157 cmyk ef 201.683 144.513 mo 192.101 154.255 182.006 163.484 171.436 172.239 cv 180.612 183.507 191.943 192.621 203.363 201.646 cv 203.363 195.765 203.363 189.884 203.363 184.002 cv 217.927 184.002 232.49 184.002 247.053 184.002 cv 247.053 176.72 247.053 169.438 247.053 162.157 cv 232.769 161.598 216.248 163.275 203.363 161.317 cv 202.349 156.169 205.459 146.898 201.683 144.513 cv cp 115.143 162.157 mo 100.58 162.157 86.0166 162.157 71.4531 162.157 cv 71.4531 169.438 71.4531 176.72 71.4531 184.002 cv 85.7383 184.561 102.258 182.884 115.143 184.842 cv 115.143 190.443 115.143 196.044 115.143 201.646 cv 126.515 193.133 135.993 182.728 146.23 173.079 cv 135.66 163.765 126.398 153.143 115.143 144.513 cv 115.143 150.394 115.143 156.275 115.143 162.157 cv cp 224.368 157.116 mo 228.289 157.116 232.21 157.116 236.131 157.116 cv 238.531 141.457 235.604 128.013 236.131 112.585 cv 257.723 131.603 277.22 152.715 298.305 172.239 cv 278.91 193.734 256.226 216.419 236.131 234.413 cv 236.043 218.351 237.443 207.288 236.971 189.884 cv 234.459 188.193 229.044 189.408 225.208 189.043 cv 216.002 214.026 199.332 236.146 169.756 239.454 cv 129.191 243.992 105.267 220.015 95.8188 189.043 cv 91.3379 189.043 86.8569 189.043 82.376 189.043 cv 81.9224 206.733 83.1875 218.077 83.2158 234.413 cv 61.1343 218.305 41.0952 192.759 18.5215 173.919 cv 28.3745 163.109 39.7305 152.71 50.4487 141.992 cv 60.8799 131.561 71.8979 120.709 83.2158 113.426 cv 83.0938 128.673 81.9595 139.498 82.376 156.275 cv 84.918 158.214 91.042 156.572 94.9785 157.116 cv 105.619 128.293 129.846 105.777 163.875 107.544 cv 195.157 109.169 215.628 130.532 224.368 157.116 cv cp ef 115.143 144.513 mo 126.398 153.143 135.66 163.765 146.23 173.079 cv 135.993 182.728 126.515 193.133 115.143 201.646 cv 115.143 196.044 115.143 190.443 115.143 184.842 cv 102.258 182.884 85.7383 184.561 71.4531 184.002 cv 71.4531 176.72 71.4531 169.438 71.4531 162.157 cv 86.0166 162.157 100.58 162.157 115.143 162.157 cv 115.143 156.275 115.143 150.394 115.143 144.513 cv cp 1 /0 /CSD get_res sepcs 0 sep ef 203.363 161.317 mo 216.248 163.275 232.769 161.598 247.053 162.157 cv 247.053 169.438 247.053 176.72 247.053 184.002 cv 232.49 184.002 217.927 184.002 203.363 184.002 cv 203.363 189.884 203.363 195.765 203.363 201.646 cv 191.943 192.621 180.612 183.507 171.436 172.239 cv 182.006 163.484 192.101 154.255 201.683 144.513 cv 205.459 146.898 202.349 156.169 203.363 161.317 cv cp ef 944.412 184.842 mo 934.158 186.071 924.697 188.093 915.005 189.884 cv 910.76 187.353 909.547 181.295 903.242 178.12 cv 890.315 171.611 866.465 173.664 867.114 187.362 cv 867.627 198.185 887.05 200.011 897.361 203.326 cv 917.988 209.959 937.918 219.014 936.01 243.655 cv 931.887 296.894 824.822 299.207 815.862 246.176 cv 826.02 244.29 836.673 242.9 846.949 241.135 cv 853.258 246.31 853.511 252.416 859.553 256.258 cv 872.965 264.786 904.187 260.636 900.722 243.655 cv 899.216 236.272 883.944 233.566 874.676 230.212 cv 855.318 223.207 831.496 215.83 834.347 188.202 cv 839.043 142.686 937.529 135.568 944.412 184.842 cv cp 0.913725 0.807843 0.0470588 0.00392157 cmyk ef 985.581 245.336 mo 985.816 249.693 988.654 255.782 993.983 257.938 cv 1015.86 266.791 1033.64 242.015 1031.79 221.811 cv 1016.6 226.935 984.439 224.199 985.581 245.336 cv cp 1062.04 281.464 mo 1051.12 281.464 1040.19 281.464 1029.27 281.464 cv 1028.37 277.329 1027.02 273.635 1026.75 268.861 cv 1015.44 281.098 983.789 292.364 965.417 276.423 cv 949.312 262.449 949.42 227.211 968.777 214.249 cv 988.711 200.9 1011.5 208.045 1036.83 200.806 cv 1052.97 172.605 1004.07 167.746 1000.71 189.884 cv 989.543 189.282 979.21 187.853 967.938 187.362 cv 972.732 145.522 1069.04 134.177 1072.96 183.161 cv 1075.64 216.563 1052 247.624 1062.04 281.464 cv cp ef 1031.79 221.811 mo 1033.64 242.015 1015.86 266.791 993.983 257.938 cv 988.654 255.782 985.816 249.693 985.581 245.336 cv 984.439 224.199 1016.6 226.935 1031.79 221.811 cv cp 1 /0 /CSD get_res sepcs 0 sep ef 222.688 231.893 mo 231.385 239.439 237.566 249.501 246.213 257.099 cv 227.463 277.275 197.007 294.853 159.673 294.907 cv 121.828 294.962 91.8438 277.571 72.2935 257.938 cv 73.7607 253.542 78.8462 250.847 84.0562 245.336 cv 86.3252 242.936 92.7925 232.826 94.9785 232.733 cv 95.3335 232.718 115.487 248.393 117.664 249.537 cv 152.141 267.663 200.563 260.887 222.688 231.893 cv cp 0.913725 0.807843 0.0470588 0.00392157 cmyk ef %ADOBeginClientInjection: EndPageContent "AI11EPS" userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse %ADOEndClientInjection: EndPageContent "AI11EPS" % page clip grestore grestore % PSGState Adobe_AGM_Core/AGMCORE_save get restore %%PageTrailer [/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 [ [/CSA [/0 ]] [/CSD [/0 ]] ] del_res Adobe_AGM_Image/page_trailer get exec Adobe_CoolType_Core/page_trailer get exec Adobe_AGM_Core/page_trailer get exec currentdict Adobe_AGM_Utils eq {end} if %%Trailer Adobe_AGM_Image/doc_trailer get exec Adobe_CoolType_Core/doc_trailer get exec Adobe_AGM_Core/doc_trailer get exec %%EOF %AI9_PrintingDataEnd userdict /AI9_read_buffer 256 string put userdict begin /ai9_skip_data { mark { currentfile AI9_read_buffer { readline } stopped { } { not { exit } if (%AI9_PrivateDataEnd) eq { exit } if } ifelse } loop cleartomark } def end userdict /ai9_skip_data get exec %AI9_PrivateDataBegin %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(R) 10.0 %%AI8_CreatorVersion: 12.0.1 %%For: (stephan heller) (heller & partner) %%Title: (GOsa-logo.eps) %%CreationDate: 09.02.2009 11:32 Uhr %AI9_DataStream %Gb!TMUoC[.;h*"QZ %^W]a#S(S8=b``!BQHSqsac#7srb;"8nuDI=>qDK0H@%a.-fm=!S,FI8J(UG*](YHM:8?r,+5j,YYZDpPWCOEar>]F;^:p]Gd\^C6d_h]4J>I@C=ag %N[M$#NppY/eL]H%).pIM&I1\.ag2V-5MP$OH[pLW]VC(M-["/"qY'@Np$>>Xm3d.jBia,ps"',$R68=^^fh'/687?(`ptXI:oV<- %.Q^IE4"A;/#_(tEC3p3(^>1DZ(9?V2((*.0-P?8UU%@^_ml:W`a`Ir'R/?@:GT`);uTb]Uf+aK\`h2$HZH9:l+B'_f9]D1#AL\/O%c^:]lhkO %Qg+5pT?9S!nsM=>h<9\c[^R9BSBdekp)*L*nRs01MA4$][gTB,J#sFfr$t %&Z5+qr:\^EI7@#F[J#pJjj[dIdHtr2j,^m#%!bM7[HsaFl[^%$8[;H14hIU1k]PVK_l;n>>1sUQTQ[gkhU76^?-)anYRo,g5\$1]ukTXHm3Yb9&oi:1,mS9a[kIqNBn1$nW*(FUtesn %b3=>(jBSMI*hr9^'eV88Y!lhXB?(:S8m$5jl"qi4p=3q]HV<67j1/Y;G(7uYG0tV*07XcV@^+s$mrIi;5PGcaSR/jE?HMP6N*<&] %?%eRgets6dVF[>dCDEA_A)[XQdiuirnn>#J,k5dOnEEQ`8s!/\TMV=nu3HXk,T%YsinX`4X`iQNgd,3a-[\:[ci*rXa.NZ'M.g7\-ROqq$hYIG;N<9=Z;)K9!rj.Y3"+MeFD-&[g.YG,LB^F*l %*p_BIkb1J(]Zj[Yb1t@-9UqGc48WF(8LJYO>AXdi'T-=6F4fVPm\M%L4OlE7TYlEG/uu(["(0ltJjSL"In(cZWuP63[t"EaFQlu4 %fX?%N5B36kI8;M[Fp;)TTbcA(6XtnE[[3VhN-?RQQmQ5@8 %frS%8H/Ql$3/8m*43Z=XV[))R33U]crS!HD:$>Mj/=4@XQICV,PU'I %bP.Z"a-Y)R?FPuI4qiYUC\&I0LA+p;Vu<",1JFdqJ-S6)jh8[`:CcjeG!9WlEK'.bGDBqJn*[;8P.>_g'sQ983fVV]1$i!p,.2.@q@uGP<]tg_!3U*+e:"rtG5j\$4qE%q5gl6.[2=lZ %@D2rWWT:ok^!ACD%!)-G@`!p\bUcKU1[R)HHf*jOqR6%u\_dd,hUCZ)gWOKtmCGA[]j/$6GAWVfF]XIOWS\^+CKe<-C"r8`EsLn" %HYjd(b4OB$e>W!"jm%^N1]$NeIEUZXSNjH+[p:Z=2gVZS06c83qn%h/6-8eTDqCXgXEZ!IqH!%6+5SU3k8F$ %2Tb\tT$lF?D_M.AbkL!?:FDKug"if6%Gm\i^K^&onSGK+k2]Y5B)@Y2Me06+g9J,o9ia3rAhj=1\%9C@s6"8Yg])<+^:IO#iq;;P %F*9h>iJaog8qHDc2?$8oPcuu/f-J$ %g#h=(*om/orV\(c^*gGYmQZ.,mmLQa[jsm73;]2W*=1ZrhQ:tuhnY27mJd+CmVgj!,T<58.gT/)bUi2mm])#e``F&2u3D#Gm;OO<'R'8:Cmd^s+*e02? %(Ad&EUYt`,n)gBh000=84F`Cn?8$L!"/uM5'T2pNW_KM&e?1dTs(IlVcr&gdK=B)$O5=R@nDTeM"rMTmR.K>kZgARBrpe8!DqA&b %o]GV+Va'&k=1EY_YI\"EhX)6boA>[PZJEh*h[K$*N'Eu(ItX0DdR$Nh--ou1rEVVS^MFh%qt,B?Frroo[_(G7]\[.?UdbTbT4c>/ %:WrIf4`i3AVNS?Wljg1IUXH\XaJT3d,D6.B+trmq`:1!aL=F!8\nbQQ=8/s^>i0R]>jU`1C\*e*P5>3peXMc'J!=7UZccqO(uRWW %affOEF8=bX5KhQ+94$u\k=71cUlU<%57`OqO\m=g@EaAiGUsj7l#n3l$iZK$jo5Q9h-L'Q0-#tdZ5N"pMtq;I(IJB[YcGHeOdGAs %r:K=;HESEeIZ0T15$unhl\F<^W_B"4f??u@p8>m[ro7KhfFiYhA_F^946IYgeAl0@oC4PqZ(q6.bNceAo>%rO4D%/l^@lh?@aAquhKM(V?6tfIrAsal`ldi2QfC=gH"B\?DVONHmH5hl^A3&H]Y%G7B:"P<@fN9o9VrW[Xs,*'29G1;lK2u- %dj4D5)qGcnC4CN8f^G0O[_^bNbQ#_$[_#c"r,j."fMLtEJXW_3ZVUElFF(a*(N].]Kam;CDP,]t@IjWd@^kK$`f`t95_+Ph$q9H( %13quE2pLc#-Ro"3>lUY$2G0bM4l5&_2jjVeT)hS;fuu?ViGNX^\"*+:=XR[Fm'j=ODDMBLk?kI!`>,j3?dRg9!"9PXT#=q^Kd?JHnaO$p7)80ec"=RTt'(!_eo<U.J4dkZ`=83EjiPoNUE%!BrBQn@C"EYii%l!R3STc*\$Q_Id,t+pSXP/U$j8s3E:@]Wq*cq.RVpgaG9=cZ:>:% %aWHg^H7pYZ=q@I4<.Bt]h6BW1bZM\__f`_O4nV*CK2p6gWG&XNrkurG?sChI%]*s-k7Q %Nlg5Q(sWW%3@&5elS56''g,<>ff9!W3+E*@SJE$G"od.os'/&NHX#iGtMli612_r=&C'40QqrRTF^U>cCoaJi1-$;l3k@H#3 %2cmIZiKgN7Z`pudBM>PGG(_T4D`6@9lnhEuBcDS.i@XYgDQnDhoB\Z@iF]I2O(c@:,oA;)lb23?T;LDI>C.d`r&!MY0Y;a@<3:AO %?=T/U"!Q*rL'_J5OR2!>=eK&oOt?(/@9th'`Q`.@i5;=C!rC)`n+\$aqKfDo^qC$0Cj3GBhp+-X8X3n7 %'GKnYE!JE37C1d0Bp>MEk3Eaeet*hO'+6-ukO^G'q].%t[o_V_Q4``iEKfl11$@SCqb)kGH`/4(%*+7@7:s4NT>YA8e"0R,oNnQR %I(!kh=:`i.5/"tlI']>m\_etgc$Zo\KlbW-Z&eOhXo$]T/M1V)LZQn2S`"p;F8K[1D)q<8VgL1tG5TS%.C]_M]'A-_:65P6qo-:U %X`5-Nfd)8mBC9p+SDn?o,nDV>^0R?b;^#RYYs9.UJ;bEZClodC!hGQ[YKPUBG=$*D$K)U'Ol[1nqn\F:U>8#k^(72u!N*MrS0,Gt %*HM)aif<=pcjmR7"SIlBQpk>bp>`48C$2HPS*flpFincgCj1*fD;3&AY_-1EqrBquOW@m5;oFkFX6'Ugqg=!.&2@BZK\;p9,j>lr %Ylat^FK]\Psh9L?6a12i2fkTVa[jS,/]8('9^)c92:LDs%3&JaXpM[<4`h)]MRD/X; %GE],>Df9fWoP]g9B(6bKc!%2D7=U>mA[M:#QW(Fr:Uo82N:0%[Sp[aMrI)3Ilp%k&pd%5qe):#5"nLDK,;]+S1Hnl8IUXcW$="9] %I=4,%qXP9q9?]?:ld\N9L%^WRk9"#9?oP0o+$ckW8GVj`\FkhonA?YKpu0^EIi@.&rpoEP]B".r %gt4ZSpJ&1K`m/-uh\,he??/6pg@D6boB0J,.U2JgY[;U;GWt-NV5nFik3?qlkV)OA"&J3:?0'_*AmCb0f"63-Nf2[.H;up\[\Yc3 %m5V4'rkKU&09)-RNNI?RIYoq=^f+?BLa;3I]VH'#uQHU-[6tB"UcH?P.)*:T7P@V(2K2(nT1HYR_>+L7N"6m'p"WY`V=]p_i %T"2cT>U%a.9oAoR>1-kr>[\:Mfs*D*pY`BuAVglaI$A::\4G"#F!]D-jH-:ENnpaU@;8J6j%WPF2rgjM]Ke-/Y:JRn"b3VUaNU"a %bBYI([fZNoXN6PEMl]1aDPeE:BpqDb=L]e#TSkNTikUL/P@L-4N7/2u/5eQQr:*2E=D(`S7PRan`[,o%,Aj88$KSCubn::o>ZMSm %S/6304s/J#[:=e,9;Z$HLQqS?OK!g$KGp4F2eOF;?S/#Q=M]o!t0pT,q=Um,Qiamsljs.;pRi/R6 %(s_9c=d]@K+sBK>/IbnKELB+tKlLU(@%lchW>fWg]X:"#SL%pg?ml,b(HEaEZ_PWnKK?Tj<*E+lV^];1d9,%k?"l5%3[eg`-LbbT %4t[3oXiMJ!b6aoL/EM$TQiRk1r^7=ERmEV\OAQjPR\R-eat:3%3>Ut7?T+3]c@ok?8%bF)=J3bZ#)Xt6$?e;VWp'[;PCe@m!Z@)k %>)\@dQsl3A+I[@8go>.mh,MU*%bks) %jeZ'?k,_H5!77Z!C7;0rniU^@LXd^pHjD3B"C=!Z]H9Cm1[-m1FEc0$r(71(qidEZ+["Ead] %Um?b%!?"NCse3Z//+fb3dF9=A6$OpWN/*AYY+;3k5Ijh!DqMP^@@ %=pe#g*V9GEa/,cN3*$#)Ar2'jgC1eS#P9V=-+)_E,#+K"c"tXRE*60J_6OLs%OsMuZDL]R.UaAf!Y8=#P-cQ\$ljCej]i0%PLaC) %<_X(iUC0d*<_#f7FQb'%A5gjf$q,mdZHY_k+JQd!+Faa;?I['f6IPS %(RUWmU+D/C]%6lY:fCPL-*#j5i"f8/"cHf^J*Ah@AtuLX\+&ec'^Q,9+9VBI7%.891pqou=/b8sPPG&"2`*()M0['oT^TCFgJ1'P %'APGcH4BV:dnO!Pp3"mi$2Sa`I5M-0gJN=".r?t?lD,@c)k!W6!,`D/o.jn47'J&#iQ\2FWu:oA^`)VZn>UOjkXPlBZ44I6'&Wu/ %@pDur2XkMJBRs)Q%EF2il]d]<"+d;9&,XuVPuW&d`jm('6"qGF:6um#3JX]/-Mkk'O>Jh,a`/!N^Ht\MG_8Nn[)/Z8)-c%41*cr; %?uomcbOYH"Xq4(S<[/HH7aUF)+:Z-'*V9HV0g5;bbTtT8&P1%_MTatHCZ<&\>9=9LJCr7XeaNoG:3$-=R]7&RF=fCL,96CZ'siZ8 %2usXO*J+q5#q]7,SO]W#$(f'iCpF`kBbC=^4UnO;;:@dp@IB!YKG?ean2gVh=UfdA>W.8r,fr[SJ[Y]=6L7$>i\ZN0C)pFpU4+8j %L.aHt<>m!N>n,g(dgHGt3k-+cjiEW.Ia3iJ6>-V$![j*6" %ZJC&;9t;K92Vi*h3>8,A=qD9`g=Vm7B3*1KE,^F#07[M+`Ei+%4]gb\[9QrpiG+j!k^,DaG^l`:f8ur %e&Er0!jcUb#^5G:@QiX0@C:QI%6^h3\mqr!:obJ/t-%_4HE,2#;6Hj:nGHe&73NA^_"FTIB[G%IM,cmpD]EjF9Ze1:8D&]-o7F*K$"IO!NiaT6Xk1S8X\"JZ\DK$er3`_Ku^8,.8)+: %g8q$bBC21OGmt!DQAM]hEBZ@GZ$^1@8(`QUWJZX+(G&uD"=G?s#s)lSd1Z72+^6[h-gq65$:r"U.W:M++@$RCP#5#`XBnq8U*`,]-Z/GGrM?8'>,P;>02iIgjh[*1 %Tk9g'Ck3nTDk81(/]E"Vh?oYoUd6Nr&lmiqG#_0j=m$JQZs>G@7!MTTQ<6YB6^[M;-+K[Y$Dqd$)b>*DRM/o2.]:6&9dR$oJ:J6[ %\_577M[WgiatT@k/!c&]9RuV3=uMSX(.H(u7u(me+'M@Whl>")2DEq0@2i*Q=ogPeaq5rQ%nWRMVQLBU*8kpNd)$5J %(H:O^,$0p25QlEFL_:b44?HiVV)JetY1X,54KB'[70+r9OqY>ln-iH._i_RRBXj6H&o0e1i]aZk:8E_?bN9NtOltGcQ;T"aD3[FM %"n:2`H]^?5GI+mJALLtVA91>j\Za"j&$&,,Gg%$*\udl7DIWQ]7O7dd7;HTdf\i+-@:]=.S00pQ+cQ(e'E+/3H];oo1ZoI`gs?fO %B/$//:0eaT10A4d$bfd'T1H'gR*LMf,&>)B_>L6HGDT@0CF/p!j!H$:-_7QeFN-J7h8?rd5"-$,Qs7V'\*A9mDTs5?$&QI5: %`=CJ,.bYTnUmBj[AaQIMcXAdc\V'&Ek5\5B?c77;W\Pe/1YkjSiCR=@3EjZO/=i8MZ3dp4(j!8W3/:,&SSA-KgB(FDDZkds'B[">)]5qj %fdYu.RmS&6-ppPbQ3V#hdmglp8a-u;&,'4.NqFUcc7ki292>p>3_CiKd>Jj8Tf4TXc^Hn&0'KgZWg&H6>aEm(16LLW=B^o]4bQfa %Gd+Dq'e++@$Xo0L=]e^_]!.D8X8#*jK9>``I:^FYEb&:ZN#"?^7F4T)1g3cd9pn"MU;/J)+Eg_61HD*:dqBdO]#7W%uZ[r_R`pHqA'e/@TC(Feecm>,=TMCYSbq4@hm-W*AaX:`[[]Kh))487Ot]OSMmG. %`[\^CicI5DN8(Y`^$/G6_.4D?lWBE6/;?YEk0_=tU]MX;dmra"Oh-&'FM@F,.&1?%G#g(P<;b?/.+fmjFt"Zu*[^Qc^cWeD8IlKVOk-0kUC81,lFRC65MZeF"H#AnEr3L/]1\:55D %)73qUqacje<%O;GiZtOU*ueZm./>SF1sG71$kXe!o=5N]&lD>]/JAHD\R6s;OYa3a*Amq"=W#LCp.aJp($0te6RYnUKZ5$R!HD0Q %\s1S3"@`tZSA;R""8k$b0Z!#&m3m!C'cpl(%_EoT@_oE)LTIbU %f^Q[74Of?2r<W;63R3]sd0*c6Z;i5$:VjK(+!d0rf6,=eN7dgFCCDF]fk[IDNpFu1!Vi.Zr6Z(o+po>9ER0m`1'*_qFp %R'C/Hi%QuI09)O%L'Op@iGA:,fVakTYgIi,#&T&[:WSEiALbQ&W %-]W7FC!ErPA_D^thMRd8W?eMg^ni`S3IBggl=C03FHoWQjJHK"4G$P!J@Xg6l$^K,f3?uFh"a0 %qL=JQ'V;>1F:t+WL?Gn*6eq1,2f]lX5;j"4QQq:4n\aY5Tlt\O*BbJTO3o2-mIi:&pN`#h!`Ngrk"-eOQ&md&72,F:Ok-Md0r %7^)^H5F:j,n;"pCs%<=iG.(L2gX48`p:3cU4&iP7__8[n-\Q[?osRG8+4i`^"^O7dP:&$@:.P=#4O.qm~> %AI9_PrivateDataEnd \ No newline at end of file + +% &&end XMP packet marker&& +[{ai_metadata_stream_123} +<> +/PUT AI11_PDFMark5 +[/Document +1 dict begin /Metadata {ai_metadata_stream_123} def +currentdict end /BDC AI11_PDFMark5 +%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 +Adobe_AGM_Utils begin +Adobe_AGM_Core/page_setup get exec +Adobe_AGM_Core/capture_currentpagedevice get exec +Adobe_CoolType_Core/page_setup get exec +Adobe_AGM_Image/page_setup get exec +%%EndPageSetup +Adobe_AGM_Core/AGMCORE_save save ddf +1 -1 scale 0 -346.999 translate +[1 0 0 1 0 0 ] concat +% page clip +gsave +newpath +gsave % PSGState +0 0 mo +0 346.999 li +1190.59 346.999 li +1190.59 0 li +cp +clp +[1 0 0 1 0 0 ] concat +117.664 249.537 mo +115.487 248.393 95.3335 232.718 94.9785 232.733 cv +92.7925 232.826 86.3252 242.936 84.0562 245.336 cv +78.8462 250.847 73.7607 253.542 72.2935 257.938 cv +91.8438 277.571 121.828 294.962 159.673 294.907 cv +197.007 294.853 227.463 277.275 246.213 257.099 cv +237.566 249.501 231.385 239.439 222.688 231.893 cv +200.563 260.887 152.141 267.663 117.664 249.537 cv +cp +1072.96 183.161 mo +1069.04 134.177 972.732 145.522 967.938 187.362 cv +979.21 187.853 989.543 189.282 1000.71 189.884 cv +1004.07 167.746 1052.97 172.605 1036.83 200.806 cv +1011.5 208.045 988.711 200.9 968.777 214.249 cv +949.42 227.211 949.312 262.449 965.417 276.423 cv +983.789 292.364 1015.44 281.098 1026.75 268.861 cv +1027.02 273.635 1028.37 277.329 1029.27 281.464 cv +1040.19 281.464 1051.12 281.464 1062.04 281.464 cv +1052 247.624 1075.64 216.563 1072.96 183.161 cv +cp +834.347 188.202 mo +831.496 215.83 855.318 223.207 874.676 230.212 cv +883.944 233.566 899.216 236.272 900.722 243.655 cv +904.187 260.636 872.965 264.786 859.553 256.258 cv +853.511 252.416 853.258 246.31 846.949 241.135 cv +836.673 242.9 826.02 244.29 815.862 246.176 cv +824.822 299.207 931.887 296.894 936.01 243.655 cv +937.918 219.014 917.988 209.959 897.361 203.326 cv +887.05 200.011 867.627 198.185 867.114 187.362 cv +866.465 173.664 890.315 171.611 903.242 178.12 cv +909.547 181.295 910.76 187.353 915.005 189.884 cv +924.697 188.093 934.158 186.071 944.412 184.842 cv +937.529 135.568 839.043 142.686 834.347 188.202 cv +cp +163.875 107.544 mo +129.846 105.777 105.619 128.293 94.9785 157.116 cv +91.042 156.572 84.918 158.214 82.376 156.275 cv +81.9595 139.498 83.0938 128.673 83.2158 113.426 cv +71.8979 120.709 60.8799 131.561 50.4487 141.992 cv +39.7305 152.71 28.3745 163.109 18.5215 173.919 cv +41.0952 192.759 61.1343 218.305 83.2158 234.413 cv +83.1875 218.077 81.9224 206.733 82.376 189.043 cv +86.8569 189.043 91.3379 189.043 95.8188 189.043 cv +105.267 220.015 129.191 243.992 169.756 239.454 cv +199.332 236.146 216.002 214.026 225.208 189.043 cv +229.044 189.408 234.459 188.193 236.971 189.884 cv +237.443 207.288 236.043 218.351 236.131 234.413 cv +256.226 216.419 278.91 193.734 298.305 172.239 cv +277.22 152.715 257.723 131.603 236.131 112.585 cv +235.604 128.013 238.531 141.457 236.131 157.116 cv +232.21 157.116 228.289 157.116 224.368 157.116 cv +215.628 130.532 195.157 109.169 163.875 107.544 cv +cp +1170.42 132.75 mo +1174.93 92.6963 1103.86 97.0156 1103.21 131.91 cv +1110.07 133.73 1118.88 133.607 1125.89 135.271 cv +1123.64 121.726 1145.51 115.46 1147.74 127.709 cv +1149.66 138.281 1132.93 147.278 1125.05 153.755 cv +1109.22 166.772 1097.29 175.587 1093.97 194.925 cv +1115.81 194.925 1137.66 194.925 1159.5 194.925 cv +1160.48 188.339 1162.72 183.024 1163.7 176.44 cv +1152.78 176.44 1141.86 176.44 1130.93 176.44 cv +1141.5 162.071 1167.96 154.686 1170.42 132.75 cv +cp +463.823 51.2515 mo +423.245 53.4082 395.704 65.6802 372.242 88.2202 cv +350.11 109.482 333.479 139.475 331.072 173.079 cv +324.933 258.789 383.741 298.306 465.503 293.227 cv +540.949 288.54 566.031 227.583 563.805 141.992 cv +525.437 141.992 487.068 141.992 448.699 141.992 cv +446.654 160.689 443.366 182.566 442.818 199.966 cv +460.743 200.524 480.905 198.847 497.43 200.806 cv +496.612 225.762 478.18 235.873 459.622 237.774 cv +433.265 240.474 412.459 226.915 403.329 208.367 cv +385.779 172.716 406.732 130.137 432.735 116.787 cv +455.405 105.148 488.102 109.767 522.636 109.225 cv +525.261 90.8457 526.691 71.2705 529.357 52.9321 cv +506.556 52.5078 486.571 50.0425 463.823 51.2515 cv +cp +234.45 99.9829 mo +236.877 97.5566 246.327 90.8779 246.213 88.2202 cv +246.105 85.6963 233.958 77.1836 229.409 73.937 cv +210.905 60.7314 186.125 51.1035 157.153 51.2515 cv +136.822 51.3555 119.82 56.355 103.38 64.6948 cv +97.7813 67.5352 72.0601 83.6055 72.2935 89.0601 cv +72.373 90.9224 81.8877 97.8145 84.0562 99.9829 cv +88.9297 104.856 91.4717 107.916 94.9785 111.746 cv +110.656 97.6343 133.008 84.1777 161.354 84.8594 cv +188.472 85.5117 208.859 98.792 223.528 112.585 cv +227.055 107.29 229.595 104.838 234.45 99.9829 cv +cp +650.345 61.334 mo +612.505 80.8486 587.504 112.492 578.929 161.317 cv +565.98 235.039 608.083 288.694 671.35 293.227 cv +726.54 297.18 760.177 276.371 785.615 244.495 cv +804.927 220.299 819.205 187.081 815.862 141.152 cv +814.438 121.573 807.413 102.675 799.059 89.9004 cv +780.93 62.1777 742.297 43.6064 695.715 47.8906 cv +677.252 49.5889 663.646 54.4741 650.345 61.334 cv +cp +0.877441 0 mo +397.437 0 794.029 0 1190.59 0 cv +1190.59 115.667 1190.59 231.33 1190.59 346.999 cv +793.734 346.999 396.897 346.999 0.0371094 346.999 cv +0.0371094 232.173 0.0371094 117.346 0.0371094 2.52051 cv +-0.0351563 1.32813 -0.101563 0.141113 0.877441 0 cv +cp +false sop +/0 +<< +/Name (Black) +/0 +[/DeviceCMYK] /CSA add_res +/CSA /0 get_csa_by_name +/MappedCSA /0 /CSA get_res +/TintMethod /Subtractive +/TintProc null +/NComponents 4 +/Components [ 0 0 0 1 ] +>> +/CSD add_res +1 /0 /CSD get_res sepcs +0 sep +ef +668.829 113.426 mo +644.736 133.127 630.34 201.173 657.906 227.691 cv +670.881 240.173 698.574 241.237 715.04 232.733 cv +753.499 212.87 764.906 123.76 723.441 105.864 cv +717.717 103.394 706.651 102.24 700.757 102.503 cv +686.892 103.122 676.364 107.264 668.829 113.426 cv +cp +695.715 47.8906 mo +742.297 43.6064 780.93 62.1777 799.059 89.9004 cv +807.413 102.675 814.438 121.573 815.862 141.152 cv +819.205 187.081 804.927 220.299 785.615 244.495 cv +760.177 276.371 726.54 297.18 671.35 293.227 cv +608.083 288.694 565.98 235.039 578.929 161.317 cv +587.504 112.492 612.505 80.8486 650.345 61.334 cv +663.646 54.4741 677.252 49.5889 695.715 47.8906 cv +cp +0.913725 0.807843 0.0470588 0.00392157 cmyk +ef +223.528 112.585 mo +208.859 98.792 188.472 85.5117 161.354 84.8594 cv +133.008 84.1777 110.656 97.6343 94.9785 111.746 cv +91.4717 107.916 88.9297 104.856 84.0562 99.9829 cv +81.8877 97.8145 72.373 90.9224 72.2935 89.0601 cv +72.0601 83.6055 97.7813 67.5352 103.38 64.6948 cv +119.82 56.355 136.822 51.3555 157.153 51.2515 cv +186.125 51.1035 210.905 60.7314 229.409 73.937 cv +233.958 77.1836 246.105 85.6963 246.213 88.2202 cv +246.327 90.8779 236.877 97.5566 234.45 99.9829 cv +229.595 104.838 227.055 107.29 223.528 112.585 cv +cp +ef +529.357 52.9321 mo +526.691 71.2705 525.261 90.8457 522.636 109.225 cv +488.102 109.767 455.405 105.148 432.735 116.787 cv +406.732 130.137 385.779 172.716 403.329 208.367 cv +412.459 226.915 433.265 240.474 459.622 237.774 cv +478.18 235.873 496.612 225.762 497.43 200.806 cv +480.905 198.847 460.743 200.524 442.818 199.966 cv +443.366 182.566 446.654 160.689 448.699 141.992 cv +487.068 141.992 525.437 141.992 563.805 141.992 cv +566.031 227.583 540.949 288.54 465.503 293.227 cv +383.741 298.306 324.933 258.789 331.072 173.079 cv +333.479 139.475 350.11 109.482 372.242 88.2202 cv +395.704 65.6802 423.245 53.4082 463.823 51.2515 cv +486.571 50.0425 506.556 52.5078 529.357 52.9321 cv +cp +ef +700.757 102.503 mo +706.651 102.24 717.717 103.394 723.441 105.864 cv +764.906 123.76 753.499 212.87 715.04 232.733 cv +698.574 241.237 670.881 240.173 657.906 227.691 cv +630.34 201.173 644.736 133.127 668.829 113.426 cv +676.364 107.264 686.892 103.122 700.757 102.503 cv +cp +1 /0 /CSD get_res sepcs +0 sep +ef +1130.93 176.44 mo +1141.86 176.44 1152.78 176.44 1163.7 176.44 cv +1162.72 183.024 1160.48 188.339 1159.5 194.925 cv +1137.66 194.925 1115.81 194.925 1093.97 194.925 cv +1097.29 175.587 1109.22 166.772 1125.05 153.755 cv +1132.93 147.278 1149.66 138.281 1147.74 127.709 cv +1145.51 115.46 1123.64 121.726 1125.89 135.271 cv +1118.88 133.607 1110.07 133.73 1103.21 131.91 cv +1103.86 97.0156 1174.93 92.6963 1170.42 132.75 cv +1167.96 154.686 1141.5 162.071 1130.93 176.44 cv +cp +0.913725 0.807843 0.0470588 0.00392157 cmyk +ef +201.683 144.513 mo +192.101 154.255 182.006 163.484 171.436 172.239 cv +180.612 183.507 191.943 192.621 203.363 201.646 cv +203.363 195.765 203.363 189.884 203.363 184.002 cv +217.927 184.002 232.49 184.002 247.053 184.002 cv +247.053 176.72 247.053 169.438 247.053 162.157 cv +232.769 161.598 216.248 163.275 203.363 161.317 cv +202.349 156.169 205.459 146.898 201.683 144.513 cv +cp +115.143 162.157 mo +100.58 162.157 86.0166 162.157 71.4531 162.157 cv +71.4531 169.438 71.4531 176.72 71.4531 184.002 cv +85.7383 184.561 102.258 182.884 115.143 184.842 cv +115.143 190.443 115.143 196.044 115.143 201.646 cv +126.515 193.133 135.993 182.728 146.23 173.079 cv +135.66 163.765 126.398 153.143 115.143 144.513 cv +115.143 150.394 115.143 156.275 115.143 162.157 cv +cp +224.368 157.116 mo +228.289 157.116 232.21 157.116 236.131 157.116 cv +238.531 141.457 235.604 128.013 236.131 112.585 cv +257.723 131.603 277.22 152.715 298.305 172.239 cv +278.91 193.734 256.226 216.419 236.131 234.413 cv +236.043 218.351 237.443 207.288 236.971 189.884 cv +234.459 188.193 229.044 189.408 225.208 189.043 cv +216.002 214.026 199.332 236.146 169.756 239.454 cv +129.191 243.992 105.267 220.015 95.8188 189.043 cv +91.3379 189.043 86.8569 189.043 82.376 189.043 cv +81.9224 206.733 83.1875 218.077 83.2158 234.413 cv +61.1343 218.305 41.0952 192.759 18.5215 173.919 cv +28.3745 163.109 39.7305 152.71 50.4487 141.992 cv +60.8799 131.561 71.8979 120.709 83.2158 113.426 cv +83.0938 128.673 81.9595 139.498 82.376 156.275 cv +84.918 158.214 91.042 156.572 94.9785 157.116 cv +105.619 128.293 129.846 105.777 163.875 107.544 cv +195.157 109.169 215.628 130.532 224.368 157.116 cv +cp +ef +115.143 144.513 mo +126.398 153.143 135.66 163.765 146.23 173.079 cv +135.993 182.728 126.515 193.133 115.143 201.646 cv +115.143 196.044 115.143 190.443 115.143 184.842 cv +102.258 182.884 85.7383 184.561 71.4531 184.002 cv +71.4531 176.72 71.4531 169.438 71.4531 162.157 cv +86.0166 162.157 100.58 162.157 115.143 162.157 cv +115.143 156.275 115.143 150.394 115.143 144.513 cv +cp +1 /0 /CSD get_res sepcs +0 sep +ef +203.363 161.317 mo +216.248 163.275 232.769 161.598 247.053 162.157 cv +247.053 169.438 247.053 176.72 247.053 184.002 cv +232.49 184.002 217.927 184.002 203.363 184.002 cv +203.363 189.884 203.363 195.765 203.363 201.646 cv +191.943 192.621 180.612 183.507 171.436 172.239 cv +182.006 163.484 192.101 154.255 201.683 144.513 cv +205.459 146.898 202.349 156.169 203.363 161.317 cv +cp +ef +944.412 184.842 mo +934.158 186.071 924.697 188.093 915.005 189.884 cv +910.76 187.353 909.547 181.295 903.242 178.12 cv +890.315 171.611 866.465 173.664 867.114 187.362 cv +867.627 198.185 887.05 200.011 897.361 203.326 cv +917.988 209.959 937.918 219.014 936.01 243.655 cv +931.887 296.894 824.822 299.207 815.862 246.176 cv +826.02 244.29 836.673 242.9 846.949 241.135 cv +853.258 246.31 853.511 252.416 859.553 256.258 cv +872.965 264.786 904.187 260.636 900.722 243.655 cv +899.216 236.272 883.944 233.566 874.676 230.212 cv +855.318 223.207 831.496 215.83 834.347 188.202 cv +839.043 142.686 937.529 135.568 944.412 184.842 cv +cp +0.913725 0.807843 0.0470588 0.00392157 cmyk +ef +985.581 245.336 mo +985.816 249.693 988.654 255.782 993.983 257.938 cv +1015.86 266.791 1033.64 242.015 1031.79 221.811 cv +1016.6 226.935 984.439 224.199 985.581 245.336 cv +cp +1062.04 281.464 mo +1051.12 281.464 1040.19 281.464 1029.27 281.464 cv +1028.37 277.329 1027.02 273.635 1026.75 268.861 cv +1015.44 281.098 983.789 292.364 965.417 276.423 cv +949.312 262.449 949.42 227.211 968.777 214.249 cv +988.711 200.9 1011.5 208.045 1036.83 200.806 cv +1052.97 172.605 1004.07 167.746 1000.71 189.884 cv +989.543 189.282 979.21 187.853 967.938 187.362 cv +972.732 145.522 1069.04 134.177 1072.96 183.161 cv +1075.64 216.563 1052 247.624 1062.04 281.464 cv +cp +ef +1031.79 221.811 mo +1033.64 242.015 1015.86 266.791 993.983 257.938 cv +988.654 255.782 985.816 249.693 985.581 245.336 cv +984.439 224.199 1016.6 226.935 1031.79 221.811 cv +cp +1 /0 /CSD get_res sepcs +0 sep +ef +222.688 231.893 mo +231.385 239.439 237.566 249.501 246.213 257.099 cv +227.463 277.275 197.007 294.853 159.673 294.907 cv +121.828 294.962 91.8438 277.571 72.2935 257.938 cv +73.7607 253.542 78.8462 250.847 84.0562 245.336 cv +86.3252 242.936 92.7925 232.826 94.9785 232.733 cv +95.3335 232.718 115.487 248.393 117.664 249.537 cv +152.141 267.663 200.563 260.887 222.688 231.893 cv +cp +0.913725 0.807843 0.0470588 0.00392157 cmyk +ef +%ADOBeginClientInjection: EndPageContent "AI11EPS" +userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse + +%ADOEndClientInjection: EndPageContent "AI11EPS" +% page clip +grestore +grestore % PSGState +Adobe_AGM_Core/AGMCORE_save get restore +%%PageTrailer +[/EMC AI11_PDFMark5 +[/NamespacePop AI11_PDFMark5 +[ +[/CSA [/0 ]] +[/CSD [/0 ]] +] del_res +Adobe_AGM_Image/page_trailer get exec +Adobe_CoolType_Core/page_trailer get exec +Adobe_AGM_Core/page_trailer get exec +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Image/doc_trailer get exec +Adobe_CoolType_Core/doc_trailer get exec +Adobe_AGM_Core/doc_trailer get exec +%%EOF +%AI9_PrintingDataEnd + +userdict /AI9_read_buffer 256 string put +userdict begin +/ai9_skip_data +{ + mark + { + currentfile AI9_read_buffer { readline } stopped + { + } + { + not + { + exit + } if + (%AI9_PrivateDataEnd) eq + { + exit + } if + } ifelse + } loop + cleartomark +} def +end +userdict /ai9_skip_data get exec +%AI9_PrivateDataBegin +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(R) 10.0 +%%AI8_CreatorVersion: 12.0.1 +%%For: (stephan heller) (heller & partner) +%%Title: (GOsa-logo.eps) +%%CreationDate: 09.02.2009 11:32 Uhr +%AI9_DataStream +%Gb!TMUoC[.;h*"QZ +%^W]a#S(S8=b``!BQHSqsac#7srb;"8nuDI=>qDK0H@%a.-fm=!S,FI8J(UG*](YHM:8?r,+5j,YYZDpPWCOEar>]F;^:p]Gd\^C6d_h]4J>I@C=ag +%N[M$#NppY/eL]H%).pIM&I1\.ag2V-5MP$OH[pLW]VC(M-["/"qY'@Np$>>Xm3d.jBia,ps"',$R68=^^fh'/687?(`ptXI:oV<- +%.Q^IE4"A;/#_(tEC3p3(^>1DZ(9?V2((*.0-P?8UU%@^_ml:W`a`Ir'R/?@:GT`);uTb]Uf+aK\`h2$HZH9:l+B'_f9]D1#AL\/O%c^:]lhkO +%Qg+5pT?9S!nsM=>h<9\c[^R9BSBdekp)*L*nRs01MA4$][gTB,J#sFfr$t +%&Z5+qr:\^EI7@#F[J#pJjj[dIdHtr2j,^m#%!bM7[HsaFl[^%$8[;H14hIU1k]PVK_l;n>>1sUQTQ[gkhU76^?-)anYRo,g5\$1]ukTXHm3Yb9&oi:1,mS9a[kIqNBn1$nW*(FUtesn +%b3=>(jBSMI*hr9^'eV88Y!lhXB?(:S8m$5jl"qi4p=3q]HV<67j1/Y;G(7uYG0tV*07XcV@^+s$mrIi;5PGcaSR/jE?HMP6N*<&] +%?%eRgets6dVF[>dCDEA_A)[XQdiuirnn>#J,k5dOnEEQ`8s!/\TMV=nu3HXk,T%YsinX`4X`iQNgd,3a-[\:[ci*rXa.NZ'M.g7\-ROqq$hYIG;N<9=Z;)K9!rj.Y3"+MeFD-&[g.YG,LB^F*l +%*p_BIkb1J(]Zj[Yb1t@-9UqGc48WF(8LJYO>AXdi'T-=6F4fVPm\M%L4OlE7TYlEG/uu(["(0ltJjSL"In(cZWuP63[t"EaFQlu4 +%fX?%N5B36kI8;M[Fp;)TTbcA(6XtnE[[3VhN-?RQQmQ5@8 +%frS%8H/Ql$3/8m*43Z=XV[))R33U]crS!HD:$>Mj/=4@XQICV,PU'I +%bP.Z"a-Y)R?FPuI4qiYUC\&I0LA+p;Vu<",1JFdqJ-S6)jh8[`:CcjeG!9WlEK'.bGDBqJn*[;8P.>_g'sQ983fVV]1$i!p,.2.@q@uGP<]tg_!3U*+e:"rtG5j\$4qE%q5gl6.[2=lZ +%@D2rWWT:ok^!ACD%!)-G@`!p\bUcKU1[R)HHf*jOqR6%u\_dd,hUCZ)gWOKtmCGA[]j/$6GAWVfF]XIOWS\^+CKe<-C"r8`EsLn" +%HYjd(b4OB$e>W!"jm%^N1]$NeIEUZXSNjH+[p:Z=2gVZS06c83qn%h/6-8eTDqCXgXEZ!IqH!%6+5SU3k8F$ +%2Tb\tT$lF?D_M.AbkL!?:FDKug"if6%Gm\i^K^&onSGK+k2]Y5B)@Y2Me06+g9J,o9ia3rAhj=1\%9C@s6"8Yg])<+^:IO#iq;;P +%F*9h>iJaog8qHDc2?$8oPcuu/f-J$ +%g#h=(*om/orV\(c^*gGYmQZ.,mmLQa[jsm73;]2W*=1ZrhQ:tuhnY27mJd+CmVgj!,T<58.gT/)bUi2mm])#e``F&2u3D#Gm;OO<'R'8:Cmd^s+*e02? +%(Ad&EUYt`,n)gBh000=84F`Cn?8$L!"/uM5'T2pNW_KM&e?1dTs(IlVcr&gdK=B)$O5=R@nDTeM"rMTmR.K>kZgARBrpe8!DqA&b +%o]GV+Va'&k=1EY_YI\"EhX)6boA>[PZJEh*h[K$*N'Eu(ItX0DdR$Nh--ou1rEVVS^MFh%qt,B?Frroo[_(G7]\[.?UdbTbT4c>/ +%:WrIf4`i3AVNS?Wljg1IUXH\XaJT3d,D6.B+trmq`:1!aL=F!8\nbQQ=8/s^>i0R]>jU`1C\*e*P5>3peXMc'J!=7UZccqO(uRWW +%affOEF8=bX5KhQ+94$u\k=71cUlU<%57`OqO\m=g@EaAiGUsj7l#n3l$iZK$jo5Q9h-L'Q0-#tdZ5N"pMtq;I(IJB[YcGHeOdGAs +%r:K=;HESEeIZ0T15$unhl\F<^W_B"4f??u@p8>m[ro7KhfFiYhA_F^946IYgeAl0@oC4PqZ(q6.bNceAo>%rO4D%/l^@lh?@aAquhKM(V?6tfIrAsal`ldi2QfC=gH"B\?DVONHmH5hl^A3&H]Y%G7B:"P<@fN9o9VrW[Xs,*'29G1;lK2u- +%dj4D5)qGcnC4CN8f^G0O[_^bNbQ#_$[_#c"r,j."fMLtEJXW_3ZVUElFF(a*(N].]Kam;CDP,]t@IjWd@^kK$`f`t95_+Ph$q9H( +%13quE2pLc#-Ro"3>lUY$2G0bM4l5&_2jjVeT)hS;fuu?ViGNX^\"*+:=XR[Fm'j=ODDMBLk?kI!`>,j3?dRg9!"9PXT#=q^Kd?JHnaO$p7)80ec"=RTt'(!_eo<U.J4dkZ`=83EjiPoNUE%!BrBQn@C"EYii%l!R3STc*\$Q_Id,t+pSXP/U$j8s3E:@]Wq*cq.RVpgaG9=cZ:>:% +%aWHg^H7pYZ=q@I4<.Bt]h6BW1bZM\__f`_O4nV*CK2p6gWG&XNrkurG?sChI%]*s-k7Q +%Nlg5Q(sWW%3@&5elS56''g,<>ff9!W3+E*@SJE$G"od.os'/&NHX#iGtMli612_r=&C'40QqrRTF^U>cCoaJi1-$;l3k@H#3 +%2cmIZiKgN7Z`pudBM>PGG(_T4D`6@9lnhEuBcDS.i@XYgDQnDhoB\Z@iF]I2O(c@:,oA;)lb23?T;LDI>C.d`r&!MY0Y;a@<3:AO +%?=T/U"!Q*rL'_J5OR2!>=eK&oOt?(/@9th'`Q`.@i5;=C!rC)`n+\$aqKfDo^qC$0Cj3GBhp+-X8X3n7 +%'GKnYE!JE37C1d0Bp>MEk3Eaeet*hO'+6-ukO^G'q].%t[o_V_Q4``iEKfl11$@SCqb)kGH`/4(%*+7@7:s4NT>YA8e"0R,oNnQR +%I(!kh=:`i.5/"tlI']>m\_etgc$Zo\KlbW-Z&eOhXo$]T/M1V)LZQn2S`"p;F8K[1D)q<8VgL1tG5TS%.C]_M]'A-_:65P6qo-:U +%X`5-Nfd)8mBC9p+SDn?o,nDV>^0R?b;^#RYYs9.UJ;bEZClodC!hGQ[YKPUBG=$*D$K)U'Ol[1nqn\F:U>8#k^(72u!N*MrS0,Gt +%*HM)aif<=pcjmR7"SIlBQpk>bp>`48C$2HPS*flpFincgCj1*fD;3&AY_-1EqrBquOW@m5;oFkFX6'Ugqg=!.&2@BZK\;p9,j>lr +%Ylat^FK]\Psh9L?6a12i2fkTVa[jS,/]8('9^)c92:LDs%3&JaXpM[<4`h)]MRD/X; +%GE],>Df9fWoP]g9B(6bKc!%2D7=U>mA[M:#QW(Fr:Uo82N:0%[Sp[aMrI)3Ilp%k&pd%5qe):#5"nLDK,;]+S1Hnl8IUXcW$="9] +%I=4,%qXP9q9?]?:ld\N9L%^WRk9"#9?oP0o+$ckW8GVj`\FkhonA?YKpu0^EIi@.&rpoEP]B".r +%gt4ZSpJ&1K`m/-uh\,he??/6pg@D6boB0J,.U2JgY[;U;GWt-NV5nFik3?qlkV)OA"&J3:?0'_*AmCb0f"63-Nf2[.H;up\[\Yc3 +%m5V4'rkKU&09)-RNNI?RIYoq=^f+?BLa;3I]VH'#uQHU-[6tB"UcH?P.)*:T7P@V(2K2(nT1HYR_>+L7N"6m'p"WY`V=]p_i +%T"2cT>U%a.9oAoR>1-kr>[\:Mfs*D*pY`BuAVglaI$A::\4G"#F!]D-jH-:ENnpaU@;8J6j%WPF2rgjM]Ke-/Y:JRn"b3VUaNU"a +%bBYI([fZNoXN6PEMl]1aDPeE:BpqDb=L]e#TSkNTikUL/P@L-4N7/2u/5eQQr:*2E=D(`S7PRan`[,o%,Aj88$KSCubn::o>ZMSm +%S/6304s/J#[:=e,9;Z$HLQqS?OK!g$KGp4F2eOF;?S/#Q=M]o!t0pT,q=Um,Qiamsljs.;pRi/R6 +%(s_9c=d]@K+sBK>/IbnKELB+tKlLU(@%lchW>fWg]X:"#SL%pg?ml,b(HEaEZ_PWnKK?Tj<*E+lV^];1d9,%k?"l5%3[eg`-LbbT +%4t[3oXiMJ!b6aoL/EM$TQiRk1r^7=ERmEV\OAQjPR\R-eat:3%3>Ut7?T+3]c@ok?8%bF)=J3bZ#)Xt6$?e;VWp'[;PCe@m!Z@)k +%>)\@dQsl3A+I[@8go>.mh,MU*%bks) +%jeZ'?k,_H5!77Z!C7;0rniU^@LXd^pHjD3B"C=!Z]H9Cm1[-m1FEc0$r(71(qidEZ+["Ead] +%Um?b%!?"NCse3Z//+fb3dF9=A6$OpWN/*AYY+;3k5Ijh!DqMP^@@ +%=pe#g*V9GEa/,cN3*$#)Ar2'jgC1eS#P9V=-+)_E,#+K"c"tXRE*60J_6OLs%OsMuZDL]R.UaAf!Y8=#P-cQ\$ljCej]i0%PLaC) +%<_X(iUC0d*<_#f7FQb'%A5gjf$q,mdZHY_k+JQd!+Faa;?I['f6IPS +%(RUWmU+D/C]%6lY:fCPL-*#j5i"f8/"cHf^J*Ah@AtuLX\+&ec'^Q,9+9VBI7%.891pqou=/b8sPPG&"2`*()M0['oT^TCFgJ1'P +%'APGcH4BV:dnO!Pp3"mi$2Sa`I5M-0gJN=".r?t?lD,@c)k!W6!,`D/o.jn47'J&#iQ\2FWu:oA^`)VZn>UOjkXPlBZ44I6'&Wu/ +%@pDur2XkMJBRs)Q%EF2il]d]<"+d;9&,XuVPuW&d`jm('6"qGF:6um#3JX]/-Mkk'O>Jh,a`/!N^Ht\MG_8Nn[)/Z8)-c%41*cr; +%?uomcbOYH"Xq4(S<[/HH7aUF)+:Z-'*V9HV0g5;bbTtT8&P1%_MTatHCZ<&\>9=9LJCr7XeaNoG:3$-=R]7&RF=fCL,96CZ'siZ8 +%2usXO*J+q5#q]7,SO]W#$(f'iCpF`kBbC=^4UnO;;:@dp@IB!YKG?ean2gVh=UfdA>W.8r,fr[SJ[Y]=6L7$>i\ZN0C)pFpU4+8j +%L.aHt<>m!N>n,g(dgHGt3k-+cjiEW.Ia3iJ6>-V$![j*6" +%ZJC&;9t;K92Vi*h3>8,A=qD9`g=Vm7B3*1KE,^F#07[M+`Ei+%4]gb\[9QrpiG+j!k^,DaG^l`:f8ur +%e&Er0!jcUb#^5G:@QiX0@C:QI%6^h3\mqr!:obJ/t-%_4HE,2#;6Hj:nGHe&73NA^_"FTIB[G%IM,cmpD]EjF9Ze1:8D&]-o7F*K$"IO!NiaT6Xk1S8X\"JZ\DK$er3`_Ku^8,.8)+: +%g8q$bBC21OGmt!DQAM]hEBZ@GZ$^1@8(`QUWJZX+(G&uD"=G?s#s)lSd1Z72+^6[h-gq65$:r"U.W:M++@$RCP#5#`XBnq8U*`,]-Z/GGrM?8'>,P;>02iIgjh[*1 +%Tk9g'Ck3nTDk81(/]E"Vh?oYoUd6Nr&lmiqG#_0j=m$JQZs>G@7!MTTQ<6YB6^[M;-+K[Y$Dqd$)b>*DRM/o2.]:6&9dR$oJ:J6[ +%\_577M[WgiatT@k/!c&]9RuV3=uMSX(.H(u7u(me+'M@Whl>")2DEq0@2i*Q=ogPeaq5rQ%nWRMVQLBU*8kpNd)$5J +%(H:O^,$0p25QlEFL_:b44?HiVV)JetY1X,54KB'[70+r9OqY>ln-iH._i_RRBXj6H&o0e1i]aZk:8E_?bN9NtOltGcQ;T"aD3[FM +%"n:2`H]^?5GI+mJALLtVA91>j\Za"j&$&,,Gg%$*\udl7DIWQ]7O7dd7;HTdf\i+-@:]=.S00pQ+cQ(e'E+/3H];oo1ZoI`gs?fO +%B/$//:0eaT10A4d$bfd'T1H'gR*LMf,&>)B_>L6HGDT@0CF/p!j!H$:-_7QeFN-J7h8?rd5"-$,Qs7V'\*A9mDTs5?$&QI5: +%`=CJ,.bYTnUmBj[AaQIMcXAdc\V'&Ek5\5B?c77;W\Pe/1YkjSiCR=@3EjZO/=i8MZ3dp4(j!8W3/:,&SSA-KgB(FDDZkds'B[">)]5qj +%fdYu.RmS&6-ppPbQ3V#hdmglp8a-u;&,'4.NqFUcc7ki292>p>3_CiKd>Jj8Tf4TXc^Hn&0'KgZWg&H6>aEm(16LLW=B^o]4bQfa +%Gd+Dq'e++@$Xo0L=]e^_]!.D8X8#*jK9>``I:^FYEb&:ZN#"?^7F4T)1g3cd9pn"MU;/J)+Eg_61HD*:dqBdO]#7W%uZ[r_R`pHqA'e/@TC(Feecm>,=TMCYSbq4@hm-W*AaX:`[[]Kh))487Ot]OSMmG. +%`[\^CicI5DN8(Y`^$/G6_.4D?lWBE6/;?YEk0_=tU]MX;dmra"Oh-&'FM@F,.&1?%G#g(P<;b?/.+fmjFt"Zu*[^Qc^cWeD8IlKVOk-0kUC81,lFRC65MZeF"H#AnEr3L/]1\:55D +%)73qUqacje<%O;GiZtOU*ueZm./>SF1sG71$kXe!o=5N]&lD>]/JAHD\R6s;OYa3a*Amq"=W#LCp.aJp($0te6RYnUKZ5$R!HD0Q +%\s1S3"@`tZSA;R""8k$b0Z!#&m3m!C'cpl(%_EoT@_oE)LTIbU +%f^Q[74Of?2r<W;63R3]sd0*c6Z;i5$:VjK(+!d0rf6,=eN7dgFCCDF]fk[IDNpFu1!Vi.Zr6Z(o+po>9ER0m`1'*_qFp +%R'C/Hi%QuI09)O%L'Op@iGA:,fVakTYgIi,#&T&[:WSEiALbQ&W +%-]W7FC!ErPA_D^thMRd8W?eMg^ni`S3IBggl=C03FHoWQjJHK"4G$P!J@Xg6l$^K,f3?uFh"a0 +%qL=JQ'V;>1F:t+WL?Gn*6eq1,2f]lX5;j"4QQq:4n\aY5Tlt\O*BbJTO3o2-mIi:&pN`#h!`Ngrk"-eOQ&md&72,F:Ok-Md0r +%7^)^H5F:j,n;"pCs%<=iG.(L2gX48`p:3cU4&iP7__8[n-\Q[?osRG8+4i`^"^O7dP:&$@:.P=#4O.qm~> +%AI9_PrivateDataEnd diff --git a/gosa-core/debian/po/ja.po b/gosa-core/debian/po/ja.po index 13b46baee..b412abfa2 100644 --- a/gosa-core/debian/po/ja.po +++ b/gosa-core/debian/po/ja.po @@ -1,38 +1,38 @@ -# GOsa desktop file installer. -# Copyright (C) 2007-2009 Cajus Pollmeier -# This file is distributed under the same license as the gosa-desktop package. -# Hideki Yamane (Debian-JP) , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: gosa 2.5.16-4.1\n" -"Report-Msgid-Bugs-To: cajus@debian.org\n" -"POT-Creation-Date: 2007-06-27 10:59+0200\n" -"PO-Revision-Date: 2009-01-06 06:26+0900\n" -"Last-Translator: Hideki Yamane (Debian-JP) \n" -"Language-Team: Japanese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: string -#. Description -#: ../gosa-desktop.templates:1001 -msgid "URL to your GOsa installation:" -msgstr "GOsa がインストールされる URL:" - -#. Type: string -#. Description -#: ../gosa-desktop.templates:1001 -msgid "" -"The gosa start script can automatically point your browser to a system wide " -"default location of your GOsa instance." -msgstr "" -"gosa の起動スクリプトは、ブラウザが自動的に GOsa インスタンスのシステム全体での" -"デフォルトの場所を表示するようにできます。" - -#. Type: string -#. Description -#: ../gosa-desktop.templates:1001 -msgid "Enter the URL in order to set this default." -msgstr "これをデフォルトに設定するには URL を入力してください。" +# GOsa desktop file installer. +# Copyright (C) 2007-2009 Cajus Pollmeier +# This file is distributed under the same license as the gosa-desktop package. +# Hideki Yamane (Debian-JP) , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gosa 2.5.16-4.1\n" +"Report-Msgid-Bugs-To: cajus@debian.org\n" +"POT-Creation-Date: 2007-06-27 10:59+0200\n" +"PO-Revision-Date: 2009-01-06 06:26+0900\n" +"Last-Translator: Hideki Yamane (Debian-JP) \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../gosa-desktop.templates:1001 +msgid "URL to your GOsa installation:" +msgstr "GOsa がインストールされる URL:" + +#. Type: string +#. Description +#: ../gosa-desktop.templates:1001 +msgid "" +"The gosa start script can automatically point your browser to a system wide " +"default location of your GOsa instance." +msgstr "" +"gosa の起動スクリプトは、ブラウザが自動的に GOsa インスタンスのシステム全体での" +"デフォルトの場所を表示するようにできます。" + +#. Type: string +#. Description +#: ../gosa-desktop.templates:1001 +msgid "Enter the URL in order to set this default." +msgstr "これをデフォルトに設定するには URL を入力してください。" diff --git a/gosa-core/doc/admin/es/manual_gosa_es_apache.tex b/gosa-core/doc/admin/es/manual_gosa_es_apache.tex deleted file mode 100644 index df71abad7..000000000 --- a/gosa-core/doc/admin/es/manual_gosa_es_apache.tex +++ /dev/null @@ -1,822 +0,0 @@ -\chapter{Apache y PHP} -\section{Introducción a Apache} - -GOsa es una aplicación escrita en el lenguaje de programación PHP y pensada para uso a través de páginas web. - -Aunque todo el mundo conoce lo que es una página web, no viene de menos repasar algunos puntos: - -\begin{description} -\item[WWW] -La World Wide Web (Red alrededor del mundo) es el motor de lo que conocemos como internet, es un espacio de información donde cada recurso está identificado por su URI (Identificador de Recurso Universal / Universal Resource Identifier), este define el protocolo necesario para acceder a la información, el equipo que la posee y donde está colocada. - -La WWW es la gran revolución de nuestra época, es una fuente enorme de información. Y como tal todas las aplicaciones están siendo orientadas a ella. GOsa usa WWW por una sencilla razón, distribuye el programa, una aplicación orientada a internet es capaz de ser usada desde cualquier lugar y prácticamente en cualquier momento. GOsa no necesita estar siendo ejecutado en la misma máquina que lo tiene, mas -aun cada uno de los servidores que controla pueden estar en máquinas diferentes y en remotos lugares. - -\item[HTTP] -\htmladdnormallink{HTTP}{http://www.w3.org/Protocols/}\cite{2616} es el acrónimo de Protocolo de Transferencia de Texto / HyperText Transfer Protocol, cuyo propósito mas importante es la publicación y recepción de "páginas Web". - -Es un protocolo de nivel de aplicación ideado para sistemas distribuidos de información hipermedia. Ha estado siendo usada para la WWW desde 1990, la versión actual es HTTP/1.1. - -El funcionamiento práctico se puede reducir a un cliente que realiza una petición y a un servidor que gestiona esa petición y realiza una respuesta. - -\item[HTML] -Si la petición del cliente y la respuesta del servidor son correctas, la respuesta del servidor contendrá algún tipo de hipermedia, el mas habitual es \htmladdnormallink{HTML}{http://www.w3.org/TR/1998/REC-html40-19980424/} (Lenguaje de marcas de hipertexto / HyperText Markup Language), un lenguaje pensado para la publicación con contenidos y para una fácil navegación por ellos. Es un protocolo en constante desarrollo, la versión actual es HTML4.01 y en publicación XHTML2.0 -\end{description} - -\htmladdnormallink{APACHE}{http://httpd.apache.org/} es el servidor HTTP mas utilizado que \htmladdnormallink{ existe }{http://news.netcraft.com/archives/web_server_survey.html}, seguro, eficiente y extensible. - -En este manual nos centraremos en este servidor, ya que es el mas usado y tiene una licencia calificada de opensource. - -Mas información sobre este servidor en \htmladdnormallink{http://httpd.apache.org/docs-2.0/}{http://httpd.apache.org/docs-2.0/} - -\section{Introducción a PHP} - -PHP (PHP: Hypertext Preprocessor), es un lenguaje de interpretado alto nivel, especialmente pensado para el diseño de páginas webs. Su sintaxis es una mezcla de C, Perl y Java. Es embebido en las páginas HTML y es ejecutado por el servidor HTTP. - -PHP está ampliamente extendido y tiene un numeroso grupo de desarrolladores, una \htmladdnormallink{ extensa documentación }{http://www.php.net/docs.php} y numerosos sitios webs con documentación y ejemplos. - -\newpage - -\section{Instalación } -\subsection{Descargando e Instalando Apache} -\label{down_apache} -Al igual que en el capítulo anterior, Apache está en prácticamente todas las distribuciones, aunque veremos su instalación desde las fuentes. Nos vamos a centrar por ahora en las versiones mas avanzadas de apache, la serie 2.0.XX considerada estable. - -Se recomienda instalar los mismos paquetes que se necesitan para openLDAP\ref{down_ldap}. - -Se puede descargar de: \htmladdnormallink{http://httpd.apache.org/download.cgi}{http://httpd.apache.org/download.cgi}, la versión que vamos a descargar en /usr/src es la httpd-2.0.XX.tar.gz - -Ejecutamos \htmladdnormallink{./configure}{http://warping.sourceforge.net/gosa/contrib/es/configure-apache.sh} con las siguientes opciones. - -\begin{itemize} -\item[]Generales\\ -\begin{tabular}{|ll|}\hline ---enable-so & $\rightarrow$ Soporte de Objetos Dinámicos Compartidos (DSO)\\ ---with-program-name=apache2 & \\ ---with-dbm=db42 & $\rightarrow$ Versión de la Berkeley DB que vamos a usar\\ ---with-external-pcre=/usr & \\ ---enable-logio & $\rightarrow$ Registro de entrada y salida\\ ---with-ldap=yes & \\ ---with-ldap-include=/usr/include & \\ ---with-ldap-lib=/usr/lib & \\ -\hline \end{tabular} - -\item[]Soporte suexec\\ -\begin{tabular}{|ll|}\hline ---with-suexec-caller=www-data & \\ ---with-suexec-bin=/usr/lib/apache2/suexec2 & \\ ---with-suexec-docroot=/var/www & \\ ---with-suexec-userdir=public\_html & \\ ---with-suexec-logfile=/var/log/apache2/suexec.log & \\ -\hline \end{tabular} - -\item[] -\begin{longtable}{|ll|} -\hline -\multicolumn{2}{|c|}{\textbf{Módulos}}\\ -\hline -\endfirsthead -\hline -\endhead -\hline -\multicolumn{2}{|c|}{Continue $\ldots$}\\ -\hline -\endfoot -\hline -\multicolumn{2}{|c|}{\textbf{End}}\\ -\hline -\endlastfoot ---enable-userdir=shared & $\rightarrow$ mod\_userdir, módulo para directorios de usuario\\ ---enable-ssl=shared & $\rightarrow$ mod\_ssl, módulo de conectividad segura SSL\\ ---enable-deflate=shared & $\rightarrow$ mod\_deflate, módulo para comprimir la información enviada\\ ---enable-ldap=shared & $\rightarrow$ mod\_ldap\_userdir, módulo para caché y conexiones ldap\\ ---enable-auth-ldap=shared & $\rightarrow$ mod\_ldap, módulo de autentificación en ldap\\ ---enable-speling=shared & $\rightarrow$ mod\_speling, módulo para la corrección de fallos en URL\\ ---enable-include=shared & $\rightarrow$ mod\_include, módulo para la inclusión de otras configuraciones\\ ---enable-rewrite=shared & $\rightarrow$ mod\_rewrite, permite la manipulación de URL\\ ---enable-cgid=shared & $\rightarrow$ CGI script\\ ---enable-vhost-alias=shared & $\rightarrow$ módulo de alias de dominios virtuales\\ ---enable-info=shared & $\rightarrow$ Información del servidor\\ ---enable-suexec=shared & $\rightarrow$ Cambia el usuario y el grupo de los procesos\\ ---enable-unique-id=shared & $\rightarrow$ Identificador único por petición\\ ---enable-usertrack=shared & $\rightarrow$ Seguimiento de la sesión de usuario\\ ---enable-expires=shared & $\rightarrow$ Módulo para el envío de la cabecera de expiración\\ ---enable-cern-meta=shared & $\rightarrow$ Ficheros meta tipo CERN\\ ---enable-mime-magic=shared & $\rightarrow$ Determina automáticamente el tipo MIME\\ ---enable-headers=shared & $\rightarrow$ Control cabeceras HTTP\\ ---enable-auth-anon=shared & $\rightarrow$ Acceso a usuarios anónimos\\ ---enable-proxy=shared & $\rightarrow$ Permite el uso de Apache como proxy\\ ---enable-dav=shared & $\rightarrow$ Capaz de manejar el protocolo WebDav\\ ---enable-dav-fs=shared & $\rightarrow$ Proveedor DAV para el sistema de archivos\\ ---enable-auth-dbm=shared & $\rightarrow$ Autentificación basada en base de datos DBM\\ ---enable-cgi=shared & $\rightarrow$ Permite CGI scripts\\ ---enable-asis=shared & $\rightarrow$ Tipos de archivos como son\\ ---enable-imap=shared & $\rightarrow$ Mapas de imágenes en el lado de servidor\\ ---enable-ext-filter=shared & $\rightarrow$ Módulo para filtros externos\\ ---enable-authn-dbm=shared & \\ ---enable-authn-anon=shared & \\ ---enable-authz-dbm=shared & \\ ---enable-auth-digest=shared & $\rightarrow$ Colección de autentificaciones según RFC2617\\ ---enable-actions=shared & $\rightarrow$ Activa acciones según peticiones\\ ---enable-file-cache=shared & $\rightarrow$ Cache de archivos\\ ---enable-cache=shared & $\rightarrow$ Cache dinámico de archivos\\ ---enable-disk-cache=shared & $\rightarrow$ Cache de disco\\ ---enable-mem-cache=shared & $\rightarrow$ Cache de memoria\\ -\hline \end{longtable} -\end{itemize} - -Una vez configurado, hacemos:\\ -\\ -\begin{tabular}{|l|}\hline -\#make \&\& make install\\ -\hline \end{tabular} -\newpage - - -\subsection{ Instalando PHP sobre Apache} - -Se puede descargar de \htmladdnormallink{http://www.php.net/downloads.php}{http://www.php.net/downloads.php} siendo la versión necesaria a la fecha de este manual para utilizar GOsa la 4.3.XX, ya que las versiones 5.0.XX aún no están soportadas. Las descargaremos en /usr/src. - -Para poder compilar los módulos necesarios además de necesitar las librerías de desarrollo de la seccion Servidores \ref{servidores}, además de las mismas que para openLDAP\ref{down_ldap} y Apache\ref{down_apache} necesitaremos alguna librería mas: - -\begin{itemize} -\item[libbz2] -La podemos descargar de \htmladdnormallink{http://sources.redhat.com/bzip2/}{http://sources.redhat.com/bzip2/} para módulo de compresión BZ2. -\item[e2fsprogs] -Se puede descargar de \htmladdnormallink{http://e2fsprogs.sourceforge.net}{http://e2fsprogs.sourceforge.net} para acceso al sistema de archivos. -\item[expat] -Se descarga de \htmladdnormallink{http://expat.sourceforge.net/}{http://expat.sourceforge.net/}, es un parser XML. -\item[zziplib] -Bajarla de \htmladdnormallink{http://zziplib.sourceforge.net/}{http://zziplib.sourceforge.net/}, acceso a archivos ZIP. -\item[zlib] -Desde \htmladdnormallink{http://www.gzip.org/zlib/}{http://www.gzip.org/zlib/} para compresión GZ. -\item[file] -Desde \htmladdnormallink{http://www.darwinsys.com/freeware/file.html}{http://www.darwinsys.com/freeware/file.html} control de archivos. -\item[sed] -De \htmladdnormallink{http://www.gnu.org/software/sed/sed.html}{http://www.gnu.org/software/sed/sed.html}, una de las herramientas mas potentes para manipulación de texto. -\item[libcurl] -Potente herramienta para manejar archivos remotos, la bajaremos de \htmladdnormallink{http://curl.haxx.se/}{http://curl.haxx.se/} . -\item[gettext] -Herramienta GNU para soporte de varios idiomas, la descargamos de \htmladdnormallink{http://www.gnu.org/software/gettext/gettext.html}{http://www.gnu.org/software/gettext/gettext.html} . -\item[libgd] -Para la manipulación y creación de imágenes desde: \htmladdnormallink{http://www.boutell.com/gd/}{http://www.boutell.com/gd/} . -\item[libjpeg] -Manipulación de imágenes JPEG de \htmladdnormallink{http://www.ijg.org/}{http://www.ijg.org/} . -\item[libpng] -Manipulación imágenes PNG de \htmladdnormallink{http://www.libpng.org/pub/png/libpng.html}{http://www.libpng.org/pub/png/libpng.html} . -\item[mcal] -Librería para el acceso a Calendarios remotos, se baja de \htmladdnormallink{http://mcal.chek.com/}{http://mcal.chek.com/} . -\item[libmysql] -Soporte para la famosísima base de datos, es imprescindible para php, se baja de \htmladdnormallink{http://www.mysql.com/}{http://www.mysql.com/} -\end{itemize} - -Una configuración recomendada será: - - -\begin{itemize} -\item[]Apache2\\ -\begin{tabular}{|ll|}\hline ---prefix=/usr --with-apxs2=/usr/bin/apxs2 & \\ ---with-config-file-path=/etc/php4/apache2 & \\ -\hline \end{tabular} - - - -\item[]Opciones de compilación\\ -\begin{tabular}{|ll|}\hline ---enable-memory-limit & \# Compilado con límite de memoria\\ ---disable-debug & \# Compilar sin símbolos de depuración\\ ---disable-static & \# Sin librerías estáticas\\ ---with-pic & \# Usar objetos PIC y no PIC\\ ---with-layout=GNU & \\ ---enable-sysvsem & \# Soporte sysvmsg \\ ---enable-sysvshm & \# Soporte semáforos System V \\ ---enable-sysvmsg & \# Soporte memoria compartida System V \\ ---disable-rpath & \# Desactiva poder pasar rutas a librerías adiciones al binario\\ ---without-mm & \# Desactivar el soporte de sesiones por memoria\\ -\hline \end{tabular} - -\item[]De sesión\\ -\begin{tabular}{|ll|}\hline ---enable-track-vars & \\ ---enable-trans-sid & \\ -\hline \end{tabular} - -\item[]Soporte\\ -\begin{tabular}{|ll|}\hline ---enable-sockets & \# Soporte de sockets\\ ---with-mime-magic=/usr/share/misc/file/magic.mime & \\ ---with-exec-dir=/usr/lib/php4/libexec & \\ -\hline \end{tabular} - -\item[]pear\\ -\begin{tabular}{|ll|}\hline ---with-pear=/usr/share/php & Donde vamos a instalar PEAR\\ -\hline \end{tabular} - -\item[]Funciones\\ -\begin{tabular}{|ll|}\hline ---enable-ctype & Soporte funciones de control de caracteres \\ ---with-iconv & Soporte funciones iconv\\ ---with-bz2 & Soporte Compresión BZ2\\ ---with-regex=php & Tipo de librería de expresiones regulares\\ ---enable-calendar & Funciones para conversión de calendario\\ ---enable-bcmath & Soporte de matemáticas de precisión arbitraria\\ ---with-db4 & DBA: Soporte Berkeley DB versión 4\\ ---enable-exif & Soporte funciones exif, para lectura metadata JPG y TIFF\\ ---enable-ftp & Soporte funciones FTP \\ ---with-gettext & Soporte Localización\\ ---enable-mbstring & \\ ---with-pcre-regex=/usr & \\ ---enable-shmop & Funciones de memoria compartida\\ ---disable-xml --with-expat-dir=/usr & Usa el xml de expat en vez del que viene con php\\ ---with-xmlrpc & \\ ---with-zlib & \\ ---with-zlib-dir=/usr & \\ ---with-imap=shared,/usr & Soporte imap genérico\\ ---with-kerberos=/usr & Imap con autentificación kerberos\\ ---with-imap-ssl & Imap con acceso seguro SSL\\ ---with-openssl=/usr & \\ ---with-zip=/usr & \\ ---enable-dbx & Capa de abstracción a base de datos\\ -\hline \end{tabular} - -\item[]Módulos externos\\ -\begin{tabular}{|ll|}\hline ---with-curl=shared,/usr & Manejo remoto de archivos\\ ---with-dom=shared,/usr --with-dom-xslt=shared,/usr --with-dom-exslt=shared,/usr & Con xmlrpc ya integrado\\ ---with-gd=shared,/usr --enable-gd-native-ttf & Soporte de manejo de gráficos\\ ---with-jpeg-dir=shared,/usr & Soporte GD para jpeg\\ ---with-png-dir=shared,/usr & Soporte GD para png\\ ---with-ldap=shared,/usr & Soporte para ldap\\ ---with-mcal=shared,/usr & Soporte de calendarios\\ ---with-mhash=shared,/usr & Módulo para varios algoritmos de generación de claves\\ ---with-mysql=shared,/usr & Soporte de base de datos Mysql\\ -\hline \end{tabular} -\end{itemize} -Posteriormente hacemos:\\ -\\ -\begin{tabular}{|l|}\hline -\#make \&\& make install\\ -\hline \end{tabular} -\newpage -\section{ Configuración Apache2} - -La configuración de apache se guardara en el directorio /etc/apache2 en los siguientes ficheros y directorios: -\begin{itemize} -\item[]Archivo apache2.conf:\\ -COnfiguración principal de apache2, tiene la configuración necesaria para arrancar apache.\\ -No necesitamos editar este archivo. -\item[]Archivo ports.conf\\ -Que puertos escucha apache, necesitamos dos, el puerto 80 para HTTP y el 443 para HTTPS, editaremos el ficheros, dejandolo como esto: -\begin{tabular}{|l|}\hline -Listen 80,443\\ -\hline \end{tabular} -\item[]Directorio conf.d:\\ -Directorio para configuraciones especiales, no lo necesitamos. -\item[]Directorios mods-available y mods-enabled:\\ -Este directorio tiene todos los módulos que podemos usar de apache2, para poder usar un módulo es necesario enlazar este al directorio mods-enabled. -\item[]Directorios sites-available y sites-enabled:\\ -En sites-available debemos configurar los sitios que vamos a usar.\\ -Por ejemplo vamos a crear el sitio no seguro gosa, que vamos a usar para redirigir las peticiones a un servidor seguro. - -La configuración de GOsa (sites-available/gosa) puede ser parecida a esta::\\ -\begin{tabular}{|l|}\hline -\noindent NameVirtual *\\ -\\ -\verb| |ServerName gosa.chaosdimension.org\\ -\\ -\verb| |Redirect /gosa https://gosa.chaosdimension.org/gosa\\ -\\ -\verb| |CustomLog /var/log/apache/gosa.log combined\\ -\verb| |ErrorLog /var/log/apache/gosa.log\\ -\\ -\\ -\hline \end{tabular} - -Una vez sea guardada, podemos activarla haciendo esto:\\ -\\ -\begin{tabular}{|l|}\hline -\#>ln -s /etc/apache2/mods-available/suphp.conf /etc/apache2/mods-enabled/suphp.conf\\ -\hline \end{tabular} -\\ -\item[]Directorio ssl:\\ -Directorio de configuración de Secure Socket Layer, esto lo veremos en la siguiente sección. -\end{itemize} -\newpage -\subsection{ Seguridad} - -La seguridad es uno de los puntos mas importantes al configurar un servidor apache, necesitaremos un entorno seguro donde no permitir que los usuarios manipulen y accedan a codigo o programas. - -La formas de conseguir esto es usando encriptación, con lo que buscamos que los usuarios y el servidor se comuniquen de forma que nadie mas pueda acceder a los datos. Esto se consigue con encriptación. - -La otra manera de asegurar el sistema es que si existe algún fallo en el sistema o en el código, y un intruso intenta ejecutar codigo, este se vea incapacitado, ya que existen poderosas limitaciones, como no permitir que ejecute comandos, lea el codigo de otros script, no pueda modificar nada y tenga un usuario con muy limitados recursos. -\subsubsection{ Certificados SSL} - -\noindent Existe amplia documentación sobre encriptación y concretamente sobre SSL, un sistema de encriptación con clave publica y privada.\\ -\\ -\noindent Como el paquete openSSL ya lo tenemos instalado a partir de los pasos anteriores, debemos crear los certificados que usaremos en nuestro servidor web.\\ -\\ -\noindent Supongamos que guardamos el certificado en /etc/apache2/ssl/gosa.pem\\ -\\ -\begin{tabular}{|l|}\hline -\#>FILE=/ect/apache2/ssl/gosa.pem\\ -\#>export RANDFILE=/dev/random\\ -\#>openssl req -new -x509 -nodes -out \$FILE -keyout /etc/apache2/ssl/apache.pem\\ -\#>chmod 600 \$FILE\\ -\#>ln -sf \$FILE /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < \$FILE`.0\\ -\hline \end{tabular} -\\ -\noindent Con esto hemos creado un certificado que nos permite el acceso SSL a nuestras páginas.\\ -\\ -\noindent Si lo que queremos es una configuración que nos permita no solo que el tráfico esté encriptado, sino que además el cliente garantice que es un usuario válido, debemos provocar que el servidor pida una certificación de cliente. \\ -\\ -\noindent En este caso seguiremos un procedimiento mas largo, primero la creación de una certificación de CA:\\ -\\ -\begin{tabular}{|l|}\hline -\#>CAFILE=/ect/apache2/ssl/gosa.ca\\ -\#>KEY=/etc/apache2/ssl/gosa.key\\ -\#>REQFILE=/etc/apache2/ssl/gosa.req\\ -\#>CERTFILE=/ect/apache2/ssl/gosa.cert\\ -\#>DAYS=365\\ -\#>export RANDFILE=/dev/random\\ -\#>openssl req -x509 -keyout \$CAKEY -out \$CAFILE \$DAYS\\ -\hline \end{tabular} -\\ -\noindent Después de varias cuestiones tendremos una CA, ahora hacemos un requerimiento a la CA creada:\\ -\\ -\begin{tabular}{|l|}\hline -\#>openssl req -new -keyout \$REQFILE -out \$REQFILE \$DAYS\\ -\hline \end{tabular} -\\ -\noindent Firmamos el nuevo certificado:\\ -\\ -\begin{tabular}{|l|}\hline -\#>openssl ca -policy policy\_anything -out \$CERFILE -infiles \$REQFILE\\ -\hline \end{tabular} -\\ -\noindent Y creamos un pkcs12 para configurar la certificación en los clientes:\\ -\\ -\begin{tabular}{|l|}\hline -\#>openssl pkcs12 -export -inkey \$KEY -in \$CERTFILE -out certificado\_cliente.pkcs12\\ -\hline \end{tabular} -\\ -\noindent Este certificado se puede instalar en el cliente, y en el servidor web mediante la configuración explicada en el siguiente punto, nos dará la seguridad de que solo accederán aquellos clientes que nosotros deseamos y que su comunicación será estrictamente confidencial.\\ - - - -\subsubsection{ Configurando mod-SSL} - - -\noindent El módulo SSL viene de serie con apache2, esto simplificara nuestro trabajo. Para saber si está ya configurado:\\ -\\ -\begin{tabular}{|l|}\hline -\#> if [ -h /etc/apache2/mods-enabled/ssl.load ]; then echo "módulo instalado";else echo "módulo no instalado"; fi\\ -\hline \end{tabular} -\\ -\noindent Para activarlo haremos lo siguiente:\\ -\\ -\begin{tabular}{|l|}\hline -\#>ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf\\ -\#>ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load\\ -\hline \end{tabular} -\\ -\noindent Esto configurará el módulo en apache2 y se podrá utilizar después de recargar el servidor con:\\ -\\ -\begin{tabular}{|l|}\hline -\#>/etc/init.d/apache2 restart\\ -\hline \end{tabular} -\\ -\\ -\noindent Para el caso de querer solo una configuración para comunicación encriptada, crearemos en /etc/apache2/sites-available, gosa-ssl:\\ -\\ -\begin{tabular}{|l|}\hline -\noindent NameVirtual *:443\\ -\\ -\verb| |ServerName gosa.chaosdimension.org\\ -\\ -\verb| |alias /gosa /usr/share/gosa/html\\ -\\ -\verb| |DocumentRoot /var/www/gosa.chaosdimension.org\\ -\verb| |CustomLog /var/log/apache/gosa.log combined\\ -\verb| |ErrorLog /var/log/apache/gosa.log\\ -\\ -\verb| |SSLEngine On\\ -\verb| |SSLCertificateFile /etc/apache2/ssl/gosa.cert\\ -\verb| |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\ -\verb| |SSLCertificateChainFile /etc/apache2/ssl/gosa.cert\\ -\verb| |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\ -\verb| |SSLCACertificateFile /etc/apache2/ssl/gosa.ca\\ -\verb| |SSLCACertificatePath /etc/apache2/ssl/\\ -\verb| |SSLLogLevel error\\ -\verb| |SSLLog /var/log/apache2/ssl-gosa.log\\ -\\ -\\ -\hline \end{tabular} -\\ -\noindent Para una comunicación encriptada en la cual verificamos el certificado del cliente: -\\ -\begin{tabular}{|l|}\hline -\noindent NameVirtual *:443\\ -\\ -\verb| |ServerName gosa.chaosdimension.org\\ -\\ -\verb| |alias /gosa /usr/share/gosa/html\\ -\\ -\verb| |DocumentRoot /var/www/gosa.chaosdimension.org\\ -\verb| |CustomLog /var/log/apache/gosa.log combined\\ -\verb| |ErrorLog /var/log/apache/gosa.log\\ -\\ -\verb| |SSLEngine On\\ -\verb| |SSLCertificateFile /etc/apache2/ssl/gosa.cert\\ -\verb| |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\ -\verb| |SSLCertificateChainFile /etc/apache2/ssl/gosa.cert\\ -\verb| |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\ -\verb| |SSLCACertificateFile /etc/apache2/ssl/gosa.ca\\ -\verb| |SSLCACertificatePath /etc/apache2/ssl/\\ -\verb| |SSLLogLevel error\\ -\verb| |SSLLog /var/log/apache2/ssl-gosa.log\\ -\\ -\verb| |\\ -\verb| |\verb| |SSLVerifyClient require\\ -\verb| |\verb| |SSLVerifyDepth 1\\ -\verb| |\\ -\\ -\hline \end{tabular} - -\subsubsection{ Configurando suphp} -\noindent -Suphp es un módulo para apache y php que permite ejecutar procesos de php con un usuario diferente del que usa apache para ejecutar las páginas html y php. - -Consta de dos partes, una es un modulo para apache que "captura" las peticiones de páginas php, comprueba el usuario del archivo, su grupo, y envía la información a la otra parte, que es un ejecutable suid-root que lanza php4-cgi con el usuario que le ha sido indicado, este devuelve el resultado al módulo del apache. - -La idea es minimizar el daño que se provocaría al ser explotado un posible fallo del sistema, de esta manera el usuario entraría en el sistema con una cuenta no habilitada, sin permisos de ejecución y sin posibilidad de acceso a otro código o sitios web. - -Suphp se puede descargar de \htmladdnormallink{http://www.suphp.org/Home.html}{http://www.suphp.org/Home.html}, descomprimiendo el paquete en /usr/src y compilando con las siguientes opciones: -\\ -\begin{tabular}{|l|}\hline -\#>./configure --prefix=/usr \textbackslash \\ -\verb| |--with-apxs=/usr/bin/apxs2 \textbackslash \\ -\verb| |--with-apache-user=www-data \textbackslash \\ -\verb| |--with-php=/usr/lib/cgi-bin/php4 \textbackslash \\ -\verb| |--sbindir=/usr/lib/suphp \textbackslash \\ -\verb| |--with-logfile=/var/log/suphp/suphp.log \textbackslash \\ -\verb| |-with-setid-mode \textbackslash \\ -\verb| |--disable-checkpath \\ -\hline \end{tabular} -\\ -\noindent Por supuesto necesitaremos tener compilado php para cgi, esto significa volver a compilar php, pero quitando la configuración para apache2 y añadiendo:\\ -\\ -\begin{tabular}{|l|}\hline -\verb| |--prefix=/usr --enable-force-cgi-redirect --enable-fastcgi \textbackslash\\ -\verb| |--with-config-file-path=/etc/php4/cgi\\ -\hline \end{tabular} - -\noindent Para configurarlo en apache haremos igual que para ssl, primero comprobamos si está configurado:\\ -\\ -\begin{tabular}{|l|}\hline -\#> if [ -h /etc/apache2/mods-enabled/suphp.load ]; then echo "módulo instalado";else echo "módulo no instalado"; fi\\ -\hline \end{tabular} -\\ -\noindent Para activarlo haremos lo siguiente:\\ -\\ -\begin{tabular}{|l|}\hline -\#>ln -s /etc/apache2/mods-available/suphp.conf /etc/apache2/mods-enabled/suphp.conf\\ -\#>ln -s /etc/apache2/mods-available/suphp.load /etc/apache2/mods-enabled/suphp.load\\ -\hline \end{tabular} -\\ -\noindent Esto configurará el módulo en apache2 y se podrá utilizar después de recargar el servidor con:\\ -\\ -\begin{tabular}{|l|}\hline -\#>/etc/init.d/apache2 restart\\ -\hline \end{tabular} -\\ - -\noindent La configuración del sitio seguro con suphp incluido quedaría así:\\ -\\ -\begin{tabular}{|l|}\hline -\noindent NameVirtual *:443\\ -\\ -\verb| |ServerName gosa.chaosdimension.org\\ -\\ -\verb| |DocumentRoot /usr/share/gosa/html\\ -\verb| |alias /gosa /usr/share/gosa/html\\ -\verb| |CustomLog /var/log/apache/gosa.log combined\\ -\verb| |ErrorLog /var/log/apache/gosa.log\\ -\\ -\verb| |suPHP\_Engine on\\ -\\ -\verb| |SSLEngine On\\ -\verb| |SSLCertificateFile /etc/apache2/ssl/gosa.cert\\ -\verb| |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\ -\verb| |SSLCertificateChainFile /etc/apache2/ssl/gosa.cert\\ -\verb| |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\ -\verb| |SSLCACertificateFile /etc/apache2/ssl/gosa.ca\\ -\verb| |SSLCACertificatePath /etc/apache2/ssl/\\ -\verb| |SSLLogLevel error\\ -\verb| |SSLLog /var/log/apache2/ssl-gosa.log\\ -\\ -\verb| |\\ -\verb| |\verb| |SSLVerifyClient require\\ -\verb| |\verb| |SSLVerifyDepth 1\\ -\verb| |\\ -\\ -\hline \end{tabular} - -\noindent Debemos decidir que usuario vamos a usar, en este caso voy a crear uno llamado gosa, que me sirva para el fin indicado anteriormente:\\ -\\ -\begin{tabular}{|l|}\hline -\verb| |\#useradd -d /usr/share/gosa/html gosa\\ -\verb| |\#passwd -l gosa\\ -\verb| |\#cd /usr/share/gosa\\ -\verb| |\#find /usr/share/gosa -name "*.php" -exec chown gosa {} ";"\\ -\verb| |\#find /usr/share/gosa -name "*.php" -exec chmod 600 {} ";"\\ -\hline \end{tabular} - - - -\section{Configuración Php4} - -La configuración para mod\_php se guardará en el sitio que hallamos puesto en la partes anteriores. En nuestro caso es /etc/php4/apache2. - -El archivo de configuración siempre es php.ini y en el configuramos los módulos. - -Una configuración básica será como esta: -\begin{center} -\begin{longtable}{|l|} -\caption{PHP4 Configuration}\\ -\hline -\multicolumn{1}{|c|}{\textbf{PHP4 Configuration}}\\ -\hline -\endfirsthead -\hline -\endhead -\hline -\multicolumn{1}{|c|}{Continue $\ldots$}\\ -\hline -\endfoot -\hline -\multicolumn{1}{|c|}{\textbf{End}}\\ -\hline -\endlastfoot -; Engine\\ -\verb| |engine = On ; Activa PHP\\ -\verb| |short\_open\_tag = On ; Permite usar \\ -\verb| |precision = 14 ; Número de dígitos significantes mostrados en números en coma flotante\\ -\verb| |output\_buffering = Off ; Solo permitimos que envie cabecera antes de enviar el contenido.\\ -\verb| |implicit\_flush = Off ; No forzamos a php a que limpie el buffer de salida después de cada bloque.\\ -\\ -; Safe Mode\\ -\verb| |\label{sm} safe\_mode = Off ; No queremos el modo seguro\\ -\verb| |\label{smed} safe\_mode\_exec\_dir = ; Directorio donde se ejecutara PHP\\ -\verb| |\label{smid} safe\_mode\_include\_dir = Directorios donde hará la busqueda PHP de librerías\\ -\verb| |\label{smaev} safe\_mode\_allowed\_env\_vars = PHP\_ ; Solo se permite a los usuarios\\ -\verb| |\verb| |\verb| |;a crear variables del sistema que empiecen por PHP\_\\ -\verb| |\label{smpev} safe\_mode\_protected\_env\_vars = LD\_LIBRARY\_PATH ; Lista de variables del sistema que\\ -\verb| |\verb| |\verb| |; no pueden ser cambiadas por razones de seguridad\\ -\verb| |\label{df} disable\_functions = ; Funciones que serán desactivadas por razones de seguridad\\ -\verb| |\label{auf} allow\_url\_fopen = Yes ; Permitimos que se abran archivos desde PHP\\ -\verb| |\label{ob} open\_basedir = ;\\ -\\ -; Colores para el modo de síntasis coloreada.\\ -\verb| |highlight.string = \#DD0000\\ -\verb| |highlight.comment = \#FF8000\\ -\verb| |highlight.keyword = \#007700\\ -\verb| |highlight.bg = \#FFFFFF\\ -\verb| |highlight.default = \#0000BB\\ -\verb| |highlight.html = \#000000\\ -\\ -; Misc\\ -\verb| |\label{ep}expose\_php = On ; Indica en el mensaje del servidor web si está instalado o no.\\ -\\ -; Resource Limits ;\\ -\verb| |max\_execution\_time = 30 ; Tiempo máximo de ejecución del script.\\ -\verb| |memory\_limit = 16M ; La cantidad máxima permitida de memoria que puede consumir un script.\\ -\\ -; Error handling and logging ;\\ -\verb| |error\_reporting = E\_ALL; Indicamos que muestre todos los errores y avisos.\\ -\verb| |display\_errors = Off ; Que no los imprima en pantalla.\\ -\verb| |display\_startup\_errors = Off ; Que no muestre los errores de arranque de PHP.\\ -\verb| |log\_errors = On ; Que envíe los errores a un fichero.\\ -\verb| |track\_errors = On ; Que guarde el último error / aviso para \$php\_errormsg (boolean)\\ -\verb| |error\_log = /var/log/php/php4.log ; Fichero que guardará los errores\\ -\verb| |warn\_plus\_overloading = Off ; No avisamos si se usa el operador + con cadenas de texto\\ -\\ -; Data Handling ;\\ -\verb| |variables\_order = "EGPCS" ; Esta directiva describe el orden en el cual\\ -\verb| |;se registrarán las variables de PHP (Siendo G=GET, P=POST, C=Cookie,\\ -\verb| |; E= Sistema, S= Propias de PHP, todas es indicado como EGPCS)\\ -\verb| |\label{rg} register\_globals = Off ; No queremos que se registren las EGPCS como globales.\\ -\verb| |register\_argc\_argv = Off ; No declaramos ARGV y ARGC para su uso en scripts.\\ -\verb| |post\_max\_size = 8M ; Tamaño máximo de un envío POST que aceptará PHP.\\ - -; Magic quotes\\ -\verb| |\label{mqq}magic\_quotes\_gpc = On ; Comillas añadidas para gpc(información GET/POST/Cookie)\\ -\verb| |magic\_quotes\_runtime= Off ; Comillas añadidas para información generada por el sistema, \\ -\verb| |;por ejemplo desde SQL, exec(), etc.\\ -\verb| |magic\_quotes\_sybase = Off ; Usar comillas añadidas al estilo de Sybase \\ -\verb| |;(escapa ' con '' en lugar de \textbackslash ')\\ -\\ -; Tipo de archivo por defecto de PHP y codificación por defecto.\\ -\verb| |default\_mimetype = "text/html"\\ -\verb| |default\_charset = "iso-8859-1"\\ -\\ -; Rutas y directorios ;\\ -\verb| |\label{ip} include\_path = . ;\\ -\verb| |doc\_root = ; Raíz de las páginas php, mejor dejarlo en blanco.\\ -\verb| |user\_dir = ; Donde php ejecuta el script, tambien mejor en blanco.\\ -\verb| |;extension\_dir = /usr/lib/php4/apache ; ¿Donde estan los módulos?\\ -\verb| |enable\_dl = Off ; Permitir o no la carga dinámica de módulos con la función dl().\\ -\\ -; Subir ficheros al servidor;\\ -\verb| |file\_uploads = On ; Permitir el subir archivos al servidor.\\ -\verb| |upload\_max\_filesize = 2M ; Tamaño máximo de los archivos que vamos a subir.\\ -\\ -; Extensiones dinámicas ;\\ -\verb| |extension=gd.so ; Graficos\\ -\verb| |extension=mysql.so ; Mysql\\ -\verb| |extension=ldap.so ; Ldap\\ -\verb| |extension=mhash.so ; Mhash\\ -\verb| |extension=imap.so ; Imap\\ -\verb| |extension=kadm5.so ; Kerberos\\ -\verb| |extension=cups.so ; Cupsys\\ -\\ -; Log del sistema\\ -\verb|[Syslog]|\\ -\verb| |define\_syslog\_variables = Off ; Desactivamos la definición de variables de syslog.\\ -\\ -; funciones de correo\\ -\verb|[mail function]|\\ -\verb| |;sendmail\_path = ;En sistemas Unix, donde esta hubicado sendmail (por defecto es 'sendmail -t -i')\\ -\\ -; depuración\\ -\verb|[Debugger]|\\ -\verb| |debugger.host = localhost ; Donde está el depurador.\\ -\verb| |debugger.port = 7869 ; En que puerto escucha.\\ -\verb| |debugger.enabled = False ; En principio suponemos que no hay depurados.\\ -\\ -; Opciones SQL\\ -\verb|[SQL]|\\ -\verb| |sql.safe\_mode = Off ; Modo seguro de sql, en principio estará desactivado.\\ -\\ -; Opciones Mysql\\ -\verb|[MySQL]|\\ -\verb| |mysql.allow\_persistent = Off ; Desactivaremos los enlaces persistentes por razones de seguridad.\\ -\verb| |mysql.max\_persistent = -1 ; Numero de conexiones persistentes, no se usa por haberlas desactivado.\\ -\verb| |mysql.max\_links = -1 ; Numero máximo de conexiones, -1 es sin limite.\\ -\verb| |mysql.default\_port = 3306; Puerto por defecto del mysql.\\ -\verb| |mysql.default\_socket = ; Nombre de socket que se usaran para conexiones locales MySQL.\\ -\verb| |;Si está vacio se usara el que tengamos en la configuración de la compilación del PHP.\\ -\verb| |mysql.default\_host = ; No configuramos host por defecto.\\ -\verb| |mysql.default\_user = ; No configuramos usuario por defecto.\\ -\verb| |mysql.default\_password = ; No configuramos una contraseña por defecto.\\ -\\ -; Control de sesiones\\ -\verb|[Session]|\\ -\verb| |session.save\_handler = files ; Guardamos la información de sesión en ficheros.\\ -\verb| |\label{ss} session.save\_path = /var/lib/php4 ; Donde se van ha guardar los ficheros de sesión.\\ -\verb| |session.use\_cookies = 1 ; Usaremos cookies para el seguimiento de sesión.\\ -\verb| |session.name = PHPSESSID ; Nombre de la sesión que será usado en el nombre de la cookie.\\ -\verb| |session.auto\_start = 0 ; No iniciamos sesión automáticamente.\\ -\verb| |session.cookie\_lifetime = 0 ; Tiempo de vida de una cookie de sesión o 0 si esperamos a que cierre el navegador.\\ -\verb| |session.cookie\_path = / ; La ruta para que es válida la cookie.\\ -\verb| |session.cookie\_domain = ; El dominio para el cual es válida la cookie.\\ -\verb| |session.serialize\_handler = php ; Manipulador usado para serializar los datos.\\ -\verb| |session.gc\_probability = 1 ; Probabilidad en porcentaje de que el recolector de basura se active en cada sesión.\\ -\verb| |session.gc\_maxlifetime = 1440 ; Después de este tiempo en segundos, la información guardada\\ -\verb| |; será vista como basura para el recolector de basura.\\ -\verb| |session.referer\_check = ; Comprueba los Referer HTTP para invalidar URLs externas conteniendo ids\\ -\verb| |session.entropy\_length = 0 ; Número de bytes a leer del fichero de entropía.\\ -\verb| |session.entropy\_file = ; El fichero que generará la entropía.\\ -\verb| |session.cache\_limiter = nocache ; Sin cache de sessiones.\\ -\verb| |session.cache\_expire = 180 ; Tiempo de expiración del documento.\\ -\verb| |session.use\_trans\_sid = 0 ; Usar sid transportable si está activado en la compilación\\ -\\ -\end{longtable} -\end{center} - - -\subsection{Seguridad} - -Php es un poderoso lenguaje de script, permite a su usuario tener bastante control sobre el sistema y a atacantes maliciosos muchas opciones de alcanzar su objetivo. - -Un administrador de sistemas no debe suponer que un sistema es completamente seguro con solo tener las actualizaciones de seguridad instaladas, un sistema que muestra código al exterior no es seguro, aunque el resultado sea HTML, se expone a ataques de formas muy diversas y a fallos de seguridad desconocidos. - -Limitar al máximo el acceso que permite php es entonces una necesidad. - -\subsection{Configurando safe php} - -PHP tiene un modo llamado \htmladdnormallink{safe-mode}{http://www.php.net/manual/en/features.safe-mode.php} que permite una mayor seguridad, una configuración para Safe mode recomendada es:\\ -\\ -\noindent \begin{tabular}{|l|}\hline -\verb| |\ref{mqq} magic\_quotes\_qpc = On\\ -\verb| |\ref{auf} allow\_url\_fopen = No\\ -\verb| |\ref{rg} register\_globals = Off\\ -\verb| |\ref{sm} safe\_mode = On\\ -\verb| |\ref{smid} safe\_mode\_include\_dir = "/usr/share/gosa:/var/spool/gosa"\\ -\verb| |\ref{smed} safe\_mode\_exec\_dir = "/usr/lib/gosa"\\ -\verb| |\ref{smaev} safe\_mode\_allowed\_env\_vars = PHP\_,LANG\\ -\verb| |\ref{ob} open\_basedir = "/etc/gosa:/var/spool/gosa:/var/cache/gosa:/usr/share/gosa:/tmp"\\ -\verb| |\ref{ip} include\_path = ".:/usr/share/php:/usr/share/gosa:/var/spool/gosa:/usr/share/gosa/safe\_bin"\\ -\verb| |\ref{df} disable\_functions = system, shell\_exec, passthru, phpinfo, show\_source\\ -\hline \end{tabular} -\\ -En el caso de que vayamos a usar SuPHP, debemos dar los siguientes permisos al directorio /var/lib/php4:\\ -\begin{tabular}{|l|}\hline -\#chmod 1777 /var/lib/php4\\ -\hline \end{tabular} - -Ya que cada usuario que ejecute PHP guardara la sesión con ese usuario. - - -\section{ Módulos de PHP necesarios} - -En esta sección se explicaran los pasos para conseguir compilar y usar los módulos necesarios o importantes para GOsa, se recomienda instalar todos los módulos, incluso los que no son necesarios. - -\subsection{ ldap.so} - -MÓDULO NECESARIO - -\indent Este módulo no necesita ninguna configuración especial para funcionar. - -\indent Solo se conoce un problema: No puede conectarse PHP+Apache con un servidor LDAP que pida Certificado válido. Con lo cual la comunicación será segura, ya que se puede usar SSL, pero no estará garantizada. - -\subsection{ mysql.so} - -MÓDULO OPCIONAL - -\indent Este módulo no necesita ninguna configuración especial para funcionar. - -\indent Sirve para albergar configuraciones del plugin imap - sieve. - -\subsection{ imap.so} - -MÓDULO OPCIONAL - -\indent El módulo instalado al compilar PHP funcionara, pero tendrá una importante carencia, la función getacl que da control sobre las carpetas, así que necesitaremos un parche y una serie de pasos para compilar el módulo para su uso en GOsa. - -Nos bajamos el parche de \htmladdnormallink{php4-imap-getacl.patch}{ftp://oss.gonicus.de/pub/gosa/patches/php4-imap-getacl.patch} y lo ponemos en /usr/src, como tenemos las fuentes de PHP en /usr/src, ejecutamos los siguientes comandos:\\ -\\ -\noindent \begin{tabular}{|l|}\hline -\#cd /usr/src/php4.3-XXX/extensions/imap\\ -\#make clear\\ -\#patch -p1 >| /etc/php4/apache2/php.init\\ -\#/etc/init.d/apache2 reload\\ -\hline \end{tabular} - - -\subsection{krb} - -MÓDULO OPCIONAL - -\indent Este módulo necesita tener instaladas las fuentes de kerberos del MIT, ya que no se puede compilar con las fuentes de kerberos de Heimdal. - -\indent El módulo interactuará con los servidores Kerberos para actualizar las claves de los usuarios creados. - -Se descargara de \htmladdnormallink{PECL}{http://pecl.php.net/kadm5}, y lo descomprimiremos en /usr/src, debemos tener tambien las fuentes del kerberos del MIT, las cuales descomprimiremos en /usr/src, con ello hacemos (sustituimos X.X por las respectivas versiones de los programas):\\ -\\ -\noindent \begin{tabular}{|l|}\hline -\#cd /usr/src/kadm5-0.X.X/scripting/php\\ -\#cp config.m4 config.m4.2\\ -\#sed \verb|s/krb5-1\.2\.4\/src\/include/krb5-1\.X\.X\/src\/lib/| config.m4.2 >config.m4\\ -\#rm -f config.m4.2\\ -\#phpize\\ -\#./configure\\ -\#make\\ -\#make install\\ -\#echo \verb|"extension=kadm5.so" >>| /etc/php4/apache2/php.ini\\ -\#/etc/init.d/apache2 reload\\ -\hline \end{tabular} - - diff --git a/gosa-core/html/include/png.js b/gosa-core/html/include/png.js index 36a8bfcaf..e2bf4e3b8 100644 --- a/gosa-core/html/include/png.js +++ b/gosa-core/html/include/png.js @@ -1,85 +1,85 @@ -if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) - window.attachEvent("onload", pngLoadPngs); - -// parses all images //public -function pngLoadPngs() -{ - var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); - var itsAllGood = (rslt != null && Number(rslt[1]) > 5.5); - - if (itsAllGood) { - for (var i = 0; i < document.images.length; i++) { - pngLoad(document.images[i]); - } - for (var i = 0; i < document.getElementsByTagName("input").length; i++) { - var img = document.getElementsByTagName("input")[i]; - if(typeof img.type == "string" && img.type == "image") { - pngLoad(img); - } - } - } -} - -// loads an image, src is optional // public -function pngLoad(img,src) -{ - if (typeof img == "object" && typeof img.tagName == "string" && img.tagName == "IMG") - { - // this is an image - if (typeof src == "string") - { - // src parameter is present - if (src.match(/\.png$/i) != null) - { - // this is png image - img.style.width = null; - img.style.height = null; - img.style.filter = null; - img.src = src; - pngSwapPrepare(img); - } - else - { - // its not a png - img.src = src; - } - } - else if (img.src.match(/\.png$/i) != null) - { - // no src arameter, but its png -> simply swap - pngSwapPrepare(img); - } - } else if (typeof img.tagName == "string" && img.tagName == "INPUT") { - if(img.src.match(/\.png$/i) != null) { - pngSwapPrepare(img); - } - } - - // swap (if complete) or shedule it to onload event // private - function pngSwapPrepare(img) - { - if (img.complete) - pngSwap(img); - else - img.attachEvent("onload",pngOnLoadSwap); - } - - // supposed to be called when image is loaded into memory //private - function pngOnLoadSwap() - { - event.srcElement.detachEvent("onload",pngOnLoadSwap); - pngSwap(event.srcElement); - } - - // Swaps img and background //private - function pngSwap(img) - { - with (img) - { - style.width = width + "px"; - style.height = height + "px"; - style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale') "; - src = "images/null.gif"; - } - } -} +if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) + window.attachEvent("onload", pngLoadPngs); + +// parses all images //public +function pngLoadPngs() +{ + var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); + var itsAllGood = (rslt != null && Number(rslt[1]) > 5.5); + + if (itsAllGood) { + for (var i = 0; i < document.images.length; i++) { + pngLoad(document.images[i]); + } + for (var i = 0; i < document.getElementsByTagName("input").length; i++) { + var img = document.getElementsByTagName("input")[i]; + if(typeof img.type == "string" && img.type == "image") { + pngLoad(img); + } + } + } +} + +// loads an image, src is optional // public +function pngLoad(img,src) +{ + if (typeof img == "object" && typeof img.tagName == "string" && img.tagName == "IMG") + { + // this is an image + if (typeof src == "string") + { + // src parameter is present + if (src.match(/\.png$/i) != null) + { + // this is png image + img.style.width = null; + img.style.height = null; + img.style.filter = null; + img.src = src; + pngSwapPrepare(img); + } + else + { + // its not a png + img.src = src; + } + } + else if (img.src.match(/\.png$/i) != null) + { + // no src arameter, but its png -> simply swap + pngSwapPrepare(img); + } + } else if (typeof img.tagName == "string" && img.tagName == "INPUT") { + if(img.src.match(/\.png$/i) != null) { + pngSwapPrepare(img); + } + } + + // swap (if complete) or shedule it to onload event // private + function pngSwapPrepare(img) + { + if (img.complete) + pngSwap(img); + else + img.attachEvent("onload",pngOnLoadSwap); + } + + // supposed to be called when image is loaded into memory //private + function pngOnLoadSwap() + { + event.srcElement.detachEvent("onload",pngOnLoadSwap); + pngSwap(event.srcElement); + } + + // Swaps img and background //private + function pngSwap(img) + { + with (img) + { + style.width = width + "px"; + style.height = height + "px"; + style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale') "; + src = "images/null.gif"; + } + } +} diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php index c4fbfa5e2..0b54712db 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php @@ -1,59 +1,59 @@ -compiler = $compiler; - $this->smarty = $this->compiler->smarty; - $this->required_attributes = array('modifier', 'params'); - // check and get attributes - $_attr = $this->_get_attributes($args); - // check for registered modifier - if (isset($compiler->smarty->registered_plugins['modifier'][$_attr['modifier']])) { - $function = $compiler->smarty->registered_plugins['modifier'][$_attr['modifier']][0]; - if (!is_array($function)) { - $output = "{$function}({$_attr['params']})"; - } else if (is_object($function[0])) { - $output = 'call_user_func_array($_smarty_tpl->smarty->registered_plugins[\'modifier\'][\'' . $_attr['modifier'] . '\'][0],array(' . $_attr['params'] . '))'; - } else { - $output = 'call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_attr['params'] . '))'; - } - // check for plugin modifier - } else if ($function = $this->compiler->getPlugin($_attr['modifier'], 'modifier')) { - if (!is_array($function)) { - $output = "{$function}({$_attr['params']})"; - } else { - $output = 'call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_attr['params'] . '))'; - } - // check if trusted PHP function - } else if (is_callable($_attr['modifier'])) { - // check if modifier allowed - if (!$this->compiler->template->security || $this->smarty->security_handler->isTrustedModifier($_attr['modifier'], $this->compiler)) { - $output = "{$_attr['modifier']}({$_attr['params']})"; - } - } else { - $this->compiler->trigger_template_error ("unknown modifier \"" . $_attr['modifier'] . "\""); - } - return $output; - } -} - -?> +compiler = $compiler; + $this->smarty = $this->compiler->smarty; + $this->required_attributes = array('modifier', 'params'); + // check and get attributes + $_attr = $this->_get_attributes($args); + // check for registered modifier + if (isset($compiler->smarty->registered_plugins['modifier'][$_attr['modifier']])) { + $function = $compiler->smarty->registered_plugins['modifier'][$_attr['modifier']][0]; + if (!is_array($function)) { + $output = "{$function}({$_attr['params']})"; + } else if (is_object($function[0])) { + $output = 'call_user_func_array($_smarty_tpl->smarty->registered_plugins[\'modifier\'][\'' . $_attr['modifier'] . '\'][0],array(' . $_attr['params'] . '))'; + } else { + $output = 'call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_attr['params'] . '))'; + } + // check for plugin modifier + } else if ($function = $this->compiler->getPlugin($_attr['modifier'], 'modifier')) { + if (!is_array($function)) { + $output = "{$function}({$_attr['params']})"; + } else { + $output = 'call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_attr['params'] . '))'; + } + // check if trusted PHP function + } else if (is_callable($_attr['modifier'])) { + // check if modifier allowed + if (!$this->compiler->template->security || $this->smarty->security_handler->isTrustedModifier($_attr['modifier'], $this->compiler)) { + $output = "{$_attr['modifier']}({$_attr['params']})"; + } + } else { + $this->compiler->trigger_template_error ("unknown modifier \"" . $_attr['modifier'] . "\""); + } + return $output; + } +} + +?> diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php index 218ec0e6b..1e836da07 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php @@ -1,79 +1,79 @@ -compiler = $compiler; - if (strlen($tag) < 6 || substr_compare($tag, 'close', -5, 5) != 0) { - // opening tag of block plugin - $this->required_attributes = array(); - $this->optional_attributes = array('_any'); - // check and get attributes - $_attr = $this->_get_attributes($args); - // convert attributes into parameter array string - $_paramsArray = array(); - foreach ($_attr as $_key => $_value) { - if (is_int($_key)) { - $_paramsArray[] = "$_key=>$_value"; - } else { - $_paramsArray[] = "'$_key'=>$_value"; - } - } - $_params = 'array(' . implode(",", $_paramsArray) . ')'; - - $this->_open_tag($tag, array($_params, $this->compiler->nocache)); - // maybe nocache because of nocache variables or nocache plugin - $this->compiler->nocache = !$compiler->smarty->registered_plugins['block'][$tag][1] | $this->compiler->nocache | $this->compiler->tag_nocache; - $function = $compiler->smarty->registered_plugins['block'][$tag][0]; - // compile code - if (!is_array($function)) { - $output = 'smarty, $_block_repeat, $_smarty_tpl);while ($_block_repeat) { ob_start();?>'; - } else if (is_object($function[0])) { - $output = 'smarty->registered_plugins[\'block\'][\'' . $tag . '\'][0],array(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>'; - } else { - $output = 'smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>'; - } - } else { - // must endblock be nocache? - if ($this->compiler->nocache) { - $this->compiler->tag_nocache = true; - } - $base_tag = substr($tag, 0, -5); - // closing tag of block plugin, restore nocache - list($_params, $this->compiler->nocache) = $this->_close_tag($base_tag); - // This tag does create output - $this->compiler->has_output = true; - $function = $compiler->smarty->registered_plugins['block'][$base_tag][0]; - // compile code - if (!is_array($function)) { - $output = 'smarty, $_block_repeat, $_smarty_tpl); }?>'; - } else if (is_object($function[0])) { - $output = 'smarty->registered_plugins[\'block\'][\'' . $base_tag . '\'][0],array(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl)); }?>'; - } else { - $output = 'smarty, $_block_repeat, $_smarty_tpl)); }?>'; - } - } - return $output; - } -} - -?> +compiler = $compiler; + if (strlen($tag) < 6 || substr_compare($tag, 'close', -5, 5) != 0) { + // opening tag of block plugin + $this->required_attributes = array(); + $this->optional_attributes = array('_any'); + // check and get attributes + $_attr = $this->_get_attributes($args); + // convert attributes into parameter array string + $_paramsArray = array(); + foreach ($_attr as $_key => $_value) { + if (is_int($_key)) { + $_paramsArray[] = "$_key=>$_value"; + } else { + $_paramsArray[] = "'$_key'=>$_value"; + } + } + $_params = 'array(' . implode(",", $_paramsArray) . ')'; + + $this->_open_tag($tag, array($_params, $this->compiler->nocache)); + // maybe nocache because of nocache variables or nocache plugin + $this->compiler->nocache = !$compiler->smarty->registered_plugins['block'][$tag][1] | $this->compiler->nocache | $this->compiler->tag_nocache; + $function = $compiler->smarty->registered_plugins['block'][$tag][0]; + // compile code + if (!is_array($function)) { + $output = 'smarty, $_block_repeat, $_smarty_tpl);while ($_block_repeat) { ob_start();?>'; + } else if (is_object($function[0])) { + $output = 'smarty->registered_plugins[\'block\'][\'' . $tag . '\'][0],array(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>'; + } else { + $output = 'smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>'; + } + } else { + // must endblock be nocache? + if ($this->compiler->nocache) { + $this->compiler->tag_nocache = true; + } + $base_tag = substr($tag, 0, -5); + // closing tag of block plugin, restore nocache + list($_params, $this->compiler->nocache) = $this->_close_tag($base_tag); + // This tag does create output + $this->compiler->has_output = true; + $function = $compiler->smarty->registered_plugins['block'][$base_tag][0]; + // compile code + if (!is_array($function)) { + $output = 'smarty, $_block_repeat, $_smarty_tpl); }?>'; + } else if (is_object($function[0])) { + $output = 'smarty->registered_plugins[\'block\'][\'' . $base_tag . '\'][0],array(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl)); }?>'; + } else { + $output = 'smarty, $_block_repeat, $_smarty_tpl)); }?>'; + } + } + return $output; + } +} + +?> diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php index e38ee4b8b..7e90324d1 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php @@ -1,51 +1,51 @@ -compiler = $compiler; - // This tag does create output - $this->compiler->has_output = true; - - $this->required_attributes = array(); - $this->optional_attributes = array('_any'); - // check and get attributes - $_attr = $this->_get_attributes($args); - // not cachable? - $this->compiler->tag_nocache = !$compiler->smarty->registered_plugins['function'][$tag][1]; - // convert attributes into parameter array string - $_paramsArray = array(); - foreach ($_attr as $_key => $_value) { - if (is_int($_key)) { - $_paramsArray[] = "$_key=>$_value"; - } else { - $_paramsArray[] = "'$_key'=>$_value"; - } - } - $_params = 'array(' . implode(",", $_paramsArray) . ')'; - // compile code - $output = 'smarty->registered_plugins[\'function\'][\'' . $tag . '\'][0],array(' . $_params . ',$_smarty_tpl->smarty,$_smarty_tpl));?>'; - return $output; - } -} - -?> +compiler = $compiler; + // This tag does create output + $this->compiler->has_output = true; + + $this->required_attributes = array(); + $this->optional_attributes = array('_any'); + // check and get attributes + $_attr = $this->_get_attributes($args); + // not cachable? + $this->compiler->tag_nocache = !$compiler->smarty->registered_plugins['function'][$tag][1]; + // convert attributes into parameter array string + $_paramsArray = array(); + foreach ($_attr as $_key => $_value) { + if (is_int($_key)) { + $_paramsArray[] = "$_key=>$_value"; + } else { + $_paramsArray[] = "'$_key'=>$_value"; + } + } + $_params = 'array(' . implode(",", $_paramsArray) . ')'; + // compile code + $output = 'smarty->registered_plugins[\'function\'][\'' . $tag . '\'][0],array(' . $_params . ',$_smarty_tpl->smarty,$_smarty_tpl));?>'; + return $output; + } +} + +?> diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php index cdbd3fae9..0f5cfeba1 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php @@ -1,47 +1,47 @@ -smarty->template_functions[$name])) { - throw new Exception("Call to undefined template function \"{$name}\" in template \"{$parent->template_resource}\""); - } - $this->called_nocache = $nocache; - $this->mustCompile = false; - if ($nocache) { - $smarty->template_functions[$name]['called_nocache'] = true; - $this->properties['function'][$name]['called_nocache'] = true; - } - $this->properties['nocache_hash'] = $smarty->template_functions[$name]['nocache_hash']; - // load compiled function - if ($nocache) { - // if called in nocache mode convert nocache code to real code - $this->compiled_template = preg_replace(array("!(<\?php echo ')?/\*/?%%SmartyNocache:{$this->smarty->template_functions[$name]['nocache_hash']}%%\*/(';\?>)?!", "!\\\'!"), array('', "'"), $smarty->template_functions[$name]['compiled']); - } else { - $this->compiled_template = $smarty->template_functions[$name]['compiled']; - } - // assign default paramter - if (isset($smarty->template_functions[$name]['parameter'])) { - $_smarty_tpl = $this; - foreach ($smarty->template_functions[$name]['parameter'] as $_key => $_value) { - $this->assign($_key, eval("return {$_value};")); - } - } - // set flag if {function} contains nocache code - if ($smarty->template_functions[$name]['has_nocache_code']) { - $this->has_nocache_code = true; - } - } -} - -?> +smarty->template_functions[$name])) { + throw new Exception("Call to undefined template function \"{$name}\" in template \"{$parent->template_resource}\""); + } + $this->called_nocache = $nocache; + $this->mustCompile = false; + if ($nocache) { + $smarty->template_functions[$name]['called_nocache'] = true; + $this->properties['function'][$name]['called_nocache'] = true; + } + $this->properties['nocache_hash'] = $smarty->template_functions[$name]['nocache_hash']; + // load compiled function + if ($nocache) { + // if called in nocache mode convert nocache code to real code + $this->compiled_template = preg_replace(array("!(<\?php echo ')?/\*/?%%SmartyNocache:{$this->smarty->template_functions[$name]['nocache_hash']}%%\*/(';\?>)?!", "!\\\'!"), array('', "'"), $smarty->template_functions[$name]['compiled']); + } else { + $this->compiled_template = $smarty->template_functions[$name]['compiled']; + } + // assign default paramter + if (isset($smarty->template_functions[$name]['parameter'])) { + $_smarty_tpl = $this; + foreach ($smarty->template_functions[$name]['parameter'] as $_key => $_value) { + $this->assign($_key, eval("return {$_value};")); + } + } + // set flag if {function} contains nocache code + if ($smarty->template_functions[$name]['has_nocache_code']) { + $this->has_nocache_code = true; + } + } +} + +?>