diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/.DS_Store differ diff --git a/package-lock.json b/package-lock.json index a083db9..42d379d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2170,6 +2170,11 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -2281,6 +2286,11 @@ "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==" }, + "convert-hrtime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-2.0.0.tgz", + "integrity": "sha1-Gb+yyRYvnhHC8Ewsed4rfoCVxic=" + }, "convert-source-map": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", @@ -2645,6 +2655,11 @@ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, + "death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3018,6 +3033,11 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" }, + "envinfo": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.10.0.tgz", + "integrity": "sha512-rXbzXWvnQxy+TcqZlARbWVQwgGVVouVJgFZhLVN5htjLxl1thstrP2ZGi0pXC309AbK7gVOPU+ulz/tmpCI7iw==" + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -4447,6 +4467,151 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, + "gatsby-cli": { + "version": "1.1.58", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-1.1.58.tgz", + "integrity": "sha1-Xdoka5h3q5JfalEvcjwgVXryLVc=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-runtime": "^6.26.0", + "bluebird": "^3.5.0", + "common-tags": "^1.4.0", + "convert-hrtime": "^2.0.0", + "core-js": "^2.5.0", + "envinfo": "^5.8.1", + "execa": "^0.8.0", + "fs-extra": "^4.0.1", + "hosted-git-info": "^2.5.0", + "lodash": "^4.17.4", + "pretty-error": "^2.1.1", + "resolve-cwd": "^2.0.0", + "source-map": "^0.5.7", + "stack-trace": "^0.0.10", + "update-notifier": "^2.3.0", + "yargs": "^11.1.0", + "yurnalist": "^0.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "dependencies": { + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -6221,6 +6386,11 @@ "lodash._reinterpolate": "~3.0.0" } }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, "lodash.tonumber": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz", @@ -6630,6 +6800,14 @@ "lower-case": "^1.1.1" } }, + "node-emoji": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", + "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", + "requires": { + "lodash.toarray": "^4.4.0" + } + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -6796,6 +6974,11 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -8670,6 +8853,14 @@ "react-transition-group": "^2.3.1" } }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "requires": { + "mute-stream": "~0.0.4" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -9578,6 +9769,11 @@ "tweetnacl": "~0.14.0" } }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -11234,6 +11430,36 @@ } } }, + "yurnalist": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-0.2.1.tgz", + "integrity": "sha1-LTK5YYq2SRiRwTG9kKUpXhn9S60=", + "requires": { + "chalk": "^1.1.1", + "death": "^1.0.0", + "debug": "^2.2.0", + "detect-indent": "^5.0.0", + "inquirer": "^3.0.1", + "invariant": "^2.2.0", + "is-builtin-module": "^1.0.0", + "is-ci": "^1.0.10", + "leven": "^2.0.0", + "loud-rejection": "^1.2.0", + "node-emoji": "^1.0.4", + "object-path": "^0.11.2", + "read": "^1.0.7", + "rimraf": "^2.5.0", + "semver": "^5.1.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" + } + } + }, "zen-observable": { "version": "0.8.8", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.8.tgz", diff --git a/package.json b/package.json index 203741f..866d818 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "dependencies": { "aws-amplify": "^0.4.8", "bootstrap": "^4.1.1", + "gatsby-cli": "^1.1.58", "react": "^16.4.1", "react-dom": "^16.4.1", "react-driftjs": "^1.0.8", diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/images/haizol-logo.png b/src/images/haizol-logo.png new file mode 100644 index 0000000..7b87347 Binary files /dev/null and b/src/images/haizol-logo.png differ diff --git a/src/images/kickstarter-logo-color.eps b/src/images/kickstarter-logo-color.eps new file mode 100644 index 0000000..72f1d0b --- /dev/null +++ b/src/images/kickstarter-logo-color.eps @@ -0,0 +1,957 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%APL_DSC_Encoding: UTF8 +%APLProducer: (Version 10.13 (Build 17A405) Quartz PS Context) +%%Title: (Unknown) +%%Creator: (Unknown) +%%CreationDate: (Unknown) +%%For: (Unknown) +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 0 0 960 102 +%%EndComments +%%BeginProlog +%%BeginFile: cg-pdf.ps +%%Copyright: Copyright 2000-2004 Apple Computer Incorporated. +%%Copyright: All Rights Reserved. +currentpacking true setpacking +/cg_md 141 dict def +cg_md begin +/L3? languagelevel 3 ge def +/bd{bind def}bind def +/ld{load def}bd +/xs{exch store}bd +/xd{exch def}bd +/cmmtx matrix def +mark +/sc/setcolor +/scs/setcolorspace +/dr/defineresource +/fr/findresource +/T/true +/F/false +/d/setdash +/w/setlinewidth +/J/setlinecap +/j/setlinejoin +/M/setmiterlimit +/i/setflat +/rc/rectclip +/rf/rectfill +/rs/rectstroke +/f/fill +/f*/eofill +/sf/selectfont +/s/show +%/as/ashow +/xS/xshow +/yS/yshow +/xyS/xyshow +/S/stroke +/m/moveto +/l/lineto +/c/curveto +/h/closepath +/n/newpath +/q/gsave +/Q/grestore +counttomark 2 idiv +%dup (number of ld's = )print == flush % *** how many +{ld}repeat pop +/SC{ % CSname + /ColorSpace fr scs +}bd +/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld +/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld +/cgmtx matrix def +/sdmtx{cgmtx currentmatrix pop}bd +/CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity +/cm {cmmtx astore CM concat}bd % reset the matrix and then concat +/W{clip newpath}bd +/W*{eoclip newpath}bd + +statusdict begin product end dup (HP) anchorsearch{ + pop pop pop % pop off the search results + true +}{ + pop % previous search result + (hp) anchorsearch{ + pop pop true + }{ + pop false + }ifelse +}ifelse + +{ % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts + { + { % charCode Wx Wy + pop pop % charCode + (0)dup 0 4 -1 roll put + F charpath + }cshow + } +}{ + {F charpath} +}ifelse +/cply exch bd +/cps {cply stroke}bd +/pgsave 0 def +/bp{/pgsave save store}bd +/ep{pgsave restore showpage}def % dont' bind +/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd + +/scrdict 10 dict def +/scrmtx matrix def +/patarray 0 def +/createpat{patarray 3 1 roll put}bd +/makepat{ +scrmtx astore pop +gsave +initgraphics +CM +patarray exch get +scrmtx +makepattern +grestore +setpattern +}bd + +/cg_BeginEPSF{ + userdict save/cg_b4_Inc_state exch put + userdict/cg_endepsf/cg_EndEPSF load put + count userdict/cg_op_count 3 -1 roll put + countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put + 3 sub{end}repeat + /showpage {} def + 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [] 0 setdash newpath + false setstrokeadjust false setoverprint % don't use F +}bd +/cg_EndEPSF{ + countdictstack 3 sub { end } repeat + cg_dict_array 3 1 index length 3 sub getinterval + {begin}forall + count userdict/cg_op_count get sub{pop}repeat + userdict/cg_b4_Inc_state get restore + F setpacking +}bd + +/cg_biproc{currentfile/RunLengthDecode filter}bd +/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd +/ImageDataSource 0 def +L3?{ + /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd + /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd +}{ + /ImageBandMask 0 def + /ImageBandData 0 def + /cg_mibiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd + /cg_miaiproc{ + string/ImageBandMask xs + string/ImageBandData xs + /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter + dup ImageBandMask/readstring cvx + /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd + }bd +}ifelse +/imsave 0 def +/BI{save/imsave xd mark}bd +/EI{imsave restore}bd +/ID{ +counttomark 2 idiv +dup 2 add % leave room for imagetype and imagematrix +dict begin +{def} repeat +pop % remove mark +/ImageType 1 def +/ImageMatrix[Width 0 0 Height neg 0 Height]def +currentdict dup/ImageMask known{ImageMask}{F}ifelse exch +% currentdict on stack +L3?{ + dup/MaskedImage known + { + pop + << + /ImageType 3 + /InterleaveType 2 + /DataDict currentdict + /MaskDict + << /ImageType 1 + /Width Width + /Height Height + /ImageMatrix ImageMatrix + /BitsPerComponent 1 + /Decode [0 1] + currentdict/Interpolate known + {/Interpolate Interpolate}if + >> + >> + }if +}if +exch +{imagemask}{image}ifelse +end % pop imagedict from dict stack +}bd + +/cguidfix{statusdict begin mark version end +{cvr}stopped{cleartomark 0}{exch pop}ifelse +2012 lt{dup findfont dup length dict begin +{1 index/FID ne 2 index/UniqueID ne and +{def} {pop pop} ifelse}forall +currentdict end definefont pop +}{pop}ifelse +}bd +/t_array 0 def +/t_i 0 def +/t_c 1 string def +/x_proc{ % x y + exch t_array t_i get add exch moveto + /t_i t_i 1 add store +}bd +/y_proc{ % x y + t_array t_i get add moveto + /t_i t_i 1 add store +}bd +/xy_proc{ + % x y + t_array t_i 2 copy 1 add get 3 1 roll get + 4 -1 roll add 3 1 roll add moveto + /t_i t_i 2 add store +}bd +/sop 0 def % don't bind sop +/cp_proc/x_proc ld % default moveto proc is for xwidths only +/base_charpath % string array +{ + /t_array xs + /t_i 0 def + { % char + t_c 0 3 -1 roll put + currentpoint + t_c cply sop + cp_proc + }forall + /t_array 0 def +}bd +/sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath + +% default sop is stroke +/nop{}def +/xsp/base_charpath ld +/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd +/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd +/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd +/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd +/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd +/refnt{ % newname encoding fontname +findfont dup length dict copy dup +/Encoding 4 -1 roll put +definefont pop +}bd +/renmfont{ % newname fontname +findfont dup length dict copy definefont pop +}bd + +L3? dup dup{save exch}if + +% languagelevel2 ONLY code goes here + +/Range 0 def +/DataSource 0 def +/val 0 def +/nRange 0 def +/mulRange 0 def +/d0 0 def +/r0 0 def +/di 0 def +/ri 0 def +/a0 0 def +/a1 0 def +/r1 0 def +/r2 0 def +/dx 0 def +/Nsteps 0 def +/sh3tp 0 def +/ymax 0 def +/ymin 0 def +/xmax 0 def +/xmin 0 def + +/setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation. +{ + begin + /nRange Range length 2 idiv store + /mulRange % precompute the range data needed to map a sample value from the table to a range value + % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ] + [ + 0 1 nRange 1 sub + { % index + 2 mul/nDim2 xd % 2*dimension# we are dealing with + Range nDim2 get % ymin + Range nDim2 1 add get % ymin ymax + 1 index sub % ymin (ymax-ymin) + % xmin = 0, xmax = 255 (2^bitspersample - 1) + 255 div % ymin (ymax-ymin)/(xmax - xmin) + exch % (ymax-ymin)/(xmax - xmin) ymin + }for + ]store + end +}bd + +/FunEval % val1 fundict -> comp1 comp2 ... compN +{ + begin + % the value passed in is the base index into the table + nRange mul /val xd % compute the actual index to the table + % since there are nRange entries per base index + 0 1 nRange 1 sub + { + dup 2 mul/nDim2 xd % dim + val % base value to use to do our lookup + add DataSource exch get % lookedupval + mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin) + mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin + add % interpolated result + }for % comp1 comp2 ... compN + end +}bd + +/max % a b -> max(a, b) +{ + 2 copy lt + {exch pop}{pop}ifelse +}bd + +/sh2 +{ % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack + /Coords load aload pop % x0 y0 x1 y1 + 3 index 3 index translate % origin is now at beginning point of shading + % x0 y0 x1 y1 + 3 -1 roll sub % x0 x1 y1-y0 + 3 1 roll exch % y1-y0 x1 x0 + sub % y1-y0 x1-x0 + 2 copy + dup mul exch dup mul add sqrt % length of segment between two points + dup + scale + atan % atan (dy/dx) + %dup (rotation angle = )print == + rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn + + /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval + + % this is now specific to axial shadings. Compute the maximum bounds to fill + clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1 + /ymax xs + /xmax xs + /ymin xs + /xmin xs + currentdict/Extend known + { + /Extend load 0 get + { + 0/Function load FunEval sc % evaluate the function to get a color and set it + xmin ymin xmin abs ymax ymin sub rectfill + }if + }if + % paint the rects. The sampling frequency is that of our table + /Nsteps/Function load/Size get 0 get 1 sub store + /dx 1 Nsteps div store + gsave + /di ymax ymin sub store + /Function load + % loop Nsteps + 1 times, incrementing the index by 1 each time + 0 1 Nsteps + { + 1 index FunEval sc + 0 ymin dx di rectfill + dx 0 translate + }for + pop % pop our function + grestore % origin is back to start point + currentdict/Extend known + { + /Extend load 1 get + { + Nsteps/Function load FunEval sc % last element + 1 ymin xmax 1 sub abs ymax ymin sub rectfill + }if + }if +}bd + +/shp % this paints our shape for shading type 3 +{ % x1 r1 x0 r0 - + 4 copy + + % fill interior arc + dup 0 gt{ + 0 exch a1 a0 arc + }{ + pop 0 moveto + }ifelse + + dup 0 gt{ + 0 exch a0 a1 arcn + }{ + pop 0 lineto + }ifelse + + fill + + % fill exterior arc + dup 0 gt{ + 0 exch a0 a1 arc + }{ + pop 0 moveto + }ifelse + + dup 0 gt{ + 0 exch a1 a0 arcn + }{ + pop 0 lineto + }ifelse + + fill +}bd + +/calcmaxs +{ % calculate maximum distance vector from origin to corner points + % of bbox + xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2) + xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2) + xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2) + xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2) + max max max % maximum value +}bd + +/sh3 +{ % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack + /Coords load aload pop % x0 y0 r1 x1 y1 r2 + 5 index 5 index translate % origin is now at first circle origin + 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx + 3 -1 roll 5 -1 roll sub % r1 r2 dx dy + 2 copy dup mul exch dup mul add sqrt + /dx xs % r1 r2 dx dy + 2 copy 0 ne exch 0 ne or + { + % r1 r2 dx dy + exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected + }{ + pop pop + }ifelse + % r1 r2 + /r2 xs + /r1 xs + /Function load + dup/Size get 0 get 1 sub % this is the size of our table minus 1 + /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device + setupFunEval % may need to setup function dictionary by calling setupFunEval + % determine the case: + % case 0: circle1 inside circle2 + % case 1: circle 2 inside circle 1 + % case 2: r1 = r2 + % case 3: r1 != r2 + dx r2 add r1 lt{ + % circle 2 inside of circle 1 + 0 + }{ + dx r1 add r2 le + { % circle 1 inside of circle 2 + 1 + }{ % circles don't contain each other + r1 r2 eq + { % equal + 2 + }{ % r1 != r2 + 3 + }ifelse + }ifelse + }ifelse + /sh3tp xs % sh3tp has the number of our different cases + clippath {pathbbox}stopped {0 0 0 0}if + newpath % x0 y0 x1 y1 + /ymax xs + /xmax xs + /ymin xs + /xmin xs + + % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr) + dx dup mul r2 r1 sub dup mul sub dup 0 gt + { + sqrt r2 r1 sub atan + /a0 exch 180 exch sub store + /a1 a0 neg store + }{ + pop + /a0 0 store + /a1 360 store + }ifelse + + currentdict/Extend known + { + /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0 + { + 0/Function load FunEval sc % evaluate the function to get a color and set it + % case 0: circle1 inside circle2 + % case 1: circle 2 inside circle 1 + % case 2: circles don't contain each other and r1 == r2 + % case 3: circles don't contain each other and r1 != r2 + { + { % case 0 + dx 0 r1 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill % for the bigger radius we fill everything except our circle + } + { % case 1 + r1 0 gt{0 0 r1 0 360 arc fill}if + } + { % case 2 + % r1 == r2, extend 0 + % r3 = r, x3 = -(abs(minx) + r), x1 = 0 + + % x(i+1) r(i+1) x(i) r(i) shp + 0 r1 xmin abs r1 add neg r1 shp + } + { % case 3 + % no containment, r1 != r2 + + r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius + % x(i+1) r(i+1) x(i) r(i) shp + 0 r1 + r1 neg r2 r1 sub div dx mul % this is point of beginning circle + 0 % point of ending circle + shp % takes x(i+1) r(i+1) x(i) r(i) + }{ % the first circle is the bigger of the two + % we find a circle on our line which is outside the bbox in the + % negative direction + % x(i+1) r(i+1) x(i) r(i) shp + 0 r1 calcmaxs % 0 r1 maxs + dup + % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2)) + r2 add dx mul dx r1 r2 sub sub div + neg % maxs xs' + exch 1 index % xs' maxs xs' + abs exch sub + shp + }ifelse + } + }sh3tp get exec % execute the extend at beginning proc for our shading type + }if + }if + + % now do the shading + /d0 0 store + /r0 r1 store + /di dx Nsteps div store + /ri r2 r1 sub Nsteps div store + /Function load + 0 1 Nsteps + { % function t(i) + 1 index FunEval sc + d0 di add r0 ri add d0 r0 shp + { + % fill interior arc + d0 0 r0 a1 a0 arc + d0 di add 0 r0 ri add a0 a1 arcn + fill + + % fill exterior arc + d0 0 r0 a0 a1 arc + d0 di add 0 r0 ri add a1 a0 arcn + fill + }pop + + % advance to next + /d0 d0 di add store + /r0 r0 ri add store + }for + pop % pop our function dict + + % handle Extend + currentdict/Extend known + { + /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0 + { + Nsteps/Function load FunEval sc % last element + % case 0: circle1 inside circle2 + % case 1: circle 2 inside circle 1 + % case 2: circles don't contain each other and r1 == r2 + % case 3: circles don't contain each other and r1 != r2 + { + { + dx 0 r2 0 360 arc fill + } + { + dx 0 r2 360 0 arcn + xmin ymin moveto + xmax ymin lineto + xmax ymax lineto + xmin ymax lineto + xmin ymin lineto + eofill % for the bigger radius we fill everything except our circle + } + { % r1 == r2, extend 1 + % r3 = r, x3 = (abs(xmax) + r), x1 = dx + % x(i+1) r(i+1) x(i) r(i) shp + xmax abs r1 add r1 dx r1 shp + } + { % no containment, r1 != r2 + + r2 r1 gt{ + % we find a circle on our line which is outside the bbox in the + % positive direction + % x(i+1) r(i+1) x(i) r(i) shp + calcmaxs dup % maxs maxs + % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1)) + r1 add dx mul dx r2 r1 sub sub div % maxs xs + exch 1 index % xs maxs xs + exch sub + dx r2 + shp + }{ % the endpoint we are drawing is that with a circle of zero radius + % x(i+1) r(i+1) x(i) r(i) shp + r1 neg r2 r1 sub div dx mul % this is point of ending circle + 0 % radius of ending circle + dx % point of starting circle + r2 % radius of starting circle + shp + }ifelse + } + } + sh3tp get exec % execute the extend at end proc for our shading type + }if + }if +}bd +/sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions +{ % shadingDict -- + begin + /ShadingType load dup dup 2 eq exch 3 eq or + { % shadingtype + gsave + newpath + /ColorSpace load scs + currentdict/BBox known + { + /BBox load aload pop % llx lly urx ury + 2 index sub % llx lly urx ury-lly + 3 index % llx lly urx ury-lly llx + 3 -1 roll exch sub + exch rectclip + }if + 2 eq + {sh2}{sh3}ifelse + grestore + }{ + % shadingtype + pop + (DEBUG: shading type unimplemented\n)print flush + }ifelse + end +}bd + +% end of language level 2 ONLY code + +{restore}if not dup{save exch}if +% languagelevel3 ONLY code goes here + L3?{ % we do these loads conditionally or else they will fail on a level 2 printer + /sh/shfill ld + /csq/clipsave ld + /csQ/cliprestore ld + }if +{restore}if + +%currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free +end +setpacking +% count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack +%%EndFile +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 0 0 960 102 +%%BeginPageSetup +cg_md begin +bp +sdmtx +[ /CIEBasedABC 4 dict dup begin +/WhitePoint [ 0.9505 1.0000 1.0891 ] def +/DecodeABC [ +{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse + 1 index 1 index ge { exch pop } { pop } ifelse < +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000001010101010101010101010101 +0101010101010101010101010101010101010101010101020202020202020202 +0202020202020202020202020202020202030303030303030303030303030303 +0303030303030304040404040404040404040404040404040404050505050505 +0505050505050505050506060606060606060606060606060607070707070707 +0707070707070708080808080808080808080808090909090909090909090909 +0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c +0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010 +1010101010111111111111111112121212121212121313131313131313141414 +1414141414151515151515151616161616161616171717171717171818181818 +18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d +1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223 +2323232323242424242425252525252526262626262727272727282828282829 +292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f +2f2f303030303131313131323232323333333333343434343535353535363636 +36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e +3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646 +4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f +4f50505051515151525252535353535454545555555656565657575758585859 +59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263 +63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e +6e6e6f6f6f707070717171727273737374747475757576767677777878787979 +797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585 +86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292 +9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f +a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae +aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd +bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc +cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd +dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee +eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff +> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling + cvi 3 index exch get 4 -1 roll 3 -1 roll get + dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind + +{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse + 1 index 1 index ge { exch pop } { pop } ifelse < +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000001010101010101010101010101 +0101010101010101010101010101010101010101010101020202020202020202 +0202020202020202020202020202020202030303030303030303030303030303 +0303030303030304040404040404040404040404040404040404050505050505 +0505050505050505050506060606060606060606060606060607070707070707 +0707070707070708080808080808080808080808090909090909090909090909 +0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c +0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010 +1010101010111111111111111112121212121212121313131313131313141414 +1414141414151515151515151616161616161616171717171717171818181818 +18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d +1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223 +2323232323242424242425252525252526262626262727272727282828282829 +292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f +2f2f303030303131313131323232323333333333343434343535353535363636 +36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e +3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646 +4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f +4f50505051515151525252535353535454545555555656565657575758585859 +59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263 +63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e +6e6e6f6f6f707070717171727273737374747475757576767677777878787979 +797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585 +86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292 +9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f +a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae +aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd +bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc +cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd +dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee +eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff +> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling + cvi 3 index exch get 4 -1 roll 3 -1 roll get + dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind + +{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse + 1 index 1 index ge { exch pop } { pop } ifelse < +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000001010101010101010101010101 +0101010101010101010101010101010101010101010101020202020202020202 +0202020202020202020202020202020202030303030303030303030303030303 +0303030303030304040404040404040404040404040404040404050505050505 +0505050505050505050506060606060606060606060606060607070707070707 +0707070707070708080808080808080808080808090909090909090909090909 +0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c +0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010 +1010101010111111111111111112121212121212121313131313131313141414 +1414141414151515151515151616161616161616171717171717171818181818 +18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d +1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223 +2323232323242424242425252525252526262626262727272727282828282829 +292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f +2f2f303030303131313131323232323333333333343434343535353535363636 +36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e +3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646 +4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f +4f50505051515151525252535353535454545555555656565657575758585859 +59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263 +63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e +6e6e6f6f6f707070717171727273737374747475757576767677777878787979 +797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585 +86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292 +9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f +a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae +aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd +bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc +cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd +dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee +eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff +> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling + cvi 3 index exch get 4 -1 roll 3 -1 roll get + dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind +] def +/MatrixABC [ 0.4124 0.2126 0.0193 0.3576 0.7151 0.1192 0.1805 0.0722 0.9508 ] def +/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def +end ] /Cs1 exch/ColorSpace dr pop +%%EndPageSetup +0.60000002 i +/Cs1 SC +0.011764706 0.27843139 0.32156864 sc +q +873.18262 75.453911 m +873.18262 91.815651 881.76343 100.33044 897.57898 100.33044 c +926.68634 100.33044 l +944.35266 100.33044 958.14923 86.973915 958.14923 69.77739 c +958.14923 60.427826 954.27948 52.747826 947.88593 47.906086 c +956.63501 34.048695 l +958.99048 30.375652 960 26.368696 960 22.194782 c +960 9.8400002 950.24146 0.15652174 937.95917 0.15652174 c +930.38788 0.15652174 922.98486 3.9965217 918.77856 11.008696 c +916.42303 15.182609 l +913.56281 6.3339128 905.65503 0.15652174 895.55994 0.15652174 c +883.27765 0.15652174 873.18262 10.507826 873.18262 23.029566 c +873.18262 75.453911 l +h +866.50433 19.351475 m +866.50433 8.5767269 857.87769 -0.0093996152 847.42615 0.15895581 c +812.58765 0.15895581 l +796.66144 0.15895581 788.03479 8.5767269 788.03479 25.07556 c +788.03479 75.413834 l +788.03479 91.744308 796.66144 100.33044 812.58765 100.33044 c +847.42615 100.33044 l +857.87769 100.33044 866.50433 91.744308 866.50433 80.969559 c +866.50433 71.204948 860.53204 64.134018 851.90533 62.450462 c +855.8869 59.925133 858.04358 55.716248 858.04358 50.160519 c +858.04358 44.60479 855.72101 40.395905 851.90533 37.870571 c +860.36615 36.187016 866.50433 28.947733 866.50433 19.351475 c +h +760.98785 22.695652 m +760.98785 10.34087 750.63654 0.15652174 736.77911 0.15652174 c +723.75653 0.15652174 713.23828 10.34087 713.23828 22.695652 c +713.23828 57.255653 l +702.05219 57.923477 692.86957 67.106087 692.86957 78.793045 c +692.86957 90.980873 702.55304 100.33044 714.40698 100.33044 c +759.81915 100.33044 l +771.67303 100.33044 781.35651 90.813911 781.35651 78.793045 c +781.35651 67.106087 772.17389 57.756523 760.98785 57.255653 c +760.98785 22.695652 l +h +604.38263 75.453911 m +604.38263 91.815651 613.13165 100.33044 628.77899 100.33044 c +657.88635 100.33044 l +675.55267 100.33044 689.34924 86.973915 689.34924 69.77739 c +689.34924 60.427826 685.47949 52.747826 679.08594 47.906086 c +687.83496 34.048695 l +690.19049 30.375652 691.20001 26.368696 691.20001 22.194782 c +691.20001 9.8400002 681.44147 0.15652174 669.15918 0.15652174 c +661.58789 0.15652174 654.18481 3.9965217 649.97858 11.008696 c +647.62305 15.182609 l +644.76282 6.3339128 636.85498 0.15652174 626.75995 0.15652174 c +614.47766 0.15652174 604.38263 10.507826 604.38263 23.029566 c +604.38263 75.453911 l +h +549.15283 19.240427 m +543.45691 7.4650159 535.41553 1.826087 525.69885 1.826087 c +508.1084 1.826087 495.37622 17.91362 503.25006 35.991364 c +523.85608 83.756409 l +529.04944 95.531815 536.5882 102 549.32037 102 c +562.22009 102 569.75885 95.531815 574.78473 83.756409 c +595.39069 35.991364 l +603.09698 17.91362 590.53235 1.826087 572.77435 1.826087 c +562.8902 1.826087 554.84882 7.4650159 549.15283 19.240427 c +h +490.47977 22.695652 m +490.47977 10.34087 479.94162 0.15652174 466.39258 0.15652174 c +453.34534 0.15652174 442.80719 10.34087 442.80719 22.695652 c +442.80719 57.255653 l +431.59998 57.923477 422.39999 67.106087 422.39999 78.793045 c +422.39999 90.980873 432.10178 100.33044 443.97812 100.33044 c +489.30884 100.33044 l +501.18518 100.33044 510.88696 90.813911 510.88696 78.793045 c +510.88696 67.106087 501.68698 57.756523 490.47977 57.255653 c +490.47977 22.695652 l +h +422.39999 32.65263 m +422.39999 12.719451 407.00793 0.15652174 381.07565 0.15652174 c +354.64145 0.15652174 342.26086 9.2018309 342.26086 23.942333 c +342.26086 34.160183 350.12421 40.692905 361.33365 40.692905 c +361.50095 40.692905 l +355.47797 46.220596 l +347.94925 53.088329 342.76279 59.956062 342.76279 70.006409 c +342.76279 89.604576 357.15103 102 381.74487 102 c +406.84064 102 418.7193 93.1222 418.7193 78.214188 c +418.7193 69.336388 412.69632 63.306179 403.66183 61.966133 c +409.85211 56.438442 l +417.38086 49.738216 422.39999 42.702976 422.39999 32.65263 c +h +337.25217 24.254622 m +337.25217 11.961548 326.97266 1.6619463 314.33389 1.8280689 c +307.25616 1.8280689 300.00995 5.1505208 295.62851 11.46318 c +290.91003 18.108084 l +288.71933 8.4729729 280.29349 1.8280689 269.50839 1.8280689 c +257.03815 1.8280689 247.09566 11.795425 247.09566 24.088497 c +247.09566 79.739571 l +247.09566 92.032646 256.86963 102 269.50839 102 c +280.46201 102 289.05637 94.856728 291.07855 85.055496 c +296.30258 92.364891 l +300.68402 98.345306 307.76172 101.83388 314.83942 101.83388 c +326.97266 101.83388 337.25217 92.364891 337.25217 80.071815 c +337.25217 75.42038 335.90405 70.768951 333.03925 66.948128 c +322.25418 52.163219 l +333.03925 37.378307 l +335.90405 33.391365 337.25217 28.906054 337.25217 24.254622 c +h +238.74783 29.357328 m +238.74783 13.269795 225.30344 1.826087 203.72601 1.826087 c +174.84546 1.826087 153.60001 23.220846 153.60001 51.913044 c +153.60001 80.60524 174.84546 102 203.72601 102 c +225.30344 102 238.74783 90.55629 238.74783 74.468758 c +238.74783 63.688454 233.43646 56.391018 222.81374 51.913044 c +233.43646 47.43507 238.74783 39.971783 238.74783 29.357328 c +h +121.12685 102 m +134.62244 102 145.41891 91.017479 145.25023 78.038132 c +145.25023 25.787952 l +145.25023 12.808609 134.62244 1.826087 120.95815 1.826087 c +107.63126 1.826087 96.834785 12.642207 96.834785 25.787952 c +96.834785 78.038132 l +96.834785 91.017479 107.63126 102 121.12685 102 c +h +90.156525 24.254622 m +90.156525 11.961548 79.896172 1.6619463 67.112785 1.8280689 c +60.048279 1.8280689 52.815575 5.1505208 48.44231 11.46318 c +43.732639 18.108084 l +41.546009 8.4729729 33.135887 1.8280689 22.370928 1.8280689 c +9.9239454 1.8280689 0 11.795425 0 24.088497 c +0 79.739571 l +0 92.032646 9.755743 102 22.370928 102 c +33.304089 102 41.882416 94.856728 43.900845 85.055496 c +49.283321 92.364891 l +53.656586 98.345306 60.721088 101.83388 67.785591 101.83388 c +79.896172 101.83388 90.156525 92.364891 90.156525 80.071815 c +90.156525 75.42038 88.810905 70.768951 85.951462 66.948128 c +75.186501 52.163219 l +85.951462 37.378307 l +88.810905 33.391365 90.156525 28.906054 90.156525 24.254622 c +h +W +0 0 960 102 rc +-15 117 m +975 117 l +975 -14.843478 l +-15 -14.843478 l +h +f +ep +end +%%Trailer +%%EOF diff --git a/src/images/kickstarter-logo.png b/src/images/kickstarter-logo.png new file mode 100644 index 0000000..c2734da Binary files /dev/null and b/src/images/kickstarter-logo.png differ diff --git a/src/pages/Homepage/index.css b/src/pages/Homepage/index.css index 987b6a9..51e18b3 100644 --- a/src/pages/Homepage/index.css +++ b/src/pages/Homepage/index.css @@ -47,3 +47,9 @@ text-decoration-line: none; text-decoration-color: black; } + + +.kickstarter-logo { + /* width: 300px; */ + height: 5vh; +} \ No newline at end of file diff --git a/src/pages/Homepage/index.js b/src/pages/Homepage/index.js index 761a080..f111e96 100644 --- a/src/pages/Homepage/index.js +++ b/src/pages/Homepage/index.js @@ -8,7 +8,8 @@ import ModalExample from "../../components/PopUpSignUp.js"; import MainJumbotron from "../../components/Jumbotron"; import InventionProcessDeck from "../../components/Decks"; import ClientStories from "../../components/clientStories"; - +import kickstarterLogo from "../../images/kickstarter-logo.png"; +import haizolLogo from "../../images/haizol-logo.png"; // /Users/omar/Desktop/innovationDrive/innovation-drive/src/components/Form.js export default class Homepage extends Component { @@ -34,10 +35,10 @@ export default class Homepage extends Component { -
-
+
+
- + {/*

@@ -48,6 +49,24 @@ export default class Homepage extends Component {

+
*/} + + + {/* ADD LOGOS HERE */} + logo + logo + + + + );