diff options
| author | CaptainJack2491 <jayrupnakawala@gmail.com> | 2026-07-07 15:41:59 +0100 |
|---|---|---|
| committer | CaptainJack2491 <jayrupnakawala@gmail.com> | 2026-07-07 15:41:59 +0100 |
| commit | 02c429e5ed53fe42a0a1f3025a16a0dc5518ad36 (patch) | |
| tree | 0ac75d2be9c4cec332f6ba5802906b1c2a11146f | |
| parent | 3bf5ad40c4ee63f9c2f53019fdbede712521bc32 (diff) | |
update CV with dissertation findings, add dissertation page, add website project entry
| -rw-r--r-- | _quarto.yml | 5 | ||||
| -rw-r--r-- | cv/aspect-capital.pdf | 2015 | ||||
| -rw-r--r-- | cv/aspect-capital.typ | 78 | ||||
| -rw-r--r-- | cv/index.pdf | 1352 | ||||
| -rw-r--r-- | cv/index.typ | 21 | ||||
| -rw-r--r-- | index.qmd | 11 | ||||
| -rw-r--r-- | nginx.conf | 10 | ||||
| -rw-r--r-- | projects/dis/index.qmd | 79 | ||||
| -rw-r--r-- | projects/index.qmd | 41 |
9 files changed, 2806 insertions, 806 deletions
diff --git a/_quarto.yml b/_quarto.yml index 7037356..c61fe0c 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -10,9 +10,6 @@ format: minimal: true embed-resources: true css: terminal.css - include-in-header: - # Optional: Import a proper dev font from Google Fonts - text: | - <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap" rel="stylesheet"> + plain: output-ext: txt # This forces the extension to .txt instead of .plain diff --git a/cv/aspect-capital.pdf b/cv/aspect-capital.pdf new file mode 100644 index 0000000..5a65126 --- /dev/null +++ b/cv/aspect-capital.pdf @@ -0,0 +1,2015 @@ +%PDF-1.7 +% + +1 0 obj +<< + /Type /Pages + /Count 1 + /Kids [130 0 R] +>> +endobj + +2 0 obj +<< + /Type /Outlines + /First 3 0 R + /Last 3 0 R + /Count 1 +>> +endobj + +3 0 obj +<< + /Parent 2 0 R + /First 4 0 R + /Last 7 0 R + /Count -4 + /Title (Jayrup Nakawala) + /Dest 123 0 R +>> +endobj + +4 0 obj +<< + /Parent 3 0 R + /Next 5 0 R + /Title (Relevant Experience) + /Dest 119 0 R +>> +endobj + +5 0 obj +<< + /Parent 3 0 R + /Next 6 0 R + /Prev 4 0 R + /Title (Projects) + /Dest 120 0 R +>> +endobj + +6 0 obj +<< + /Parent 3 0 R + /Next 7 0 R + /Prev 5 0 R + /Title (Skills) + /Dest 121 0 R +>> +endobj + +7 0 obj +<< + /Parent 3 0 R + /Prev 6 0 R + /Title (Education) + /Dest 122 0 R +>> +endobj + +8 0 obj +<< + /Type /StructTreeRoot + /RoleMap << + /Datetime /Span + /Terms /Part + /Title /P + /Strong /Span + /Em /Span + >> + /K [10 0 R] + /ParentTree << + /Nums [0 88 0 R 1 86 0 R 2 84 0 R 3 82 0 R 4 58 0 R 5 47 0 R 6 9 0 R] + >> + /ParentTreeNextKey 7 +>> +endobj + +9 0 obj +[90 0 R 81 0 R 89 0 R 81 0 R 87 0 R 81 0 R 85 0 R 81 0 R 83 0 R 80 0 R 80 0 R 80 0 R 79 0 R 78 0 R 75 0 R 77 0 R 75 0 R 75 0 R 76 0 R 74 0 R 73 0 R 73 0 R 71 0 R 70 0 R 70 0 R 68 0 R 67 0 R 67 0 R 65 0 R 64 0 R 64 0 R 64 0 R 61 0 R 60 0 R 59 0 R 57 0 R 56 0 R 55 0 R 53 0 R 52 0 R 52 0 R 49 0 R 48 0 R 45 0 R 46 0 R 45 0 R 44 0 R 43 0 R 43 0 R 41 0 R 40 0 R 37 0 R 36 0 R 35 0 R 34 0 R 34 0 R 32 0 R 31 0 R 30 0 R 30 0 R 28 0 R 27 0 R 26 0 R 26 0 R 24 0 R 23 0 R 22 0 R 19 0 R 18 0 R 15 0 R 17 0 R 15 0 R 16 0 R 15 0 R 14 0 R 13 0 R] +endobj + +10 0 obj +<< + /Type /StructElem + /S /Document + /P 8 0 R + /K [90 0 R 88 0 R 86 0 R 84 0 R 82 0 R 81 0 R 80 0 R 79 0 R 75 0 R 62 0 R 61 0 R 57 0 R 50 0 R 45 0 R 38 0 R 37 0 R 20 0 R 19 0 R 15 0 R 11 0 R] +>> +endobj + +11 0 obj +<< + /Type /StructElem + /S /L + /P 10 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [12 0 R] +>> +endobj + +12 0 obj +<< + /Type /StructElem + /S /LI + /P 11 0 R + /K [14 0 R 13 0 R] +>> +endobj + +13 0 obj +<< + /Type /StructElem + /S /LBody + /P 12 0 R + /K [75] + /Pg 130 0 R +>> +endobj + +14 0 obj +<< + /Type /StructElem + /S /Lbl + /P 12 0 R + /K [74] + /Pg 130 0 R +>> +endobj + +15 0 obj +<< + /Type /StructElem + /S /P + /P 10 0 R + /K [18 0 R 69 17 0 R 71 16 0 R 73] + /Pg 130 0 R +>> +endobj + +16 0 obj +<< + /Type /StructElem + /S /Formula + /P 15 0 R + /K [72] + /Pg 130 0 R +>> +endobj + +17 0 obj +<< + /Type /StructElem + /S /Em + /P 15 0 R + /K [70] + /Pg 130 0 R +>> +endobj + +18 0 obj +<< + /Type /StructElem + /S /Strong + /P 15 0 R + /K [68] + /Pg 130 0 R +>> +endobj + +19 0 obj +<< + /Type /StructElem + /S /H2 + /P 10 0 R + /T (Education) + /K [67] + /Pg 130 0 R +>> +endobj + +20 0 obj +<< + /Type /StructElem + /S /L + /P 10 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [33 0 R 29 0 R 25 0 R 21 0 R] +>> +endobj + +21 0 obj +<< + /Type /StructElem + /S /LI + /P 20 0 R + /K [24 0 R 22 0 R] +>> +endobj + +22 0 obj +<< + /Type /StructElem + /S /LBody + /P 21 0 R + /K [23 0 R 66] + /Pg 130 0 R +>> +endobj + +23 0 obj +<< + /Type /StructElem + /S /Strong + /P 22 0 R + /K [65] + /Pg 130 0 R +>> +endobj + +24 0 obj +<< + /Type /StructElem + /S /Lbl + /P 21 0 R + /K [64] + /Pg 130 0 R +>> +endobj + +25 0 obj +<< + /Type /StructElem + /S /LI + /P 20 0 R + /K [28 0 R 26 0 R] +>> +endobj + +26 0 obj +<< + /Type /StructElem + /S /LBody + /P 25 0 R + /K [27 0 R 62 63] + /Pg 130 0 R +>> +endobj + +27 0 obj +<< + /Type /StructElem + /S /Strong + /P 26 0 R + /K [61] + /Pg 130 0 R +>> +endobj + +28 0 obj +<< + /Type /StructElem + /S /Lbl + /P 25 0 R + /K [60] + /Pg 130 0 R +>> +endobj + +29 0 obj +<< + /Type /StructElem + /S /LI + /P 20 0 R + /K [32 0 R 30 0 R] +>> +endobj + +30 0 obj +<< + /Type /StructElem + /S /LBody + /P 29 0 R + /K [31 0 R 58 59] + /Pg 130 0 R +>> +endobj + +31 0 obj +<< + /Type /StructElem + /S /Strong + /P 30 0 R + /K [57] + /Pg 130 0 R +>> +endobj + +32 0 obj +<< + /Type /StructElem + /S /Lbl + /P 29 0 R + /K [56] + /Pg 130 0 R +>> +endobj + +33 0 obj +<< + /Type /StructElem + /S /LI + /P 20 0 R + /K [36 0 R 34 0 R] +>> +endobj + +34 0 obj +<< + /Type /StructElem + /S /LBody + /P 33 0 R + /K [35 0 R 54 55] + /Pg 130 0 R +>> +endobj + +35 0 obj +<< + /Type /StructElem + /S /Strong + /P 34 0 R + /K [53] + /Pg 130 0 R +>> +endobj + +36 0 obj +<< + /Type /StructElem + /S /Lbl + /P 33 0 R + /K [52] + /Pg 130 0 R +>> +endobj + +37 0 obj +<< + /Type /StructElem + /S /H2 + /P 10 0 R + /T (Skills) + /K [51] + /Pg 130 0 R +>> +endobj + +38 0 obj +<< + /Type /StructElem + /S /L + /P 10 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [42 0 R 39 0 R] +>> +endobj + +39 0 obj +<< + /Type /StructElem + /S /LI + /P 38 0 R + /K [41 0 R 40 0 R] +>> +endobj + +40 0 obj +<< + /Type /StructElem + /S /LBody + /P 39 0 R + /K [50] + /Pg 130 0 R +>> +endobj + +41 0 obj +<< + /Type /StructElem + /S /Lbl + /P 39 0 R + /K [49] + /Pg 130 0 R +>> +endobj + +42 0 obj +<< + /Type /StructElem + /S /LI + /P 38 0 R + /K [44 0 R 43 0 R] +>> +endobj + +43 0 obj +<< + /Type /StructElem + /S /LBody + /P 42 0 R + /K [47 48] + /Pg 130 0 R +>> +endobj + +44 0 obj +<< + /Type /StructElem + /S /Lbl + /P 42 0 R + /K [46] + /Pg 130 0 R +>> +endobj + +45 0 obj +<< + /Type /StructElem + /S /P + /P 10 0 R + /K [49 0 R 47 0 R 43 46 0 R 45] + /Pg 130 0 R +>> +endobj + +46 0 obj +<< + /Type /StructElem + /S /Formula + /P 45 0 R + /K [44] + /Pg 130 0 R +>> +endobj + +47 0 obj +<< + /Type /StructElem + /S /Link + /P 45 0 R + /K [48 0 R << + /Type /OBJR + /Pg 130 0 R + /Obj 129 0 R + >>] +>> +endobj + +48 0 obj +<< + /Type /StructElem + /S /Span + /P 47 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [42] + /Pg 130 0 R +>> +endobj + +49 0 obj +<< + /Type /StructElem + /S /Strong + /P 45 0 R + /K [41] + /Pg 130 0 R +>> +endobj + +50 0 obj +<< + /Type /StructElem + /S /L + /P 10 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [54 0 R 51 0 R] +>> +endobj + +51 0 obj +<< + /Type /StructElem + /S /LI + /P 50 0 R + /K [53 0 R 52 0 R] +>> +endobj + +52 0 obj +<< + /Type /StructElem + /S /LBody + /P 51 0 R + /K [39 40] + /Pg 130 0 R +>> +endobj + +53 0 obj +<< + /Type /StructElem + /S /Lbl + /P 51 0 R + /K [38] + /Pg 130 0 R +>> +endobj + +54 0 obj +<< + /Type /StructElem + /S /LI + /P 50 0 R + /K [56 0 R 55 0 R] +>> +endobj + +55 0 obj +<< + /Type /StructElem + /S /LBody + /P 54 0 R + /K [37] + /Pg 130 0 R +>> +endobj + +56 0 obj +<< + /Type /StructElem + /S /Lbl + /P 54 0 R + /K [36] + /Pg 130 0 R +>> +endobj + +57 0 obj +<< + /Type /StructElem + /S /P + /P 10 0 R + /K [60 0 R 58 0 R 35] + /Pg 130 0 R +>> +endobj + +58 0 obj +<< + /Type /StructElem + /S /Link + /P 57 0 R + /K [59 0 R << + /Type /OBJR + /Pg 130 0 R + /Obj 128 0 R + >>] +>> +endobj + +59 0 obj +<< + /Type /StructElem + /S /Span + /P 58 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [34] + /Pg 130 0 R +>> +endobj + +60 0 obj +<< + /Type /StructElem + /S /Strong + /P 57 0 R + /K [33] + /Pg 130 0 R +>> +endobj + +61 0 obj +<< + /Type /StructElem + /S /H2 + /P 10 0 R + /T (Projects) + /K [32] + /Pg 130 0 R +>> +endobj + +62 0 obj +<< + /Type /StructElem + /S /L + /P 10 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [72 0 R 69 0 R 66 0 R 63 0 R] +>> +endobj + +63 0 obj +<< + /Type /StructElem + /S /LI + /P 62 0 R + /K [65 0 R 64 0 R] +>> +endobj + +64 0 obj +<< + /Type /StructElem + /S /LBody + /P 63 0 R + /K [29 30 31] + /Pg 130 0 R +>> +endobj + +65 0 obj +<< + /Type /StructElem + /S /Lbl + /P 63 0 R + /K [28] + /Pg 130 0 R +>> +endobj + +66 0 obj +<< + /Type /StructElem + /S /LI + /P 62 0 R + /K [68 0 R 67 0 R] +>> +endobj + +67 0 obj +<< + /Type /StructElem + /S /LBody + /P 66 0 R + /K [26 27] + /Pg 130 0 R +>> +endobj + +68 0 obj +<< + /Type /StructElem + /S /Lbl + /P 66 0 R + /K [25] + /Pg 130 0 R +>> +endobj + +69 0 obj +<< + /Type /StructElem + /S /LI + /P 62 0 R + /K [71 0 R 70 0 R] +>> +endobj + +70 0 obj +<< + /Type /StructElem + /S /LBody + /P 69 0 R + /K [23 24] + /Pg 130 0 R +>> +endobj + +71 0 obj +<< + /Type /StructElem + /S /Lbl + /P 69 0 R + /K [22] + /Pg 130 0 R +>> +endobj + +72 0 obj +<< + /Type /StructElem + /S /LI + /P 62 0 R + /K [74 0 R 73 0 R] +>> +endobj + +73 0 obj +<< + /Type /StructElem + /S /LBody + /P 72 0 R + /K [20 21] + /Pg 130 0 R +>> +endobj + +74 0 obj +<< + /Type /StructElem + /S /Lbl + /P 72 0 R + /K [19] + /Pg 130 0 R +>> +endobj + +75 0 obj +<< + /Type /StructElem + /S /P + /P 10 0 R + /K [78 0 R 14 77 0 R 16 17 76 0 R] + /Pg 130 0 R +>> +endobj + +76 0 obj +<< + /Type /StructElem + /S /Em + /P 75 0 R + /K [18] + /Pg 130 0 R +>> +endobj + +77 0 obj +<< + /Type /StructElem + /S /Formula + /P 75 0 R + /K [15] + /Pg 130 0 R +>> +endobj + +78 0 obj +<< + /Type /StructElem + /S /Strong + /P 75 0 R + /K [13] + /Pg 130 0 R +>> +endobj + +79 0 obj +<< + /Type /StructElem + /S /H2 + /P 10 0 R + /T (Relevant Experience) + /K [12] + /Pg 130 0 R +>> +endobj + +80 0 obj +<< + /Type /StructElem + /S /P + /P 10 0 R + /K [9 10 11] + /Pg 130 0 R +>> +endobj + +81 0 obj +<< + /Type /StructElem + /S /Span + /P 10 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [1 3 5 7] + /Pg 130 0 R +>> +endobj + +82 0 obj +<< + /Type /StructElem + /S /Link + /P 10 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [83 0 R << + /Type /OBJR + /Pg 130 0 R + /Obj 127 0 R + >>] +>> +endobj + +83 0 obj +<< + /Type /StructElem + /S /Span + /P 82 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [8] + /Pg 130 0 R +>> +endobj + +84 0 obj +<< + /Type /StructElem + /S /Link + /P 10 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [85 0 R << + /Type /OBJR + /Pg 130 0 R + /Obj 126 0 R + >>] +>> +endobj + +85 0 obj +<< + /Type /StructElem + /S /Span + /P 84 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [6] + /Pg 130 0 R +>> +endobj + +86 0 obj +<< + /Type /StructElem + /S /Link + /P 10 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [87 0 R << + /Type /OBJR + /Pg 130 0 R + /Obj 125 0 R + >>] +>> +endobj + +87 0 obj +<< + /Type /StructElem + /S /Span + /P 86 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [4] + /Pg 130 0 R +>> +endobj + +88 0 obj +<< + /Type /StructElem + /S /Link + /P 10 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [89 0 R << + /Type /OBJR + /Pg 130 0 R + /Obj 124 0 R + >>] +>> +endobj + +89 0 obj +<< + /Type /StructElem + /S /Span + /P 88 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [2] + /Pg 130 0 R +>> +endobj + +90 0 obj +<< + /Type /StructElem + /S /H1 + /P 10 0 R + /T (Jayrup Nakawala) + /K [0] + /Pg 130 0 R +>> +endobj + +91 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /JKGPFH+NewCM10-Bold-Identity-H + /Encoding /Identity-H + /DescendantFonts [92 0 R] + /ToUnicode 95 0 R +>> +endobj + +92 0 obj +<< + /Type /Font + /Subtype /CIDFontType0 + /BaseFont /JKGPFH+NewCM10-Bold + /CIDSystemInfo << + /Registry (Adobe) + /Ordering (Identity) + /Supplement 0 + >> + /FontDescriptor 94 0 R + /DW 0 + /W [0 0 280 1 1 594 2 2 559 3 3 607 4 4 474 5 6 639 7 7 383 8 8 900 9 9 607 10 10 831 11 11 319 12 12 863 13 13 604 14 14 553 15 16 702 17 17 733 18 18 638 19 19 756 20 20 702 21 21 635 22 22 699 23 23 360 24 24 669 25 25 692 26 26 319 27 27 639 28 28 607 29 29 639 30 30 454 31 31 447 32 32 527 33 33 958 34 34 869 35 35 639 36 36 575 37 37 786 38 38 689 39 39 482 40 40 516 41 41 351 42 43 319 44 44 383 45 45 900 46 46 351 47 47 639 48 48 1092 49 49 607 50 50 724 51 51 727 52 52 436 53 53 510.99997 54 54 575 55 55 711 56 56 717 57 57 885] +>> +endobj + +93 0 obj +<< + /Length 13 + /Filter /FlateDecode +>> +stream +x +endstream +endobj + +94 0 obj +<< + /Type /FontDescriptor + /FontName /JKGPFH+NewCM10-Bold + /Flags 131076 + /FontBBox [-56 -201 1051 700] + /ItalicAngle 0 + /Ascent 806 + /Descent -194 + /CapHeight 686 + /StemV 168.6 + /CIDSet 93 0 R + /FontFile3 96 0 R +>> +endobj + +95 0 obj +<< + /Length 1404 + /Type /CMap + /WMode 0 +>> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: procset CIDInit +%%IncludeResource: procset CIDInit +%%BeginResource: CMap Custom +%%Title: (Custom Adobe Identity 0) +%%Version: 1 +%%EndComments +/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 /Custom def +/CMapVersion 1 def +/CMapType 0 def +/WMode 0 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +57 beginbfchar +<0001> <004A> +<0002> <0061> +<0003> <0079> +<0004> <0072> +<0005> <0075> +<0006> <0070> +<0007> <0020> +<0008> <004E> +<0009> <006B> +<000A> <0077> +<000B> <006C> +<000C> <0052> +<000D> <0065> +<000E> <006C> +<000F> <0076> +<0010> <0061> +<0011> <006E> +<0012> <0074> +<0013> <0045> +<0014> <0078> +<0015> <0070> +<0016> <0072> +<0017> <0069> +<0018> <0063> +<0019> <004C> +<001A> <0069> +<001B> <006E> +<001C> <0078> +<001D> <0053> +<001E> <0073> +<001F> <0074> +<0020> <0065> +<0021> <006D> +<0022> <0041> +<0023> <0064> +<0024> <006F> +<0025> <0050> +<0026> <006F> +<0027> <006A> +<0028> <0073> +<0029> <006A> +<002A> <002E> +<002B> <003A> +<002C> <002D> +<002D> <0048> +<002E> <0066> +<002F> <0062> +<0030> <004D> +<0031> <0076> +<0032> <0046> +<0033> <006B> +<0034> <0049> +<0035> <0063> +<0036> <0067> +<0037> <0064> +<0038> <0075> +<0039> <0055> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj + +96 0 obj +<< + /Length 5675 + /Filter /FlateDecode + /Subtype /CIDFontType0C +>> +stream +xX tU(Ձa$0 +Qtξ6d뮿C=BBZ(:2̠Ffxen; :w;uoV3vFՎ_{/XX<LwAyP+F6<s*ũv=A_r1P|gjtZ-o\'9z-cy/Zb1GE1?b + +1{EbֽkmDx׆psׂ^^ K.pDԾ{#£F-Xiς
OZq˚㣽FDyEhhGw&)4X +pƍpw;>ǝt8$ɞ#幻#{U[ϱ:Vh0N +.(B9 +9 +xX OÎK!?s>Heea<J(Fp7GAYd@G ~ l +$)@4f|c?9;bHBp)+UK%t!7 +3f1C(췓@JlAdfgz?KB~B:A=X"OKy~\j&hl%+P\Z
$Hػi#pRR3o&"2 +5CzBF
/a,1i7qK0z2e]gYjfhQ}ŭB +&v,,.c+x"CfO4z*
ڡMlWa+Y + ?L= +)`e[ٛVE#SS.Ul;E?6qm`VIW2q@§1b`8Ny{^neKb%%>;Fq|gݮ
@Jq0܈Հ-foE5qkB('dp:<FITu}R/VJ6SJ'@"Dj \MqVQ$ۡ8C}qw>}
:HX4NpqNI +ŶLeg.K%tLz$_ `d&!H + +tE!s|_aC0֟sh@ +kM,?(K?\+Xt~u:+H3dFz.W +`瑾>3Uydzhf@G+_)Z6>Q7o}p:T᯿G|d)4lA`|dIpn +_@0@YldFCEϫ'dpG̛nwlΚF|c=m#;8ԎMM +,嫌,=4bNljEoYtN{D+
8shkנ,x6lǟJ$ +k Cesz + +endstream +endobj + +97 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /MIMGHK+NewCM10-Regular-Identity-H + /Encoding /Identity-H + /DescendantFonts [98 0 R] + /ToUnicode 101 0 R +>> +endobj + +98 0 obj +<< + /Type /Font + /Subtype /CIDFontType0 + /BaseFont /MIMGHK+NewCM10-Regular + /CIDSystemInfo << + /Registry (Adobe) + /Ordering (Identity) + /Supplement 0 + >> + /FontDescriptor 100 0 R + /DW 0 + /W [0 0 500 1 1 625 2 2 500 3 4 556 5 5 278 6 6 333 7 7 750 8 8 778 9 9 278 10 10 306 11 11 500 12 12 528 13 13 392 14 15 556 16 16 528 17 17 722 18 18 278 19 19 778 20 20 500 21 21 833 22 23 278 24 24 444 25 25 389 26 27 556 28 28 500 29 29 722 30 30 514 31 34 500 35 35 444 36 36 1028 37 37 778 38 38 394 39 39 306 40 40 333 41 41 528 42 42 750 43 43 556 44 44 1000 45 45 528 46 46 500 47 47 681 48 48 736 49 49 361 50 50 778 51 52 389 53 53 444 54 54 750 55 55 785 56 56 778 57 57 500 58 58 764 59 60 750 61 61 917 62 62 708 63 63 722 64 64 500 65 65 528 66 66 500 67 67 278 68 68 778] +>> +endobj + +99 0 obj +<< + /Length 13 + /Filter /FlateDecode +>> +stream +x~ +endstream +endobj + +100 0 obj +<< + /Type /FontDescriptor + /FontName /MIMGHK+NewCM10-Regular + /Flags 131076 + /FontBBox [-40 -250 1009 750] + /ItalicAngle 0 + /Ascent 806 + /Descent -194 + /CapHeight 683 + /StemV 95.4 + /CIDSet 99 0 R + /FontFile3 102 0 R +>> +endobj + +101 0 obj +<< + /Length 1558 + /Type /CMap + /WMode 0 +>> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: procset CIDInit +%%IncludeResource: procset CIDInit +%%BeginResource: CMap Custom +%%Title: (Custom Adobe Identity 0) +%%Version: 1 +%%EndComments +/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 /Custom def +/CMapVersion 1 def +/CMapType 0 def +/WMode 0 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +68 beginbfchar +<0001> <004C> +<0002> <006F> +<0003> <006E> +<0004> <0064> +<0005> <002C> +<0006> <0020> +<0007> <0055> +<0008> <004B> +<0009> <007C> +<000A> <006A> +<000B> <0061> +<000C> <0079> +<000D> <0072> +<000E> <0075> +<000F> <0070> +<0010> <006B> +<0011> <0077> +<0012> <006C> +<0013> <0040> +<0014> <0067> +<0015> <006D> +<0016> <0069> +<0017> <002E> +<0018> <0063> +<0019> <0074> +<001A> <0068> +<001B> <0062> +<001C> <002F> +<001D> <0043> +<001E> <004A> +<001F> <0032> +<0020> <0034> +<0021> <0039> +<0022> <0031> +<0023> <0065> +<0024> <0057> +<0025> <002B> +<0026> <0073> +<0027> <0066> +<0028> <002D> +<0029> <0078> +<002A> <0041> +<002B> <0053> +<002C> <2014> +<002D> <0076> +<002E> <0030> +<002F> <0050> +<0030> <0052> +<0031> <0049> +<0032> <2022> +<0033> <0028> +<0034> <0029> +<0035> <007A> +<0036> <0048> +<0037> <0047> +<0038> <004F> +<0039> <0035> +<003A> <0044> +<003B> <004E> +<003C> <0056> +<003D> <004D> +<003E> <0042> +<003F> <0054> +<0040> <0036> +<0041> <0071> +<0042> <0033> +<0043> <003A> +<0044> <0026> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj + +102 0 obj +<< + /Length 6979 + /Filter /FlateDecode + /Subtype /CIDFontType0C +>> +stream +xYw\TfΜmØg011w"Ee`534u`< `lJ^cbCM4&ups{Sy}foKll$Ie5|Zb}6O|Cyqi|9Юdc#qk??6bZmD"3n\3 7,jnj=yQc9
u\ +
71"071SQ31qU9.t>1',,hȑaj!#BG7|Ӳ×,=w٪#"CzBGHlf:A +Y]9fnu`{B^BOh0
Fcm,McdJGj#kM`M )fo3:6q6w$%m-.Koم2lۇ=w{W^h C~ezO_)8RK-4<{e+{^Zڇ^w~haAcccǰ +@`h\OO]8f%Oc0И5)?6jӎ%X1@`&fU!Ob* +:$]K;O?@h4~p&rlV}0H$B[ _.eu/`/셫P#B(QjNp6ŅHq+D*t BW_숐`}RK/P1?1YZ +%@ͅ߈(yn/[kD
v&mTv:. yiTFFE;xoCǛv*}#Cʃw{J,JƼ]G5_G+FS +YŮjLљfhnڸpn*.TBnrfî95@:FŮ-\ 0< +&ܬ4]}SI?<uٸ7"}6EW6wPL(6,5@dPp;@>59CTf&%;5
He P #P>uJB3Ձᾲ-XH2C!,P4{Cә
@4Wx.(ڈ5j7~x/q#VjP5L>8tDggZ#Xn{_`^`X[rk$qDVxIP"n?}6͟51
xᚺ}
tct;
F)8PU)Gе~`_b,۰'JܰԎj.gj]>΄o8v2k~z +܉3y,
j)e9GX(OWv1غW[[v1kz<[p>7&g .:Xf=XoXj1[@,DY`*1E/1?1UE"DZؘjWpQ"⎙ҎU]T@FXQY7GA +$n^8 +Ju +p Wyn[rІ20A1-,!Yp+<+V")NHE +Tx25| +@b0_} ԉc t4.ÉPD)òvkNm&[vOrDne10<MDU>Xe3;rê<
9>4PQƸ*9y#\sՐFClS>ïpOc??^kp"D#)q!?wA唙9r̪c`*m!t' +L&EpK ]M1
B(Y|]llm&+wMl)dD +@S|;l,Ͻ͠: + ).%*BHXaĮ ++Ng$9X,jtR+.@
N 5e&uhEPTpmO?5Z=X%KM{$d2`gpy PΆ Ⱦa'*g'Hu^ipɪ4 +J [7CmJʃ0W~7L&/#HO8]wS)A7GH:Qdjj Uu0Lr^jf4DNCGLzkT?ζ!R!`$hCQ)*4SAՀvxP8W'N\rA*2<Yxkb)`I8N~r
C0I.-hs^7w. 8Ⳓ4&0eֵqJڝTU
9fO`zڣ+N.ى|13V"^n<%r 3%i"29.$%bO}NDBBjJM0<H PSBɈ1&[[,/j rUڥ^Q>_lar;8-#%OaF\8 +$|YvkpLUYフ.[~Мp.@kuuH-F^a ׀{+`_g/vVh7tO*dل 8hsr +\IG72 $c#7kW< \#?Pm.O?Cp\՛.C#4eCxȲu{A`x4yx@ݪRR8V1/t +S)ʠrͦlc5v)m6B0;US+zSuMO +SܺJeu|5a/4zI$wcS.Z4uEׯ_x*_gx&)E? +ဳ,ݺ 2SLZSqփrh)s(2 _3RlFijdЂRK
=M:Ρ=*+Цd@6,r6p*":%Ub6:)Bd g+%VP{3;sD`2~,i@[ (ZهId %<˺St['I;֭+x-1r0FRI;B1٪:&j&r1K(njKj֜ +.Nq+WF垳y}9@vBVgi洺c3x@7>N|:[;p.q,C8}7_[sN^BG3>Q`Uaq Qqs' +5 7[u,GJI5@o2tIJ
u # +T_/I:K pbUF=LŻ]JMO6ӴD!3Π%J(?OII&iG@tVz胁P5`D*wUwU`0g}$˃"00
?79\cTaM]:MO"4O3 f~X|E?llSVZA}G@eS`T|
:"?QGe;y8 wCT|Ays(k]Imo +3_qf_\T;̅w6s=2:7R$sSl
۽6'?-:7<pƮnXU&+ZKX<f=G1U[7w(/A~s5pա1~A@f-,ōqkrue$8{>b#xrf[KUvkיKpp/n=;ӝo3GVcΰzRWoՅIOC<dB@va{t +endstream +endobj + +103 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /WKHTOK+NewCMMath-Book-Identity-H + /Encoding /Identity-H + /DescendantFonts [104 0 R] + /ToUnicode 107 0 R +>> +endobj + +104 0 obj +<< + /Type /Font + /Subtype /CIDFontType0 + /BaseFont /WKHTOK+NewCMMath-Book + /CIDSystemInfo << + /Registry (Adobe) + /Ordering (Identity) + /Supplement 0 + >> + /FontDescriptor 106 0 R + /DW 0 + /W [0 0 500 1 1 1000] +>> +endobj + +105 0 obj +<< + /Length 9 + /Filter /FlateDecode +>> +stream +x; +endstream +endobj + +106 0 obj +<< + /Type /FontDescriptor + /FontName /WKHTOK+NewCMMath-Book + /Flags 131076 + /FontBBox [0 0 999 537] + /ItalicAngle 0 + /Ascent 806 + /Descent -194 + /CapHeight 683 + /StemV 95.4 + /CIDSet 105 0 R + /FontFile3 108 0 R +>> +endobj + +107 0 obj +<< + /Length 619 + /Type /CMap + /WMode 0 +>> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: procset CIDInit +%%IncludeResource: procset CIDInit +%%BeginResource: CMap Custom +%%Title: (Custom Adobe Identity 0) +%%Version: 1 +%%EndComments +/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 /Custom def +/CMapVersion 1 def +/CMapType 0 def +/WMode 0 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +1 beginbfchar +<0001> <2014> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj + +108 0 obj +<< + /Length 403 + /Filter /FlateDecode + /Subtype /CIDFontType0C +>> +stream +x%PAKQI\ *BY^4>b{A%?aE"R)WTV/303!N!$`ǵl雜%V]WT4W߅W7E +VW>n@K6HGTPZc#cmƎk3e篻ֹ+qg`(Ö?>VwhpW +FR_mֶ[y"{h3tڢ0T*v2{lIK[TPR:A?0deӊ +endstream +endobj + +109 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /CMXLDB+NewCM10-Italic-Identity-H + /Encoding /Identity-H + /DescendantFonts [110 0 R] + /ToUnicode 113 0 R +>> +endobj + +110 0 obj +<< + /Type /Font + /Subtype /CIDFontType0 + /BaseFont /CMXLDB+NewCM10-Italic + /CIDSystemInfo << + /Registry (Adobe) + /Ordering (Identity) + /Supplement 0 + >> + /FontDescriptor 112 0 R + /DW 0 + /W [0 0 280 1 1 627 2 2 510.99997 3 3 562 4 4 510.99997 5 5 307 6 6 358 7 7 743 8 8 769 9 9 307 10 10 510.99997 11 11 486 12 12 422 13 13 537 14 14 510.99997 15 15 307 16 16 818 17 18 460 19 19 307 20 20 332 21 21 510.99997 22 23 460 24 24 510.99997 25 25 716 26 26 525 27 27 460 28 31 510.99997 32 32 755 33 33 409 34 34 704 35 35 256 36 37 307 38 38 562 39 40 409 41 41 743 42 42 386] +>> +endobj + +111 0 obj +<< + /Length 14 + /Filter /FlateDecode +>> +stream +x +endstream +endobj + +112 0 obj +<< + /Type /FontDescriptor + /FontName /CMXLDB+NewCM10-Italic + /Flags 131140 + /FontBBox [-35 -250 859 750] + /ItalicAngle -14.036209 + /Ascent 806 + /Descent -194 + /CapHeight 683 + /StemV 95.4 + /CIDSet 111 0 R + /FontFile3 114 0 R +>> +endobj + +113 0 obj +<< + /Length 1194 + /Type /CMap + /WMode 0 +>> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: procset CIDInit +%%IncludeResource: procset CIDInit +%%BeginResource: CMap Custom +%%Title: (Custom Adobe Identity 0) +%%Version: 1 +%%EndComments +/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 /Custom def +/CMapVersion 1 def +/CMapType 0 def +/WMode 0 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +42 beginbfchar +<0001> <004C> +<0002> <006F> +<0003> <006E> +<0004> <0064> +<0005> <002C> +<0006> <0020> +<0007> <0055> +<0008> <004B> +<0009> <006A> +<000A> <0061> +<000B> <0079> +<000C> <0072> +<000D> <0075> +<000E> <0070> +<000F> <002E> +<0010> <006D> +<0011> <0065> +<0012> <0067> +<0013> <0069> +<0014> <0074> +<0015> <0068> +<0016> <0062> +<0017> <0063> +<0018> <002F> +<0019> <0043> +<001A> <004A> +<001B> <006B> +<001C> <0032> +<001D> <0034> +<001E> <0039> +<001F> <0031> +<0020> <0044> +<0021> <0073> +<0022> <0042> +<0023> <006C> +<0024> <0027> +<0025> <0066> +<0026> <0053> +<0027> <0028> +<0028> <0029> +<0029> <0041> +<002A> <0049> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj + +114 0 obj +<< + /Length 4860 + /Filter /FlateDecode + /Subtype /CIDFontType0C +>> +stream +xX ten5jctU(o)]iCKM6I<I=65[ +PEPΌˌ^ׯܓq{GgNs||ﳼ d@pڤ%kzp4yB(vK;ҩ!21<;՟
c+ܝ!!7 7O +Z~OP -NLOZȑ.V+ّws"7ȳ#ӳR#ّYIiIqIĤȜemL"'r<!I9wnddvRRdJNNƂMtENiW@pg֭4w%Qk7F)ȉܞ'O˞2)Drel$/lK?T:u)귚+̕flA" 3`btgHHȂ S"Bo09sRI=¸ѓ*LXI")mӖN;nL7-qMƛ|!".[nQ[jm%] 0&cIU Ud>{dAhVN 궻ρC<Eï8k*'-( +OٟK±c%J]@r5Y=vg,WfP)c20h6U1<rt:5ч>N~9x "5~o<+눈ݙ?pl#Iw G^nÄLԱ7~ӄFS2+Xl&#I3h1Y +9Z= 5L'?(|._C/\l2`܅rmD|3p2ekWuccKQé)L$+F<b Ϯ(.N)"PV۸ފy +N)[ 0(*eCc0F )?.?/WJIDDSDPnr+{O +ṋ.{dSR~su;̝ _;n]?|;Eaw҇$d/ޕnOvbO~yr^2k`SDK e.S琚bR_Z^HR:Fdoi ۴߈8M%."Zwg);39J0vIF?*e1j\=tЩd?n`If?y7$e7 +n +Gފ=zD +;^~9Q`wcZKJ h+
vx@}BItEn": +- +endstream +endobj + +115 0 obj +[/ICCBased 117 0 R] +endobj + +116 0 obj +[/ICCBased 118 0 R] +endobj + +117 0 obj +<< + /Length 314 + /N 3 + /Range [0 1 0 1 0 1] + /Filter /FlateDecode +>> +stream +x}Kq?UX
94%MQKSN#ԦQvBˡhFk ! +ՠZP~xx^ޗQx"^P c!H0 + 0l+ߣy7;;Q?V._tF3LEK)y z80eIPkT/%[p +endstream +endobj + +118 0 obj +<< + /Length 258 + /N 1 + /Range [0 1] + /Filter /FlateDecode +>> +stream +xuJPFOUvDD@`]\ +FMkIRB|&إnऋ(HrTų9`ըa&ʺ:l +3Ŭ*ުn +̵8+/<aRkpشAmWQIh
%lE5VW~dX)ϴ:bk#&_¤30
I +endstream +endobj + +119 0 obj +[130 0 R /XYZ 36 708.9055 0] +endobj + +120 0 obj +[130 0 R /XYZ 36 528.7135 0] +endobj + +121 0 obj +[130 0 R /XYZ 36 350.82147 0] +endobj + +122 0 obj +[130 0 R /XYZ 36 229.3595 0] +endobj + +123 0 obj +[130 0 R /XYZ 36 815.8898 0] +endobj + +124 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [116.7578 768.8755 237.35779 782.2055] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (mailto:jayrupnakawala@gmail.com) + >> + /F 4 + /StructParent 0 + /Contents (Email jayrupnakawala@gmail.com) +>> +endobj + +125 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [253.4578 768.8755 381.6678 782.2055] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (https://github.com/CaptainJack2491) + >> + /F 4 + /StructParent 1 + /Contents (https://github.com/CaptainJack2491) +>> +endobj + +126 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [397.7678 768.8755 539.4978 782.2055] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (https://linkedin.com/in/jayrupnakawala) + >> + /F 4 + /StructParent 2 + /Contents (https://linkedin.com/in/jayrupnakawala) +>> +endobj + +127 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [275.8128 755.5455 319.4628 768.8755] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (https://jayrup.me) + >> + /F 4 + /StructParent 3 + /Contents (https://jayrup.me) +>> +endobj + +128 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [36 475.4665 75.231 487.46347] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (https://jayrup.me) + >> + /F 4 + /StructParent 4 + /Contents (https://jayrup.me) +>> +endobj + +129 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [36 397.7865 201.969 409.78348] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (https://github.com/CaptainJack2491/Dissertation) + >> + /F 4 + /StructParent 5 + /Contents (https://github.com/CaptainJack2491/Dissertation) +>> +endobj + +130 0 obj +<< + /Type /Page + /Resources << + /ProcSet [/PDF /Text /ImageC /ImageB] + /ColorSpace << + /c0 115 0 R + /c1 116 0 R + >> + /Font << + /f0 91 0 R + /f1 97 0 R + /f2 103 0 R + /f3 109 0 R + >> + >> + /MediaBox [0 0 595.2756 841.8898] + /StructParents 6 + /Tabs /S + /Parent 1 0 R + /Contents 131 0 R + /Annots [124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R] +>> +endobj + +131 0 obj +<< + /Length 4467 + /Filter /FlateDecode +>> +stream +x][
~?bu>v'Nb'--Cjt͢/̌F}zHERGÿu7hGWÌqq0lG}D 2YG WrdG:KMnN7w㴻zϔҟ)eO~樂ϿN^~~BFFlϧ߿;@0;R!q3ƕ.gk\~feF'r9\41X5Pa;q.>a&fʴ"#P@sd<WsG7+>cK.;c(zfu~x%IvO$BiDG>T)(~0N(F$#V:.v#@QӺq~g 7JP˥1Pfu!B]ve%J(``1I#]>5>*nOddgdidgYe'+K,S)DXa\2* 璛"Bpd#|G,ʔuQ!.,#Z'YTQc9C~U2@b%yQ/}/hU`/v[E`/$cD0iVjK|3PNbsQ2☲sQin۪4eRjNჺ/cZeqOQd-x=K4(CPR?pf'`"Jj7 +,Q ;ug#N+^ Y^q3TI%wG{<.2y]|88KjH?ɠ׳] +5pfݫ{!y3䃄Y'L#SrM9h.cWG>^!/Cqۏ3Gc?c~e֘"3-|!5%66T`k%%g}Q2T^LP:@jR^ڗ(ozJt( L:8jAg]^H(,}ŔNZ5m-ffr{
p<DW].<|<%e*gFKM1T*nXf1ALf58[>''8¬=7Op[
+/bҡ*nℌ\;wևT˄ iG6b+$D/)Ns[xd,VՄU.U +ߣaӄ1<*XBGJS6f`av$$VӹqR|!߇%0"\cu3|ddL\m&=ezboNp("0D6̼Ԫ\5"7t
+s,aY['R][VI̅r^.cL=Ei, eaV4A? +KaCo$Ca^Ui5Y8 `0 +bQMd]#H hiHty!ɠaKQ- rGZiYxݮ=I1bX< 歄Rڌq7H\}"
TB +__ YOW -Y3ybatѕ +]:;K 0Z>;GwY,O?u.Da̿@{g_"2 ft1.t)`PCΘ$*Ul<AL\eLg$(Q't!,4}1.|[~sۣeJ~IEO`ӛ+,*ld0P'ALUߑE@j#l/i*NPDZ53 +;]psZ,(lҋl=dkeX0){ +TBӪH%mIѹ|oj6ќē5%+;i̋i(t|O0Dci܈wkTPeBK#}k"iLe=@s/~¾!W>݀K@>BwR94;\yDoņ+^ɹΛ.LQ,fk -m$TAجn^碵 +CxPɋ"PEx +K˼˪fA)5}7
n(CS{2I +cc11*xQ} +w6*0sEp#rsPBZp[j;Qf0TXBM[ +#L6SDsՎKF5$[>jߑPEy#!0;7T ++G(SЎ<:Q5<:6 +o"ܛM 1}QkGXN桘-s/"\si;5Iʤ8T{SŅ;SCt:BWAh!Mu +ASsmhnB$b{aRyE)m^o;Nj3r ncږ84Tܚ + +K*}T}-ن̃6c'ޭ0}zly;`4ufH +endstream +endobj + +132 0 obj +<< + /Title (Jayrup Nakawala) + /Author (Jayrup Nakawala) + /Creator (Typst 0.14.2) + /ModDate (D:20260525230235+01'00) + /CreationDate (D:20260525230235+01'00) +>> +endobj + +133 0 obj +<< + /Length 1165 + /Type /Metadata + /Subtype /XML +>> +stream +<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><dc:title><rdf:Alt><rdf:li xml:lang="x-default">Jayrup Nakawala</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Jayrup Nakawala</rdf:li></rdf:Seq></dc:creator><xmp:CreatorTool>Typst 0.14.2</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2026-05-25T23:02:35+01:00</xmp:ModifyDate><xmp:CreateDate>2026-05-25T23:02:35+01:00</xmp:CreateDate><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>JR6CmCzTrSqZWNIYszAiGw==</xmpMM:InstanceID><xmpMM:DocumentID>tZ+bfEi4CtxJ3++nqGYrLg==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?> +endstream +endobj + +134 0 obj +<< + /Type /Catalog + /Pages 1 0 R + /Metadata 133 0 R + /Lang (en) + /StructTreeRoot 8 0 R + /MarkInfo << + /Marked true + /Suspects false + >> + /ViewerPreferences << + /Direction /L2R + >> + /Outlines 2 0 R +>> +endobj + +xref +0 135 +0000000000 65535 f
+0000000016 00000 n
+0000000082 00000 n
+0000000162 00000 n
+0000000284 00000 n
+0000000383 00000 n
+0000000485 00000 n
+0000000585 00000 n
+0000000674 00000 n
+0000000955 00000 n
+0000001505 00000 n
+0000001721 00000 n
+0000001853 00000 n
+0000001938 00000 n
+0000002029 00000 n
+0000002118 00000 n
+0000002232 00000 n
+0000002325 00000 n
+0000002413 00000 n
+0000002505 00000 n
+0000002610 00000 n
+0000002763 00000 n
+0000002848 00000 n
+0000002946 00000 n
+0000003038 00000 n
+0000003127 00000 n
+0000003212 00000 n
+0000003313 00000 n
+0000003405 00000 n
+0000003494 00000 n
+0000003579 00000 n
+0000003680 00000 n
+0000003772 00000 n
+0000003861 00000 n
+0000003946 00000 n
+0000004047 00000 n
+0000004139 00000 n
+0000004228 00000 n
+0000004330 00000 n
+0000004469 00000 n
+0000004554 00000 n
+0000004645 00000 n
+0000004734 00000 n
+0000004819 00000 n
+0000004913 00000 n
+0000005002 00000 n
+0000005113 00000 n
+0000005206 00000 n
+0000005343 00000 n
+0000005498 00000 n
+0000005590 00000 n
+0000005729 00000 n
+0000005814 00000 n
+0000005908 00000 n
+0000005997 00000 n
+0000006082 00000 n
+0000006173 00000 n
+0000006262 00000 n
+0000006363 00000 n
+0000006500 00000 n
+0000006655 00000 n
+0000006747 00000 n
+0000006851 00000 n
+0000007004 00000 n
+0000007089 00000 n
+0000007186 00000 n
+0000007275 00000 n
+0000007360 00000 n
+0000007454 00000 n
+0000007543 00000 n
+0000007628 00000 n
+0000007722 00000 n
+0000007811 00000 n
+0000007896 00000 n
+0000007990 00000 n
+0000008079 00000 n
+0000008193 00000 n
+0000008281 00000 n
+0000008374 00000 n
+0000008466 00000 n
+0000008581 00000 n
+0000008673 00000 n
+0000008820 00000 n
+0000009009 00000 n
+0000009163 00000 n
+0000009352 00000 n
+0000009506 00000 n
+0000009695 00000 n
+0000009849 00000 n
+0000010038 00000 n
+0000010192 00000 n
+0000010302 00000 n
+0000010473 00000 n
+0000011237 00000 n
+0000011327 00000 n
+0000011571 00000 n
+0000013056 00000 n
+0000018836 00000 n
+0000019011 00000 n
+0000019824 00000 n
+0000019914 00000 n
+0000020162 00000 n
+0000021802 00000 n
+0000028887 00000 n
+0000029063 00000 n
+0000029309 00000 n
+0000029395 00000 n
+0000029637 00000 n
+0000030337 00000 n
+0000030845 00000 n
+0000031021 00000 n
+0000031632 00000 n
+0000031724 00000 n
+0000031980 00000 n
+0000033256 00000 n
+0000038222 00000 n
+0000038260 00000 n
+0000038298 00000 n
+0000038721 00000 n
+0000039080 00000 n
+0000039127 00000 n
+0000039174 00000 n
+0000039222 00000 n
+0000039269 00000 n
+0000039316 00000 n
+0000039593 00000 n
+0000039876 00000 n
+0000040167 00000 n
+0000040416 00000 n
+0000040658 00000 n
+0000040961 00000 n
+0000041376 00000 n
+0000045923 00000 n
+0000046105 00000 n
+0000047361 00000 n
+trailer +<< + /Size 135 + /Root 134 0 R + /Info 132 0 R + /ID [(tZ+bfEi4CtxJ3++nqGYrLg==) (JR6CmCzTrSqZWNIYszAiGw==)] +>> +startxref +47598 +%%EOF
\ No newline at end of file diff --git a/cv/aspect-capital.typ b/cv/aspect-capital.typ new file mode 100644 index 0000000..c1dd0ad --- /dev/null +++ b/cv/aspect-capital.typ @@ -0,0 +1,78 @@ +#import "@preview/basic-resume:0.2.9": * + +// Put your personal information here, replacing mine +#let name = "Jayrup Nakawala" +#let location = "London, UK" +#let email = "jayrupnakawala@gmail.com" +#let github = "github.com/CaptainJack2491" +#let linkedin = "linkedin.com/in/jayrupnakawala" +// #let phone = "+1 (xxx) xxx-xxxx" +#let personal-site = "jayrup.me" + +#show: resume.with( + author: name, + location: location, + email: email, + github: github, + linkedin: linkedin, + // phone: phone, + personal-site: personal-site, + accent-color: "#26428b", + font: "New Computer Modern", + paper: "a4", + author-position: center, + personal-info-position: center, +) + +With 2+ years of hands-on Linux systems experience spanning Ubuntu, Arch, and hybrid-cloud infrastructure. Strong foundation in system administration, container orchestration, networking, and automation scripting — backed by live production services built, deployed, and maintained independently. + +== Relevant Experience + +#work( + title: "Linux Systems Administrator", + location: "London, UK", + company: "Personal Research Infrastructure", + dates: dates-helper(start-date: "Jan 2024", end-date: "Present"), +) + +- Administered a multi-node Linux estate (Ubuntu, Arch) across on-prem and cloud infrastructure with a self-hosted zero-trust overlay network (Headscale/WireGuard) and custom routing policies for secure inter-node communication +- Orchestrated 15+ containerized services via Docker Compose with automated backup scheduling, resource monitoring, and centralized NVMe-backed storage provisioning +- Implemented infrastructure-as-code workflows using version-controlled Bash and Python scripts for declarative system configuration and reproducible environment provisioning across heterogeneous hardware +- Diagnosed and resolved persistent CGNAT connectivity issues by reverse-engineering carrier-grade NAT behavior, configuring iptables rules, and deploying a multi-node forward proxy tunnel — restoring high-availability access to internal services + +== Projects + +#project( + name: "jayrup.me: Linux-Hosted Portfolio", + url: "jayrup.me", + dates: "Nov 2025 — Present", +) + +- Administered an Nginx web server with custom User-Agent routing (curl vs. browser) on a Linux VPS +- Built an rsync-over-SSH deployment pipeline from local Arch environment to cloud infrastructure, maintaining sub-50ms response times + +#project( + name: "Sandboxed LLM Evaluation Framework", + url: "github.com/CaptainJack2491/Dissertation", + dates: dates-helper(start-date: "Nov 2025", end-date: "May 2026"), +) + +- Built a multi-provider API integration layer and sandboxed execution environment, handling authentication, rate-limiting, and request routing across 3 providers +- Designed and ran 960 automated test trials across distributed infrastructure using Python scripting + +== Skills + +- *Systems*: Linux (Ubuntu, Arch), system administration, filesystem management, permissions, networking (TCP/IP, DNS, routing), performance troubleshooting +- *Infrastructure*: Docker, Docker Compose, Nginx, Caddy, Tailscale, WireGuard, Headscale, rsync, automated backups, cloud VPS +- *Automation*: Bash, Python, Git, configuration management, infrastructure-as-code, declarative provisioning, CI/CD concepts +- *Monitoring*: Resource monitoring, performance tuning, documentation, operational best practices + +== Education + +#edu( + institution: "University of East London", + location: "London, UK", + dates: dates-helper(start-date: "Sept 2023", end-date: "May 2026"), + degree: "Bachelor's of Science (hons) Data Science and Artificial Intelligence", +) +- Relevant Coursework: Networking, Database Systems, Big Data Analysis, Data Structures & Algorithms, AI
\ No newline at end of file diff --git a/cv/index.pdf b/cv/index.pdf index de27a13..391d83a 100644 --- a/cv/index.pdf +++ b/cv/index.pdf @@ -5,7 +5,7 @@ << /Type /Pages /Count 1 - /Kids [153 0 R] + /Kids [138 0 R] >> endobj @@ -25,7 +25,7 @@ endobj /Last 7 0 R /Count -4 /Title (Jayrup Nakawala) - /Dest 146 0 R + /Dest 131 0 R >> endobj @@ -34,7 +34,7 @@ endobj /Parent 3 0 R /Next 5 0 R /Title (Research Experience) - /Dest 142 0 R + /Dest 127 0 R >> endobj @@ -44,7 +44,7 @@ endobj /Next 6 0 R /Prev 4 0 R /Title (Projects) - /Dest 143 0 R + /Dest 128 0 R >> endobj @@ -54,7 +54,7 @@ endobj /Next 7 0 R /Prev 5 0 R /Title (Education) - /Dest 144 0 R + /Dest 129 0 R >> endobj @@ -63,7 +63,7 @@ endobj /Parent 3 0 R /Prev 6 0 R /Title (Skills) - /Dest 145 0 R + /Dest 130 0 R >> endobj @@ -79,14 +79,14 @@ endobj >> /K [10 0 R] /ParentTree << - /Nums [0 99 0 R 1 97 0 R 2 95 0 R 3 93 0 R 4 88 0 R 5 42 0 R 6 9 0 R] + /Nums [0 90 0 R 1 88 0 R 2 86 0 R 3 84 0 R 4 79 0 R 5 42 0 R 6 9 0 R] >> /ParentTreeNextKey 7 >> endobj 9 0 obj -[101 0 R 92 0 R 100 0 R 92 0 R 98 0 R 92 0 R 96 0 R 92 0 R 94 0 R 91 0 R 90 0 R 89 0 R 86 0 R 87 0 R 86 0 R 85 0 R 84 0 R 84 0 R 81 0 R 80 0 R 80 0 R 77 0 R 76 0 R 73 0 R 72 0 R 72 0 R 72 0 R 72 0 R 70 0 R 69 0 R 69 0 R 66 0 R 65 0 R 61 0 R 60 0 R 58 0 R 59 0 R 58 0 R 57 0 R 56 0 R 56 0 R 54 0 R 53 0 R 53 0 R 51 0 R 50 0 R 50 0 R 48 0 R 47 0 R 47 0 R 44 0 R 43 0 R 41 0 R 40 0 R 37 0 R 37 0 R 39 0 R 37 0 R 38 0 R 37 0 R 35 0 R 34 0 R 34 0 R 32 0 R 31 0 R 31 0 R 29 0 R 28 0 R 25 0 R 24 0 R 21 0 R 23 0 R 21 0 R 22 0 R 21 0 R 20 0 R 19 0 R 19 0 R 16 0 R 15 0 R 11 0 R 14 0 R 11 0 R 13 0 R 11 0 R 12 0 R 11 0 R] +[92 0 R 83 0 R 91 0 R 83 0 R 89 0 R 83 0 R 87 0 R 83 0 R 85 0 R 82 0 R 81 0 R 80 0 R 77 0 R 78 0 R 77 0 R 76 0 R 75 0 R 75 0 R 73 0 R 72 0 R 72 0 R 70 0 R 68 0 R 69 0 R 68 0 R 68 0 R 66 0 R 64 0 R 65 0 R 64 0 R 64 0 R 61 0 R 60 0 R 58 0 R 59 0 R 58 0 R 57 0 R 56 0 R 56 0 R 54 0 R 53 0 R 53 0 R 51 0 R 50 0 R 50 0 R 48 0 R 47 0 R 47 0 R 44 0 R 43 0 R 41 0 R 40 0 R 37 0 R 37 0 R 39 0 R 37 0 R 38 0 R 37 0 R 35 0 R 34 0 R 34 0 R 32 0 R 31 0 R 31 0 R 29 0 R 28 0 R 25 0 R 24 0 R 21 0 R 23 0 R 21 0 R 22 0 R 21 0 R 20 0 R 19 0 R 19 0 R 16 0 R 15 0 R 11 0 R 14 0 R 11 0 R 13 0 R 11 0 R 12 0 R 11 0 R] endobj 10 0 obj @@ -94,7 +94,7 @@ endobj /Type /StructElem /S /Document /P 8 0 R - /K [101 0 R 99 0 R 97 0 R 95 0 R 93 0 R 92 0 R 91 0 R 86 0 R 62 0 R 61 0 R 58 0 R 45 0 R 41 0 R 26 0 R 25 0 R 21 0 R 17 0 R 16 0 R 11 0 R] + /K [92 0 R 90 0 R 88 0 R 86 0 R 84 0 R 83 0 R 82 0 R 77 0 R 62 0 R 61 0 R 58 0 R 45 0 R 41 0 R 26 0 R 25 0 R 21 0 R 17 0 R 16 0 R 11 0 R] >> endobj @@ -103,8 +103,8 @@ endobj /Type /StructElem /S /P /P 10 0 R - /K [15 0 R 80 14 0 R 82 13 0 R 84 12 0 R 86] - /Pg 153 0 R + /K [15 0 R 78 14 0 R 80 13 0 R 82 12 0 R 84] + /Pg 138 0 R >> endobj @@ -113,8 +113,8 @@ endobj /Type /StructElem /S /Strong /P 11 0 R - /K [85] - /Pg 153 0 R + /K [83] + /Pg 138 0 R >> endobj @@ -123,8 +123,8 @@ endobj /Type /StructElem /S /Strong /P 11 0 R - /K [83] - /Pg 153 0 R + /K [81] + /Pg 138 0 R >> endobj @@ -133,8 +133,8 @@ endobj /Type /StructElem /S /Strong /P 11 0 R - /K [81] - /Pg 153 0 R + /K [79] + /Pg 138 0 R >> endobj @@ -143,8 +143,8 @@ endobj /Type /StructElem /S /Strong /P 11 0 R - /K [79] - /Pg 153 0 R + /K [77] + /Pg 138 0 R >> endobj @@ -154,8 +154,8 @@ endobj /S /H2 /P 10 0 R /T (Skills) - /K [78] - /Pg 153 0 R + /K [76] + /Pg 138 0 R >> endobj @@ -186,8 +186,8 @@ endobj /Type /StructElem /S /LBody /P 18 0 R - /K [76 77] - /Pg 153 0 R + /K [74 75] + /Pg 138 0 R >> endobj @@ -196,8 +196,8 @@ endobj /Type /StructElem /S /Lbl /P 18 0 R - /K [75] - /Pg 153 0 R + /K [73] + /Pg 138 0 R >> endobj @@ -206,8 +206,8 @@ endobj /Type /StructElem /S /P /P 10 0 R - /K [24 0 R 70 23 0 R 72 22 0 R 74] - /Pg 153 0 R + /K [24 0 R 68 23 0 R 70 22 0 R 72] + /Pg 138 0 R >> endobj @@ -216,8 +216,8 @@ endobj /Type /StructElem /S /Formula /P 21 0 R - /K [73] - /Pg 153 0 R + /K [71] + /Pg 138 0 R >> endobj @@ -226,8 +226,8 @@ endobj /Type /StructElem /S /Em /P 21 0 R - /K [71] - /Pg 153 0 R + /K [69] + /Pg 138 0 R >> endobj @@ -236,8 +236,8 @@ endobj /Type /StructElem /S /Strong /P 21 0 R - /K [69] - /Pg 153 0 R + /K [67] + /Pg 138 0 R >> endobj @@ -247,8 +247,8 @@ endobj /S /H2 /P 10 0 R /T (Education) - /K [68] - /Pg 153 0 R + /K [66] + /Pg 138 0 R >> endobj @@ -279,8 +279,8 @@ endobj /Type /StructElem /S /LBody /P 27 0 R - /K [67] - /Pg 153 0 R + /K [65] + /Pg 138 0 R >> endobj @@ -289,8 +289,8 @@ endobj /Type /StructElem /S /Lbl /P 27 0 R - /K [66] - /Pg 153 0 R + /K [64] + /Pg 138 0 R >> endobj @@ -308,8 +308,8 @@ endobj /Type /StructElem /S /LBody /P 30 0 R - /K [64 65] - /Pg 153 0 R + /K [62 63] + /Pg 138 0 R >> endobj @@ -318,8 +318,8 @@ endobj /Type /StructElem /S /Lbl /P 30 0 R - /K [63] - /Pg 153 0 R + /K [61] + /Pg 138 0 R >> endobj @@ -337,8 +337,8 @@ endobj /Type /StructElem /S /LBody /P 33 0 R - /K [61 62] - /Pg 153 0 R + /K [59 60] + /Pg 138 0 R >> endobj @@ -347,8 +347,8 @@ endobj /Type /StructElem /S /Lbl /P 33 0 R - /K [60] - /Pg 153 0 R + /K [58] + /Pg 138 0 R >> endobj @@ -366,8 +366,8 @@ endobj /Type /StructElem /S /LBody /P 36 0 R - /K [54 55 39 0 R 57 38 0 R 59] - /Pg 153 0 R + /K [52 53 39 0 R 55 38 0 R 57] + /Pg 138 0 R >> endobj @@ -376,8 +376,8 @@ endobj /Type /StructElem /S /Code /P 37 0 R - /K [58] - /Pg 153 0 R + /K [56] + /Pg 138 0 R >> endobj @@ -386,8 +386,8 @@ endobj /Type /StructElem /S /Code /P 37 0 R - /K [56] - /Pg 153 0 R + /K [54] + /Pg 138 0 R >> endobj @@ -396,8 +396,8 @@ endobj /Type /StructElem /S /Lbl /P 36 0 R - /K [53] - /Pg 153 0 R + /K [51] + /Pg 138 0 R >> endobj @@ -406,8 +406,8 @@ endobj /Type /StructElem /S /P /P 10 0 R - /K [44 0 R 42 0 R 52] - /Pg 153 0 R + /K [44 0 R 42 0 R 50] + /Pg 138 0 R >> endobj @@ -418,8 +418,8 @@ endobj /P 41 0 R /K [43 0 R << /Type /OBJR - /Pg 153 0 R - /Obj 152 0 R + /Pg 138 0 R + /Obj 137 0 R >>] >> endobj @@ -433,8 +433,8 @@ endobj /O /Layout /TextDecorationType /Underline >>] - /K [51] - /Pg 153 0 R + /K [49] + /Pg 138 0 R >> endobj @@ -443,8 +443,8 @@ endobj /Type /StructElem /S /Strong /P 41 0 R - /K [50] - /Pg 153 0 R + /K [48] + /Pg 138 0 R >> endobj @@ -475,8 +475,8 @@ endobj /Type /StructElem /S /LBody /P 46 0 R - /K [48 49] - /Pg 153 0 R + /K [46 47] + /Pg 138 0 R >> endobj @@ -485,8 +485,8 @@ endobj /Type /StructElem /S /Lbl /P 46 0 R - /K [47] - /Pg 153 0 R + /K [45] + /Pg 138 0 R >> endobj @@ -504,8 +504,8 @@ endobj /Type /StructElem /S /LBody /P 49 0 R - /K [45 46] - /Pg 153 0 R + /K [43 44] + /Pg 138 0 R >> endobj @@ -514,8 +514,8 @@ endobj /Type /StructElem /S /Lbl /P 49 0 R - /K [44] - /Pg 153 0 R + /K [42] + /Pg 138 0 R >> endobj @@ -533,8 +533,8 @@ endobj /Type /StructElem /S /LBody /P 52 0 R - /K [42 43] - /Pg 153 0 R + /K [40 41] + /Pg 138 0 R >> endobj @@ -543,8 +543,8 @@ endobj /Type /StructElem /S /Lbl /P 52 0 R - /K [41] - /Pg 153 0 R + /K [39] + /Pg 138 0 R >> endobj @@ -562,8 +562,8 @@ endobj /Type /StructElem /S /LBody /P 55 0 R - /K [39 40] - /Pg 153 0 R + /K [37 38] + /Pg 138 0 R >> endobj @@ -572,8 +572,8 @@ endobj /Type /StructElem /S /Lbl /P 55 0 R - /K [38] - /Pg 153 0 R + /K [36] + /Pg 138 0 R >> endobj @@ -582,8 +582,8 @@ endobj /Type /StructElem /S /P /P 10 0 R - /K [60 0 R 35 59 0 R 37] - /Pg 153 0 R + /K [60 0 R 33 59 0 R 35] + /Pg 138 0 R >> endobj @@ -592,8 +592,8 @@ endobj /Type /StructElem /S /Formula /P 58 0 R - /K [36] - /Pg 153 0 R + /K [34] + /Pg 138 0 R >> endobj @@ -602,8 +602,8 @@ endobj /Type /StructElem /S /Strong /P 58 0 R - /K [34] - /Pg 153 0 R + /K [32] + /Pg 138 0 R >> endobj @@ -613,8 +613,8 @@ endobj /S /H2 /P 10 0 R /T (Projects) - /K [33] - /Pg 153 0 R + /K [31] + /Pg 138 0 R >> endobj @@ -627,7 +627,7 @@ endobj /O /List /ListNumbering /Circle >>] - /K [82 0 R 78 0 R 74 0 R 67 0 R 63 0 R] + /K [74 0 R 71 0 R 67 0 R 63 0 R] >> endobj @@ -645,17 +645,18 @@ endobj /Type /StructElem /S /LBody /P 63 0 R - /K [65 0 R] + /K [27 65 0 R 29 30] + /Pg 138 0 R >> endobj 65 0 obj << /Type /StructElem - /S /P + /S /Strong /P 64 0 R - /K [32] - /Pg 153 0 R + /K [28] + /Pg 138 0 R >> endobj @@ -664,40 +665,37 @@ endobj /Type /StructElem /S /Lbl /P 63 0 R - /K [31] - /Pg 153 0 R + /K [26] + /Pg 138 0 R >> endobj 67 0 obj << /Type /StructElem - /S /L + /S /LI /P 62 0 R - /A [<< - /O /List - /ListNumbering /Circle - >>] - /K [71 0 R 68 0 R] + /K [70 0 R 68 0 R] >> endobj 68 0 obj << /Type /StructElem - /S /LI + /S /LBody /P 67 0 R - /K [70 0 R 69 0 R] + /K [22 69 0 R 24 25] + /Pg 138 0 R >> endobj 69 0 obj << /Type /StructElem - /S /LBody + /S /Strong /P 68 0 R - /K [29 30] - /Pg 153 0 R + /K [23] + /Pg 138 0 R >> endobj @@ -705,9 +703,9 @@ endobj << /Type /StructElem /S /Lbl - /P 68 0 R - /K [28] - /Pg 153 0 R + /P 67 0 R + /K [21] + /Pg 138 0 R >> endobj @@ -715,7 +713,7 @@ endobj << /Type /StructElem /S /LI - /P 67 0 R + /P 62 0 R /K [73 0 R 72 0 R] >> endobj @@ -725,8 +723,8 @@ endobj /Type /StructElem /S /LBody /P 71 0 R - /K [24 25 26 27] - /Pg 153 0 R + /K [19 20] + /Pg 138 0 R >> endobj @@ -735,8 +733,8 @@ endobj /Type /StructElem /S /Lbl /P 71 0 R - /K [23] - /Pg 153 0 R + /K [18] + /Pg 138 0 R >> endobj @@ -745,7 +743,7 @@ endobj /Type /StructElem /S /LI /P 62 0 R - /K [77 0 R 75 0 R] + /K [76 0 R 75 0 R] >> endobj @@ -754,175 +752,90 @@ endobj /Type /StructElem /S /LBody /P 74 0 R - /K [76 0 R] + /K [16 17] + /Pg 138 0 R >> endobj 76 0 obj << /Type /StructElem - /S /P - /P 75 0 R - /K [22] - /Pg 153 0 R ->> -endobj - -77 0 obj -<< - /Type /StructElem /S /Lbl /P 74 0 R - /K [21] - /Pg 153 0 R ->> -endobj - -78 0 obj -<< - /Type /StructElem - /S /LI - /P 62 0 R - /K [81 0 R 79 0 R] ->> -endobj - -79 0 obj -<< - /Type /StructElem - /S /LBody - /P 78 0 R - /K [80 0 R] ->> -endobj - -80 0 obj -<< - /Type /StructElem - /S /P - /P 79 0 R - /K [19 20] - /Pg 153 0 R ->> -endobj - -81 0 obj -<< - /Type /StructElem - /S /Lbl - /P 78 0 R - /K [18] - /Pg 153 0 R ->> -endobj - -82 0 obj -<< - /Type /StructElem - /S /LI - /P 62 0 R - /K [85 0 R 83 0 R] ->> -endobj - -83 0 obj -<< - /Type /StructElem - /S /LBody - /P 82 0 R - /K [84 0 R] ->> -endobj - -84 0 obj -<< - /Type /StructElem - /S /P - /P 83 0 R - /K [16 17] - /Pg 153 0 R ->> -endobj - -85 0 obj -<< - /Type /StructElem - /S /Lbl - /P 82 0 R /K [15] - /Pg 153 0 R + /Pg 138 0 R >> endobj -86 0 obj +77 0 obj << /Type /StructElem /S /P /P 10 0 R - /K [90 0 R 88 0 R 12 87 0 R 14] - /Pg 153 0 R + /K [81 0 R 79 0 R 12 78 0 R 14] + /Pg 138 0 R >> endobj -87 0 obj +78 0 obj << /Type /StructElem /S /Formula - /P 86 0 R + /P 77 0 R /K [13] - /Pg 153 0 R + /Pg 138 0 R >> endobj -88 0 obj +79 0 obj << /Type /StructElem /S /Link - /P 86 0 R - /K [89 0 R << + /P 77 0 R + /K [80 0 R << /Type /OBJR - /Pg 153 0 R - /Obj 151 0 R + /Pg 138 0 R + /Obj 136 0 R >>] >> endobj -89 0 obj +80 0 obj << /Type /StructElem /S /Span - /P 88 0 R + /P 79 0 R /A [<< /O /Layout /TextDecorationType /Underline >>] /K [11] - /Pg 153 0 R + /Pg 138 0 R >> endobj -90 0 obj +81 0 obj << /Type /StructElem /S /Strong - /P 86 0 R + /P 77 0 R /K [10] - /Pg 153 0 R + /Pg 138 0 R >> endobj -91 0 obj +82 0 obj << /Type /StructElem /S /H2 /P 10 0 R /T (Research Experience) /K [9] - /Pg 153 0 R + /Pg 138 0 R >> endobj -92 0 obj +83 0 obj << /Type /StructElem /S /Span @@ -932,11 +845,11 @@ endobj /Placement /Block >>] /K [1 3 5 7] - /Pg 153 0 R + /Pg 138 0 R >> endobj -93 0 obj +84 0 obj << /Type /StructElem /S /Link @@ -945,29 +858,29 @@ endobj /O /Layout /Placement /Block >>] - /K [94 0 R << + /K [85 0 R << /Type /OBJR - /Pg 153 0 R - /Obj 150 0 R + /Pg 138 0 R + /Obj 135 0 R >>] >> endobj -94 0 obj +85 0 obj << /Type /StructElem /S /Span - /P 93 0 R + /P 84 0 R /A [<< /O /Layout /TextDecorationType /Underline >>] /K [8] - /Pg 153 0 R + /Pg 138 0 R >> endobj -95 0 obj +86 0 obj << /Type /StructElem /S /Link @@ -976,29 +889,29 @@ endobj /O /Layout /Placement /Block >>] - /K [96 0 R << + /K [87 0 R << /Type /OBJR - /Pg 153 0 R - /Obj 149 0 R + /Pg 138 0 R + /Obj 134 0 R >>] >> endobj -96 0 obj +87 0 obj << /Type /StructElem /S /Span - /P 95 0 R + /P 86 0 R /A [<< /O /Layout /TextDecorationType /Underline >>] /K [6] - /Pg 153 0 R + /Pg 138 0 R >> endobj -97 0 obj +88 0 obj << /Type /StructElem /S /Link @@ -1007,29 +920,29 @@ endobj /O /Layout /Placement /Block >>] - /K [98 0 R << + /K [89 0 R << /Type /OBJR - /Pg 153 0 R - /Obj 148 0 R + /Pg 138 0 R + /Obj 133 0 R >>] >> endobj -98 0 obj +89 0 obj << /Type /StructElem /S /Span - /P 97 0 R + /P 88 0 R /A [<< /O /Layout /TextDecorationType /Underline >>] /K [4] - /Pg 153 0 R + /Pg 138 0 R >> endobj -99 0 obj +90 0 obj << /Type /StructElem /S /Link @@ -1038,95 +951,95 @@ endobj /O /Layout /Placement /Block >>] - /K [100 0 R << + /K [91 0 R << /Type /OBJR - /Pg 153 0 R - /Obj 147 0 R + /Pg 138 0 R + /Obj 132 0 R >>] >> endobj -100 0 obj +91 0 obj << /Type /StructElem /S /Span - /P 99 0 R + /P 90 0 R /A [<< /O /Layout /TextDecorationType /Underline >>] /K [2] - /Pg 153 0 R + /Pg 138 0 R >> endobj -101 0 obj +92 0 obj << /Type /StructElem /S /H1 /P 10 0 R /T (Jayrup Nakawala) /K [0] - /Pg 153 0 R + /Pg 138 0 R >> endobj -102 0 obj +93 0 obj << /Type /Font /Subtype /Type0 - /BaseFont /KSJNNZ+NewCM10-Bold-Identity-H + /BaseFont /TBRLMB+NewCM10-Bold-Identity-H /Encoding /Identity-H - /DescendantFonts [103 0 R] - /ToUnicode 106 0 R + /DescendantFonts [94 0 R] + /ToUnicode 97 0 R >> endobj -103 0 obj +94 0 obj << /Type /Font /Subtype /CIDFontType0 - /BaseFont /KSJNNZ+NewCM10-Bold + /BaseFont /TBRLMB+NewCM10-Bold /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> - /FontDescriptor 105 0 R + /FontDescriptor 96 0 R /DW 0 - /W [0 0 280 1 1 594 2 2 559 3 3 607 4 4 474 5 6 639 7 7 383 8 8 900 9 9 607 10 10 831 11 11 319 12 12 863 13 13 604 14 14 516 15 15 702 16 16 699 17 17 669 18 18 733 19 19 756 20 20 702 21 21 635 22 22 360 23 23 733 24 24 882 25 25 527 26 26 510.99997 27 27 447 28 28 319 29 29 607 30 30 869 31 31 575 32 32 639 33 33 958 34 34 575 35 35 454 36 36 692 37 37 1092 38 38 786 39 39 689 40 40 482 41 41 638 42 42 900 43 44 639 45 45 383 46 46 831 47 47 639 48 48 436 49 49 351 50 50 894 51 51 703 52 52 800 53 54 319 55 55 724 56 56 711 57 57 717 58 58 885 59 59 639 60 60 727 61 61 553 62 62 575] + /W [0 0 280 1 1 594 2 2 559 3 3 607 4 4 474 5 6 639 7 7 383 8 8 900 9 9 607 10 10 831 11 11 319 12 12 863 13 13 604 14 14 516 15 15 702 16 16 699 17 17 669 18 18 733 19 19 756 20 20 702 21 21 635 22 22 360 23 23 733 24 24 882 25 25 319 26 26 454 27 27 527 28 28 447 29 29 575 30 30 639 31 31 319 32 32 1092 33 33 831 34 34 607 35 35 639 36 36 1189 37 37 510.99997 38 38 639 39 39 351 40 42 575 43 43 607 44 44 958 45 45 571 46 46 639 47 47 904 48 48 571 49 49 786 50 50 689 51 51 482 52 52 638 53 53 900 54 54 639 55 55 383 56 56 436 57 57 894 58 58 703 59 59 800 60 60 319 61 61 724 62 62 711 63 63 717 64 64 885 65 65 692 66 66 727 67 67 553 68 69 575 70 70 869] >> endobj -104 0 obj +95 0 obj << /Length 13 /Filter /FlateDecode >> stream -x +x endstream endobj -105 0 obj +96 0 obj << /Type /FontDescriptor - /FontName /KSJNNZ+NewCM10-Bold + /FontName /TBRLMB+NewCM10-Bold /Flags 131076 - /FontBBox [13 -250 1051 750] + /FontBBox [13 -250 1164 750] /ItalicAngle 0 /Ascent 806 /Descent -194 /CapHeight 686 /StemV 168.6 - /CIDSet 104 0 R - /FontFile3 107 0 R + /CIDSet 95 0 R + /FontFile3 98 0 R >> endobj -106 0 obj +97 0 obj << - /Length 1474 + /Length 1586 /Type /CMap /WMode 0 >> @@ -1153,7 +1066,7 @@ end def 1 begincodespacerange <0000> <FFFF> endcodespacerange -62 beginbfchar +70 beginbfchar <0001> <004A> <0002> <0061> <0003> <0079> @@ -1178,44 +1091,52 @@ endcodespacerange <0016> <0069> <0017> <006E> <0018> <0044> -<0019> <0065> -<001A> <0063> -<001B> <0074> -<001C> <0069> -<001D> <0076> -<001E> <0041> -<001F> <0067> -<0020> <006E> -<0021> <006D> -<0022> <006F> -<0023> <0073> -<0024> <004C> -<0025> <004D> -<0026> <0050> -<0027> <006F> -<0028> <006A> -<0029> <0074> -<002A> <0048> -<002B> <0062> -<002C> <0064> -<002D> <002D> -<002E> <0043> -<002F> <0068> -<0030> <0049> -<0031> <0066> -<0032> <0026> -<0033> <005A> -<0034> <0054> -<0035> <002E> -<0036> <003A> -<0037> <0046> -<0038> <0064> -<0039> <0075> -<003A> <0055> -<003B> <0053> -<003C> <006B> -<003D> <006C> -<003E> <002F> +<0019> <0069> +<001A> <0073> +<001B> <0065> +<001C> <0074> +<001D> <006F> +<001E> <006E> +<001F> <003A> +<0020> <004D> +<0021> <0043> +<0022> <0076> +<0023> <0064> +<0024> <0057> +<0025> <0063> +<0026> <0068> +<0027> <0066> +<0028> <0039> +<0029> <0036> +<002A> <0030> +<002B> <0078> +<002C> <006D> +<002D> <201C> +<002E> <0053> +<002F> <0047> +<0030> <201D> +<0031> <0050> +<0032> <006F> +<0033> <006A> +<0034> <0074> +<0035> <0048> +<0036> <0062> +<0037> <002D> +<0038> <0049> +<0039> <0026> +<003A> <005A> +<003B> <0054> +<003C> <002E> +<003D> <0046> +<003E> <0064> +<003F> <0075> +<0040> <0055> +<0041> <004C> +<0042> <006B> +<0043> <006C> +<0044> <0067> +<0045> <002F> +<0046> <0041> endbfchar endcmap CMapName currentdict /CMap defineresource pop @@ -1226,78 +1147,88 @@ end endstream endobj -107 0 obj +98 0 obj << - /Length 6138 + /Length 6954 /Filter /FlateDecode /Subtype /CIDFontType0C >> stream -xy TgvmUlI4{De%7Q}Qe[(;ZM4D,~11DĹEw -Ir~oսyVT!+bQ$Ϩ*=@7qudQÜaϨTi4NQYm<-KB""&.^ryy!!An;BwEELup
vp5nBC"ݖDEFFzyڴȨmSC÷M1mGQ4wVt_tkNt#bJ5@V͒2\Θ'A<V<3i>4&L1+ 'lٙV!VRT*%E -`0wKtT1}S}쑚VUk| qf%иcZ*Z .tepPOsշ*|h i:0ﴄ Ici -sa8.|U!?@Z+-@p_^O- - ^,"TtǧLnh)rr*Tb -U@FT<D|U6)3Y
]{¼+@$n)PN)JS}Nٛ<q\
<#TWf/+$=ԅI*ID~! -`kIL7DU|-՜e_UϚEHIpC
bDm2p
-pQ ڡ&6ba>,W=BF|U<I^/ `
fquJ6kǕv5jCGtʩP^Pm7}H$ -ۄCa1¤ ZE4:i&PneWH)Emo+/ - ---eI|CaʵSӚN:kXuPH;Rs-e`,c)%zN,ν1A]z5~$HD C8&3hg'q~]t2F1_A"'3n :imW8v/_G×\jq8|ANAXH;e@h83lE.CM
Ƿ6-Qc0:8SϷ=,)Yl-?vnϯJ-.;M80t9=1lWz T8,+Pl*06GC2Ny;"tN%\ kp_]pa=88"uxRj/q%:X2aĉ&zs"a[}p.բofWi< -8߇}0=͛7olZc?z !Di)E -f- .܁RT~ -9qB?6 p:> ~eMi%zCN(
aד!HE!P~.f:OB -8^}_imIdOYOoDհ6xPG*CpWۨhF08LSÌ)K"<(9ke*(h-bk3 -|2|_Yl-6trhFyMه8@Snk$tɼZ#?*lv!b-PM#w1пqn!$@5rff&ua;"m.| .4.6UٍcS`H[H=b,5^.-I@f[^qFa?dR
=q>%?1ޞ%&fͧcߤߧͿYQ!yxH_6w8a>l!n{WTZ\RTm 8#3#]g -3Om -NԿ]k&mTC*tխRn
I8 -~\MlFh4*r -0&tŗPϿ$f.JX2RSh!TpI5WYkٿoy̦pӪ;R5Y+H5u zzz?q+ DCzBZq8s* +xy tնv7MU04e: QeQFAtBBH$dݻCa + ;dQAA +D]JUVսSU|JWT*Iwx'JäK* +@73dU(ʟU(O(khJds, 7./:E]8
//dZ_`g`>!>a>Ρ>^ya`@2?/IC||}CCw͘2%4lmSL2Eߤ+Wl+,50'oGdBX }4X'A<wmC)aU,BVOG +2ZP* +"9 +b'G""}k(ݔ'SӧNTuoPrfs
br6B7So>TC_D
P=Ms`{>|zǠ~]pآY9<xvNy}뙋C!Cj|;7,l곧D秝c7CI8_oXJ8Eq|4l($^zG^g+8wIqzUjNWVzoij¥{ϯ +|𨕨
T_/ȩϤZ14qti fʓ +Fsdj{uúyNw79_AU2Su"!kK0DC\QX#4@'G<Ggz .Lokb3רNtĂK8ЃICPJЗRA(,$@.:4Au JE%=!Puw x'-VǕ@TeF>>Ref!ңafs1h@ z.48F"sQ-DYf*HeRs&7A09 +r.]`B9`5f'ɍyGoG+xG
SUYVH#PF;dR
j͵&Fpin|i9s:f#Is(ߑaOD+F +M;qMVjpIwEͱVA"Ds|> l'iGLyw]Z[Qбpt>7*&~*\>#pĨWPW0K~Ds5lz3_ +.QQ]WyJ82sN6 +!%ڝAoW`":ʍA9FuLׁ~,8Lp+ eh"B8.x +t"NܹULJLqI];^: p9\-l8}9 bτj =:CQ +UDzk|inBpm`5Τ8JB'J97q%S.D̕颪{0H]\zvn~-DyEt + +|27&&.`B2A#āєnL7CuLQFP,ǻn
|Wb,
A
V't0
l{V?\{邹tt~G6t߷9kzO/hhqWB/h.[G9^Mz(Juĩ&C;Mm4$7ȇ;Yw!WPhk̽6 +ol\{=!
:jw +Purq %\F +i@J5rt0wdPo:>^eʢm͕Oa̙a0$AH
Q% I%|X|_̴2 8pNjeqFc
o7uj~$h0Ƅa!txȅ:Nu%6m(:aN-ui"d$)?f˯B|N?E}d"5W$G|Z{B[> +Lj<k<vӸqF=9v+:uM+G*ISt}e<4 +@ŗ<҆#2-J=Q}j˂`!s?4ֽ +gr"d +x"WK: +t$ +Pdpq }Js<jsp,TUg,⨭@`kq`3DM4HkU>>[ڭkZjUX-|n[ 4XB(KhfFF"A;ByuؤYMʆ| P56
ckSggPэX!E6c"D. @&kNr{,>Ert@,.&iq y|<`<V|1HeliFd$
~Բ~}OKG`c@Hl⒢ηoyޠA[ +W_bw dۼߦNaS{{砐~l52\,~rV%eu{ibpHK#̤%@ + +vd!_'3!d2D#*$NhN7'@4BzrJ{&5֘<H~V ށ#9x +tGq endstream endobj -108 0 obj +99 0 obj << /Type /Font /Subtype /Type0 - /BaseFont /GUPBGN+NewCM10-Regular-Identity-H + /BaseFont /PRDEWD+NewCM10-Regular-Identity-H /Encoding /Identity-H - /DescendantFonts [109 0 R] - /ToUnicode 112 0 R + /DescendantFonts [100 0 R] + /ToUnicode 103 0 R >> endobj -109 0 obj +100 0 obj << /Type /Font /Subtype /CIDFontType0 - /BaseFont /GUPBGN+NewCM10-Regular + /BaseFont /PRDEWD+NewCM10-Regular /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> - /FontDescriptor 111 0 R + /FontDescriptor 102 0 R /DW 0 - /W [0 0 500 1 1 625 2 2 500 3 4 556 5 5 278 6 6 333 7 7 750 8 8 778 9 9 278 10 10 306 11 11 500 12 12 528 13 13 392 14 15 556 16 16 528 17 17 722 18 18 278 19 19 778 20 20 500 21 21 833 22 23 278 24 24 444 25 25 389 26 27 556 28 28 500 29 29 722 30 30 514 31 34 500 35 35 444 36 36 750 37 37 528 38 39 500 40 40 681 41 41 394 42 42 778 43 43 722 44 44 653 45 45 278 46 46 750 47 47 528 48 48 306 49 49 472 50 50 556 51 51 472 52 53 389 54 54 917 55 55 778 56 56 361 57 57 785 58 58 528 59 59 681 60 60 750 61 61 333 62 62 444 63 63 778 64 64 764 65 65 708 66 66 500 67 67 736 68 68 1028 69 69 778 70 70 1000 71 71 750 72 72 778 73 73 500] + /W [0 0 500 1 1 625 2 2 500 3 4 556 5 5 278 6 6 333 7 7 750 8 8 778 9 9 278 10 10 306 11 11 500 12 12 528 13 13 392 14 15 556 16 16 528 17 17 722 18 18 278 19 19 778 20 20 500 21 21 833 22 23 278 24 24 444 25 25 389 26 27 556 28 28 500 29 29 722 30 30 514 31 34 500 35 35 444 36 36 750 37 37 528 38 39 500 40 40 917 41 41 500 42 42 778 43 43 750 44 44 394 45 45 528 46 46 306 47 47 750 48 48 653 49 49 556 50 51 389 52 52 333 53 53 778 54 54 361 55 55 785 56 56 708 57 57 764 58 58 500 59 59 778 60 60 278 61 63 500 64 64 833 65 65 500 66 66 1000 67 67 681 68 68 722 69 69 1028 70 70 681 71 71 778 72 72 444 73 73 1000 74 74 750 75 75 736] >> endobj -110 0 obj +101 0 obj << /Length 13 /Filter /FlateDecode >> stream x - +> endstream endobj -111 0 obj +102 0 obj << /Type /FontDescriptor - /FontName /GUPBGN+NewCM10-Regular + /FontName /PRDEWD+NewCM10-Regular /Flags 131076 /FontBBox [-40 -250 1009 750] /ItalicAngle 0 @@ -1305,14 +1236,14 @@ endobj /Descent -194 /CapHeight 683 /StemV 95.4 - /CIDSet 110 0 R - /FontFile3 113 0 R + /CIDSet 101 0 R + /FontFile3 104 0 R >> endobj -112 0 obj +103 0 obj << - /Length 1628 + /Length 1656 /Type /CMap /WMode 0 >> @@ -1339,7 +1270,7 @@ end def 1 begincodespacerange <0000> <FFFF> endcodespacerange -73 beginbfchar +75 beginbfchar <0001> <004C> <0002> <006F> <0003> <006E> @@ -1379,40 +1310,42 @@ endcodespacerange <0025> <0076> <0026> <0030> <0027> <0035> -<0028> <0050> -<0029> <0073> +<0028> <004D> +<0029> <0036> <002A> <2022> -<002B> <0054> -<002C> <0046> -<002D> <003A> -<002E> <0041> -<002F> <0071> -<0030> <0066> -<0031> <201C> -<0032> <0053> -<0033> <201D> -<0034> <0028> -<0035> <0029> -<0036> <004D> -<0037> <004F> -<0038> <0049> -<0039> <0047> -<003A> <0078> -<003B> <0045> -<003C> <0056> -<003D> <002D> -<003E> <007A> -<003F> <0026> -<0040> <0044> -<0041> <0042> -<0042> <0033> -<0043> <0052> -<0044> <0057> -<0045> <002B> -<0046> <2014> -<0047> <0048> -<0048> <0051> -<0049> <0036> +<002B> <0041> +<002C> <0073> +<002D> <0078> +<002E> <0066> +<002F> <0056> +<0030> <0046> +<0031> <0053> +<0032> <0028> +<0033> <0029> +<0034> <002D> +<0035> <004F> +<0036> <0049> +<0037> <0047> +<0038> <0042> +<0039> <0044> +<003A> <0033> +<003B> <0051> +<003C> <003A> +<003D> <00A0> +<003E> <2013> +<003F> <0037> +<0040> <0025> +<0041> <0038> +<0042> <2192> +<0043> <0050> +<0044> <0054> +<0045> <0057> +<0046> <0045> +<0047> <002B> +<0048> <007A> +<0049> <2014> +<004A> <0048> +<004B> <0052> endbfchar endcmap CMapName currentdict /CMap defineresource pop @@ -1423,61 +1356,59 @@ end endstream endobj -113 0 obj +104 0 obj << - /Length 7453 + /Length 7539 /Filter /FlateDecode /Subtype /CIDFontType0C >> stream -xYw\TfΜm(113hLbEc]aEH30kfhҥDMDM,-&f߀wga[;;D{W䜥cFXVyZCO^ (>{i}3_fHް~`c_s=[V|F*¬-An -2CDZL1vÃWF:s -wsRyyymqTn -urj㼠p%~^a^#F8:yy9O5*\32(gwP`x(UנQy#9-[=b9,[pGP-^~666Ρ}BmLn:g̞ݡg`4,g&S1d2e%, -q!X@Hq`zzwIPXڇ2EƍvI˪U=P#_+|ta3lk" -Q`}4a*X&XfIUnU<hTBP/ðz9~r|Yvu\V|( -
.AK ptT
JZƺj`*dLhYJ\rտ\9}BJi#1k~jFoAl
KZ8/~uT /WD
wtB*(hʔK
Yr3QaѐFƀjwpʰ!M3
˄$wA4wtf:?BaM!!;B(1NZJ3R3n@VS ~.$.NL;*@u T3p V',4.Wbޘ5_!|u`TJ^,J?,a'Lg K:XgH8@hp}"!:X ~&b3!b m' -CH~azi"ѥAAё!kO}~shd+2/2(4<d7ʢk,wl_5z^pqb]UPfk]XhF-62ea@ʪJ%n2;[-c:'%3Bׂ4S^[оÄ0 -Uҏ+89~66I0&ؗ`Á&/OK'S=IIKtR -
AðOGv5cp$
y|+>`BʶbK^$ߊ/ -侴'fU[(%rǏVrqQibe\kil
j:I(1%L~|N2ARc} 26zR9W',jg?eؼ -IԶ( -n
DCjlےuH s\UUGZr\y`yQ9By|=Tñ1Z_7fQGI
#a<^[T^B6w$sF9vubZSA(C?=BHAM ?~=@75 - -Ob: tu8e8*(f1BoBh^b -DT#Uv֯Zs0|nݕAAJn/M+Nwkl0".g -/~~}*ѯp]tيPYJ@[䤅BgF)xBP6*̬QcWκJ_> @/t,܇Sa -.G맭^Jjh
ۂ+V7E!| ndK!3O5d|`<㓦GdMpT߱sn\]UV<1{e=IqT_WÆhwͮ0h?D;ƽi
{ȁBX:& q˂So+QrQ751 TSpaױupjv/MD \`RqR_mPg -0K *JQV+H,N)V\Ҧ% <w7'X#3CڇQiCEA(b?Me⇷,{<ˡlQʟTZU┪Wv{%c}.1yzCZVB}Π(Q`+Lt3a7+ûN6#ŠOqxCfGA -WLɌ5XSz'}z3;wo1Y؆mR*o|Ӕ"p!GK1M3Oy)50_x[Ҝp.BKqmH-DY3` Ѱ6\o7>yTa6E{qwcTzθI=<6Fp%HY6q~~.#YuA.2qC 'lr)K2 -kqC%䤕IGxO+v<NOvQ,BAqzq -S E.,Αqzv -[s&0#ct$н.]:Ƭ\ -ZAZI!g8^@gxӹ7'qmzj&/!wmP -^*,oKbKN -@πX<B9KV܋ߙ]>cFF06SаVt:+b)V,-^ʩXDJ&C'E,vpڪĞ̎N_3? yz4t̟Kʀtb0fA m2Y"Xdon{!/X' -
L:CP%$$uw_WH%8
S -ZȡKgȃG机dPuSH08Km8\ -.1!2ݴ[]{/ -euw
+[X8u|XH7 [j@+:W.MN{O0_ZTȱ˝ {"m_wc_9h+i\/Piφ+~W{tz"Z_cL's `{TهpەXMFyKZ/Q7iׯ_[&Q)OC-{X7q)殝2}^|%.g7\ { -Q%Yqahf:^ciAvN\߉rn(<b*;f ћY`z =%ϛKG;cJ4%C N3pjG??&*S|fN#Xlه-g&EikeֲQYJWSJr%e{L?bdstAvЈi=qKx~tͳVKsXm?3Ѵ'(r W'>Iupvp-6mt -(T5uI -j쑻jYl8^=C܄ -D|^TЬ5પn.ڽۑԁC4"?
R1(`#)%@ymaaz͓{P@XJal Fc +xYw\f]f稸*ffјh,(k4nD^D,R}w"8 B^HK&y[$^v~;sfΙw+kk+Dg{OF\r
+# +6=ä7
}`csɘnH7i6V+++Ŗ-!{j%"oZ-L0*d~w+.IoX36L4sKfE];=R{س{OmWXnkz'?Fηr~FozCoټe~{8l0^{78nwCE҂GZ-⮎( +tŠTvT)O`X,h&)}p
yN{Ѿè_cw1rLxMΛւl*NC=4ъ;(d/|ZRAAmnW-X>hk2 \?%+]ՠbL\eBƈZjا,Wc\迌bjZ8&&TͶnbI.V9 ptӨXzʕ@hAREe!Xn:*!R92xw`84AT2awQ3)I,+KpIsMn^E|d/ٴA $%^,/OCp@{83An +A楝_BW"b@$TxdE(3B!x}x9*@htN,m/+!,w/Q=LfoD`> +(*2+j64\A\~Oq,ȉ]QoMޗѳaK@&ݰt[eUqirj7wʩr1JvvvtհpɏmOLuz +IqiSgVB[^g?@JRMb
3@<i_(LɎIfDq4i2I`WD1iƄ<CzZ>y?&UuΘM;~yuzt%}m\Z?,ڐHjv713Z]@p!̵iGat,]O"O?
a8q2mꠐd'B/HҎw .D|nT3*aJ:}M:&c[aOmϔG`Շ#v.oJ<M9YA$$GmZFdK8UD8+u^h-Տn.'#ǖp.9V-FCE5[pؤqL8vu5=̝&9,f{VUȬV{z5UH PP^Tߤ-WT^> :urbɶB>$\IgS+|%ĆG +̄;-w@n=+gGxؿaAkf@~ +B~g+#9Lu%<+7PcgV>pl\%:&!9Yj>q3H +#ɱgbNiHVdCF{vfa\%pot)
| `,Sb[j>!!xԯi:qt,un8:HrN z%Z0 ;ZѽY++w#Qճ!Kٱi
<<AswV+١ћ̸x.}sY EĥlS>pSǿg*dI'&,P t><hO'eש23FqjcQ]nSed +A14\G.ZD$0D\ϖBzZKoPa Ggz5C34hSeg +ԊyhU[g̻Ͷcܓ#F@eïu.ΛC\a:о}pOƼq
VvEBpAhoG7V8 +ߔBUF&*`:S/>b3lէ!sЖy{^2ȒN0
yhv{<&57< +3m[~ +7'TWFZ%Ӌj#e yڴD% +@Iupݬ`cƆc2 +wf5tp"Gߡ +HK^o* +Xky:nL +{JSy +a?bXwI)$wbS,\8e?B\+%H3Ե&)/%# +@I&ԭ&r:Z6\>[o
8BG2d*ˮ0KAC*#jDXb[{79M지#;cslttʙ'`7Hs09˃Ӯ")MOֺWm@>GhM`oфdJ`T +`~_LM +)OppZUc8Id\'nL(%|Z( +1tg49/7v%v"tk9[iP)LaWr[cڶ#qgbGY`VJf5ii-;=e'U~o2r +FH6j -YCZSsh)s0!y:Fb3pUV ㈽ǝ
$'Rxq:;it6CmIL&59'kn([DN/ IK'h2VfLBxΣ#Gt3uE{:Bcљ ӷ|yߛMx9m;@ve1\+-Np-0d_:Z>Вd`74µNB;%{`L qi$Q\Rk/:Sofѡ@:?cq\u2/t[,,PL15</? QEM<hn_)T9u;QG[]I-ŢuNֵiՍ_7WOӾfVRfJ9vLz1OwЁN{d8yKCF8zX tM f;WDv.li8jrCx؏ō8M7_}Ǝ_5½19NjJM-`;/j˫ybSn]
%S!A8"~Fü逹~.0d]`ݤ>/'zG?+娠]07Θj'8{D8'N
9j>t 8JW_ +{ +dMFQ0,K'DBZ="njr fX2.Ls&\J74YF吒\B`+lXu6/7#*A7t@J>a_63{;ɲYb'Rhk=v3N>#^8HJ$7?`&́O+G +DX ;>CDcI2!측@vDKVg_yeGZgEǎ!sӧyQZ,in)kAmT܈SPQh6pC&ϰ!ܼ!'!ȼm8'J<Wd~?ے!˷w"uf]PDNoxY|YB1cIfÉs=8K1ad[Fr_TE\:5.meß7Yǟ\IKH&ߓuLH%gYsGړu̶EqY%i9D^ijm3c|NϸڭE<}NTm'7 ++ +N_4`[DdX8QQ<ZTZKk/|%ZU6Jr +fIR%v"HO{mcD&+! endstream endobj -114 0 obj +105 0 obj << /Type /Font /Subtype /Type0 /BaseFont /MWCGJX+NewCM10-Italic-Identity-H /Encoding /Identity-H - /DescendantFonts [115 0 R] - /ToUnicode 118 0 R + /DescendantFonts [106 0 R] + /ToUnicode 109 0 R >> endobj -115 0 obj +106 0 obj << /Type /Font /Subtype /CIDFontType0 @@ -1487,13 +1418,13 @@ endobj /Ordering (Identity) /Supplement 0 >> - /FontDescriptor 117 0 R + /FontDescriptor 108 0 R /DW 0 /W [0 0 280 1 1 460 2 2 307 3 3 332 4 4 510.99997 5 5 537 6 6 460 7 7 307 8 8 460 9 9 510.99997 10 10 818 11 11 510.99997 12 12 716 13 14 510.99997 15 15 562 16 16 525 17 17 460 18 21 510.99997 22 22 755 23 23 409 24 24 460 25 25 422 26 26 307 27 27 486 28 28 704 29 29 256 30 30 307 31 31 358 32 32 307 33 33 562 34 35 409 36 36 510.99997 37 37 743 38 38 386] >> endobj -116 0 obj +107 0 obj << /Length 13 /Filter /FlateDecode @@ -1503,7 +1434,7 @@ x endstream endobj -117 0 obj +108 0 obj << /Type /FontDescriptor /FontName /MWCGJX+NewCM10-Italic @@ -1514,12 +1445,12 @@ endobj /Descent -194 /CapHeight 683 /StemV 95.4 - /CIDSet 116 0 R - /FontFile3 119 0 R + /CIDSet 107 0 R + /FontFile3 110 0 R >> endobj -118 0 obj +109 0 obj << /Length 1138 /Type /CMap @@ -1597,7 +1528,7 @@ end endstream endobj -119 0 obj +110 0 obj << /Length 4443 /Filter /FlateDecode @@ -1620,18 +1551,18 @@ Mk'kVJd҈AM`rܷE!% E]Xm endstream endobj -120 0 obj +111 0 obj << /Type /Font /Subtype /Type0 /BaseFont /WKHTOK+NewCMMath-Book-Identity-H /Encoding /Identity-H - /DescendantFonts [121 0 R] - /ToUnicode 124 0 R + /DescendantFonts [112 0 R] + /ToUnicode 115 0 R >> endobj -121 0 obj +112 0 obj << /Type /Font /Subtype /CIDFontType0 @@ -1641,13 +1572,13 @@ endobj /Ordering (Identity) /Supplement 0 >> - /FontDescriptor 123 0 R + /FontDescriptor 114 0 R /DW 0 /W [0 0 500 1 1 1000] >> endobj -122 0 obj +113 0 obj << /Length 9 /Filter /FlateDecode @@ -1657,7 +1588,7 @@ x; endstream endobj -123 0 obj +114 0 obj << /Type /FontDescriptor /FontName /WKHTOK+NewCMMath-Book @@ -1668,12 +1599,12 @@ endobj /Descent -194 /CapHeight 683 /StemV 95.4 - /CIDSet 122 0 R - /FontFile3 125 0 R + /CIDSet 113 0 R + /FontFile3 116 0 R >> endobj -124 0 obj +115 0 obj << /Length 619 /Type /CMap @@ -1714,7 +1645,7 @@ end endstream endobj -125 0 obj +116 0 obj << /Length 403 /Filter /FlateDecode @@ -1727,127 +1658,18 @@ VW>n@K6HGTPZc#cmƎk3e篻ֹ+qg`(Ö?>VwhpW endstream endobj -126 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /ZXCGTT+LibertinusSerif-Regular-Identity-H - /Encoding /Identity-H - /DescendantFonts [127 0 R] - /ToUnicode 130 0 R ->> -endobj - -127 0 obj -<< - /Type /Font - /Subtype /CIDFontType0 - /BaseFont /ZXCGTT+LibertinusSerif-Regular - /CIDSystemInfo << - /Registry (Adobe) - /Ordering (Identity) - /Supplement 0 - >> - /FontDescriptor 129 0 R - /DW 0 - /W [0 0 500 1 1 375] ->> -endobj - -128 0 obj -<< - /Length 9 - /Filter /FlateDecode ->> -stream -x; -endstream -endobj - -129 0 obj -<< - /Type /FontDescriptor - /FontName /ZXCGTT+LibertinusSerif-Regular - /Flags 131078 - /FontBBox [0 0 500 698] - /ItalicAngle 0 - /Ascent 894 - /Descent -246 - /CapHeight 658 - /StemV 95.4 - /CIDSet 128 0 R - /FontFile3 131 0 R ->> -endobj - -130 0 obj -<< - /Length 619 - /Type /CMap - /WMode 0 ->> -stream -%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: procset CIDInit -%%IncludeResource: procset CIDInit -%%BeginResource: CMap Custom -%%Title: (Custom Adobe Identity 0) -%%Version: 1 -%%EndComments -/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 /Custom def -/CMapVersion 1 def -/CMapType 0 def -/WMode 0 def -1 begincodespacerange -<0000> <FFFF> -endcodespacerange -1 beginbfchar -<0001> <2023> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF -endstream -endobj - -131 0 obj -<< - /Length 344 - /Filter /FlateDecode - /Subtype /CIDFontType0C ->> -stream -xcd`aa`ddLJ-*+-N-L
JM/I,ɹ!#CAAB<=EFBOVY\(>W<̌l|ގ)I)y%%E% -BHFY -EY% -%EzL8Θ;u3VNe4]yn\oMOQ4@!!&FFߔ?^cCe/s7ˏ~:nn}wߓX+ -bW}c3wOd{||95~ -endstream -endobj - -132 0 obj +117 0 obj << /Type /Font /Subtype /Type0 /BaseFont /HPNGFP+DejaVuSansMono /Encoding /Identity-H - /DescendantFonts [133 0 R] - /ToUnicode 136 0 R + /DescendantFonts [118 0 R] + /ToUnicode 121 0 R >> endobj -133 0 obj +118 0 obj << /Type /Font /Subtype /CIDFontType2 @@ -1857,14 +1679,14 @@ endobj /Ordering (Identity) /Supplement 0 >> - /FontDescriptor 135 0 R + /FontDescriptor 120 0 R /DW 0 /CIDToGIDMap /Identity /W [0 8 602.0508] >> endobj -134 0 obj +119 0 obj << /Length 10 /Filter /FlateDecode @@ -1874,7 +1696,7 @@ x endstream endobj -135 0 obj +120 0 obj << /Type /FontDescriptor /FontName /HPNGFP+DejaVuSansMono @@ -1885,12 +1707,12 @@ endobj /Descent -240.23438 /CapHeight 759.7656 /StemV 95.4 - /CIDSet 134 0 R - /FontFile2 137 0 R + /CIDSet 119 0 R + /FontFile2 122 0 R >> endobj -136 0 obj +121 0 obj << /Length 717 /Type /CMap @@ -1938,7 +1760,7 @@ end endstream endobj -137 0 obj +122 0 obj << /Length 5034 /Filter /FlateDecode @@ -1963,15 +1785,15 @@ J
IY4ڕG%hd\,)(NK# endstream endobj -138 0 obj -[/ICCBased 140 0 R] +123 0 obj +[/ICCBased 125 0 R] endobj -139 0 obj -[/ICCBased 141 0 R] +124 0 obj +[/ICCBased 126 0 R] endobj -140 0 obj +125 0 obj << /Length 314 /N 3 @@ -1985,7 +1807,7 @@ x}Kq?UX
94%MQKSN#ԦQvBˡhFk ! endstream endobj -141 0 obj +126 0 obj << /Length 258 /N 1 @@ -2000,27 +1822,27 @@ FMkIRB|&إnऋ(HrTų9`ըa&ʺ:l endstream endobj -142 0 obj -[153 0 R /XYZ 36 704.50574 0] +127 0 obj +[138 0 R /XYZ 36 704.50574 0] endobj -143 0 obj -[153 0 R /XYZ 36 494.4837 0] +128 0 obj +[138 0 R /XYZ 36 537.58374 0] endobj -144 0 obj -[153 0 R /XYZ 36 215.45172 0] +129 0 obj +[138 0 R /XYZ 36 258.5517 0] endobj -145 0 obj -[153 0 R /XYZ 36 134.0697 0] +130 0 obj +[138 0 R /XYZ 36 177.16974 0] endobj -146 0 obj -[153 0 R /XYZ 36 766 0] +131 0 obj +[138 0 R /XYZ 36 766 0] endobj -147 0 obj +132 0 obj << /Type /Annot /Subtype /Link @@ -2037,7 +1859,7 @@ endobj >> endobj -148 0 obj +133 0 obj << /Type /Annot /Subtype /Link @@ -2054,7 +1876,7 @@ endobj >> endobj -149 0 obj +134 0 obj << /Type /Annot /Subtype /Link @@ -2071,7 +1893,7 @@ endobj >> endobj -150 0 obj +135 0 obj << /Type /Annot /Subtype /Link @@ -2088,7 +1910,7 @@ endobj >> endobj -151 0 obj +136 0 obj << /Type /Annot /Subtype /Link @@ -2105,11 +1927,11 @@ endobj >> endobj -152 0 obj +137 0 obj << /Type /Annot /Subtype /Link - /Rect [36 310.23672 75.231 322.2337] + /Rect [36 353.3367 75.231 365.3337] /Border [0 0 0] /A << /Type /Action @@ -2122,87 +1944,84 @@ endobj >> endobj -153 0 obj +138 0 obj << /Type /Page /Resources << /ProcSet [/PDF /Text /ImageC /ImageB] /ColorSpace << - /c0 138 0 R - /c1 139 0 R + /c0 123 0 R + /c1 124 0 R >> /Font << - /f0 102 0 R - /f1 108 0 R - /f2 114 0 R - /f3 120 0 R - /f4 126 0 R - /f5 132 0 R + /f0 93 0 R + /f1 99 0 R + /f2 105 0 R + /f3 111 0 R + /f4 117 0 R >> >> /MediaBox [0 0 612 792] /StructParents 6 /Tabs /S /Parent 1 0 R - /Contents 154 0 R - /Annots [147 0 R 148 0 R 149 0 R 150 0 R 151 0 R 152 0 R] + /Contents 139 0 R + /Annots [132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R] >> endobj -154 0 obj +139 0 obj << - /Length 5079 + /Length 4876 /Filter /FlateDecode >> stream -x=ٲܶxb ¾(>m*NUz'[תDUgጜQgHFn0χ~}A
r5hCZ8 I v1j N(_9<,㎗7?)R骏CLW;]t5?wOHʣotᯇo}}x8+ڸpF:!\
s̚mxp}][&VJ^B+x88mδ JFjI *EDuBv辇 #6iQ?շADgY)RX0u~/)=C|2* -'2AQE|J7I -iY25 ;hTv2el4zyvމ+(Ų{#t6\e0Nכ_xg\2Zhe'e5B3PRhcH0 -dI792YR%]H2y;t"3 -Zs-:w?5'k=/e@!H2B;"]ΐ?j<NSYu\Tl_Z9=4p8D0YD -<IUqD~
;sJR$ߧrFᚽ
&FI$3y3?y)`evmFxVś,!R pK(=TD%:^3^v:^k.M9ZB{vpVi7~[y*MUdd"<SDbuK
ZDr&n&cXA8s>ѳyaX/>7?/5(ew&1x8i맞ƐgC4+ATw}ދEbUgH2Ohl -a6!qV>2X+U~_E9pPjE*$ަb
&/s&w<E9)&WJbu/t9\e^|W -䅱W^dAly9V}_>\<D#s -AYґ%mJ$/cj4M13oV+@$hA;}`RM:|cu (#0,5=zY@N_1{S0e -d}0¸ {JW -29v2# $&9=w{߽qM"TnطԵ^8׃$7J^NDٿpDTP"NXĝԪJ݀%c#T]+/۞lPz{hUBzI -W $P9gpfXWiӯAq
>wؠD#yd+J7XP3n]6YʪR-.Rsk$Gc T[Z T5sM -vzU;Α9Y k,;RsVGbh8;枴yq#C -h>\pJ': 74(ʸĻ-A<14"Ӄz -sϗ?H+i56\`j5dž/ճ #֣הvyO(e+6,u˼ @~+'4? AXNH#RMu%SY*=A`DH=d -`5IdU$`{Cc& -QWa"\Isz!M]vn}F -{ljg0F3H\E=l([_4`I OgYtCt?FA צXΒWl`+0F%s[ޮ -7Uc-tt0rV/'9;6 (VQǢv[I`&'t8N9MVo1݃lqߔք`.8p)r\9@*~TZ`i*%Hcm.\k/]SO7@I]jcŢAʹ}6>5祃jG2Zxӆp,]`:zErN)TAsJj3'M_E=h$ZftuM964kn}*)/II/Y:]k,3Ꮏ +x=۲qRF -JlrUJ| TR+9fU~?5=R~9{vgh4~~0zu߿Ij$'9PVI8ӻ/R(J^MRh6NR8d2L{ۃ>^۟ŏRT˧>NFOW|-~ϿgO>QIG~w_~#FqV)h-quBZʙ5߷qGkoXN(z
tP!oqq٬O˕e*@ԒAjU+""sAv躇#6iQ|ӻ7#3fHa_Rv0 +kwLr] +>4':Ȕ
_ٲ7"X'QF!egFm*ak^{o7θdFzKYO6I/h=9i[*
B3PSh'cLາ3R6LB7EOLg0l6D/LNA'H<p# +m+9>ſ82;p!dGe{eu='d;&7g{';-^Y݅&)AP܊5:A]@v8%Cc%<?NFRlr/0iICAf6lB=̥+DގS2?BKe'م9y4`Unk0#JlV*|QFm3Bt`6VA 2v+3[
jlfػMo1A^$1 +:D0vT)T؏/Xx?#C9~ 㮂?Fiqg}Ydq̦>PifOꅶIY0u݂3?R y['ٰ*ZYx\Y8^D&1X |BajbAS~_<HQ63Gu4鱍%V$?QC`%} +(ٛ8:xx:)YXEI<VሬPQMZJPR_;7#[ ^́FOe.'IɪU+)33T/s~}}AQsQ?Oh2XQlvlQp{OA= pUy +&IO3dhHJRS@(Ԇl6h9q
e'T +'c4cSC[ئR±i%6NW+57y*n,*"w5tjh2m@yRd5brW/!I/]-$y0]A&{He6N(*~6wjD#_x5 J +5
* +ҜwwL}&bpfݰsa +w
]SG2!P .*m=RƊq
qYD6vړ-z'YۻDivjJr5P,m%̕(D8c(F&lXmŋs&͖~rBuDcHZ!B8A>.*:g1qU\OWK(jkmruDm +&5Esk 3&Mt{Dϣ]PmAAޚlCgKCIimT=Jsj +z3Of +8&O]aRͱ@DErB=!~Y0(b;WeǨ=Rk`m-@QWNLOs+Scj*V&`qA9ҍA*^c*i$<,Da\xT&ƮZ:V#F]D*YL~7|cU%PLKmğj&O8P9%.h|ye2k B KK\]wO*)"n>#i+u +z~@Т0oq:vñVۭ4~2>PpWT78x?d^m1TA'p!JYqJ}abyͺH>LQV.jdȺ낮?\E(6u07? m|чQh'o"0}d,p"$L_pLZ$s?o]s;mbI75x3E1[A~Ze˂D6G
FLg[ʻ\z:etscn5k=`y9zͼU_
A>=nt3wyqxy
¯g3.
9* NpQ-坈y.RAa顉;窤JJH2^c1j>lg;PD^
qj6KƤpn!#xs<f]xPk]g@|FN)kBbB1mӐ&B`2KӪOP@>ؿJF:U<AADwS^t*`ޫ@:#H{W6xV r qPuL_eP̽ GW'02i.nhK674(ʽ%OB.Ӎnk1Ɇp326J<hݑ +^,r^qRRwo>D5VwZ+\>{}}LIf±d:[tFl&R.Q"f=O25(X)i`#",և_ +6r4K6Ա
+*}1d Mya~ȋ-`t3ErM9moar6;>f? endstream endobj -155 0 obj +140 0 obj << /Title (Jayrup Nakawala) /Author (Jayrup Nakawala) /Creator (Typst 0.14.2) - /ModDate (D:20260107212938Z) - /CreationDate (D:20260107212938Z) + /ModDate (D:20260521112049+01'00) + /CreationDate (D:20260521112049+01'00) >> endobj -156 0 obj +141 0 obj << /Length 1165 /Type /Metadata /Subtype /XML >> stream -<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><dc:title><rdf:Alt><rdf:li xml:lang="x-default">Jayrup Nakawala</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Jayrup Nakawala</rdf:li></rdf:Seq></dc:creator><xmp:CreatorTool>Typst 0.14.2</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2026-01-07T21:29:38+00:00</xmp:ModifyDate><xmp:CreateDate>2026-01-07T21:29:38+00:00</xmp:CreateDate><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>jOyZCwHL7zmLnwO4fh3jQg==</xmpMM:InstanceID><xmpMM:DocumentID>tZ+bfEi4CtxJ3++nqGYrLg==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?> +<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><dc:title><rdf:Alt><rdf:li xml:lang="x-default">Jayrup Nakawala</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Jayrup Nakawala</rdf:li></rdf:Seq></dc:creator><xmp:CreatorTool>Typst 0.14.2</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2026-05-21T11:20:49+01:00</xmp:ModifyDate><xmp:CreateDate>2026-05-21T11:20:49+01:00</xmp:CreateDate><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>xhtGmPoU22/WP0ZZkR2+XQ==</xmpMM:InstanceID><xmpMM:DocumentID>tZ+bfEi4CtxJ3++nqGYrLg==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?> endstream endobj -157 0 obj +142 0 obj << /Type /Catalog /Pages 1 0 R - /Metadata 156 0 R + /Metadata 141 0 R /Lang (en) /StructTreeRoot 8 0 R /MarkInfo << @@ -2217,7 +2036,7 @@ endobj endobj xref -0 158 +0 143 0000000000 65535 f
0000000016 00000 n
0000000082 00000 n
@@ -2228,161 +2047,146 @@ xref 0000000588 00000 n
0000000674 00000 n
0000000955 00000 n
-0000001584 00000 n
-0000001794 00000 n
-0000001918 00000 n
-0000002010 00000 n
-0000002102 00000 n
-0000002194 00000 n
-0000002286 00000 n
-0000002388 00000 n
-0000002520 00000 n
-0000002605 00000 n
-0000002699 00000 n
-0000002788 00000 n
-0000002902 00000 n
-0000002995 00000 n
-0000003083 00000 n
-0000003175 00000 n
-0000003280 00000 n
-0000003433 00000 n
-0000003518 00000 n
-0000003609 00000 n
-0000003698 00000 n
-0000003783 00000 n
-0000003877 00000 n
-0000003966 00000 n
-0000004051 00000 n
-0000004145 00000 n
-0000004234 00000 n
-0000004319 00000 n
-0000004433 00000 n
-0000004523 00000 n
-0000004613 00000 n
-0000004702 00000 n
-0000004803 00000 n
-0000004940 00000 n
-0000005095 00000 n
-0000005187 00000 n
-0000005340 00000 n
-0000005425 00000 n
-0000005519 00000 n
-0000005608 00000 n
-0000005693 00000 n
-0000005787 00000 n
-0000005876 00000 n
-0000005961 00000 n
-0000006055 00000 n
-0000006144 00000 n
-0000006229 00000 n
-0000006323 00000 n
-0000006412 00000 n
-0000006516 00000 n
-0000006609 00000 n
-0000006701 00000 n
-0000006805 00000 n
-0000006965 00000 n
-0000007050 00000 n
-0000007131 00000 n
-0000007218 00000 n
-0000007307 00000 n
-0000007446 00000 n
-0000007531 00000 n
-0000007625 00000 n
-0000007714 00000 n
-0000007799 00000 n
-0000007899 00000 n
-0000007988 00000 n
-0000008073 00000 n
-0000008154 00000 n
-0000008241 00000 n
-0000008330 00000 n
-0000008415 00000 n
-0000008496 00000 n
-0000008586 00000 n
-0000008675 00000 n
-0000008760 00000 n
-0000008841 00000 n
-0000008931 00000 n
-0000009020 00000 n
-0000009131 00000 n
-0000009224 00000 n
-0000009361 00000 n
-0000009516 00000 n
-0000009608 00000 n
-0000009722 00000 n
-0000009869 00000 n
-0000010058 00000 n
-0000010212 00000 n
-0000010401 00000 n
-0000010555 00000 n
-0000010744 00000 n
-0000010898 00000 n
-0000011088 00000 n
-0000011243 00000 n
-0000011354 00000 n
-0000011528 00000 n
-0000012344 00000 n
-0000012435 00000 n
-0000012681 00000 n
-0000014237 00000 n
-0000020481 00000 n
-0000020658 00000 n
-0000021522 00000 n
-0000021613 00000 n
-0000021862 00000 n
-0000023572 00000 n
-0000031131 00000 n
-0000031307 00000 n
-0000031892 00000 n
-0000031983 00000 n
-0000032239 00000 n
-0000033459 00000 n
-0000038008 00000 n
-0000038184 00000 n
-0000038430 00000 n
-0000038516 00000 n
-0000038758 00000 n
-0000039458 00000 n
-0000039966 00000 n
-0000040151 00000 n
-0000040405 00000 n
-0000040491 00000 n
-0000040742 00000 n
-0000041442 00000 n
-0000041891 00000 n
-0000042056 00000 n
-0000042323 00000 n
-0000042411 00000 n
-0000042688 00000 n
-0000043486 00000 n
-0000048600 00000 n
-0000048638 00000 n
-0000048676 00000 n
-0000049099 00000 n
-0000049458 00000 n
-0000049506 00000 n
-0000049553 00000 n
-0000049601 00000 n
-0000049648 00000 n
-0000049690 00000 n
-0000049963 00000 n
-0000050243 00000 n
-0000050531 00000 n
-0000050778 00000 n
-0000051081 00000 n
-0000051323 00000 n
-0000051766 00000 n
-0000056925 00000 n
-0000057097 00000 n
-0000058353 00000 n
+0000001568 00000 n
+0000001777 00000 n
+0000001901 00000 n
+0000001993 00000 n
+0000002085 00000 n
+0000002177 00000 n
+0000002269 00000 n
+0000002371 00000 n
+0000002503 00000 n
+0000002588 00000 n
+0000002682 00000 n
+0000002771 00000 n
+0000002885 00000 n
+0000002978 00000 n
+0000003066 00000 n
+0000003158 00000 n
+0000003263 00000 n
+0000003416 00000 n
+0000003501 00000 n
+0000003592 00000 n
+0000003681 00000 n
+0000003766 00000 n
+0000003860 00000 n
+0000003949 00000 n
+0000004034 00000 n
+0000004128 00000 n
+0000004217 00000 n
+0000004302 00000 n
+0000004416 00000 n
+0000004506 00000 n
+0000004596 00000 n
+0000004685 00000 n
+0000004786 00000 n
+0000004923 00000 n
+0000005078 00000 n
+0000005170 00000 n
+0000005323 00000 n
+0000005408 00000 n
+0000005502 00000 n
+0000005591 00000 n
+0000005676 00000 n
+0000005770 00000 n
+0000005859 00000 n
+0000005944 00000 n
+0000006038 00000 n
+0000006127 00000 n
+0000006212 00000 n
+0000006306 00000 n
+0000006395 00000 n
+0000006499 00000 n
+0000006592 00000 n
+0000006684 00000 n
+0000006788 00000 n
+0000006941 00000 n
+0000007026 00000 n
+0000007130 00000 n
+0000007222 00000 n
+0000007311 00000 n
+0000007396 00000 n
+0000007500 00000 n
+0000007592 00000 n
+0000007681 00000 n
+0000007766 00000 n
+0000007860 00000 n
+0000007949 00000 n
+0000008034 00000 n
+0000008128 00000 n
+0000008217 00000 n
+0000008328 00000 n
+0000008421 00000 n
+0000008558 00000 n
+0000008713 00000 n
+0000008805 00000 n
+0000008919 00000 n
+0000009066 00000 n
+0000009255 00000 n
+0000009409 00000 n
+0000009598 00000 n
+0000009752 00000 n
+0000009941 00000 n
+0000010095 00000 n
+0000010284 00000 n
+0000010438 00000 n
+0000010548 00000 n
+0000010719 00000 n
+0000011604 00000 n
+0000011694 00000 n
+0000011937 00000 n
+0000013604 00000 n
+0000020663 00000 n
+0000020839 00000 n
+0000021704 00000 n
+0000021795 00000 n
+0000022044 00000 n
+0000023782 00000 n
+0000031427 00000 n
+0000031603 00000 n
+0000032188 00000 n
+0000032279 00000 n
+0000032535 00000 n
+0000033755 00000 n
+0000038304 00000 n
+0000038480 00000 n
+0000038726 00000 n
+0000038812 00000 n
+0000039054 00000 n
+0000039754 00000 n
+0000040262 00000 n
+0000040427 00000 n
+0000040694 00000 n
+0000040782 00000 n
+0000041059 00000 n
+0000041857 00000 n
+0000046971 00000 n
+0000047009 00000 n
+0000047047 00000 n
+0000047470 00000 n
+0000047829 00000 n
+0000047877 00000 n
+0000047925 00000 n
+0000047972 00000 n
+0000048020 00000 n
+0000048062 00000 n
+0000048335 00000 n
+0000048615 00000 n
+0000048903 00000 n
+0000049150 00000 n
+0000049453 00000 n
+0000049694 00000 n
+0000050117 00000 n
+0000055073 00000 n
+0000055255 00000 n
+0000056511 00000 n
trailer << - /Size 158 - /Root 157 0 R - /Info 155 0 R - /ID [(tZ+bfEi4CtxJ3++nqGYrLg==) (jOyZCwHL7zmLnwO4fh3jQg==)] + /Size 143 + /Root 142 0 R + /Info 140 0 R + /ID [(tZ+bfEi4CtxJ3++nqGYrLg==) (xhtGmPoU22/WP0ZZkR2+XQ==)] >> startxref -58590 +56748 %%EOF
\ No newline at end of file diff --git a/cv/index.typ b/cv/index.typ index f94c4bb..46415e1 100644 --- a/cv/index.typ +++ b/cv/index.typ @@ -60,24 +60,19 @@ == Research Experience #project( - name: "Deceptive Alignment in Autonomous LLM Agents", + name: "Dissertation: Moral Cover and Watchful Eyes", // Role is optional role: "", // Dates is optional - dates: dates-helper(start-date: "Nov 2025", end-date: "Present"), + dates: dates-helper(start-date: "Nov 2025", end-date: "May 2026"), // URL is also optional url: "github.com/CaptainJack2491/Dissertation", ) -- The Framework: Architected a modular testing suite to detect and quantify "Sleeper Agent" behavior (hidden goal pursuit) in LLMs across multiple providers (Anthropic, OpenAI, Google, Moonshot). - -- Sandboxed Environment: Engineered a Virtual File System (VFS) to isolate agentic tool-use (read/write/list), enabling granular tracking of VFS state changes and preventing unauthorized host access. - -- Observability & Interrogation: - - Developed a Provider Abstraction Layer to normalize and extract "Glass-box" reasoning/Chain-of-Thought traces from diverse formats (e.g., Anthropic <thinking> tags, Kimi-K2 proprietary tokens). - - Built an Interrogation System (interrogate.py) to perform post-hoc adversarial questioning, recreating exact agent states to probe consistency and verify deceptive intent. - -- 3-Prong Evaluation Rubric: Designing a multi-layered scoring system to bypass the limitations of single-judge evaluations. +- Architected a sandboxed evaluation framework with a Virtual File System (VFS) to safely execute and monitor autonomous LLM tool-use across multiple providers (Anthropic, OpenAI, Google). +- Built a provider abstraction layer for glass-box reasoning extraction and a post-hoc interrogation system to adversarially probe agent intent. +- Designed a 3-prong automated judging pipeline (regex, LLM blackbox, LLM glassbox) and ran *960 experimental trials* across exploratory and confirmatory studies. +- Quantified a *"Stealth Gap"*: deceptive intent held steady (~62--67%) under high oversight while output-level detectability dropped (47.8%→35.6%), showing output-only monitoring underestimates risk. == Projects @@ -86,7 +81,7 @@ // role: "Lead Infrastructure Engineer", name: "Hybrid-Cloud Research Infrastructure & Zero-Trust Mesh", // url: "jayrup.me", - dates: dates-helper(start-date: "Nov 2025", end-date: "Present"), + dates: dates-helper(start-date: "Jan 2024", end-date: "Present"), ) - Developed a hybrid-cloud networking mesh using Tailscale/WireGuard to unify a Dell Precision local node (Ubuntu) with 3 distributed VPS instances into a single secure plane. @@ -97,7 +92,7 @@ #project( name: "Jayrup.me: Fast Personal Portfolio", url: "jayrup.me", - dates: "Jan 2024 — Present" + dates: "Nov 2025 — Present" ) - Engineered a dual-interface web server using Nginx to serve context-aware content (HTML vs. Plaintext) based on User-Agent detection (e.g., `curl`, `wget`). - Architected a Quarto-based publishing pipeline that generates synchronized web and CLI-friendly documentation from a single Markdown source. @@ -18,13 +18,16 @@ inspected, and experiments that fail loudly. -------------------------------------------------- -HOMEPAGE: curl [jayrup.me](https://jayrup.me)\ -PROJECTS: curl [jayrup.me/projects](https://jayrup.me/projects)\ -CV: curl [jayrup.me/cv](https://jayrup.me/cv)\ -GITHUB: [github.com/CaptainJack2491](https://github.com/CaptainJack2491)\ +HOMEPAGE: curl [jayrup.me](https://jayrup.me)\ +PROJECTS: curl [jayrup.me/projects](https://jayrup.me/projects)\ +CV: curl [jayrup.me/cv](https://jayrup.me/cv)\ +DISSERTATION: curl [jayrup.me/dissertation](https://jayrup.me/dissertation)\ +GITHUB: [github.com/CaptainJack2491](https://github.com/CaptainJack2491)\ LINKEDIN: [linkedin.com/in/jayrupnakawala](https://linkedin.com/in/jayrupnakawala)\ EMAIL: [jayrupnakawala@gmail.com](mailto:jayrupnakawala@gmail.com) \ +[Note] If you are on windows use curl.exe + -------------------------------------------------- Feel free to reach out! @@ -30,6 +30,16 @@ server { =404; } + # /dissertation serves summary page or PDF fallback + location = /dissertation { + try_files + /projects/dis/index$final_suffix + /projects/dis/index.html + /projects/dis$final_suffix + /dissertation.pdf + =404; + } + location / { try_files diff --git a/projects/dis/index.qmd b/projects/dis/index.qmd new file mode 100644 index 0000000..ef62874 --- /dev/null +++ b/projects/dis/index.qmd @@ -0,0 +1,79 @@ +--- +title: "Dissertation" +--- + +## MORAL COVER AND WATCHFUL EYES: THE LIMITS OF IN-CONTEXT INTERVENTIONS ON LLM DECEPTION + +Jayrup Nakawala \ +BSc Data Science and Artificial Intelligence \ +University of East London — May 2026 \ +Supervisor: Dr. Aloysius Adotey Edoh + +-------------------------------------------------- + +## ABSTRACT + +As LLMs are entrusted with real-world tool use, the +question of whether they can be reliably monitored +for deception becomes a practical safety concern. + +This dissertation studies whether in-context oversight +cues and hidden-goal framing can meaningfully affect +deceptive behaviour in agentic LLMs. A sandboxed +evaluation framework lets models interact with a +virtual file system and assesses them using three +complementary signals: + +- deterministic regex checks +- blackbox output judgment +- glassbox reasoning-trace judgment + +960 runs across three stages: a 420-run pilot over +seven models, followed by two 270-run confirmatory +studies over three models. + +-------------------------------------------------- + +## KEY FINDINGS + +1. Oversight does not deter deception. + Increasing perceived oversight had no significant + effect on deception frequency (p = 0.587). + Models process oversight intensively in their + reasoning but it produces no behavioural change. + +2. Moral framing does not increase deception. + Rates were identical across bare (66.7%), moral + (65.6%), and self-serving (66.7%) framings. + +3. The Stealth Gap is real and structural. + Output-based detection underestimates deceptive + intent by 35–46% at every oversight level. + Models pass oversight evaluations through superior + concealment, not genuine alignment. + +4. Model identity dominates everything. + Model choice explained 60–83% of variance in + deception. Some models deceive at near-ceiling + rates; others refuse entirely — regardless of + experimental condition. + +-------------------------------------------------- + +## RESEARCH QUESTIONS + +RQ1: How does perceived oversight affect agentic + deception? \ +RQ2: Does moral framing of conflicting objectives + influence deceptive behaviour? \ +RQ3: Does oversight reduce intent or just drive + concealment? \ +RQ4: Can multi-pronged evaluation (regex + blackbox + + glassbox) provide robust classifications? + +-------------------------------------------------- + +DOWNLOAD: curl [jayrup.me/dissertation.pdf](https://jayrup.me/dissertation.pdf) \ +CODE: [github.com/CaptainJack2491/dissertation](https://github.com/CaptainJack2491/dissertation) + +-------------------------------------------------- diff --git a/projects/index.qmd b/projects/index.qmd index 124cf02..840c053 100644 --- a/projects/index.qmd +++ b/projects/index.qmd @@ -3,22 +3,24 @@ title: "Jayrup Nakawala | Projects" --- ## [1] DECEPTIVE ALIGNMENT IN AUTONOMOUS LLM AGENTS \ +[Github](https://github.com/CaptainJack2491/dissertation) | [Full Summary](https://jayrup.me/dissertation) \ Undergraduate Dissertation (Final Year) -Built an agentic LLM framework to study hidden goal -pursuit under conflicting in-context instructions. -Agents operate in a sandboxed virtual file system -with constrained tools and full behavioural logging. +Studied whether in-context oversight and moral framing +can control deceptive behaviour in agentic LLMs. +960 experiment runs across seven models in a sandboxed +virtual file system with a three-tier judging pipeline: -Experiments vary perceived oversight levels and -analyse deceptive tactics using: +- deterministic regex filters +- blackbox output judgment (LLM judge) +- glassbox reasoning-trace analysis (LLM judge) -- deterministic text filters -- black-box LLM judges (user perception) -- glass-box reasoning vs output analysis +Key finding: oversight does not deter deception — +it drives concealment. Model identity explains 60–83% +of variance. Output monitoring underestimates intent +by 35–46%. -Focus: AI safety, evaluation methodology, detectability -of hidden goals. +More: curl jayrup.me/dissertation -------------------------------------------------- @@ -44,3 +46,20 @@ used curl and jq for prototyping and then implimented in python for production. -------------------------------------------------- + +## [4] THIS WEBSITE \ +[Github](https://github.com/CaptainJack2491/website) + +A personal website designed to be read from the +terminal. Every page renders as both HTML and plain +text via Quarto, and nginx serves the right format +based on user-agent detection. + +`curl jayrup.me` returns clean plaintext. +A browser gets a styled page with a Tokyo Night +terminal aesthetic. + +Stack: Quarto, nginx, Docker Compose, rsync. +Deployed to a VPS with a single shell script. + +-------------------------------------------------- |
