`array Gdisplay;
`array Gchanges,'
`array GhiqhlightChars Istart,
`int $i : 0;
`struct lnput;
`
`endl;
`
`/ / Locati-on of cursor
`/ / Display of text
`/ / Aggregated changes
`/ / Start and end of highlight.ed text
`Contains type information and inputted
`values, including cursor moves and chars.
`
`while (1) {
`get ($input);
`($input :: cursorMove) i
`if
`moveCursor ($input) ; / / Sets $cursorlocat.íon per user instruction
`delete) {
`lsif
`$input
`delete (Gdisplay, $cursorlocation) ;
`
`handles both fwd and bkwd
`delete, and shifting
`remaining chars.
`
`(
`
`Ìe
`
`inserts char and
`right-shifts chars
`to make room.,
`
`)e
`
`($input :: replace) {
`lsif
`delete (ßdisplay' $cursorlocation) ;
`insert (Gdisplay, $cursorlocationl, $input) ;
`
`set s ßhiqhligihtChars for
`delete operat.ions
`
`Ìe
`
`($input :: highliqht)
`lsif
`{
`setHighlightedChars ( $input) ;
`
`Ìe
`
`i
`
`($input :: insert)
`lsif
`insert (Gdisplay, $cursorI,ocation, $input);
`
`{
`
`I 2 3 4 5 6 1 U 9
`
`10
`11
`72
`13
`14
`15
`L6
`L7
`1B
`79
`20
`2L
`22
`ZJ
`24
`25
`)^
`21
`2B
`29
`30
`31
`32
`33
`1AJ't
`
`1 of 2
`
`SYNCHRONOSS Exhibit 2014
`Dropbox, Inc. v. Synchronoss Technologies, Inc. - IPR2016-00850
`
`
`
`if
`
`/ / don't store cursor movements.
`($input !- cursorMove) {
`ßchanges [$i] : [$cursorlocation, $input] ;
`
`Ì i
`
`f
`
`(time to send changes) {
`send (Gchanges);
`Gchanges : nu1l; / /Zero out all changes
`$i : 0;
`Ìelse {
`$ i++;
`
`Ì
`
`Ì R
`
`eceiveChangies (GreceivedChanges) {
`$j = o;
`while ($receivedChanges [$j ] ) {
`Gdisplayl$cursorlocationl : $input;
`$j++;
`eturn;
`
`]r
`
`?q
`36
`31
`3B
`39
`40
`4I
`42
`43
`44
`45
`¿+o
`41
`4B
`49
`50
`51
`J¿.
`53
`54
`56
`5'l
`
`2 of 2
`
`SYNCHRONOSS Exhibit 2014
`Dropbox, Inc. v. Synchronoss Technologies, Inc. - IPR2016-00850
`
`