From b061e4182d162dcc22d33c60d6edde9215e55257 Mon Sep 17 00:00:00 2001 From: Tham Hoang Date: Fri, 4 Sep 2015 13:36:58 -0400 Subject: [PATCH] initial --- .code.js.swo | Bin 0 -> 28672 bytes .code.js.swp | Bin 0 -> 24576 bytes .idea/.name | 1 + .idea/cy_v1.iml | 8 + .idea/inspectionProfiles/Project_Default.xml | 11 + .../inspectionProfiles/profiles_settings.xml | 7 + .idea/misc.xml | 14 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .idea/workspace.xml | 457 ++ code.js | 309 ++ code.js~ | 79 + database.png | Bin 0 -> 98903 bytes get.php | 10 + html2canvas.js | 3667 +++++++++++++++++ index.html~ | 19 + index.php | 159 + output.cyjs | 679 +++ output.cyjs~ | 679 +++ style.css | 26 + style.css~ | 20 + test | 4 + test~ | 4 + 23 files changed, 6167 insertions(+) create mode 100644 .code.js.swo create mode 100644 .code.js.swp create mode 100644 .idea/.name create mode 100644 .idea/cy_v1.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 code.js create mode 100644 code.js~ create mode 100644 database.png create mode 100644 get.php create mode 100644 html2canvas.js create mode 100644 index.html~ create mode 100644 index.php create mode 100644 output.cyjs create mode 100644 output.cyjs~ create mode 100644 style.css create mode 100644 style.css~ create mode 100644 test create mode 100644 test~ diff --git a/.code.js.swo b/.code.js.swo new file mode 100644 index 0000000000000000000000000000000000000000..a7ae1babc0052e3d9d2b4a5ade2a0f2538c70cff GIT binary patch literal 28672 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 literal 0 HcmV?d00001 diff --git a/.code.js.swp b/.code.js.swp new file mode 100644 index 0000000000000000000000000000000000000000..d09c1c083334481b21bc32d17d005b9621f65dd2 GIT binary patch literal 24576 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 L?HsR{Z7TgYN&E;` literal 0 HcmV?d00001 diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..434f4b4 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +cy_v1 \ No newline at end of file diff --git a/.idea/cy_v1.iml b/.idea/cy_v1.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/cy_v1.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..99b1a92 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..19f74da --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3323ef2 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..6564d52 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..34483ab --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + 1440617170231 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code.js b/code.js new file mode 100644 index 0000000..631ca26 --- /dev/null +++ b/code.js @@ -0,0 +1,309 @@ +$(function () { // on dom ready + + function onChange(event) { + var reader = new FileReader(); + reader.onload = onReaderLoad; + reader.readAsText(event.target.files[0]); + } + + function onReaderLoad(event) { + console.log(event.target.result); + var obj = JSON.parse(event.target.result); + visual_pathway(obj); + } + + /* + function sendFileToServer(formData, status) { + var uploadURL = "http://localhost/pathway/cy_v1/index.php"; //Upload URL + var extraData = {}; //Extra Data. + var jqXHR = $.ajax({ + xhr: function () { + var xhrobj = $.ajaxSettings.xhr(); + if (xhrobj.upload) { + xhrobj.upload.addEventListener('progress', function (event) { + var percent = 0; + var position = event.loaded || event.position; + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + //Set progress + status.setProgress(percent); + }, false); + } + return xhrobj; + }, + url: uploadURL, + type: "POST", + contentType: false, + processData: false, + cache: false, + data: formData, + success: function (data) { + status.setProgress(100); + $("#information").html(data); + $("#status1").append("File upload Done
"); + } + }); + + status.setAbort(jqXHR); + } + + var rowCount = 0; + + function createStatusbar(obj) { + rowCount++; + var row = "odd"; + if (rowCount % 2 == 0) row = "even"; + this.statusbar = $("
"); + this.filename = $("
").appendTo(this.statusbar); + this.size = $("
").appendTo(this.statusbar); + this.progressBar = $("
").appendTo(this.statusbar); + this.abort = $("
Abort
").appendTo(this.statusbar); + obj.after(this.statusbar); + + this.setFileNameSize = function (name, size) { + var sizeStr = ""; + var sizeKB = size / 1024; + if (parseInt(sizeKB) > 1024) { + var sizeMB = sizeKB / 1024; + sizeStr = sizeMB.toFixed(2) + " MB"; + } + else { + sizeStr = sizeKB.toFixed(2) + " KB"; + } + + this.filename.html(name); + this.size.html(sizeStr); + } + this.setProgress = function (progress) { + var progressBarWidth = progress * this.progressBar.width() / 100; + this.progressBar.find('div').animate({width: progressBarWidth}, 10).html(progress + "% "); + if (parseInt(progress) >= 100) { + this.abort.hide(); + } + } + this.setAbort = function (jqxhr) { + var sb = this.statusbar; + this.abort.click(function () { + jqxhr.abort(); + sb.hide(); + }); + } + } + + function handleFileUpload(files, obj) { + for (var i = 0; i < files.length; i++) { + var fd = new FormData(); + fd.append('file', files[i]); + + var status = new createStatusbar(obj); //Using this we can set progress. + status.setFileNameSize(files[i].name, files[i].size); + sendFileToServer(fd, status); + + } + } + + var obj = $("#dragandrophandler"); + obj.on('dragenter', function (e) { + e.stopPropagation(); + e.preventDefault(); + $(this).css('border', '2px solid #0B85A1'); + }); + obj.on('dragover', function (e) { + e.stopPropagation(); + e.preventDefault(); + }); + obj.on('drop', function (e) { + + $(this).css('border', '2px dotted #0B85A1'); + e.preventDefault(); + var files = e.originalEvent.dataTransfer.files; + + //We need to send dropped files to Server + handleFileUpload(files, obj); + }); + $(document).on('dragenter', function (e) { + e.stopPropagation(); + e.preventDefault(); + }); + $(document).on('dragover', function (e) { + e.stopPropagation(); + e.preventDefault(); + obj.css('border', '2px dotted #0B85A1'); + }); + $(document).on('drop', function (e) { + e.stopPropagation(); + e.preventDefault(); + }); + + function addCircle(nodeId, circleText) { + console.log(nodeId, circleText); + var parentNode = cy.$('#' + nodeId); + if (parentNode.data('isCircle') || parentNode.data('circleId')) + return; + parentNode.lock(); + var px = parentNode.position('x') + 10; + var py = parentNode.position('y') - 10; + var circleId = (cy.nodes().size() + 1).toString(); + parentNode.data('circleId', circleId); + cy.add({ + group: 'nodes', + data: {weight: 75, id: circleId, name: circleText, isCircle: true}, + position: {x: px, y: py}, + locked: true + }).css({ + 'background-color': 'yellow', + 'shape': 'ellipse', + 'background-opacity': 0.5 + }).unselectify(); + } + */ + + + //dCircle('1', 'Bubble A'); + + function visual_pathway(obj) { + $('#cy').cytoscape({ + style: cytoscape.stylesheet() + .selector('node').css({ + 'content': 'data(name)', + 'text-valign': 'center', + 'color': 'black', + 'padding-left': 2, + 'padding-right': 2, + 'font-family': 'data(LabelSize)', + 'background-color': 'white' + }) + .selector('node[Type="GeneProduct"]').css({ + 'shape': 'rectangle', + 'width': 'data(Width)', + 'height': 'data(Height)', + 'text-valign': 'middle', + 'background-color': 'white', + 'border-color': 'black', + 'border-width': 1 + }) + .selector('node[Type="Protein"]').css({ + 'shape': 'rectangle', + 'width': 'data(Width)', + 'height': 'data(Height)', + 'background-color': 'white', + 'color': '#ff3333', + 'border-color': '#ff3333', + 'border-style': 'solid', + 'border-width': 1 + }) + .selector('node[Shape="Brace"]').css({ + 'shape': 'rectangle', + 'width': '1', + 'height': 'data(Width)', + 'background-color': 'black', + 'color': 'black', + 'border-color': 'black', + 'border-style': 'solid', + 'border-width': 1 + }) + .selector('node[FillColor="ffffff"]').css({ + 'background-color': 'white', + 'color': 'blue', + 'text-halign': 'center', + 'text-valign': 'top' + }) + .selector('edge').css({ + 'line-color': 'black', + 'line-style': 'solid', + 'width': 1 + }) + .selector('edge[LineStyle="Dashed"]').css({ + 'line-style': 'dashed', + 'line-color': 'black', + 'background-color': 'black', + 'color': 'black' + }) + .selector('edge[EndArrow="Arrow"]').css({ + 'target-arrow-shape': 'triangle', + 'target-arrow-color': 'black', + 'target-arrow-fill': 'filled' + }) + .selector('edge[EndArrow="TBar"]').css({ + 'target-arrow-shape': 'tee', + 'target-arrow-color': 'black', + 'target-arrow-fill': 'filled' + }) + .selector('edge[ConnectorType="Elbow"]').css({ + 'line-color': 'yellow', + 'line-style': 'solid' + }) + .selector('edge:selected').css({ + 'background-color': 'black', + 'line-color': 'black', + 'target-arrow-color': 'black', + 'source-arrow-color': 'black' + }) + .selector('node:selected').css({ + 'width': 10 + }) + .selector('.faded').css({ + 'opacity': 1, + 'text-opacity': 0 + }) + .selector('.green').css({ + 'background-color': 'green', + 'color': 'black' + }) + .selector('.red').css({ + 'background-color': 'red', + 'color': 'white' + }), + + elements: obj.elements, + + layout: { + name: 'preset', + padding: 10 + }, + //style: { + // name: 'WikiPathways' + //}, + + // on graph initial layout done (could be async depending on layout...) + + + ready: function () { + window.cy = this; + + cy.elements().unselectify(); + + var selectedNodes = []; + var counts = {}; + var str_info; + + //$('#information').append("You have selected:" + "
"); + + cy.off('click', 'node').on('click', 'node', function (e) { + e.preventDefault(); + + var node = this; + + var node_name = node.data("shared_name"); + var node_id = node.data("id"); + //console.log(node_name); + + if ($.inArray(node_name, selectedNodes) !== -1) { + node.addClass('red'); + var old_html = $('#params').text; + console.log(old_html); + $('#params').append(node_name + ":" + "high" + "\n"); + } else { + selectedNodes.push(node_name); + node.addClass('green'); + $('#params').append(node_name + ":" + "low" + "\n"); + } + }); + } + }); + } + + document.getElementById('file').addEventListener('change', onChange); +}); // on dom ready diff --git a/code.js~ b/code.js~ new file mode 100644 index 0000000..f9eba4f --- /dev/null +++ b/code.js~ @@ -0,0 +1,79 @@ +$(function(){ // on dom ready + +$('#cy').cytoscape({ + style: cytoscape.stylesheet() + .selector('node').css({ + 'content': 'data(name)', + 'text-valign': 'center', + 'color': 'black', + 'text-outline-color': '#000' + }) + .selector('edge').css({ + 'target-arrow-shape': 'triangle' + }) + .selector(':selected').css({ + 'background-color': 'black', + 'line-color': 'black', + 'target-arrow-color': 'black', + 'source-arrow-color': 'black' + }) + .selector('.faded').css({ + 'opacity': 1, + 'text-opacity': 0 + }) + .selector('.green').css({ + 'color': 'green' + }) + .selector('.red').css({ + 'color': 'red' + }), + + elements: { + nodes: [ + { data: { id: 'p53', name: 'p53' } }, + { data: { id: 'MDM2', name: 'MDM2' } }, + { data: { id: 'p14ARF', name: 'p14/ARF' } }, + { data: { id: 'p21', name: 'p21' } }, + { data: { id: 'Rb', name: 'Rb' } }, + { data: { id: 'E2F', name: 'E2F' } }, + { data: { id: 'CDK2', name: 'CDK2' } }, + { data: { id: 'CKS1', name: 'CKS1' } }, + { data: { id: 'Skp2', name: 'Skp2' } } + ], + edges: [ + { data: { source: 'p53', target: 'p21' } }, + { data: { source: 'MDM2', target: 'p53' } }, + { data: { source: 'p14ARF', target: 'MDM2' } }, + { data: { source: 'Rb', target: 'E2F' } }, + { data: { source: 'CDK2', target: 'Rb' } }, + { data: { source: 'CKS1', target: 'Skp2' } } + ] + }, + + + layout: { + name: 'grid', + padding: 10 + }, + + // on graph initial layout done (could be async depending on layout...) + ready: function(){ + + window.cy = this; + + // giddy up... + + cy.elements().unselectify(); + + cy.on('tap', 'node', function(e){ + e.preventDefault(); + + var node = this; + console.log(node.position()); + $('#information').append(node.id() + ', '); + node.addClass('green'); + }); + } +}); + +}); // on dom ready diff --git a/database.png b/database.png new file mode 100644 index 0000000000000000000000000000000000000000..2f883a9528d21a36f0ee850c658e68fee5737a89 GIT binary patch literal 98903 zcmb5W1zc3^*8Y$BAkq>70)mnf(jjdO(%m5)3Ifs{isI1CP{SxG-5n#+InvTfH_|!q zzsKh}=RNQ5ob#UZpN}$*%zp4E7ug?++U16s47g@Km9t?CS;DxF6$-zQi)F{#dfF7$Mc| zv5SnQORrPo7?Qbfb}d6{G1{B6iwHNmB9m6#*|?X02kZK^o9}MK9QzTeFc2+yE?r?t zGDfFaFPSpQrBjm;T+f&ILzjq*j4UuPaC&-rgzg3w)}uaN9dE3Woez!vx|{b3)Y~ub znkKv?*UL;@pGj>zxj;7g^Lmz22VMaqOivC^tag|#I=so={BYoQ*5mmxyhDTd8@Yke zvu~J4Vx=-yiF2&&`#CQ^f_L97e8#vmwPDyi*4=L>O-<2nr&w!R0{wc8&+txjTnZE6 z2OAIR`Di|yEOj#~773RiCONu12!x53K(3XCDLQGi(4hKz^EGgY*ds4m3;1Ct?MY6I zh{rEWzTYA|<#e8?J72RNCor#ge4(x1BduU2i<=sgs=yEDiy`F;e#s+TP;6}ch8MGe zS{nhg(Uf&OWal>|t;8>-(@=zOuB#e+CS!NGQPqBigKuzGp`pE)SDsiTpNqLWj#sdF zrq($}`_d46yntNrG^6Hc(_1aBAn0hyZ8E{Bu_)KU*~W_1%Sx0E`QnX z!%THJq8-}?cz)ehWT3$jZlShLf>Vzv5z-|1O9w67ejOvL?k63V9hKyI^=ZW;e8OrP z0xleIvX1n_pY@8y=6+KkCE+D_3SrUE-aiRM);PjLT0gxa;BDmz3x-0Y@r+74^?RKd zvj5KbZgj&=a`=ty z6pWFw_WU&}oi)#Y!n%#r^xdW_R`h$m!ujN9TkorBs%x7{e%r4<$x%Ts3Ae+*>Itw^ z%^->GBEQd#K0a~SzM+I1f4ZNYvvYzFcV0S?Q6zBQLNWzq=QO&kb|A*l=PGF;^Ki-8 zouujQBt;goffVkGnOrGRgy`Ol#?=$}GWu)MGW|W#y}2!i?PLFJ)c$7)B)8fw7_Gmb)h>;( z_k!ZWclyht6x0jJZ=z&RTZg;cDdbp!s5G9#b0ZG@(d&AFyoPpiF$0RVJMY|+HVLjF zOzU?Yj(C&r!W^oNKWjYa>9U_a%XjBaR^&8iFr$hMhSJ$p4|)@r^YMlSQw5nODww54(4iO9 zD$9L~`3Ri#!pQcJBQIeNd|_P>SC(3%F7ds&{Nk;Rrc0IJ6@^RRt#8)yci7EUUvnN7 zAl`7#DQ6GKI$8r#!0%b~0flvMlCM+*6S3GTZ1~c??6*x54 z)ejV|E}Lf~#oQ_D6Twg}fu>YJp7Z5&d3+HxwYoa2`XNyDT;#>x%$kJ|M*6%aFZmk#=T<-5T z8;$avCp`Js1>W?k{$Qh?GTwn3y+Y&f+11L!QZ+3vHlbI0q~4@x=^yX)ehNP(_Zy}8 zx#hRQPYj#G!g1&~_n&GNaUc}Kx>^MiX>1M<%HV8qNQYnC9~Fmv@cp?$jM#_~rakXA zzC6TEpkfFTIqNHOmU3_EBhG`d&VnScbp=PMbHNILKBpe=^a1lsONJusU;J;KAMhe zDF&k7g^i_9+#!jE#K`#uL_FpMUUWmAWGtB zDm_IyP1xW6tlt0fs=<$gvh4}B-5a0E5bAnc4h3qhoMnWbNhCuiUSjCCJ{ge>#I>1C zUwGE$zmJGG1%FDK?NwA#K|7tp{(cJ!8UrgZpgVtr-Rh@I@p|Ux&?f)Mi#e%p^To{P zn=FCHmd7rR83v{VFb?vq5zSZgZC?X<>pl*65YSLVh8S>%OdeQ?YRMC{$dV>O?~&!Y z!(!!%Z1Sq%{0bfmtl$)DDuzE(jD6hM?f-rc!mRQW7K$`G-zD7|=OwB<`Z(l0H0ZHS zZ#I~dIU8Fx_-4RRXY-HhIB?Iy*R9<_dnm6nwr|!*ogGo&yW_N@U6On7g3Kd z(F;C}^>OrLh#Vs$BX`5E9R=<_LIQ#sL$1gU=O16*OjbLrBOaW-5<=8`#)lZLaS0Vc zSIT)6v#$+Un;ViWQl7-^IY(F~FVPN5h@5?#paz@!LHDFJGb!nIdWudFLBno0$9BWs zrvGUUrR3>K28T}3N{-^FMAP@TSwCPgMro<0UEDWGcF3u_l)MVO4P%(()KPI=%Q?tC zS~6duesd*y;vu%mr|?*QoR zrOtm%yU)VY(ndwZp0_FL;E1Sb`tr^VCfvs_B_bYbmezh!F8xeg&04oB62f%Mj}&6q z7hy}#?T*KsKKTHs99`sc{VaN`wbefjfk6762^Tl)rl9;U_J)Rru$Q}op^(`CeQ8Cn zlQtuDDyIcXJ_S}5vxN-~HchMQy*mWIB8)hxvB5R*CLoEWrlvkUJ0qq~GtkvNZYH)u z9=CA|2?z)X34x#FuNWiVr;FZG`K6#PH?&gVP4d1sK*E~Wl8zg_T&EOa zhnWV?a-zf(9$cdmia0WJmV$QG>OY1VSSR${zbT}>VJ^G^hKF?@mw|;u?dj7N zFsZ;Ms+$Cl=0dqC9KKW;WPIX{mQCZ=A%?ltN6J$VTVAc)-wj0y)Be7I3AhZ| zW>!{9ThsNkC;ii7M&5<*hOqs=ul)qKi0gBs47d8Ap+Cjd@V+}EY(2B4 zaMtNmyv*GW65Mu)aNnzp8u6?!6MtC7O#Ls7ZL%?%o4lOWCOi*$c%qztb;onq+1bsW z%^XqF(710-RN9VlWmG1X%wY#M2L}f?H#cu>ZP`SE!F*i$7?S(q#f#$;l>f~4@47zs zSTLuX>MPwM-bs^_h*?!t6@wW@md6p2Xxy9C;Tq$P=Eh8zg!E^ORy*GcTYGhNbwB_0wyO}uw#xM};{z{lqdLvaH!EbmRr`Cx zc9PK$gwmPeL8`;zP~{oH%gJSl=sV!^AIom?21B#6vx(@%My)F8Bt6v)J=rw&#~(%t za&~>ywp^DFyl#GP?&L+kr*hVZ66c*170l6cUS(iW%26*qL;I+pn$TxQbPsu)&W{(n zy53rcN~ZKJJ6o;=#~GVx64m;wIqJM)7*`Sq=WA=fYLF`POngD`f|E*ol%a@-9`NS?6#y6Q<^OK zE3$*uvpBDG>o2UNrCW|!UlaFZe4x<#H`71r3tA{!3J2HJL^0+{s7ED2qbsK$YFY_X z;YVk{ZUr@D!g!@;o3XZ6op`$3B2C>NZEO>4lZUa z>9Vpml7DLFu^nZoworGR3j1z^gAjReUx%iaOR`#SLGz0UCz5?XD?j|Lam+49T$e}O z_MA&QNlA`vPAY4%WC4>RL)BPxJa7D7?Qu!J7G{s^IirkL{tnxE5S4c-?JM;k?*i;=}NJ3I3qVKY*URc6OFRAq7Rf7B|LgX@rZ6Yof%x_Di#~&xBtk zCMB^6nmsdI+kBW@U>#srZF4Q%QO(g&fwislre|!@N)o?Le_h~2tq(ZV0PjzujM?L_ zE?jKa%i-{C_(R9l-XxBWNU4i&Pa~@;?PeNkOG^h{alJfZm}Fi7j%Kt8(~I zDs8`gkZfJRuw;b|1U|j$>o2vvZ0hi>EVVI1z%yr(%R8h>FyNsY-csX|8w42}3oGmV zjt6`EM4jvU;pSvYO3DKYgGOR`;Nu!BeAU=a<+jSmj;fs6L%W0M54JPXXAiFiS#oD}#WFz^yf zL1(@C4D*jiZTEh!`bY2o=h=!AJc{0|l;0M|{=GJ}@0qa|Jx5;Tjd|}3W~~{{+%L33 zYUdi}Z{?-+-3qSZLsIw(ZTdY;N40knzlyA(dUm$r2JW7(BuiBhCmqiv5fAe5Ev+-2 zNN}RjVAX!%d(z6pker+>>a(GnGU9c-AXm!H7V8>GW3Oq{pCo;zcEr2PPm_Iy-CRt! zgAaj-zkjw%n)ZX(*6jN4kS>o^B{Fjdx^9W3pqACw zee`4o!y$<9JxB%}SAKlrNK*FM)Y2MHH@A=ehYzbC``cG9O0>pT#rfv$ZGW57`1nKT zNj9xoG$S~{qY?U%iC~YmewQ=g#{9fqGKR@nrXvuI-eQ!Q3x>R*aH5mfnII>jq;z6p zmW$!*>amRUTzpD&KwFu`)D_?PnRN#CJWC@&R*u{Ax=(t8lnAQlj$G1dmKD`1hfT8e z9YY4w&QBVhOs1U*Y0=OXF{-`mJ^A@~PmLr^tZQ}|*uk(1biw>34v&!hHZV}(ePo$V zHBejczAYeJJXyQ9`1C`OQDffFBU*fExNoiJeJA!GvG|q0$8qI&1wny9byQbf;7lTXPxphus<_FRo*{T` zly>aI`1=S{!4aH!d!rin`e}k&Yna-=?e^s2Y;4BwEO00XF;n_9CiCRvWa|3w=;TBc z60FPeWc=FhV=%1l^C}Jogoa30ja5Y2`dr421-3Uz<6~6Up{PeU@l;*es9AQbn?);G z){8d0A~4<(zG1IcpPJfQ#PTflokpj_jj3>&F>XUyI*C(VjUhCRP;YPV3Pe%Kl_$`y z+DiI zV=a5G4(AQbG{<`ulW7xaS_|~Wn>TOvt7Dj^>s)P}ocQP>bJTM|IJ2K^YOJjtH!I~l z>VzQd0^Z*04He|1B2ZRTBp@Pkb9dMA<^+QhWJSvBI8z1bA^p%*c9U!C>(gircP`M4pM-5cIHb($O+D^ZS; zEDwv;r!)I$F-*syZQ72Ukcb~8{KDpWcQC^KOGG$0z}LiJF{CPI8SR}N9qw0bO&mls zC5egBZEU;Ki;$`?xuC44=jCtnt}>$nQvYD&Qu1`1+NM|W@|;PDL&gW1jD0KNe=XmY z7_D(-W}t^u+R(5wIxaNE#u^(MOr@Kb)rx!bx^>^G*64$h;gpV{JlSE+)oEQlhgoN>m5snLbhL zWUVVn61#vokEs7DsPy(`*06kwf7YL9#*iJyHSU%#beEd)7G<@IIxT)Qp9VK-)fyFF zzGY&SOb@pDanMG>EV*wxjtctvF>%Y@3)#P^kSCzgu4Ck;mxu`+~n<%R7yv-=j1ihGE}=U9~6vP=J-5r zs(U4f^QWdBB>oOvuZjP2%xFLVQ^_nGKAP&z?`V&mNfe#m47nN2lS$W!_ZA2zY9&@h zhGvAzyN8z9;@S1X>fSFmEjRw1xCsHK`CsCOmWoQ&pX2|xyooi)%70AIQeceq1M=qJ z-~jksN=iy8LUvD@Fq7>*4FgMbGM|CI{?hXD`tL`+1Oxa*fEEFXMl(-Xo7v+XQt;Yj z)duZ`Iqg`VA3}hq0-kyP{@fe({{4F!;!m9ED63yopd10b)DO_y8aMQ5zR`A@0xVB7 zgmlpC_8Y!Avq98*N}z1^en=yf{B#@Y_Pm4^&r{8lvPE!QRr)2NGL0bO41-*UAw4%Y zx1}SZQm^oXN*Z~7DqpDS^n6fC()!JF^}(K4e$EqY28OgJjJ0x+u95jP$$Lrgp~byQ znp}k&DO{rL;E%5SkGRdy@_e5MEuTo z7c82~r4fBgdu*1Ev#3884p|bh#4PQ-HmcqoMbTwiaa?fH53t|ULWzB2SHSyo0 z9sOx4T9cW3&Zb=Xb%Rp5~X3X?bvnSh1q3?d*AWddIV1=9>^`pHSUP|D zLyC~KcjC>)0x9g*T)ESuZkH@`W-GR5_)yAZvSnrGAor97p;!C*m4oM(tgP&F)HS*maB@`qO=l(LV!&+cTZ)ln@Qg`;LOmR|Y=fz=uPQ!5 zOK!j8vv^`u`|e&xbF{334sK31rDI+zmn5|cX=!U+2XpmGx#P}PRt_8yL^wV(gfv0K z?0R7HVx!4>U_fblV~nX#ZIJW*Tw3x=yX+Yl_~7lmJz24uaWqp8Vnb73%JyuDDKHV5 zap(m?K%{v#Dw%M9Zcco(M1U)5rF;?lDsV#kP2oQ(|F9&NbS~X8EemfAMSLErn3hk| zAVHQS);f*e*$=9@V!X{a#;fBBG1xqz0)-9jLY26b{}hhG6%tpw)_Mmaj-2FuQfe#C z*9Xf7Nnp(nMqbqmQmZ8J*jG*GDc9H*>rHG*t~wHmm|cPIBn%GrfZD?A(L2KhTEKV+ zsLTg>TbtQ!X{K)xyHU2AmY|_H>lcqsLR_W&e+jlI0`fuMMWFcBp=_87WB%&-z&L zY?YmXyZaGvdFt!x@RoWOGm+CoZXuY}tMzfz;V8Q6e@mDjxdq-nK6>q#>2XwMh*3Hp zzux4%MbM(lnXpFr+i}sBQp8xISpS%lVQznz*O=T4%p7c}q(N|X49pLcw|8o*+#-RUP3`dMVt%@nAp6Q1Ev)PgzSG)GG1$dJ&ar^BX zSj?#`x}!;|Lr%|7&{`3 z(^3UqeadYc|E*wrBz5W-V18P`rW4)pK339TNsPXkR9#BT!gW|RPtEC6p7XR$@Ew?| zPc7ftDdAtcEeE3qnZL-}7G=A3%o$7ui^Ewo-m7nWc5-N_&UQ>D#$s#5qXaqYyC5qb zeSeqFco2j7i8_-PK?GK2KLzezni zIviyMeobK`6SJu@ z;JJrBDsDs{f*>T-X#RmoZf|d|marAl`%#RSqz7`}`>wBUQWO`@&%#Oe+mXA^4cWFo zeMwq0tk6tS2r<9sdJ5lzC?s*9^h1NQ62X9M)eB{MKcu9bd0rF_3~*SZ`lo9g(O=&$ z3}i$K3Qi+UTY7uLlv@Sbs|?B+;zaKi_L@^B{u;GwbG@w`VY`y1HzTb;E^_Oxt(bxn zp+=GqjCGM$hX`yKnrKyiGE`WIa&v2PpKHzHw=SXuHuY0tiHXrFU|_emKPwk;Aa(~D z5N88>+5Nqw^^cEr1-x@k(hE+X#3LU>ypMa!&=mgQ{BJA(NTyhm@hccWa2frBf74|Z zuD2wuP&+NNKfbZ1|7M@lb4C{I_+!F<);J(9k}L2QUkx9}FJvY^$D~Es2uxbEPUqIm zKX}bCUtg6xXjt-9{Xsf8G=vFfKL3MAlUo;qJ$=rg%f@!DkJc&8^eHt2ys zrC^E*xvvl~Yr45R*bXG^nERK=;-R;~yA33l;90r$*^!QP84}%<%xZnbLkBVkk7k(5 zWQ=^=ofsI_fAQQgRKFs`Hy6xqkV-}p{R4GA0sXd|scWVc=LfE+jS*NNtD0+qNPhKSB-N;%P=j#{$Q@ zJ8LC-T+xEN>bOrM&YxJVwqmq?XieHgzdO$tF|YACYY^ujjr`}F$|$rmH=yde33z*Tzg}*5&FdHOImp% zA0}$hMrY?Gr(N`m={ZM*62pYV!6o?I1gtD{W8?CS=W;m2%rIsS)J%LX(Y6jqbo1(v z%J%nra)amRKK9pmN%&Wk6h<_5GCeSJGQ_phgLm)k z$#K&^Tp@GiR+IeaijJz0g=+sTaEVREM^5P${~oR`_FIEz$D4d@e9m`1(0OH6y6!FY zf!dRm^UQJ!@SGy2M|4b1(!VWN(C-uC+9yC6xF}E1h78a8P2VikIyl`VDcu}h$z>uj zD2d0Egm5|_)hQzt9QPA$%9*f%i53HcLJ+nEW7}52cGWSJ@R3G{8zl*)d8B77bC8N@ zr(@J!RC%1Uvw@dq(JxkAtaT!`GK~QL_>C5};mdyyo?+@Fbf~g`b z*9yGrFgWhb9pxPTB=VpJoJC0w2d63cY>4cy4=TL0^IbMMGRnrZ^Y@&*8hyf`P&?Mh zK?FZ1ZrwEwxmIRW{^V^u*7~v{(T)A@p;g4+Z}(L+fZXQ&hDwx&gZh1!vcqz%ne2RD z$8qw!4Px)hl8L9fn@lY_NtV>_iP)CcgsmN#E{nH~6^#l;1F%e_O_{omk;b;FJXHT> z&N%jnjd>ZhmIvUh%O9&!pAYY|cRcLBb)u3x(4+pdD4*({E6?s(6qDI5jvIR7fLQYU z$7$ud?T=zQEY9bJI-tg6ns~52<}g`R*wp0b=2n%P`*J8-iG$a;8#UA`(G3%?CRD|C zE_Z&$4ZAZDA|T+EWEwVPG)~ZAaUAKHJ;kK=sv?N;fsax!RSXleDj$Tjg=baxOB7Sr zwFD@XDd-*`K$!T3fSFGr=!d1-@~;f}RgfCS)K3Ir>86UpM_97Vy8FDZOE;5p*?hA* zaUNA*4@l_aQKb39QP6}PiM>|5s1jgWam|W}*@AS)#9r4J*`#ic6EH&bSI(;!+@=sP zQZQp^eeC7deFDqCX_E8bDd(=F*mP%$E@XE`Sq3$l1wQW<6XYUQSW{PEaTv*hB=Kc0 zjflB#{gA=K%KVAM0S1!bl(pt)cle|AzOZ2GE!(KcxW*@?vb6)hqytyY=X+){sB;{v z+ay0QKaacTc|DaWCeD~7gUv#If{ZF1TmMDPw8=vTtk3tLiC|kJNnvzNDJf}GLH8J9 z<&>p@ILHYDVHPd}47R*I;fd1O2cZiSZzZ^2R%Y!45GH)!Tcu`x%Je6U6>S_f&yvB} z$`qt#f1#%*%yQ+?2&hhckNZzTT6(noE+UAkTKm@%)Xfi3pjvl|h1E~KH6n>xEVJS@;M zO!CR*3fAraWp+M6Ycb~*{y5IHAL`GnRzmsfO}ZbRB)Oe*?47>7mDT@ByXhV3VyCoo zHmT2b35icXIXOFNWGyt7w7%Bs>YCc<&z-ae9*V7rahHN)BT0Q=a%vl&jtWmK7B#tS zEjs{oZP|ZhB#EG@*D9m<>hruiG(0b?i#QUP@QH-?uB`bct%Ws(O;YOuu^m)kumXHG8h=vfNnoRBF~j(cuDh z>AhY4H6tw8l4Rg5W}JMOMM7x2|CT{B-ijjRcI9_||X0j`FUtvkOT@xGIU*3E{WrGR8YKJ8a6 zH~pQn6b{&&@kKxW=2Bf9(${nuv2{$3apn(Dm#*|lfbn7>13y{F&})r7PA^p@)pc|_ zTsJ;)Uq%{KJ8&2~G=8}qcM+DCC>;|0EUTTFhfXcp$>Jw>%S5i@?IDXIj{SJ83N1-g zT`%iLqT|EDNhc}SCDGWf<5f*8RcDaPD1(Ch3EJD+OW%F-R5qsf&K=^zqxwkNU{=!W zg%2xRS(qC!E)s+UCb6U>AH($iPHQd3H-aHy6!j;{z-Q`NOOf3t^eFi0q7^Btv7~`A z-{YnRUegEh`}q^`Mc&i?be~XirSFo9|7J?xGcOX+%co8|+0cnNABXu{p*Q#mT6kbF zmx{(G8~iLmwX`SWdbK~~Agzhe6+|rTc5JZ7yzeR}iMg3#wzcF@Jfr_bhJusbcCT=g zU%N@PY3anQ`lx1tfrCJU)lYpUK$lIG-^*~zOpQM9w3*3f^L0J&iN$cUCJ$J!GXJAy zv)MTWg&&j%Qw^*J!MJ^g6bjX?)*mD5c%o)){0Y|-&fCe5bG6^pljjLSEx05djenu8 zE;!aEGcR|r28{RM??y6mxA{#v)O$x5#YS!*(B0$ZqbNKuNP@Gk)yUmh$!dF0jWPBc zJAK#^C8sRZS{Hc{<(X>>x16p+&Rn!~j67sIA1Owl{p&f`NA*Sv&o-nStnpD-C{w-( zDSAI68GJqC$+lCz;b9{lYGl#;=;!{+?o8E_y*R1cEO48Ve2&-!mS-17S4PdQKGH9| zj4l7qz8Q8Ea_ALRzjv@K)h^uvMuzmi&KkpEnOAEH;f|2p!{gD`O+BhT9Glcxf z+*Yb8Kpih7$}rc_YIeJEm!4-zEPG?wY{H*U3W1(hDN}a8M9*?uN+D(*2$tKi!z5oF z2e`x#(A&RcKN??eOLMdMo^Ps=A>&HnIg!0%zY(M(I3*;3PR3BaywRCq>I~25N_Kq| zv*=qQX|Zh7fF_`~x8GVmseUF?oGKyaKHq+TPZ=W0YQ8XN#=et<3uF>>L*Q`u*f>WqKME7nwQVIlCdP;6~N=M!{#s&*phw=~-}1y;i-> z%|0|2CU^09ggBfxcUzh+(Fga$hm5X~2y6VmsUzUW^TY;Ib&>S|E<+x|bZY2SWHDK2 zVP_3=DD|>TQW+gDU%DoKCEw84t9mVXkT$oh*$mbFqjX^Ulese%ebwl`wTV35lmr$z z@xvCsEN9OIaR;UnA##Q2pp)|RB+CrH9wW8d3cZ)}KNG~XjQj$GsY`dS^dPajQ#2&6 zEN(gV)r?f)R9+1If#o!O3aS0O{};uC-hd%}(z7flb0pgw4Xv%0+rw$_r4{=nHY_$2 z1EB7ro(v3CaPe-#Vjw#+dsF!dNOop2?cYSY;xyj#bedj0*yTO&(A*3@V(D1KHEpJs zYipPjuRY3N4I_4k*TJlvUCzp%VgFPfj0wnhOK*?P%R3(0BfVW9LrTma^9a8^FXWqq`;tEPvER|7*cAH6@q_o^|KKJI zr%fv%NwfGmkp1xrBx5>?#UE=NA=iH*(!rmT8Z>?Mb0FaH{rPfwfK`Tq~9M=Gt*e$m0bB4HB zeIE(nN&vi_Vn7k@DigNjtV|e6+%h2No9vc>vO{=YDqAdSOmbOEgyrdZH7rd^29`(Tt);4(o?lo&{!c8Hk*1h^+xcZkiu{|tTlYlFuMes*!+9#T zN(w&b6)szj91cF<`!M*vVX7phk=w_w#qu>s5PM*kLjVR;;BMRpC)5w5j`V)VKkK)f z#3UpNo!w61**N*NdWFaHI>FF_mKM!ZfVHUR$cA3x~bZ zr+cn=sYgV(5YeHzwa3inORrwX`PHtx|MRBBqPOC_v=zeiIkK4e`y!r+kM8vRP|Z(? z;cwr*&CdEC|H43+#C|+yZQOpPpFVvmEyesaNjaxgf$XLS#$*rZ9Wme~bz8@um?vOL z!4a~1GCb%U?rn>{$9*}3SgINSdwV;mLe$n`SQ)=f z+j2173kwTDIt{!4>`6?4heEBhSKnxr5?aG`fWQHUVoq4Hdzlx{`p|W(&sxw#0l)`t z9qma-oE>h@djI&+xib%AWerbZIvDMJIr>G~N2s4HoLy=S{}zQS<#zxa04$NW_Q764 z#$w?l*#VdSL`?lv1@x}=!Qw%}?LuIjcp72~{+U+IW~FNp4=EUAUe~C4+AS71_2{X~ zVTxX5Rm%+$yd)Vu^794nZae1ci95(Y^zZNnI9t5aLZnvGD;2MkfNZypy1=AdcXUt> zINP5pD_!mF?Ey}_2(vZ@GX%hXfX^BK9Ma|bz{^RTa-A+aka4Fhxypd;thy$19a}+v z1sIUoK->HuWC4M`SU3@iGoUP0(K%^q-iVu#~L(~Z!t_Tp+0U7 zK7i2tG(->~5r5-{$JWcXOs#Rpy7i56r_kGf^25aJmKP1{sRfNDrrOKy)$eA~cbL?S?hpGYgQ7FrULpnq4euUfX7E$gWUL3i z&|h^=ZP`{P^)$C6Z&ml={;AoH^Vr=pbz$<6wB(nuV^5XAiZUE*G%{-Ou5*4_<$wIa z|AnnBV49nB78>@W_9ac5x#doj%24D?E!W5CBbpEMM2lAtoaDz9SN=-@x3_oN=Q7&6 zTKtBC!T$|h+bcxRT_m}=PQnrrs^^r$AG6`Ed3d#{?ExHAy)t_bdTg=EY>V?mQ)Lhbe6SCm^*{6_-D$+KS78kap5uus^cw9NX=7 z(yC+Q;tQ|!Lnp4f&&=+%j9uO`ZQdLu;>t~3dgUeqCb-Z0ulWc#i2J_K3Q}Y)Do(_` z$cx$Lm<4=y(eru$!;^p_#AxO}+JSphX%g=J2>&$o{i zfPGwUuRdV#G(^ijKh?)r1R$ngCfa4aIFd)J{sho3wEt}tHG!Q#8Ay=(P@A!se}vKT z+|ELc&(q&F7AmSpo>*kn;av}mU&GUm_TJGU#?prCBd0$=|1}rZ<&#^>Arm+@$4@W zvq}nzjO&-~oHS>JQgV!%w^nwhRvdfiKKrQX@TI$kAsv;iWCf%Tv2Hza!6EO~Nyo?$ z>>$KP^=M%u@DveIW}9f-x!t-%HWa96+_FR__X}38LxoWRidedm8X6iML^uU@cC42M zKVo!0r7|3cSMe0yz%-ED>UnD{?{(5kaSaf#PO(N_^ty|RNj^=7ycO!AIC&~9@l0}f z8eV5Ezk5fNrzLn887KNe%EY?-%DbO>#0P$jf{A-NU}N3IVPN^vE%@*uXt2>#XBXU* z+V?^seSM@Z&u|XWGduJbCcC?q8P}5r^|f&wd$UA7ljE1K+tn%w2#TikSk8;99gLey zND^cR3~BYcs3eOm%cqD}5fN*wPV%h;hk2wc_qBg~i>xpyM4}%rXa6ei55X4^03f>iz*!175Oq-o8&p$9-6&4m9 zO**X>pgUO_Bir$KL(wf>#3ZNZT>e`copoWPk=ZAPxw$717Rs@`%DOR3;b&+}d6y$a zHoSfu+CvwM#1{)`!0n5|dzEJi`I9?=joX_>Z~EZ4e$7mT#>en15(`wn?Qz}7au~

l8ZxGg$mx?#ulv8s=rvUZ~roDy6Xi#~px?;Il#(d&*Zd``pW zyw7dC{laDnZNjKzl<7WO>wQ6=yzH>qP`vf+D5&@^&^Bw?u@d!TIX)1R_)kCK0LZN- z-6rBCsmQHwqZb4>?B~0F^+p(s_nk9uO|{lhs&x{4cfPQ(KCDr>tW>!SNBvosStsDW zjhb1yTThl18Zb@w&6hE2)95;uAR$RC^o5Ph+OJY`JMHzKv8-+C>Q=Y$%l9pc3-An_ zk4n27cqkasP}AGlogo~$t`#RveVM&8*U;OkXIgU(Uk5LbM*ED7Jua7eCojFw`y-KV z;s@Kza>)n;$}TF*HtlD(>tdUn*<_)JQY(ZrHg@5(9#Y3# zsWLpyk&rMC+45GoUzDMRn5um9&vS`e@kA~U!u#g|zxk7fuF4gOYE&sfc@vg8|I!w`4I-E6hLv+vNq?N$;7bt0Z3UZ>}w zX|yQhD9;^QwhEyyH81PqDH{J!pK;J)WlRtqdvF|kLQ@qI{GGI12&=#sFo!t+!aBcb z1PZ_2&6i1TDIx;r>}*;lqLnN-W+K1m>u%coC(dZ$I+T`T>wWj^?kJ38Nx6b|>_e^0g(Y8|5!5xOn4e^yl`LpS|*nwap9$@L#2kSupw zd5hLqVcQ4$BK&Naa`~`d+4`B@UPC&Hx!Pp1Q2OFo*{1fvtoxkqi|FdJ%#Mc(Q0!fy zarVM2;Ujq5$48yR4KPyC&f21WPBE-U7(o61&^xE=El!_%zLxdS?2s6Yl6s=E^s!l| z1vt_x&Lr4zV*#&VVX4@1OQ*z(yc(5N&PHNGZN7WSxXTdQ$l`=wdJZN`YLQh~_K3OOT86O43Frr)yL5 zRaf>8u`Cf#_x|&H0YF7Q7UzF8OXbY|Bkt4b#hQ8;{Zy3ImYb@V8)8-H@Zc@R8%+{s zI3>E?UAuh)%SNHl;qLhCR~ zv_LN1%#)jXOpFbESHiP0n=gk2fE)w&J3JN~PI%QC1)FatoTsAN-;*-nLKE}j9Gl|g zVwhxZ%nxa^1euN&8zb!|g-+d7{LO}z{vWIeEp%d#wr2k}`Jh;Entzwbiav_TKYAd? z-R;)-2`j!|<80&xKXzBim32CpQ`5-oy4Lb7bS$>rhq{~_PiF$BWLq~WcX6WJA$#@< zwz*{8{Xd)!}!1Pb= zCJ`B!cc0mk!T2iZO$mVJMvZ;=qJ}fx%cYE2l}5B;#i*_3+lIlp5YO?tB)R^ zRQ3wSa_9W+rE7O{r_8Ta$FB%xT{^H%+!5gWv%C7=0qrf*58tC-Z;=R#!^A&g)+bI!y zAb=y7E2(&G_g>n0Jo#zkvhlqXfW&4*|Il)i51ISNG_pwwJ*48hrh#ox2J%@51e3a3 z>#_^|c#M@t$D@lBhS!{ZRKv_V|d?_0+tMNb}!|>GNl{gyyVaJYSKsv z2B{7n-i86- zaee#0LWtn z*aa;9`VZ}U1Hp;inI3K*Il@zU+aSGc4&B{V29;L^JYwxWp=zO;nCetYFGQt#W=v~l z#PuUzb?r5*0v3#z6x#ib!`Mo{^H(b$JPNvS zdoMs@9rqD%tcw@!?~7c+!Fe(&`FO7}d5?iBD-_CcCim24{&#<$B?DI=&b?ssdrte= z*ElBa!>z0pLCTM@YQT;;|L+bzUMVw>PUnc%O5Cj8T`S$m6t)_Zv{R>2C$_+T3^4rg zY%-SUzum@$p4;R$RvhxVQFH0;gWOTgwth+L6Dlc%H$JNC=T8u%4MzLXc_swaX9dsl z(e4kd&;L!!%*4Xp+NtS{{EK=(|~+Qh+n zu~#D{_wzj6ND|mC?V);n6h#kV+*;GxS_=k?7pwZ+DML9}WxP;-6-!s`ChrxK6GbJZ zJCbe%eKrz4yP3MVacmg3mt4w$7eH%2m6z%;%)8EWz-bD)BM|4m8+)hF0mGZaE&ZvR zd{?lvNiew)%fGIietw*t3DZ)eb$&_o%y9gm$tC4#<>TL3%E0FjJ=+h@z?ajkX8*~( zJMVQuKQwf?e7|+x_9XAOllIUbC6^T_$=XJmm;x{gToN*@gqHsUeE;}ggzw&$kp9ThSL`9R`wwn~m8ASn53}0Gu6?1R$ zS@|}Suj5J$HNUq@)W!Vx6Sv0d{O^P!vOQMM?zj0WB4CvaQN~XFxyv#L>Sx2_urbYF z>y|?n;@$3!qK$uSthU7`tA9@B!ITiS+co=_=UUoGd9c28zsFqTPoRo7CAQrVEgPnw zehxZOwvqmuo7GYeeNR{Kh%x;w9k3pxa(wRT81voDR+$Vis0$+Acb!WNu{F%Ec$zb% z_fB+gsDFM)p`No2zK=jmXN#bR)hvbv z6#Rx*0k{6ZoVdXMWWWr(5?U5A0nGwG;(RDo7BnyNT0sMZ1E~SP*@^N>IsX*a+r6O8 z=JcSwfw#h7WEb=hu!FvS00R@ln$%k@e|^uuP^a$)KiuTIVxsjF6B9o%Cb_Z>(};KTCU4*LB>Ug`X;{W2 z^o~5#H)U%N3_)xm_dL$R@Tcp9t%cGY$>Ta@L$90J!GsO5nx@WtZkLC~sz|zpWg_@z zmyL-CkSU-8&nEIJg>~g+(PEhKzqewTpR>%F5xFrtTK9I}{C~QNKeK3p^_s*(Q0|95 zwVSMRbq8O%&{&_JZ<~9f?)M@~Vu>&zg}dB+Xke=c$Qp%cDG}_RHBjqn+co?Q{N(YX zgN0ZXF4TLIk!TH|=>9*(-U2MDXx|&AyCg)VyTPHmOS+L(Qd+ts1f;tMkdQ7ZNhzgU zx?7O$&Trv4_q^x6_xGnV<=>`7&IJj)TJnN&qYuv^ z(Q{0!BTvwuW+w?TKqj48Si^h?<6}Vq_z6)49EkQ);56RNwNu7@ zaC!GRQTnk1_<>B6*EX}QqyQYcwN)GzerH&D)gkV^LFRV#p|+GYVIc_Ztm3ya3QQJ8 zND5OZ@6*1SC(3EtUozY?tI{e#ngE&)!xq=HU7$;}MXks=#--$>P{!$TQx!|qZMs#B zGJ}n#YjJq}F61hqg37|VC16YO_U}w&&V@k#<3CAqnW)XG_K!M+YlZIWn6}nAzJIwv zT({5TC{;b)+tod;tr z?80HTC_s&4xt-AH%x!1xMe^xO;Vd1P7z$AA*1PRQ7jdG)v6+4(fQd=T%wDkB`vAuI z|C!J5s{Lu|r(UT48$(2cN4blUp-{`Xu2*9iRQU4={#;a(8J6e&~*L$!_32~=*t@r0Yw z_ToX#95GC=neSP|FdwzW|33yvv~M`x+%>tZpFVG^-l2K=2>FcExbl_cmG}`*V(>Ym zL64WJAC1?q&xZgwo(!~)UzQu!$RO-ti&N`Q=cu|5 z5DwgS=#OJ7m{qZCt;44tqk}nYY){g$Yhq~rta~+Uuzj_E)y0I4lo}c56(_kQovf((t9C z8OzXV$`ueShaLoIpNrlL0WZ<9hAI;p5K=%p&3y@1i8l^jU? z1Ssscau50uAmITn%#*F&m2tkJ7lCj^eeFjT3!3skJ z6u5uI`!XK(J}=v6kN@Yglz%6HP+iQ(rp(~NG4V%Z@Yb?y)6Zr`w~bGa=I#ngaMA?* zjs6rEZ`{8h9C2O%N3}E0Q|!vQe^GFda`!Ofb#urKsOJke`KmR9(QakD*1+XA@z3WV zjIW$hIc4SDRwyv3972c)4TPp9g!AX5`4?(sEg|bx3wt6P44vPxaX%vVrrG@7gXr@Q zuCmrhTBf#;H1PG$zz`P8mpbg`|4I_I5^x9^>po8x*^uJMfsTZm$tU?_%Cq!s`oy!x zUkx32EnO&E1snM?a?vy^pOKo5>gG2&K!PZVaExM)yVe#HuN7lzqC1VRWSve5=H`Zl z9&WF+4WTbyG@A4$?Xj=`0<)&3=4rT;!AGkaIX%}r+F(;Mv0=!hQjM+@hY-Pq(Y_;@ zC9}|1N&1`TBRV)Iyq7xZ+hv0|2x4*w2`SciJ`~YZ2Z?YfRkIq}+Dp!3if(%|Co@7` zUo(ZgEY!!!1_wD6>+0$NiKruCj251cN)hNRBbr_p>y04P{aOGoLiY-%g?T@d3WA;O zorB|8=$4b))NJ>ee{FUHGzXb|KP68jg`K;P`iol+wljYcB0mt7xu{?|J@O^Lq zOsecw8M$2r>&;H<{f=?;mzabl9!AQQ_w~R?F`d&xHgU-p_1$%E_7gfG;Bn0@EFLvb zCf!j%K|w&Mh=ExN>%|l3U@)UgPK?!hf4ze(e7QXISs+{}smdSc_}=S)&)Z0et%=u#ioz?;#pIw@)+e2$;uJ5noTaUPU2-hAhEq~-k>Bzx^OA2# zq9@khx3h`<5L0PstSix~rcD#Wb$f7(eq?&3>l zjVRURjUsv|TcoY(|7H7}aeIe5uKd}6-@PA(qIO()94B${+vqMT8spqJsz6x@x;BSf z6<`91!ddpiS#E;^k`}7K%MUI3t>V4@xYa$SsRd1wEZVs?8Yz6$R6NxBEO6)_K2X^L+&f;%!X z?{c7&9?` zoFt}5XZRqgmdx4EVjEmItzCWYcw^tw2y3Zcw-9o1IeUCY zeO%HTcp83n0k3qA!twrxDI|@VP#nwRU6zHD!QGUvIrm+uMRnDO*^<883wBK?reRTb zezUX4%QP1A_OMwAd_(isMtl&ZHj>e;8xKiow7vHoG68w)(E#UTJQX(aXJm{`pvkKyp+K zw-WX{`&>-bhhoF)BZaNV7~J4BUSrB4LL8Omhpi`5({95`!vhKrOTj2OczkDP3+SM z${YlCh3dnF&l%Gyj;h~q=;d4rUo~wgW1>Jthc~HJTVkM7CJLi;4e0J ze|LjLJnglq^6=}|?@#DKT&9)0UVdiqu3qHJv6POZ1^yWEGW)x*TJtvE3CieDEjil7 zT$2}G)jJWg%uu%iXmzIgVmMc4)H7+tg=?9wzy{Q$zb zW)TRKc4p~kEAedo;|n}?g3iPWw+!##D5;rla}Q82yY|Rt-PeM-g-_K#zs?oz8j%IT zN-Yt+0wI}yHC*Y5Om{l48O1beSKES6Uoak$XFR6V4p zQ_#61@i%W&xUTmCtk%89wR_60LP zoEs@1tQv1*D3=}86r#ygOteS?ade1(Av`$Psd?J7LkG>P8_u$g28NB&9uyy1)|3SW zr0N!sj4oGdt~^%GPJ-W6&rlO+B|R)wtIxuU<}7DDksj�C^VPTS^u_aLS&_ZFS0? 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� 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'; print_r($params); echo ''; \ No newline at end of file diff --git a/html2canvas.js b/html2canvas.js new file mode 100644 index 0000000..c83e0e4 --- /dev/null +++ b/html2canvas.js @@ -0,0 +1,3667 @@ +/* + html2canvas 0.5.0-alpha1 + Copyright (c) 2015 Niklas von Hertzen + + Released under MIT License + */ + +(function (window, document, exports, global, define, undefined) { + + /*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE + * @version 2.0.1 + */ + + (function () { + function r(a, b) { + n[l] = a; + n[l + 1] = b; + l += 2; + 2 === l && A() + } + + function s(a) { + return "function" === typeof a + } + + function F() { + return function () { + process.nextTick(t) + } + } + + function G() { + var a = 0, b = new B(t), c = document.createTextNode(""); + b.observe(c, {characterData: !0}); + return function () { + c.data = a = ++a % 2 + } + } + + function H() { + var a = new MessageChannel; + a.port1.onmessage = t; + return function () { + a.port2.postMessage(0) + } + } + + function I() { + return function () { + setTimeout(t, 1) + } + } + + function t() { + for (var a = 0; a < l; a += 2)(0, n[a])(n[a + 1]), n[a] = void 0, n[a + 1] = void 0; + l = 0 + } + + function p() { + } + + function J(a, b, c, d) { + try { + a.call(b, c, d) + } catch (e) { + return e + } + } + + function K(a, b, c) { + r(function (a) { + var e = !1, f = J(c, b, function (c) { + e || (e = !0, b !== c ? q(a, c) : m(a, c)) + }, function (b) { + e || (e = !0, g(a, b)) + }); + !e && f && (e = !0, g(a, f)) + }, a) + } + + function L(a, b) { + 1 === b.a ? m(a, b.b) : 2 === a.a ? g(a, b.b) : u(b, void 0, function (b) { + q(a, b) + }, function (b) { + g(a, b) + }) + } + + function q(a, b) { + if (a === b)g(a, new TypeError("You cannot resolve a promise with itself")); else if ("function" === typeof b || "object" === typeof b && null !== b)if (b.constructor === a.constructor)L(a, + b); else { + var c; + try { + c = b.then + } catch (d) { + v.error = d, c = v + } + c === v ? g(a, v.error) : void 0 === c ? m(a, b) : s(c) ? K(a, b, c) : m(a, b) + } else m(a, b) + } + + function M(a) { + a.f && a.f(a.b); + x(a) + } + + function m(a, b) { + void 0 === a.a && (a.b = b, a.a = 1, 0 !== a.e.length && r(x, a)) + } + + function g(a, b) { + void 0 === a.a && (a.a = 2, a.b = b, r(M, a)) + } + + function u(a, b, c, d) { + var e = a.e, f = e.length; + a.f = null; + e[f] = b; + e[f + 1] = c; + e[f + 2] = d; + 0 === f && a.a && r(x, a) + } + + function x(a) { + var b = a.e, c = a.a; + if (0 !== b.length) { + for (var d, e, f = a.b, g = 0; g < b.length; g += 3)d = b[g], e = b[g + c], d ? C(c, d, e, f) : e(f); + a.e.length = 0 + } + } + + function D() { + this.error = + null + } + + function C(a, b, c, d) { + var e = s(c), f, k, h, l; + if (e) { + try { + f = c(d) + } catch (n) { + y.error = n, f = y + } + f === y ? (l = !0, k = f.error, f = null) : h = !0; + if (b === f) { + g(b, new TypeError("A promises callback cannot return that same promise.")); + return + } + } else f = d, h = !0; + void 0 === b.a && (e && h ? q(b, f) : l ? g(b, k) : 1 === a ? m(b, f) : 2 === a && g(b, f)) + } + + function N(a, b) { + try { + b(function (b) { + q(a, b) + }, function (b) { + g(a, b) + }) + } catch (c) { + g(a, c) + } + } + + function k(a, b, c, d) { + this.n = a; + this.c = new a(p, d); + this.i = c; + this.o(b) ? (this.m = b, this.d = this.length = b.length, this.l(), 0 === this.length ? m(this.c, + this.b) : (this.length = this.length || 0, this.k(), 0 === this.d && m(this.c, this.b))) : g(this.c, this.p()) + } + + function h(a) { + O++; + this.b = this.a = void 0; + this.e = []; + if (p !== a) { + if (!s(a))throw new TypeError("You must pass a resolver function as the first argument to the promise constructor"); + if (!(this instanceof h))throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); + N(this, a) + } + } + + var E = Array.isArray ? Array.isArray : function (a) { + return "[object Array]" === + Object.prototype.toString.call(a) + }, l = 0, w = "undefined" !== typeof window ? window : {}, B = w.MutationObserver || w.WebKitMutationObserver, w = "undefined" !== typeof Uint8ClampedArray && "undefined" !== typeof importScripts && "undefined" !== typeof MessageChannel, n = Array(1E3), A; + A = "undefined" !== typeof process && "[object process]" === {}.toString.call(process) ? F() : B ? G() : w ? H() : I(); + var v = new D, y = new D; + k.prototype.o = function (a) { + return E(a) + }; + k.prototype.p = function () { + return Error("Array Methods must be provided an Array") + }; + k.prototype.l = + function () { + this.b = Array(this.length) + }; + k.prototype.k = function () { + for (var a = this.length, b = this.c, c = this.m, d = 0; void 0 === b.a && d < a; d++)this.j(c[d], d) + }; + k.prototype.j = function (a, b) { + var c = this.n; + "object" === typeof a && null !== a ? a.constructor === c && void 0 !== a.a ? (a.f = null, this.g(a.a, b, a.b)) : this.q(c.resolve(a), b) : (this.d--, this.b[b] = this.h(a)) + }; + k.prototype.g = function (a, b, c) { + var d = this.c; + void 0 === d.a && (this.d--, this.i && 2 === a ? g(d, c) : this.b[b] = this.h(c)); + 0 === this.d && m(d, this.b) + }; + k.prototype.h = function (a) { + return a + }; + k.prototype.q = function (a, b) { + var c = this; + u(a, void 0, function (a) { + c.g(1, b, a) + }, function (a) { + c.g(2, b, a) + }) + }; + var O = 0; + h.all = function (a, b) { + return (new k(this, a, !0, b)).c + }; + h.race = function (a, b) { + function c(a) { + q(e, a) + } + + function d(a) { + g(e, a) + } + + var e = new this(p, b); + if (!E(a))return (g(e, new TypeError("You must pass an array to race.")), e); + for (var f = a.length, h = 0; void 0 === e.a && h < f; h++)u(this.resolve(a[h]), void 0, c, d); + return e + }; + h.resolve = function (a, b) { + if (a && "object" === typeof a && a.constructor === this)return a; + var c = new this(p, b); + q(c, a); + return c + }; + h.reject = function (a, b) { + var c = new this(p, b); + g(c, a); + return c + }; + h.prototype = { + constructor: h, then: function (a, b) { + var c = this.a; + if (1 === c && !a || 2 === c && !b)return this; + var d = new this.constructor(p), e = this.b; + if (c) { + var f = arguments[c - 1]; + r(function () { + C(c, d, f, e) + }) + } else u(this, d, a, b); + return d + }, "catch": function (a) { + return this.then(null, a) + } + }; + var z = { + Promise: h, polyfill: function () { + var a; + a = "undefined" !== typeof global ? global : "undefined" !== typeof window && window.document ? window : self; + "Promise"in a && "resolve"in + a.Promise && "reject"in a.Promise && "all"in a.Promise && "race"in a.Promise && function () { + var b; + new a.Promise(function (a) { + b = a + }); + return s(b) + }() || (a.Promise = h) + } + }; + "function" === typeof define && define.amd ? define(function () { + return z + }) : "undefined" !== typeof module && module.exports ? module.exports = z : "undefined" !== typeof this && (this.ES6Promise = z); + }).call(window); + if (window) { + window.ES6Promise.polyfill(); + } + + + if (typeof(document) === "undefined" || typeof(Object.create) !== "function" || typeof(document.createElement("canvas").getContext) !== "function") { + (window || module.exports).html2canvas = function () { + return Promise.reject("No canvas support"); + }; + return; + } + + /*! https://mths.be/punycode v1.3.1 by @mathias */ + ; + (function (root) { + + /** Detect free variables */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + var freeModule = typeof module == 'object' && module && !module.nodeType && module; + var freeGlobal = typeof global == 'object' && global; + if ( + freeGlobal.global === freeGlobal || + freeGlobal.window === freeGlobal || + freeGlobal.self === freeGlobal + ) { + root = freeGlobal; + } + + /** + * The `punycode` object. + * @name punycode + * @type Object + */ + var punycode, + + /** Highest positive signed 32-bit float value */ + maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 + + /** Bootstring parameters */ + base = 36, + tMin = 1, + tMax = 26, + skew = 38, + damp = 700, + initialBias = 72, + initialN = 128, // 0x80 + delimiter = '-', // '\x2D' + + /** Regular expressions */ + regexPunycode = /^xn--/, + regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars + regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators + + /** Error messages */ + errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' + }, + + /** Convenience shortcuts */ + baseMinusTMin = base - tMin, + floor = Math.floor, + stringFromCharCode = String.fromCharCode, + + /** Temporary variable */ + key; + + /*--------------------------------------------------------------------------*/ + + /** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ + function error(type) { + throw RangeError(errors[type]); + } + + /** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ + function map(array, fn) { + var length = array.length; + var result = []; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } + + /** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ + function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + var labels = string.split(regexSeparators); + var encoded = map(labels, fn).join('.'); + return result + encoded; + } + + /** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ + function ucs2decode(string) { + var output = [], + counter = 0, + length = string.length, + value, + extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // low surrogate + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } + + /** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ + function ucs2encode(array) { + return map(array, function (value) { + var output = ''; + if (value > 0xFFFF) { + value -= 0x10000; + output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); + value = 0xDC00 | value & 0x3FF; + } + output += stringFromCharCode(value); + return output; + }).join(''); + } + + /** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ + function basicToDigit(codePoint) { + if (codePoint - 48 < 10) { + return codePoint - 22; + } + if (codePoint - 65 < 26) { + return codePoint - 65; + } + if (codePoint - 97 < 26) { + return codePoint - 97; + } + return base; + } + + /** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ + function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + } + + /** + * Bias adaptation function as per section 3.4 of RFC 3492. + * http://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ + function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); + } + + /** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ + function decode(input) { + // Don't use UCS-2 + var output = [], + inputLength = input.length, + out, + i = 0, + n = initialN, + bias = initialBias, + basic, + j, + index, + oldi, + w, + k, + digit, + t, + /** Cached calculation results */ + baseMinusT; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + for (oldi = i, w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output + output.splice(i++, 0, n); + + } + + return ucs2encode(output); + } + + /** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ + function encode(input) { + var n, + delta, + handledCPCount, + basicLength, + bias, + j, + m, + q, + k, + t, + currentValue, + output = [], + /** `inputLength` will hold the number of code points in `input`. */ + inputLength, + /** Cached calculation results */ + handledCPCountPlusOne, + baseMinusT, + qMinusT; + + // Convert the input in UCS-2 to Unicode + input = ucs2decode(input); + + // Cache the length + inputLength = input.length; + + // Initialize the state + n = initialN; + delta = 0; + bias = initialBias; + + // Handle the basic code points + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + handledCPCount = basicLength = output.length; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string - if it is not empty - with a delimiter + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + for (m = maxInt, j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow + handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + + if (currentValue == n) { + // Represent delta as a generalized variable-length integer + for (q = delta, k = base; /* no condition */; k += base) { + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + qMinusT = q - t; + baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); + } + + /** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ + function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); + } + + /** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ + function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); + } + + /*--------------------------------------------------------------------------*/ + + /** Define the public API */ + punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '1.3.1', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode + }; + + /** Expose `punycode` */ + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if ( + typeof define == 'function' && + typeof define.amd == 'object' && + define.amd + ) { + define('punycode', function () { + return punycode; + }); + } else if (freeExports && freeModule) { + if (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+ + freeModule.exports = punycode; + } else { // in Narwhal or RingoJS v0.7.0- + for (key in punycode) { + punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); + } + } + } else { // in Rhino or a web browser + root.punycode = punycode; + } + + }(this)); + + var html2canvasNodeAttribute = "data-html2canvas-node"; + var html2canvasCanvasCloneAttribute = "data-html2canvas-canvas-clone"; + var html2canvasCanvasCloneIndex = 0; + var html2canvasCloneIndex = 0; + + window.html2canvas = function (nodeList, options) { + var index = html2canvasCloneIndex++; + options = options || {}; + if (options.logging) { + window.html2canvas.logging = true; + window.html2canvas.start = Date.now(); + } + + options.async = typeof(options.async) === "undefined" ? true : options.async; + options.allowTaint = typeof(options.allowTaint) === "undefined" ? false : options.allowTaint; + options.removeContainer = typeof(options.removeContainer) === "undefined" ? true : options.removeContainer; + options.javascriptEnabled = typeof(options.javascriptEnabled) === "undefined" ? false : options.javascriptEnabled; + options.imageTimeout = typeof(options.imageTimeout) === "undefined" ? 10000 : options.imageTimeout; + options.renderer = typeof(options.renderer) === "function" ? options.renderer : CanvasRenderer; + options.strict = !!options.strict; + + if (typeof(nodeList) === "string") { + if (typeof(options.proxy) !== "string") { + return Promise.reject("Proxy must be used when rendering url"); + } + var width = options.width != null ? options.width : window.innerWidth; + var height = options.height != null ? options.height : window.innerHeight; + return loadUrlDocument(absoluteUrl(nodeList), options.proxy, document, width, height, options).then(function (container) { + return renderWindow(container.contentWindow.document.documentElement, container, options, width, height); + }); + } + + var node = ((nodeList === undefined) ? [document.documentElement] : ((nodeList.length) ? nodeList : [nodeList]))[0]; + node.setAttribute(html2canvasNodeAttribute + index, index); + return renderDocument(node.ownerDocument, options, node.ownerDocument.defaultView.innerWidth, node.ownerDocument.defaultView.innerHeight, index).then(function (canvas) { + if (typeof(options.onrendered) === "function") { + log("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas"); + options.onrendered(canvas); + } + return canvas; + }); + }; + + window.html2canvas.punycode = this.punycode; + window.html2canvas.proxy = {}; + + function renderDocument(document, options, windowWidth, windowHeight, html2canvasIndex) { + return createWindowClone(document, document, windowWidth, windowHeight, options, document.defaultView.pageXOffset, document.defaultView.pageYOffset).then(function (container) { + log("Document cloned"); + var attributeName = html2canvasNodeAttribute + html2canvasIndex; + var selector = "[" + attributeName + "='" + html2canvasIndex + "']"; + document.querySelector(selector).removeAttribute(attributeName); + var clonedWindow = container.contentWindow; + var node = clonedWindow.document.querySelector(selector); + var oncloneHandler = (typeof(options.onclone) === "function") ? Promise.resolve(options.onclone(clonedWindow.document)) : Promise.resolve(true); + return oncloneHandler.then(function () { + return renderWindow(node, container, options, windowWidth, windowHeight); + }); + }); + } + + function renderWindow(node, container, options, windowWidth, windowHeight) { + var clonedWindow = container.contentWindow; + var support = new Support(clonedWindow.document); + var imageLoader = new ImageLoader(options, support); + var bounds = getBounds(node); + var width = options.type === "view" ? windowWidth : documentWidth(clonedWindow.document); + var height = options.type === "view" ? windowHeight : documentHeight(clonedWindow.document); + var renderer = new options.renderer(width, height, imageLoader, options, document); + var parser = new NodeParser(node, renderer, support, imageLoader, options); + return parser.ready.then(function () { + log("Finished rendering"); + var canvas; + + if (options.type === "view") { + canvas = crop(renderer.canvas, { + width: renderer.canvas.width, + height: renderer.canvas.height, + top: 0, + left: 0, + x: 0, + y: 0 + }); + } else if (node === clonedWindow.document.body || node === clonedWindow.document.documentElement || options.canvas != null) { + canvas = renderer.canvas; + } else { + canvas = crop(renderer.canvas, { + width: options.width != null ? options.width : bounds.width, + height: options.height != null ? options.height : bounds.height, + top: bounds.top, + left: bounds.left, + x: clonedWindow.pageXOffset, + y: clonedWindow.pageYOffset + }); + } + + cleanupContainer(container, options); + return canvas; + }); + } + + function cleanupContainer(container, options) { + if (options.removeContainer) { + container.parentNode.removeChild(container); + log("Cleaned up container"); + } + } + + function crop(canvas, bounds) { + var croppedCanvas = document.createElement("canvas"); + var x1 = Math.min(canvas.width - 1, Math.max(0, bounds.left)); + var x2 = Math.min(canvas.width, Math.max(1, bounds.left + bounds.width)); + var y1 = Math.min(canvas.height - 1, Math.max(0, bounds.top)); + var y2 = Math.min(canvas.height, Math.max(1, bounds.top + bounds.height)); + croppedCanvas.width = bounds.width; + croppedCanvas.height = bounds.height; + log("Cropping canvas at:", "left:", bounds.left, "top:", bounds.top, "width:", (x2 - x1), "height:", (y2 - y1)); + log("Resulting crop with width", bounds.width, "and height", bounds.height, " with x", x1, "and y", y1); + croppedCanvas.getContext("2d").drawImage(canvas, x1, y1, x2 - x1, y2 - y1, bounds.x, bounds.y, x2 - x1, y2 - y1); + return croppedCanvas; + } + + function documentWidth(doc) { + return Math.max( + Math.max(doc.body.scrollWidth, doc.documentElement.scrollWidth), + Math.max(doc.body.offsetWidth, doc.documentElement.offsetWidth), + Math.max(doc.body.clientWidth, doc.documentElement.clientWidth) + ); + } + + function documentHeight(doc) { + return Math.max( + Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight), + Math.max(doc.body.offsetHeight, doc.documentElement.offsetHeight), + Math.max(doc.body.clientHeight, doc.documentElement.clientHeight) + ); + } + + function smallImage() { + return "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"; + } + + function isIE9() { + return document.documentMode && document.documentMode <= 9; + } + +// https://github.com/niklasvh/html2canvas/issues/503 + function cloneNodeIE9(node, javascriptEnabled) { + var clone = node.nodeType === 3 ? document.createTextNode(node.nodeValue) : node.cloneNode(false); + + var child = node.firstChild; + while (child) { + if (javascriptEnabled === true || child.nodeType !== 1 || child.nodeName !== 'SCRIPT') { + clone.appendChild(cloneNodeIE9(child, javascriptEnabled)); + } + child = child.nextSibling; + } + + return clone; + } + + function createWindowClone(ownerDocument, containerDocument, width, height, options, x, y) { + labelCanvasElements(ownerDocument); + var documentElement = isIE9() ? cloneNodeIE9(ownerDocument.documentElement, options.javascriptEnabled) : ownerDocument.documentElement.cloneNode(true); + var container = containerDocument.createElement("iframe"); + + container.className = "html2canvas-container"; + container.style.visibility = "hidden"; + container.style.position = "fixed"; + container.style.left = "-10000px"; + container.style.top = "0px"; + container.style.border = "0"; + container.width = width; + container.height = height; + container.scrolling = "no"; // ios won't scroll without it + containerDocument.body.appendChild(container); + + return new Promise(function (resolve) { + var documentClone = container.contentWindow.document; + + cloneNodeValues(ownerDocument.documentElement, documentElement, "textarea"); + cloneNodeValues(ownerDocument.documentElement, documentElement, "select"); + + /* Chrome doesn't detect relative background-images assigned in inline + + + + + +

+ + + +
+ +
+
+ +
+ + + diff --git a/output.cyjs b/output.cyjs new file mode 100644 index 0000000..3b33a4c --- /dev/null +++ b/output.cyjs @@ -0,0 +1,679 @@ +{ + "format_version" : "1.0", + "generated_by" : "cytoscape-3.2.1", + "target_cytoscapejs_version" : "~2.1", + "data" : { + "shared_name" : "Pathway", + "name" : "TP53 Network", + "SUID" : 49, + "__Annotations" : [ ], + "selected" : true + },"elements" : { + "nodes" : [ { + "data" : { + "id" : "b6fd7", + "SUID" : "b6fd7","shared_name" : "TP73alpha","name" : "TP73alpha","Type":"Protein","XrefId":"O15350","Height":27,"Width":80.75,"LabelSize":10,"GraphId":"b6fd7","Valign":"Middle","Color":"ff0033","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.125, + "y" : 125.5 + }, + "selected" : false + },{ + "data" : { + "id" : "e2998", + "SUID" : "e2998","shared_name" : "ATM","name" : "ATM","Type":"GeneProduct","XrefId":"ENSG00000149311","Height":21.5,"Width":77.5,"LabelSize":10,"GraphId":"e2998","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 513.75, + "y" : 205.25 + }, + "selected" : false + },{ + "data" : { + "id" : "b1117", + "SUID" : "b1117","shared_name" : "ABL1","name" : "ABL1","Type":"GeneProduct","XrefId":"25","Height":20.5,"Width":78.5,"LabelSize":10,"GraphId":"b1117","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 632.25, + "y" : 205.25 + }, + "selected" : false + },{ + "data" : { + "id" : "acbaf", + "SUID" : "acbaf","shared_name" : "TP73zeta","name" : "TP73zeta","Type":"Protein","XrefId":"O15350","Height":29,"Width":83,"LabelSize":10,"GraphId":"acbaf","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 226.5 + }, + "selected" : false + },{ + "data" : { + "id" : "baf57", + "SUID" : "baf57","shared_name" : "BAX","name" : "BAX","Type":"GeneProduct","XrefId":"581","Height":22,"Width":64,"LabelSize":10,"GraphId":"baf57","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 537.5, + "y" : 318 + }, + "selected" : false + },{ + "data" : { + "id" : "cae10", + "SUID" : "cae10","shared_name" : "TP73beta","name" : "TP73beta","Type":"Protein","XrefId":"O15350","Height":28,"Width":81,"LabelSize":10,"GraphId":"cae10","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 160 + }, + "selected" : false + },{ + "data" : { + "id" : "f9ce7", + "SUID" : "f9ce7","shared_name" : "DeltaNp63beta","name" : "DeltaNp63beta","Type":"Protein","XrefId":"Q9H3D4","Height":27.5,"Width":69.5,"LabelSize":10,"GraphId":"f9ce7","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 783.25 + }, + "selected" : false + },{ + "data" : { + "id" : "f145f", + "SUID" : "f145f","shared_name" : "TAp63alpha","name" : "TAp63alpha","Type":"Protein","XrefId":"Q9H3D4","Height":28,"Width":68,"LabelSize":10,"GraphId":"f145f","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 774, + "y" : 660 + }, + "selected" : false + },{ + "data" : { + "id" : "b564d", + "SUID" : "b564d","shared_name" : "TP73delta","name" : "TP73delta","Type":"Protein","XrefId":"O15350","Height":28,"Width":81,"LabelSize":10,"GraphId":"b564d","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 193 + }, + "selected" : false + },{ + "data" : { + "id" : "cee8f", + "SUID" : "cee8f","shared_name" : "TP53","name" : "TP53","Type":"GeneProduct","XrefId":"7157","Height":20,"Width":80,"LabelSize":10,"GraphId":"cee8f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 596.5, + "y" : 487 + }, + "selected" : false + },{ + "data" : { + "id" : "cac78", + "SUID" : "cac78","shared_name" : "MYC","name" : "MYC","Type":"GeneProduct","XrefId":"4609","Height":20,"Width":80,"LabelSize":10,"GraphId":"cac78","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 736.5, + "y" : 488 + }, + "selected" : false + },{ + "data" : { + "id" : "b806c", + "SUID" : "b806c","shared_name" : "TAp63gamma","name" : "TAp63gamma","Type":"Protein","XrefId":"Q9H3D4","Height":26,"Width":68,"LabelSize":10,"GraphId":"b806c","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775, + "y" : 721 + }, + "selected" : false + },{ + "data" : { + "id" : "ab99e", + "SUID" : "ab99e","shared_name" : "TP73 Delta Np73","name" : "TP73 Delta Np73","Type":"Protein","XrefId":"O15350","Height":27,"Width":84,"LabelSize":10,"GraphId":"ab99e","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 320.5 + }, + "selected" : false + },{ + "data" : { + "id" : "e030c", + "SUID" : "e030c","shared_name" : "TP63","name" : "TP63","Type":"GeneProduct","XrefId":"8626","Height":25,"Width":66,"LabelSize":10,"GraphId":"e030c","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 904, + "y" : 736.5 + }, + "selected" : false + },{ + "data" : { + "id" : "ba5fa", + "SUID" : "ba5fa","shared_name" : "TP73gamma","name" : "TP73gamma","Type":"Protein","XrefId":"O15350","Height":23,"Width":82,"LabelSize":10,"GraphId":"ba5fa","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 258.5 + }, + "selected" : false + },{ + "data" : { + "id" : "f6c0f", + "SUID" : "f6c0f","shared_name" : "TP73epsilon","name" : "TP73epsilon","Type":"Protein","XrefId":"O15350","Height":26,"Width":84,"LabelSize":10,"GraphId":"f6c0f","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 289 + }, + "selected" : false + },{ + "data" : { + "id" : "ab943", + "SUID" : "ab943","shared_name" : "DelatNp63alpha","name" : "DelatNp63alpha","Type":"Protein","XrefId":"Q9H3D4","Height":26.5,"Width":70.5,"LabelSize":10,"GraphId":"ab943","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 751.75 + }, + "selected" : false + },{ + "data" : { + "id" : "a0a73", + "SUID" : "a0a73","shared_name" : "DeltaNp63gamma","name" : "DeltaNp63gamma","Type":"Protein","XrefId":"Q9H3D4","Height":27.5,"Width":68.5,"LabelSize":10,"GraphId":"a0a73","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 814.25 + }, + "selected" : false + },{ + "data" : { + "id" : "a8890", + "SUID" : "a8890","shared_name" : "TAp63beta","name" : "TAp63beta","Type":"Protein","XrefId":"Q9H3D4","Height":27,"Width":69.5,"LabelSize":10,"GraphId":"a8890","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 691.5 + }, + "selected" : false + },{ + "data" : { + "id" : "ea18f", + "SUID" : "ea18f","shared_name" : "MDM2","name" : "MDM2","Type":"GeneProduct","XrefId":"ENSG00000135679","Height":20,"Width":68.5,"LabelSize":10,"GraphId":"ea18f","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 612.75, + "y" : 318 + }, + "selected" : false + },{ + "data" : { + "id" : "d571f", + "SUID" : "d571f","shared_name" : "GADD45A","name" : "GADD45A","Type":"GeneProduct","XrefId":"1647","Height":23,"Width":70.5,"LabelSize":10,"GraphId":"d571f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 460.25, + "y" : 319.5 + }, + "selected" : false + },{ + "data" : { + "id" : "b2ed9", + "SUID" : "b2ed9","shared_name" : "SUMO-1","name" : "SUMO-1","Type":"Protein","XrefId":"7341","Height":21.5,"Width":68,"LabelSize":10,"GraphId":"b2ed9","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 560, + "y" : 562.25 + }, + "selected" : false + },{ + "data" : { + "id" : "c2a8f", + "SUID" : "c2a8f","shared_name" : "PMAIP1","name" : "PMAIP1","Type":"GeneProduct","XrefId":"5366","Height":24.5,"Width":64.5,"LabelSize":10,"GraphId":"c2a8f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 390.75, + "y" : 584.75 + }, + "selected" : false + },{ + "data" : { + "id" : "cfd0f", + "SUID" : "cfd0f","shared_name" : "BBC3","name" : "BBC3","Type":"GeneProduct","XrefId":"27113","Height":24.5,"Width":65.5,"LabelSize":10,"GraphId":"cfd0f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 391.25, + "y" : 614.75 + }, + "selected" : false + },{ + "data" : { + "id" : "cf1dd", + "SUID" : "cf1dd","shared_name" : "CDKN2A","name" : "CDKN2A","Type":"GeneProduct","XrefId":"1029","Height":23,"Width":65,"LabelSize":10,"GraphId":"cf1dd","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 845.5, + "y" : 487.5 + }, + "selected" : false + },{ + "data" : { + "id" : "b81a9", + "SUID" : "b81a9","shared_name" : "BOK","name" : "BOK","Type":"GeneProduct","XrefId":"666","Height":25,"Width":66,"LabelSize":10,"GraphId":"b81a9","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 390, + "y" : 554.5 + }, + "selected" : false + },{ + "data" : { + "id" : "a390d", + "SUID" : "a390d","shared_name" : "CDKN1A","name" : "CDKN1A","Type":"GeneProduct","XrefId":"ENSG00000124762","Height":23,"Width":54.5,"LabelSize":10,"GraphId":"a390d","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 682.75, + "y" : 319.5 + }, + "selected" : false + },{ + "data" : { + "id" : "dd842", + "SUID" : "dd842","shared_name" : "IGFBP-3","name" : "IGFBP-3","Type":"GeneProduct","XrefId":"Hs.146732","Height":24.5,"Width":65.5,"LabelSize":10,"GraphId":"dd842","Valign":"Middle","XrefDatasource":"UniGene","selected" : false + }, + "position" : { + "x" : 904, + "y" : 761.25 + }, + "selected" : false + },{ + "data" : { + "id" : "d288f", + "SUID" : "d288f","shared_name" : "TP73","name" : "TP73","Type":"GeneProduct","XrefId":"7161","Height":23.5,"Width":70.5,"LabelSize":10,"GraphId":"d288f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 1065.75, + "y" : 222.25 + }, + "selected" : false + },{ + "data" : { + "id" : "e8257", + "SUID" : "e8257","shared_name" : "OTX2","name" : "OTX2","Type":"GeneProduct","XrefId":"ENSG00000165588","Height":18.5,"Width":62.5,"LabelSize":10,"GraphId":"e8257","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 458.75, + "y" : 441.75 + }, + "selected" : false + },{ + "data" : { + "id" : "fbd89", + "SUID" : "fbd89","shared_name" : "TNFSF10","name" : "TNFSF10","Type":"GeneProduct","XrefId":"8743","Height":24.5,"Width":61.5,"LabelSize":10,"GraphId":"fbd89","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 537.25, + "y" : 244.75 + }, + "selected" : false + },{ + "data" : { + "id" : "a889a", + "SUID" : "a889a","shared_name" : "BID","name" : "BID","Type":"GeneProduct","XrefId":"ENSG00000015475","Height":24.5,"Width":59.5,"LabelSize":10,"GraphId":"a889a","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 402.25, + "y" : 230.75 + }, + "selected" : false + },{ + "data" : { + "id" : "cc711", + "SUID" : "cc711","shared_name" : "BCL2","name" : "BCL2","Type":"GeneProduct","XrefId":"ENSG00000171791","Height":24.5,"Width":58.5,"LabelSize":10,"GraphId":"cc711","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 402.75, + "y" : 258.75 + }, + "selected" : false + },{ + "data" : { + "id" : "a89bb", + "SUID" : "a89bb","shared_name" : "Grown arrest and apoptosis","name" : "Grown arrest and apoptosis","Height":20,"Width":143,"LabelSize":10,"GraphId":"a89bb","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 234.5, + "y" : 482 + }, + "selected" : false + },{ + "data" : { + "id" : "a3afb", + "SUID" : "a3afb","shared_name" : "Grown arrest and apoptosis","name" : "Grown arrest and apoptosis","Height":20,"Width":147,"LabelSize":10,"GraphId":"a3afb","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 709.5, + "y" : 68 + }, + "selected" : false + },{ + "data" : { + "id" : "d5507", + "SUID" : "d5507","shared_name" : "Reduces transcriptional activity but does not induce degradation","name" : "Reduces transcriptional activity but does not induce degradation","Height":20,"Width":324,"LabelSize":10,"GraphId":"d5507","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 385, + "y" : 789 + }, + "selected" : false + },{ + "data" : { + "id" : "bf8fe", + "SUID" : "bf8fe","shared_name" : "Apoptosis","name" : "Apoptosis","Height":20,"Width":51,"LabelSize":10,"GraphId":"bf8fe","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 896.5, + "y" : 664 + }, + "selected" : false + },{ + "data" : { + "id" : "d3743", + "SUID" : "d3743","shared_name" : "Different isoforms of the protein","name" : "Different isoforms of the protein","Height":20,"Width":155,"LabelSize":10,"GraphId":"d3743","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 310.5, + "y" : 815 + }, + "selected" : false + },{ + "data" : { + "id" : "a3831", + "SUID" : "a3831","Height":18.118178460751245,"Width":96.23781496210933,"LabelSize":10,"GraphId":"a3831","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"4.67364868272121","selected" : false + }, + "position" : { + "x" : 721.9988899555982, + "y" : 790.2713608544343 + }, + "selected" : false + },{ + "data" : { + "id" : "df593", + "SUID" : "df593","Height":18.97805729188017,"Width":96.00520812883471,"LabelSize":10,"GraphId":"df593","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"4.722841561369899","selected" : false + }, + "position" : { + "x" : 720.4793148656194, + "y" : 688.9788778557383 + }, + "selected" : false + },{ + "data" : { + "id" : "bc0e8", + "SUID" : "bc0e8","Height":20.71097184885804,"Width":194.24228243345232,"LabelSize":10,"GraphId":"bc0e8","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"4.741696547329296","selected" : false + }, + "position" : { + "x" : 882.4949379836745, + "y" : 207.61711544577548 + }, + "selected" : false + },{ + "data" : { + "id" : "c46f0", + "SUID" : "c46f0","Height":9.02223437967779,"Width":89.00458992572263,"LabelSize":10,"GraphId":"c46f0","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"1.5547549221482528","selected" : false + }, + "position" : { + "x" : 821.5284019745886, + "y" : 691.4995443533489 + }, + "selected" : false + },{ + "data" : { + "id" : "a013d", + "SUID" : "a013d","Height":19.5,"Width":51.5,"LabelSize":10,"GraphId":"a013d","Valign":"Middle","IsGPMLShape" : true,"Shape":"Rectangle","Rotation":"0","Color":"ff3333","selected" : false + }, + "position" : { + "x" : 196.25, + "y" : 814.25 + }, + "selected" : false + }], + "edges" : [ {"data" : { + "id" : "ea694", + "SUID" : "ea694","BiopaxRef":"ada","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":552.5,"y":205.25},{"x":593.0,"y":205.25}],"GraphId":"ea694","ZOrder":"12288","source":"e2998","target":"b1117", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "d44af", + "SUID" : "d44af","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":696.5,"y":488.0},{"x":636.5,"y":487.0}],"GraphId":"d44af","ZOrder":"12288","source":"cac78","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "aae7e", + "SUID" : "aae7e","BiopaxRef":"f3c","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":899.5,"y":313.75},{"x":616.5,"y":477.0}],"GraphId":"aae7e","ZOrder":"12288","source":"ab99e","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "c2e56", + "SUID" : "c2e56","BiopaxRef":"c70","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":710.4890626138044,"y":688.9788778557383},{"x":616.5,"y":497.0}],"GraphId":"c2e56","ZOrder":"12288","source":"df593","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "abd8b", + "SUID" : "abd8b","BiopaxRef":"a1e","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":711.0829233169326,"y":790.2713608544345},{"x":576.5,"y":497.0}],"GraphId":"abd8b","ZOrder":"12288","source":"a3831","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "b9169", + "SUID" : "b9169","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":736.5,"y":478.0},{"x":869.2979221880635,"y":207.61711544577537}],"GraphId":"b9169","ZOrder":"12288","source":"cac78","target":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "d081a", + "SUID" : "d081a","BiopaxRef":"af2","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":671.5,"y":205.25},{"x":869.2979221880635,"y":207.61711544577537}],"GraphId":"d081a","ZOrder":"12288","source":"b1117","target":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "iddcf2b769", + "SUID" : "iddcf2b769","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":556.5,"y":487.0},{"x":306.0,"y":482.0}],"GraphId":"iddcf2b769","ZOrder":"12288","source":"cee8f","target":"a89bb", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id9889382a", + "SUID" : "id9889382a","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":776.5,"y":488.0},{"x":813.0,"y":487.5}],"GraphId":"id9889382a","ZOrder":"12288","source":"cac78","target":"cf1dd", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idc8239132", + "SUID" : "idc8239132","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":877.0,"y":487.0},{"x":842.0,"y":443.0},{"x":631.0,"y":399.0}],"GraphId":"idc8239132","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id1784ab3d", + "SUID" : "id1784ab3d","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":475.0,"y":205.25},{"x":298.0,"y":283.625},{"x":437.0,"y":362.0},{"x":576.0,"y":406.5},{"x":576.0,"y":451.0}],"GraphId":"id1784ab3d","ZOrder":"12288","source":"e2998", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idd6fbd36", + "SUID" : "idd6fbd36","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":612.75,"y":308.0},{"x":615.0,"y":132.0}],"GraphId":"idd6fbd36","ZOrder":"12288","source":"ea18f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idb2a3006f", + "SUID" : "idb2a3006f","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":170.0,"y":789.0},{"x":221.0,"y":789.0}],"GraphId":"idb2a3006f","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id8867bce2", + "SUID" : "id8867bce2","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":808.0,"y":660.0},{"x":871.0,"y":664.0}],"GraphId":"id8867bce2","ZOrder":"12288","source":"f145f","target":"bf8fe", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idaa7fed1f", + "SUID" : "idaa7fed1f","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":810.5,"y":758.375},{"x":871.25,"y":761.25}],"GraphId":"idaa7fed1f","ZOrder":"12288","source":"ab943","target":"dd842", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idf797ab33", + "SUID" : "idf797ab33","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":957.0,"y":693.0},{"x":826.7527874664074,"y":691.4995443533489}],"GraphId":"idf797ab33","ZOrder":"12288","target":"c46f0", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id8e42b9e5", + "SUID" : "id8e42b9e5","LineThickness":1.0,"Coords":[{"x":962.5,"y":334.0},{"x":957.0,"y":692.0}],"GraphId":"id8e42b9e5","ZOrder":"12288","source":"ab99e", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id28e07596", + "SUID" : "id28e07596","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":614.0,"y":138.0},{"x":866.0,"y":139.0}],"GraphId":"id28e07596","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id3e486e28", + "SUID" : "id3e486e28","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":900.75,"y":118.75},{"x":868.0,"y":120.0}],"GraphId":"id3e486e28","ZOrder":"12288","source":"b6fd7", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "ide9adea14", + "SUID" : "ide9adea14","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":869.0,"y":122.0},{"x":870.0,"y":159.0}],"GraphId":"ide9adea14","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idc22de6cc", + "SUID" : "idc22de6cc","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":872.0,"y":161.0},{"x":901.0,"y":160.0}],"GraphId":"idc22de6cc","ZOrder":"12288","target":"cae10", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "iddf680248", + "SUID" : "iddf680248","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":556.5,"y":487.0},{"x":436.0,"y":584.5}],"GraphId":"iddf680248","ZOrder":"12288","source":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id2225e448", + "SUID" : "id2225e448","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":612.75,"y":328.0},{"x":616.5,"y":477.0}],"GraphId":"id2225e448","ZOrder":"12288","source":"ea18f","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id41ab3747", + "SUID" : "id41ab3747","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":869.2979221880635,"y":207.61711544577537},{"x":783.0,"y":68.0}],"GraphId":"id41ab3747","ZOrder":"12288","source":"bc0e8","target":"a3afb", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id5b77ae9a", + "SUID" : "id5b77ae9a","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":631.0,"y":399.0},{"x":629.875,"y":328.0}],"GraphId":"id5b77ae9a","ZOrder":"12288","target":"ea18f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id7efc9f41", + "SUID" : "id7efc9f41","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":869.2979221880635,"y":207.61711544577537},{"x":567.5,"y":295.0}],"GraphId":"id7efc9f41","ZOrder":"12288","source":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idad814d38", + "SUID" : "idad814d38","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":871.0,"y":736.5},{"x":822.5,"y":737.0}],"GraphId":"idad814d38","ZOrder":"12288","source":"e030c", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id9d04ce8b", + "SUID" : "id9d04ce8b","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":596.5,"y":477.0},{"x":595.625,"y":328.0}],"GraphId":"id9d04ce8b","ZOrder":"12288","source":"cee8f","target":"ea18f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idca15b6b1", + "SUID" : "idca15b6b1","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":576.0,"y":450.0},{"x":576.5,"y":477.0}],"GraphId":"idca15b6b1","ZOrder":"12288","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id67d6bee4", + "SUID" : "id67d6bee4","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":560.0,"y":551.5},{"x":576.5,"y":497.0}],"GraphId":"id67d6bee4","ZOrder":"12288","source":"b2ed9","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id2b489f88", + "SUID" : "id2b489f88","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":1030.5,"y":222.25},{"x":995.5,"y":223.0}],"GraphId":"id2b489f88","ZOrder":"12288","source":"d288f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id5c1c906a", + "SUID" : "id5c1c906a","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":711.0829233169326,"y":790.2713608544345},{"x":690.0,"y":688.0}],"GraphId":"id5c1c906a","ZOrder":"12288","source":"a3831", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "ide395a147", + "SUID" : "ide395a147","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":690.0,"y":689.0},{"x":710.4890626138044,"y":688.9788778557383}],"GraphId":"ide395a147","ZOrder":"12288","target":"df593", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id72cb0404", + "SUID" : "id72cb0404","BiopaxRef":"da3","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":490.0,"y":441.75},{"x":576.5,"y":477.0}],"GraphId":"id72cb0404","ZOrder":"12288","source":"e8257","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idd87a0f4b", + "SUID" : "idd87a0f4b","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":899.5,"y":313.75},{"x":869.0,"y":275.375},{"x":869.0,"y":237.0}],"GraphId":"idd87a0f4b","ZOrder":"12288","source":"ab99e", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id8d06493a", + "SUID" : "id8d06493a","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":869.0,"y":236.0},{"x":869.2979221880635,"y":207.61711544577537}],"GraphId":"id8d06493a","ZOrder":"12288","target":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id2285310d", + "SUID" : "id2285310d","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":537.25,"y":257.0},{"x":537.5,"y":307.0}],"GraphId":"id2285310d","ZOrder":"12288","source":"fbd89","target":"baf57", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id87222dd3", + "SUID" : "id87222dd3","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":552.625,"y":257.0},{"x":576.5,"y":477.0}],"GraphId":"id87222dd3","ZOrder":"12288","source":"fbd89","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id96d4e215", + "SUID" : "id96d4e215","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":506.5,"y":244.75},{"x":444.0,"y":244.75}],"GraphId":"id96d4e215","ZOrder":"12288","source":"fbd89", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + }] + } +} \ No newline at end of file diff --git a/output.cyjs~ b/output.cyjs~ new file mode 100644 index 0000000..f32e4db --- /dev/null +++ b/output.cyjs~ @@ -0,0 +1,679 @@ +{ + "format_version" : "1.0", + "generated_by" : "cytoscape-3.2.1", + "target_cytoscapejs_version" : "~2.1", + "data" : { + "shared_name" : "Pathway", + "name" : "TP53 Network", + "SUID" : 16, + "__Annotations" : [ ], + "selected" : true + },"elements" : { + "nodes" : [ { + "data" : { + "id" : "e030c", + "SUID" : "e030c","shared_name" : "TP63","name" : "TP63","Type":"GeneProduct","XrefId":"8626","Height":25,"Width":66,"LabelSize":10,"GraphId":"e030c","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 904, + "y" : 736.5 + }, + "selected" : false + },{ + "data" : { + "id" : "ba5fa", + "SUID" : "ba5fa","shared_name" : "TP73gamma","name" : "TP73gamma","Type":"Protein","XrefId":"O15350","Height":23,"Width":82,"LabelSize":10,"GraphId":"ba5fa","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 258.5 + }, + "selected" : false + },{ + "data" : { + "id" : "f6c0f", + "SUID" : "f6c0f","shared_name" : "TP73epsilon","name" : "TP73epsilon","Type":"Protein","XrefId":"O15350","Height":26,"Width":84,"LabelSize":10,"GraphId":"f6c0f","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 289 + }, + "selected" : false + },{ + "data" : { + "id" : "ab943", + "SUID" : "ab943","shared_name" : "DelatNp63alpha","name" : "DelatNp63alpha","Type":"Protein","XrefId":"Q9H3D4","Height":26.5,"Width":70.5,"LabelSize":10,"GraphId":"ab943","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 751.75 + }, + "selected" : false + },{ + "data" : { + "id" : "a0a73", + "SUID" : "a0a73","shared_name" : "DeltaNp63gamma","name" : "DeltaNp63gamma","Type":"Protein","XrefId":"Q9H3D4","Height":27.5,"Width":68.5,"LabelSize":10,"GraphId":"a0a73","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 814.25 + }, + "selected" : false + },{ + "data" : { + "id" : "a8890", + "SUID" : "a8890","shared_name" : "TAp63beta","name" : "TAp63beta","Type":"Protein","XrefId":"Q9H3D4","Height":27,"Width":69.5,"LabelSize":10,"GraphId":"a8890","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 691.5 + }, + "selected" : false + },{ + "data" : { + "id" : "ea18f", + "SUID" : "ea18f","shared_name" : "MDM2","name" : "MDM2","Type":"GeneProduct","XrefId":"ENSG00000135679","Height":20,"Width":68.5,"LabelSize":10,"GraphId":"ea18f","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 612.75, + "y" : 318 + }, + "selected" : false + },{ + "data" : { + "id" : "d571f", + "SUID" : "d571f","shared_name" : "GADD45A","name" : "GADD45A","Type":"GeneProduct","XrefId":"1647","Height":23,"Width":70.5,"LabelSize":10,"GraphId":"d571f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 460.25, + "y" : 319.5 + }, + "selected" : false + },{ + "data" : { + "id" : "b2ed9", + "SUID" : "b2ed9","shared_name" : "SUMO-1","name" : "SUMO-1","Type":"Protein","XrefId":"7341","Height":21.5,"Width":68,"LabelSize":10,"GraphId":"b2ed9","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 560, + "y" : 562.25 + }, + "selected" : false + },{ + "data" : { + "id" : "c2a8f", + "SUID" : "c2a8f","shared_name" : "PMAIP1","name" : "PMAIP1","Type":"GeneProduct","XrefId":"5366","Height":24.5,"Width":64.5,"LabelSize":10,"GraphId":"c2a8f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 390.75, + "y" : 584.75 + }, + "selected" : false + },{ + "data" : { + "id" : "cfd0f", + "SUID" : "cfd0f","shared_name" : "BBC3","name" : "BBC3","Type":"GeneProduct","XrefId":"27113","Height":24.5,"Width":65.5,"LabelSize":10,"GraphId":"cfd0f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 391.25, + "y" : 614.75 + }, + "selected" : false + },{ + "data" : { + "id" : "cf1dd", + "SUID" : "cf1dd","shared_name" : "CDKN2A","name" : "CDKN2A","Type":"GeneProduct","XrefId":"1029","Height":23,"Width":65,"LabelSize":10,"GraphId":"cf1dd","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 845.5, + "y" : 487.5 + }, + "selected" : false + },{ + "data" : { + "id" : "b81a9", + "SUID" : "b81a9","shared_name" : "BOK","name" : "BOK","Type":"GeneProduct","XrefId":"666","Height":25,"Width":66,"LabelSize":10,"GraphId":"b81a9","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 390, + "y" : 554.5 + }, + "selected" : false + },{ + "data" : { + "id" : "a390d", + "SUID" : "a390d","shared_name" : "CDKN1A","name" : "CDKN1A","Type":"GeneProduct","XrefId":"ENSG00000124762","Height":23,"Width":54.5,"LabelSize":10,"GraphId":"a390d","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 682.75, + "y" : 319.5 + }, + "selected" : false + },{ + "data" : { + "id" : "dd842", + "SUID" : "dd842","shared_name" : "IGFBP-3","name" : "IGFBP-3","Type":"GeneProduct","XrefId":"Hs.146732","Height":24.5,"Width":65.5,"LabelSize":10,"GraphId":"dd842","Valign":"Middle","XrefDatasource":"UniGene","selected" : false + }, + "position" : { + "x" : 904, + "y" : 761.25 + }, + "selected" : false + },{ + "data" : { + "id" : "d288f", + "SUID" : "d288f","shared_name" : "TP73","name" : "TP73","Type":"GeneProduct","XrefId":"7161","Height":23.5,"Width":70.5,"LabelSize":10,"GraphId":"d288f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 1065.75, + "y" : 222.25 + }, + "selected" : false + },{ + "data" : { + "id" : "e8257", + "SUID" : "e8257","shared_name" : "OTX2","name" : "OTX2","Type":"GeneProduct","XrefId":"ENSG00000165588","Height":18.5,"Width":62.5,"LabelSize":10,"GraphId":"e8257","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 458.75, + "y" : 441.75 + }, + "selected" : false + },{ + "data" : { + "id" : "fbd89", + "SUID" : "fbd89","shared_name" : "TNFSF10","name" : "TNFSF10","Type":"GeneProduct","XrefId":"8743","Height":24.5,"Width":61.5,"LabelSize":10,"GraphId":"fbd89","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 537.25, + "y" : 244.75 + }, + "selected" : false + },{ + "data" : { + "id" : "a889a", + "SUID" : "a889a","shared_name" : "BID","name" : "BID","Type":"GeneProduct","XrefId":"ENSG00000015475","Height":24.5,"Width":59.5,"LabelSize":10,"GraphId":"a889a","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 402.25, + "y" : 230.75 + }, + "selected" : false + },{ + "data" : { + "id" : "b6fd7", + "SUID" : "b6fd7","shared_name" : "TP73alpha","name" : "TP73alpha","Type":"Protein","XrefId":"O15350","Height":27,"Width":80.75,"LabelSize":10,"GraphId":"b6fd7","Valign":"Middle","Color":"ff0033","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.125, + "y" : 125.5 + }, + "selected" : false + },{ + "data" : { + "id" : "e2998", + "SUID" : "e2998","shared_name" : "ATM","name" : "ATM","Type":"GeneProduct","XrefId":"ENSG00000149311","Height":21.5,"Width":77.5,"LabelSize":10,"GraphId":"e2998","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 513.75, + "y" : 205.25 + }, + "selected" : false + },{ + "data" : { + "id" : "b1117", + "SUID" : "b1117","shared_name" : "ABL1","name" : "ABL1","Type":"GeneProduct","XrefId":"25","Height":20.5,"Width":78.5,"LabelSize":10,"GraphId":"b1117","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 632.25, + "y" : 205.25 + }, + "selected" : false + },{ + "data" : { + "id" : "acbaf", + "SUID" : "acbaf","shared_name" : "TP73zeta","name" : "TP73zeta","Type":"Protein","XrefId":"O15350","Height":29,"Width":83,"LabelSize":10,"GraphId":"acbaf","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 226.5 + }, + "selected" : false + },{ + "data" : { + "id" : "baf57", + "SUID" : "baf57","shared_name" : "BAX","name" : "BAX","Type":"GeneProduct","XrefId":"581","Height":22,"Width":64,"LabelSize":10,"GraphId":"baf57","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 537.5, + "y" : 318 + }, + "selected" : false + },{ + "data" : { + "id" : "cae10", + "SUID" : "cae10","shared_name" : "TP73beta","name" : "TP73beta","Type":"Protein","XrefId":"O15350","Height":28,"Width":81,"LabelSize":10,"GraphId":"cae10","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 160 + }, + "selected" : false + },{ + "data" : { + "id" : "f9ce7", + "SUID" : "f9ce7","shared_name" : "DeltaNp63beta","name" : "DeltaNp63beta","Type":"Protein","XrefId":"Q9H3D4","Height":27.5,"Width":69.5,"LabelSize":10,"GraphId":"f9ce7","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775.25, + "y" : 783.25 + }, + "selected" : false + },{ + "data" : { + "id" : "f145f", + "SUID" : "f145f","shared_name" : "TAp63alpha","name" : "TAp63alpha","Type":"Protein","XrefId":"Q9H3D4","Height":28,"Width":68,"LabelSize":10,"GraphId":"f145f","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 774, + "y" : 660 + }, + "selected" : false + },{ + "data" : { + "id" : "b564d", + "SUID" : "b564d","shared_name" : "TP73delta","name" : "TP73delta","Type":"Protein","XrefId":"O15350","Height":28,"Width":81,"LabelSize":10,"GraphId":"b564d","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 193 + }, + "selected" : false + },{ + "data" : { + "id" : "cee8f", + "SUID" : "cee8f","shared_name" : "TP53","name" : "TP53","Type":"GeneProduct","XrefId":"7157","Height":20,"Width":80,"LabelSize":10,"GraphId":"cee8f","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 596.5, + "y" : 487 + }, + "selected" : false + },{ + "data" : { + "id" : "cac78", + "SUID" : "cac78","shared_name" : "MYC","name" : "MYC","Type":"GeneProduct","XrefId":"4609","Height":20,"Width":80,"LabelSize":10,"GraphId":"cac78","Valign":"Middle","XrefDatasource":"Entrez Gene","selected" : false + }, + "position" : { + "x" : 736.5, + "y" : 488 + }, + "selected" : false + },{ + "data" : { + "id" : "b806c", + "SUID" : "b806c","shared_name" : "TAp63gamma","name" : "TAp63gamma","Type":"Protein","XrefId":"Q9H3D4","Height":26,"Width":68,"LabelSize":10,"GraphId":"b806c","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 775, + "y" : 721 + }, + "selected" : false + },{ + "data" : { + "id" : "ab99e", + "SUID" : "ab99e","shared_name" : "TP73 Delta Np73","name" : "TP73 Delta Np73","Type":"Protein","XrefId":"O15350","Height":27,"Width":84,"LabelSize":10,"GraphId":"ab99e","Valign":"Middle","Color":"ff3333","XrefDatasource":"Uniprot-TrEMBL","selected" : false + }, + "position" : { + "x" : 941.5, + "y" : 320.5 + }, + "selected" : false + },{ + "data" : { + "id" : "cc711", + "SUID" : "cc711","shared_name" : "BCL2","name" : "BCL2","Type":"GeneProduct","XrefId":"ENSG00000171791","Height":24.5,"Width":58.5,"LabelSize":10,"GraphId":"cc711","Valign":"Middle","XrefDatasource":"Ensembl","selected" : false + }, + "position" : { + "x" : 402.75, + "y" : 258.75 + }, + "selected" : false + },{ + "data" : { + "id" : "a89bb", + "SUID" : "a89bb","shared_name" : "Grown arrest and apoptosis","name" : "Grown arrest and apoptosis","Height":20,"Width":143,"LabelSize":10,"GraphId":"a89bb","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 234.5, + "y" : 482 + }, + "selected" : false + },{ + "data" : { + "id" : "a3afb", + "SUID" : "a3afb","shared_name" : "Grown arrest and apoptosis","name" : "Grown arrest and apoptosis","Height":20,"Width":147,"LabelSize":10,"GraphId":"a3afb","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 709.5, + "y" : 68 + }, + "selected" : false + },{ + "data" : { + "id" : "d5507", + "SUID" : "d5507","shared_name" : "Reduces transcriptional activity but does not induce degradation","name" : "Reduces transcriptional activity but does not induce degradation","Height":20,"Width":324,"LabelSize":10,"GraphId":"d5507","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 385, + "y" : 789 + }, + "selected" : false + },{ + "data" : { + "id" : "bf8fe", + "SUID" : "bf8fe","shared_name" : "Apoptosis","name" : "Apoptosis","Height":20,"Width":51,"LabelSize":10,"GraphId":"bf8fe","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 896.5, + "y" : 664 + }, + "selected" : false + },{ + "data" : { + "id" : "d3743", + "SUID" : "d3743","shared_name" : "Different isoforms of the protein","name" : "Different isoforms of the protein","Height":20,"Width":155,"LabelSize":10,"GraphId":"d3743","Valign":"Middle","FillColor":"ffffff","selected" : false + }, + "position" : { + "x" : 310.5, + "y" : 815 + }, + "selected" : false + },{ + "data" : { + "id" : "a3831", + "SUID" : "a3831","Height":18.118178460751245,"Width":96.23781496210933,"LabelSize":10,"GraphId":"a3831","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"4.67364868272121","selected" : false + }, + "position" : { + "x" : 721.9988899555982, + "y" : 790.2713608544343 + }, + "selected" : false + },{ + "data" : { + "id" : "df593", + "SUID" : "df593","Height":18.97805729188017,"Width":96.00520812883471,"LabelSize":10,"GraphId":"df593","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"4.722841561369899","selected" : false + }, + "position" : { + "x" : 720.4793148656194, + "y" : 688.9788778557383 + }, + "selected" : false + },{ + "data" : { + "id" : "bc0e8", + "SUID" : "bc0e8","Height":20.71097184885804,"Width":194.24228243345232,"LabelSize":10,"GraphId":"bc0e8","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"4.741696547329296","selected" : false + }, + "position" : { + "x" : 882.4949379836745, + "y" : 207.61711544577548 + }, + "selected" : false + },{ + "data" : { + "id" : "c46f0", + "SUID" : "c46f0","Height":9.02223437967779,"Width":89.00458992572263,"LabelSize":10,"GraphId":"c46f0","Valign":"Middle","IsGPMLShape" : true,"Shape":"Brace","Rotation":"1.5547549221482528","selected" : false + }, + "position" : { + "x" : 821.5284019745886, + "y" : 691.4995443533489 + }, + "selected" : false + },{ + "data" : { + "id" : "a013d", + "SUID" : "a013d","Height":19.5,"Width":51.5,"LabelSize":10,"GraphId":"a013d","Valign":"Middle","IsGPMLShape" : true,"Shape":"Rectangle","Rotation":"0","Color":"ff3333","selected" : false + }, + "position" : { + "x" : 196.25, + "y" : 814.25 + }, + "selected" : false + }], + "edges" : [ {"data" : { + "id" : "id5b77ae9a", + "SUID" : "id5b77ae9a","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":631.0,"y":399.0},{"x":629.875,"y":328.0}],"GraphId":"id5b77ae9a","ZOrder":"12288","target":"ea18f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id9d04ce8b", + "SUID" : "id9d04ce8b","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":596.5,"y":477.0},{"x":595.625,"y":328.0}],"GraphId":"id9d04ce8b","ZOrder":"12288","source":"cee8f","target":"ea18f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id9889382a", + "SUID" : "id9889382a","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":776.5,"y":488.0},{"x":813.0,"y":487.5}],"GraphId":"id9889382a","ZOrder":"12288","source":"cac78","target":"cf1dd", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idaa7fed1f", + "SUID" : "idaa7fed1f","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":810.5,"y":758.375},{"x":871.25,"y":761.25}],"GraphId":"idaa7fed1f","ZOrder":"12288","source":"ab943","target":"dd842", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "ea694", + "SUID" : "ea694","BiopaxRef":"ada","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":552.5,"y":205.25},{"x":593.0,"y":205.25}],"GraphId":"ea694","ZOrder":"12288","source":"e2998","target":"b1117", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id2285310d", + "SUID" : "id2285310d","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":537.25,"y":257.0},{"x":537.5,"y":307.0}],"GraphId":"id2285310d","ZOrder":"12288","source":"fbd89","target":"baf57", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idc22de6cc", + "SUID" : "idc22de6cc","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":872.0,"y":161.0},{"x":901.0,"y":160.0}],"GraphId":"idc22de6cc","ZOrder":"12288","target":"cae10", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idca15b6b1", + "SUID" : "idca15b6b1","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":576.0,"y":450.0},{"x":576.5,"y":477.0}],"GraphId":"idca15b6b1","ZOrder":"12288","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "c2e56", + "SUID" : "c2e56","BiopaxRef":"c70","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":710.4890626138044,"y":688.9788778557383},{"x":616.5,"y":497.0}],"GraphId":"c2e56","ZOrder":"12288","source":"df593","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "abd8b", + "SUID" : "abd8b","BiopaxRef":"a1e","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":711.0829233169326,"y":790.2713608544345},{"x":576.5,"y":497.0}],"GraphId":"abd8b","ZOrder":"12288","source":"a3831","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "aae7e", + "SUID" : "aae7e","BiopaxRef":"f3c","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":899.5,"y":313.75},{"x":616.5,"y":477.0}],"GraphId":"aae7e","ZOrder":"12288","source":"ab99e","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "d44af", + "SUID" : "d44af","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":696.5,"y":488.0},{"x":636.5,"y":487.0}],"GraphId":"d44af","ZOrder":"12288","source":"cac78","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id87222dd3", + "SUID" : "id87222dd3","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":552.625,"y":257.0},{"x":576.5,"y":477.0}],"GraphId":"id87222dd3","ZOrder":"12288","source":"fbd89","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id72cb0404", + "SUID" : "id72cb0404","BiopaxRef":"da3","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":490.0,"y":441.75},{"x":576.5,"y":477.0}],"GraphId":"id72cb0404","ZOrder":"12288","source":"e8257","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id67d6bee4", + "SUID" : "id67d6bee4","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":560.0,"y":551.5},{"x":576.5,"y":497.0}],"GraphId":"id67d6bee4","ZOrder":"12288","source":"b2ed9","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id2225e448", + "SUID" : "id2225e448","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":612.75,"y":328.0},{"x":616.5,"y":477.0}],"GraphId":"id2225e448","ZOrder":"12288","source":"ea18f","target":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "iddcf2b769", + "SUID" : "iddcf2b769","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":556.5,"y":487.0},{"x":306.0,"y":482.0}],"GraphId":"iddcf2b769","ZOrder":"12288","source":"cee8f","target":"a89bb", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id41ab3747", + "SUID" : "id41ab3747","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":869.2979221880635,"y":207.61711544577537},{"x":783.0,"y":68.0}],"GraphId":"id41ab3747","ZOrder":"12288","source":"bc0e8","target":"a3afb", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id8867bce2", + "SUID" : "id8867bce2","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":808.0,"y":660.0},{"x":871.0,"y":664.0}],"GraphId":"id8867bce2","ZOrder":"12288","source":"f145f","target":"bf8fe", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "ide395a147", + "SUID" : "ide395a147","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":690.0,"y":689.0},{"x":710.4890626138044,"y":688.9788778557383}],"GraphId":"ide395a147","ZOrder":"12288","target":"df593", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id8d06493a", + "SUID" : "id8d06493a","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":869.0,"y":236.0},{"x":869.2979221880635,"y":207.61711544577537}],"GraphId":"id8d06493a","ZOrder":"12288","target":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "b9169", + "SUID" : "b9169","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":736.5,"y":478.0},{"x":869.2979221880635,"y":207.61711544577537}],"GraphId":"b9169","ZOrder":"12288","source":"cac78","target":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "d081a", + "SUID" : "d081a","BiopaxRef":"af2","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":671.5,"y":205.25},{"x":869.2979221880635,"y":207.61711544577537}],"GraphId":"d081a","ZOrder":"12288","source":"b1117","target":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idf797ab33", + "SUID" : "idf797ab33","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":957.0,"y":693.0},{"x":826.7527874664074,"y":691.4995443533489}],"GraphId":"idf797ab33","ZOrder":"12288","target":"c46f0", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idc8239132", + "SUID" : "idc8239132","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":877.0,"y":487.0},{"x":842.0,"y":443.0},{"x":631.0,"y":399.0}],"GraphId":"idc8239132","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idb2a3006f", + "SUID" : "idb2a3006f","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":170.0,"y":789.0},{"x":221.0,"y":789.0}],"GraphId":"idb2a3006f","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id28e07596", + "SUID" : "id28e07596","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":614.0,"y":138.0},{"x":866.0,"y":139.0}],"GraphId":"id28e07596","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "ide9adea14", + "SUID" : "ide9adea14","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":869.0,"y":122.0},{"x":870.0,"y":159.0}],"GraphId":"ide9adea14","ZOrder":"12288", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id7efc9f41", + "SUID" : "id7efc9f41","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":869.2979221880635,"y":207.61711544577537},{"x":567.5,"y":295.0}],"GraphId":"id7efc9f41","ZOrder":"12288","source":"bc0e8", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id5c1c906a", + "SUID" : "id5c1c906a","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":711.0829233169326,"y":790.2713608544345},{"x":690.0,"y":688.0}],"GraphId":"id5c1c906a","ZOrder":"12288","source":"a3831", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id8e42b9e5", + "SUID" : "id8e42b9e5","LineThickness":1.0,"Coords":[{"x":962.5,"y":334.0},{"x":957.0,"y":692.0}],"GraphId":"id8e42b9e5","ZOrder":"12288","source":"ab99e", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idd87a0f4b", + "SUID" : "idd87a0f4b","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":899.5,"y":313.75},{"x":869.0,"y":275.375},{"x":869.0,"y":237.0}],"GraphId":"idd87a0f4b","ZOrder":"12288","source":"ab99e", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "iddf680248", + "SUID" : "iddf680248","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":556.5,"y":487.0},{"x":436.0,"y":584.5}],"GraphId":"iddf680248","ZOrder":"12288","source":"cee8f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id1784ab3d", + "SUID" : "id1784ab3d","LineThickness":1.0,"ConnectorType":"Elbow","Coords":[{"x":475.0,"y":205.25},{"x":298.0,"y":283.625},{"x":437.0,"y":362.0},{"x":576.0,"y":406.5},{"x":576.0,"y":451.0}],"GraphId":"id1784ab3d","ZOrder":"12288","source":"e2998", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id3e486e28", + "SUID" : "id3e486e28","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":900.75,"y":118.75},{"x":868.0,"y":120.0}],"GraphId":"id3e486e28","ZOrder":"12288","source":"b6fd7", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id96d4e215", + "SUID" : "id96d4e215","LineThickness":1.0,"EndArrow":"TBar","Coords":[{"x":506.5,"y":244.75},{"x":444.0,"y":244.75}],"GraphId":"id96d4e215","ZOrder":"12288","source":"fbd89", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "id2b489f88", + "SUID" : "id2b489f88","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":1030.5,"y":222.25},{"x":995.5,"y":223.0}],"GraphId":"id2b489f88","ZOrder":"12288","source":"d288f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idd6fbd36", + "SUID" : "idd6fbd36","LineThickness":1.0,"LineStyle" : "Dashed","Coords":[{"x":612.75,"y":308.0},{"x":615.0,"y":132.0}],"GraphId":"idd6fbd36","ZOrder":"12288","source":"ea18f", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + },{"data" : { + "id" : "idad814d38", + "SUID" : "idad814d38","LineThickness":1.0,"EndArrow":"Arrow","Coords":[{"x":871.0,"y":736.5},{"x":822.5,"y":737.0}],"GraphId":"idad814d38","ZOrder":"12288","source":"e030c", "StartArrow" : "Line", + "selected" : false + }, + "selected" : false + }] + } +} diff --git a/style.css b/style.css new file mode 100644 index 0000000..8c774dd --- /dev/null +++ b/style.css @@ -0,0 +1,26 @@ +body { + font: 14px helvetica neue, helvetica, arial, sans-serif; +} + +#cy { + height: 100%; + width: 100%; + position: absolute; + left: 0; + /*top: 100px;*/ +} + +#info { + color: #c88; + font-size: 1em; + position: absolute; + z-index: -1; + left: 1em; + top: 1em; +} + +.thumb { + height: 75px; + border: 1px solid #000; + margin: 10px 5px 0 0; +} diff --git a/style.css~ b/style.css~ new file mode 100644 index 0000000..7e49280 --- /dev/null +++ b/style.css~ @@ -0,0 +1,20 @@ +body { + font: 14px helvetica neue, helvetica, arial, sans-serif; +} + +#cy { + height: 100%; + width: 100%; + position: absolute; + left: 0; + top: 0; +} + +#info { + color: #c88; + font-size: 1em; + position: absolute; + z-index: -1; + left: 1em; + top: 1em; +} \ No newline at end of file diff --git a/test b/test new file mode 100644 index 0000000..3011231 --- /dev/null +++ b/test @@ -0,0 +1,4 @@ +{ + "name": "Tham Hoang", + "family": "Vietnam" +} diff --git a/test~ b/test~ new file mode 100644 index 0000000..3011231 --- /dev/null +++ b/test~ @@ -0,0 +1,4 @@ +{ + "name": "Tham Hoang", + "family": "Vietnam" +}