Text

Rendering ATK byte[] pageByteArray dynamically from server

What am trying:
After scribbling on canvas, I store the ATK byte[] pageByteArray in server (some database), when this document is opened again I retrieve the ATK byte[] data and render back on ATK smartPage canvas by providing byte[] pageByteArray input to MainViewControler-->loadPage(byte[] pageByteArray)

My issue:
After retrieval and passing input to loadPage(), the UI thread that renders ATK part blocks at

// Create a new SmartPage
SmartPage page = new SmartPage(mPageInterpreters[mSelectedPageInterpreterIndex].getPage().getWordFactory(), pageByteArray);


thus the UI crashes.


Thanks for your bug report.
Do you have logs about this crash?
We don't reproduce it with the sample on our side.

Best regards

I get this error before crach

03-24 17:34:30.719: A/libc(16446): Fatal signal 6 (SIGABRT) at 0x0000403e (code=-6), thread 16446 (com.tlstec.dff)

Unfortunately, it is not that helpful.
Could you please give us more details about your project?
Do you use Android Studio last version? Which device do you use?
I tried to check your ATK account, but was not able to find it. Could you please let me know which account do you use?
Best regards

Hi Cate @MyScript,

As you requested to share more details, and I can’t provide all coding related details in forum actually thus am sending you this email with all details about my project process.

1) Do you use Android Studio last version? Which device do you use?
--> No, am using
Eclipse IDE
Version: Luna Service Release 1a (4.4.1)
Build id: 20150109-0600

--> Samsung Tab E device am using to test the project

2) I tried to check your ATK account, but was not able to find it. Could you please let me know which account do you use?
Am using karthik.thanikonda@gmail.com free trial account currently, but later planning to buy license.


Below function to retrieve ATK data and parse to build smart page:

Sample ATK data:
atk_data : { page1 : [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 127, 127, -1, -1, 127, 127, -1, -1, 127, 127, 0, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], page0 : [ 1, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -124, 61, 67, 67, 0, 7, 60, 68, -124, 61, 88, 67, 0, -57, 52, 68, -24, -50, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -124, 61, 67, 67, 0, -57, 52, 68, 0, 0, -88, 65, 0, 0, -24, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -124, 61, 91, 67, 0, 71, 60, 68, -124, 61, 109, 67, 0, -121, 54, 68, -47, -48, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -124, 61, 91, 67, 0, -121, 54, 68, 0, 0, -112, 65, 0, 0, -72, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -124, 61, 113, 67, 0, 71, 62, 68, -62, -98, -127, 67, 0, -121, 54, 68, 112, -45, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -124, 61, 113, 67, 0, -121, 54, 68, 0, 0, -112, 65, 0, 0, -8, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -62, -98, -125, 67, 0, 71, 60, 68, -62, 30, -115, 67, 0, -121, 54, 68, -23, -44, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -62, -98, -125, 67, 0, -121, 54, 68, 0, 0, -104, 65, 0, 0, -72, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -62, 30, -113, 67, 0, 7, 60, 68, -62, 30, -111, 67, 0, 71, 52, 68, -93, -41, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -62, 30, -113, 67, 0, 71, 52, 68, 0, 0, -128, 64, 0, 0, -8, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -27, -85, -118, 67, 0, 7, 107, 68, -27, 43, -107, 67, 0, -57, 99, 68, 111, -4, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -27, -85, -118, 67, 0, -57, 99, 68, 0, 0, -88, 65, 0, 0, -24, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -27, -85, -106, 67, 0, 71, 107, 68, -27, -85, -97, 67, 0, -121, 101, 68, -42, -1, -109, -120, 83, 1, 0, 0, 0, 0, 0, 0, -27, -85, -106, 67, 0, -121, 101, 68, 0, 0, -112, 65, 0, 0, -72, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -27, -85, -95, 67, 0, 71, 109, 68, -27, -85, -86, 67, 0, -121, 101, 68, 22, 2, -108, -120, 83, 1, 0, 0, 0, 0, 0, 0, -27, -85, -95, 67, 0, -121, 101, 68, 0, 0, -112, 65, 0, 0, -8, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -27, -85, -84, 67, 0, 71, 107, 68, -27, 43, -74, 67, 0, -121, 101, 68, 126, 3, -108, -120, 83, 1, 0, 0, 0, 0, 0, 0, -27, -85, -84, 67, 0, -121, 101, 68, 0, 0, -104, 65, 0, 0, -72, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -27, -85, -74, 67, 0, 71, 107, 68, -27, -85, -68, 67, 0, 71, 100, 68, -90, 8, -108, -120, 83, 1, 0, 0, 0, 0, 0, 0, -27, -85, -74, 67, 0, 71, 100, 68, 0, 0, 64, 65, 0, 0, -32, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, -79, 40, 0, 68, 0, 7, 107, 68, -79, -88, 2, 68, 0, -57, 99, 68, -73, 22, -108, -120, 83, 1, 0, 0, 0, 0, 0, 0, -79, 40, 0, 68, 0, -57, 99, 68, 0, 0, 32, 65, 0, 0, -24, 65, 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 101, 110, 95, 85, 83, 7, 0, 0, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, -6, 83, 44, 63, 104, 82, 42, 63, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -22, -101, 127, 63, -57, -58, 70, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -25, -14, 118, 62, -111, -112, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 28, -79, 127, 63, -126, -127, 1, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 106, -30, 86, 61, -103, -104, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -6, 83, 44, 63, -71, -72, -72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, 38, -12, 84, 63, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -1, 127, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, -108, 28, 105, 61, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 27, 117, 120, 63, -97, -98, -98, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -118, 84, 117, 63, -107, -108, -108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 60, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 103, 101, 108, 0, 0, 0, 0, -78, 109, 57, 61, 47, 91, -85, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -22, -101, 127, 63, -57, -58, 70, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -25, -14, 118, 62, -111, -112, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 2, -41, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 28, -79, 127, 63, -126, -127, 1, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 106, -30, 86, 61, -103, -104, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 109, -28, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -6, 83, 44, 63, -71, -72, -72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, 38, -12, 84, 63, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 88, -17, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -1, 127, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, -108, 28, 105, 61, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, -14, -6, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 27, 117, 120, 63, -97, -98, -98, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -118, 84, 117, 63, -107, -108, -108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, -78, 109, 57, 61, -47, -48, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 0, 2, 0, 0, 0, -97, 7, 61, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 103, 101, 116, 0, 0, 0, 0, 26, 58, -124, 62, 99, 12, -111, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -22, -101, 127, 63, -57, -58, 70, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -25, -14, 118, 62, -111, -112, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 2, -41, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 28, -79, 127, 63, -126, -127, 1, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 106, -30, 86, 61, -103, -104, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 26, 58, -124, 62, -63, -64, -64, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 117, 0, 0, 0, 0, 2, 0, 0, 0, 109, -28, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -6, 83, 44, 63, -71, -72, -72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, 38, -12, 84, 63, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 88, -17, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -1, 127, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, -108, 28, 105, 61, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, -14, -6, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 27, 117, 120, 63, -97, -98, -98, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -118, 84, 117, 63, -107, -108, -108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 0, 0, -97, 7, 61, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 117, 103, 101, 108, 0, 0, 0, 0, 38, -12, 84, 63, 99, -106, -127, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -22, -101, 127, 63, -57, -58, 70, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -25, -14, 118, 62, -111, -112, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 2, -41, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 28, -79, 127, 63, -126, -127, 1, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 106, -30, 86, 61, -103, -104, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 109, -28, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -6, 83, 44, 63, -71, -72, -72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, 38, -12, 84, 63, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 122, 0, 0, 0, 0, 1, 0, 0, 0, 88, -17, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -1, 127, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, -108, 28, 105, 61, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, -14, -6, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 27, 117, 120, 63, -97, -98, -98, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -118, 84, 117, 63, -107, -108, -108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 0, 0, -97, 7, 61, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 122, 101, 108, 0, 0, 0, 0, -78, 109, 57, 61, 103, 67, 73, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -22, -101, 127, 63, -57, -58, 70, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -25, -14, 118, 62, -111, -112, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 2, -41, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 28, -79, 127, 63, -126, -127, 1, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 106, -30, 86, 61, -103, -104, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 26, 58, -124, 62, -63, -64, -64, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 117, 0, 0, 0, 0, 2, 0, 0, 0, 109, -28, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -6, 83, 44, 63, -71, -72, -72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, 38, -12, 84, 63, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 88, -17, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -1, 127, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, -108, 28, 105, 61, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, -14, -6, 60, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 27, 117, 120, 63, -97, -98, -98, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -118, 84, 117, 63, -107, -108, -108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, -78, 109, 57, 61, -47, -48, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 0, 2, 0, 0, 0, -97, 7, 61, 68, 109, -2, 79, 59, 85, 17, 30, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 117, 103, 101, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 68, 109, -2, 79, 59, 0, 0, -80, 65, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 127, 127, -1, -1, 127, 127, -1, -1, 127, 127, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 127, 127, -1, -1, 127, 127, -1, -1, 127, 127, 5, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, -52, 12, 29, 63, 62, 2, 11, 63, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -72, -24, 115, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -53, 28, 9, 63, -83, -84, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 114, -89, 127, 63, -11, -12, -12, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 90, -103, 19, 63, -39, -40, 88, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -52, 12, 29, 63, -81, -82, -82, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, -89, 44, 10, 63, -11, -12, 116, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -2, 127, 63, -104, -105, 23, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, 86, -29, 70, 61, -75, -76, 52, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 34, 61, 117, 63, -53, -54, -54, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 0, -102, 34, 109, 63, -109, -110, -110, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 103, 101, 116, 0, 0, 0, 0, -52, 12, 29, 63, -124, -5, -23, 62, 0, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -72, -24, 115, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -53, 28, 9, 63, -83, -84, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 56, 61, 112, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 114, -89, 127, 63, -11, -12, -12, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 90, -103, 19, 63, -39, -40, 88, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 93, 102, 111, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -52, 12, 29, 63, -81, -82, -82, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, -89, 44, 10, 63, -11, -12, 116, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 83, -20, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -2, 127, 63, -104, -105, 23, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, 86, -29, 70, 61, -75, -76, 52, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 71, 102, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 126, -17, 122, 63, -19, -20, -20, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 0, 61, 51, 66, 63, -19, -20, 108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 0, 0, -100, -52, 109, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -40, 109, 65, 63, -95, -96, -96, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 115, 0, 0, 0, 0, 76, -122, 99, 62, -91, -92, 36, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, -38, -90, 109, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 6, 0, 0, 0, 80, 97, 103, 101, 108, 115, 0, 0, 0, 0, 6, -83, 10, 63, -57, 103, -65, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -72, -24, 115, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -53, 28, 9, 63, -83, -84, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 56, 61, 112, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 114, -89, 127, 63, -11, -12, -12, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 90, -103, 19, 63, -39, -40, 88, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 93, 102, 111, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -52, 12, 29, 63, -81, -82, -82, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, -89, 44, 10, 63, -11, -12, 116, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 83, -20, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -2, 127, 63, -104, -105, 23, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, 86, -29, 70, 61, -75, -76, 52, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 71, 102, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 6, -83, 10, 63, -109, -110, -110, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 98, 0, 0, 0, 0, -65, -25, 4, 63, -19, -20, 108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 108, -69, 109, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 103, 101, 98, 0, 0, 0, 0, -89, 44, 10, 63, 28, -121, -89, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -72, -24, 115, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -53, 28, 9, 63, -83, -84, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 56, 61, 112, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 114, -89, 127, 63, -11, -12, -12, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 90, -103, 19, 63, -39, -40, 88, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 93, 102, 111, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -52, 12, 29, 63, -81, -82, -82, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 0, -89, 44, 10, 63, -11, -12, 116, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 121, 0, 0, 0, 0, 1, 0, 0, 0, 83, -20, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 116, -2, 127, 63, -104, -105, 23, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 0, 86, -29, 70, 61, -75, -76, 52, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 71, 102, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 6, -83, 10, 63, -109, -110, -110, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 98, 0, 0, 0, 0, -65, -25, 4, 63, -19, -20, 108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 108, -69, 109, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 121, 101, 98, 0, 0, 0, 0, -14, -122, -28, 60, 92, -9, -96, 62, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -72, -24, 115, 63, -102, -103, 25, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 0, -53, 28, 9, 63, -83, -84, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 56, 61, 112, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 114, -89, 127, 63, -11, -12, -12, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 0, 90, -103, 19, 63, -39, -40, 88, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 93, 102, 111, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -14, -122, -28, 60, -83, -84, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 114, 0, 0, 0, 0, 73, 77, -128, 60, -107, -108, 20, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, -81, -72, 110, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 126, -17, 122, 63, -19, -20, -20, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 0, 61, 51, 66, 63, -19, -20, 108, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, -100, -52, 109, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -40, 109, 65, 63, -95, -96, -96, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 115, 0, 0, 0, 0, 76, -122, 99, 62, -91, -92, 36, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, -38, -90, 109, 68, 29, 24, 13, -67, -113, -7, 58, 66, 1, 0, 0, 0, 5, 0, 0, 0, 80, 97, 114, 116, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 29, 24, 13, -67, 0, 0, -80, 65, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 127, 127, -1, -1, 127, 127, -1, -1, 127, 127, 1, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 127, 127, -1, -1, 127, 127, -1, -1, 127, 127, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, -83, 41, 3, 62, -54, -127, 118, 63, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -83, 41, 3, 62, -63, -64, 64, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -116, 115, 2, 62, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 0, 0, 0, 0, 0, 0, -80, 65, 1, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -56, -102, 38, 62, 81, -29, 23, 61, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, -83, 41, 3, 62, -63, -64, 64, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -116, 115, 2, 62, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 0, -56, -102, 38, 62, -23, -24, -24, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 73, 0, 0, 0, 0, 2, 0, 0, 0, -72, 31, 102, 68, 17, -92, -57, -67, -75, 56, -88, 65, 1, 0, 0, 0, 1, 0, 0, 0, 73, 0, 0, 0, 0, -116, 115, 2, 62, 32, 78, -58, 60, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, -83, 41, 3, 62, -63, -64, 64, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -116, 115, 2, 62, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 0, 1, 0, 0, 0, -72, 31, 102, 68, 17, -92, -57, -67, -75, 56, -88, 65, 1, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 0, -107, 113, -100, 61, -42, 18, -88, 60, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, -83, 41, 3, 62, -63, -64, 64, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -116, 115, 2, 62, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 0, -56, -102, 38, 62, -23, -24, -24, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 73, 0, 0, 0, 0, -74, -82, -111, 60, -103, -104, -104, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 0, -107, 113, -100, 61, -15, -16, 112, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 51, 0, 0, 0, 0, 4, 0, 0, 0, -72, 31, 102, 68, 17, -92, -57, -67, -75, 56, -88, 65, 1, 0, 0, 0, 1, 0, 0, 0, 51, 0, 0, 0, 0, -74, -82, -111, 60, -50, -62, -113, 60, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, -83, 41, 3, 62, -63, -64, 64, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, -116, 115, 2, 62, -71, -72, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 93, 0, 0, 0, 0, -56, -102, 38, 62, -23, -24, -24, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 73, 0, 0, 0, 0, -74, -82, -111, 60, -103, -104, -104, 61, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 0, 3, 0, 0, 0, -72, 31, 102, 68, 17, -92, -57, -67, -75, 56, -88, 65, 1, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 68, 17, -92, -57, -67, 0, 0, -80, 65, 0, 0, 0, 0, 13, 0, 0, 0, 80, 97, 103, 101, 108, 10, 80, 97, 103, 101, 116, 32, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128, 83, 68, 30, 36, 65, -67, 0, 0, -80, 65, 0, 0, 0, 0, 0, 0, -128, 63, 0, 0, -128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 11, 0, 0, 0, 4, 0, 0, 0, 20, 0, 0, 0, 58, 52, 35, 67, 112, 44, -62, 67, 58, 52, 35, 67, 86, -84, -63, 67, 58, 52, 35, 67, 17, -121, -63, 67, -116, 52, 36, 67, -42, 44, -60, 67, 15, -127, 37, 67, -46, -66, -57, 67, 48, 53, 38, 67, -16, -83, -55, 67, 57, 49, 41, 67, 3, 38, -49, 67, 38, 54, 41, 67, 10, 47, -49, 67, 18, 56, 47, 67, 10, 49, -39, 67, -94, 58, 55, 67, -40, 50, -30, 67, -114, 60, 61, 67, -14, -77, -25, 67, -124, 61, 64, 67, 62, 53, -18, 67, 41, 62, 66, 67, 114, 54, -12, 67, 123, 62, 67, 67, 12, 55, -9, 67, 123, 62, 67, 67, 64, 85, -8, 67, 123, 62, 67, 67, 114, 55, -7, 67, 123, 62, 67, 67, -116, -73, -7, 67, -41, 61, 65, 67, 12, 55, -9, 67, -104, 59, 58, 67, -66, -75, -16, 67, 8, 57, 50, 67, 114, 52, -22, 67, -128, -78, -109, -120, 83, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 32, 0, 0, 0, 117, 46, 17, 67, 61, 44, -63, 67, 107, 47, 20, 67, 9, 44, -64, 67, 98, 48, 23, 67, -42, 43, -65, 67, -52, -126, 24, 67, -119, -92, -66, 67, -4, 49, 28, 67, 112, 43, -67, 67, 68, 51, 32, 67, 9, 43, -69, 67, -126, 53, 39, 67, 111, 42, -72, 67, -74, 56, 49, 67, -68, -87, -76, 67, 60, 60, 60, 67, 86, -87, -78, 67, -51, 62, 68, 67, 34, -87, -79, 67, 39, -75, 77, 67, 34, -87, -79, 67, 1, 66, 78, 67, 34, -87, -79, 67, 43, 70, 91, 67, -94, 41, -76, 67, 95, 73, 101, 67, 111, 42, -72, 67, -98, 75, 108, 67, 9, 43, -69, 67, -26, 76, 112, 67, -119, -85, -67, 67, -118, 77, 114, 67, 35, -84, -64, 67, -118, 77, 114, 67, -42, 44, -60, 67, 33, -30, 112, 67, -65, 19, -56, 67, -26, 76, 112, 67, -16, -83, -55, 67, -98, 75, 108, 67, -67, -82, -51, 67, 13, 73, 100, 67, 61, 47, -48, 67, -121, 69, 89, 67, -118, -81, -47, 67, -91, 66, 80, 67, -92, 47, -46, 67, 113, 63, 70, 67, -67, -81, -46, 67, 60, 60, 60, 67, -67, -81, -46, 67, -69, 112, 56, 67, -67, -81, -46, 67, -84, 57, 52, 67, -67, -81, -46, 67, 100, 56, 48, 67, -41, 47, -45, 67, 110, 55, 45, 67, -41, 47, -45, 67, 28, 55, 44, 67, -41, 47, -45, 67, -54, 54, 43, 67, -67, -81, -46, 67, 80, -76, -109, -120, 83, 1, 0, 0, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 4, 0, 0, 0, 28, 0, 0, 0, -24, 51, -94, 67, -119, -85, -67, 67, 58, 52, -93, 67, -68, -85, -66, 67, 18, 84, -93, 67, -112, -53, -66, 67, -34, 52, -91, 67, -93, 44, -61, 67, 91, -59, -89, 67, -46, 111, -54, 67, -44, 53, -88, 67, 87, -82, -53, 67, -95, -74, -86, 67, 112, 47, -47, 67, 28, 55, -84, 67, 87, -79, -38, 67, -64, 55, -82, 67, -92, 50, -31, 67, 59, -72, -81, 67, 88, -77, -28, 67, -33, -72, -79, 67, -116, -76, -22, 67, -125, -71, -77, 67, -14, -75, -15, 67, -103, -77, -76, 67, -122, 80, -12, 67, -2, 57, -75, 67, -66, -74, -11, 67, 80, 58, -74, 67, 38, -73, -9, 67, -94, 58, -73, 67, -116, -73, -7, 67, -12, 58, -72, 67, -14, -73, -5, 67, 29, -69, -72, 67, 88, -72, -3, 67, 111, -69, -71, 67, -90, 56, -1, 67, 111, -69, -71, 67, 121, 92, 0, 68, 93, -42, -71, 67, -18, 105, 0, 68, -104, 59, -70, 67, -122, -100, 0, 68, -104, 59, -70, 67, -109, -36, 0, 68, -104, 59, -70, 67, -96, 28, 1, 68, -104, 59, -70, 67, -84, 92, 1, 68, -40, -109, -70, 67, -84, 92, 1, 68, -63, -69, -70, 67, -84, 92, 1, 68, -104, 59, -70, 67, -122, -100, 0, 68, -17, -71, -109, -120, 83, 1, 0, 0, -92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ] }

Step 1: Getting ATK data from server as JSON Object and converting it into bundle data and passing to MyScripts library

    void parseATKObject(JSONObject obj) {
String JSON_STRING = "atk_data";
Bundle pageInterpreterBundle = new Bundle();
pageInterpreterBundle.putString(JSON_STRING,obj.toString());

for (int i = 0; i <= obj.length() - 1; i++) {
try {
Object page = obj.get("page"+i);
byte[] page_byte = ((page.toString()).getBytes());
mWriter.placeATKPages(page_byte);
} catch (JSONException e) {
e.printStackTrace();
}
}
}


Step 2: Passing the byte[] array to MainViewController.loadPages function

    public void placeATKPages(byte[] pageInterpreterBundleInBytes) {
mMainViewController.loadPages(pageInterpreterBundleInBytes);
}


Step 3: Last step to load ATK page from byte[] array data in MainViewController.java

    public void loadPages (byte[] pageInterpreterBundleInBytes){
loadPage(pageInterpreterBundleInBytes);
}

------------------------------------------
`private void loadPage(byte[] pageByteArray)
{
if (pageByteArray != null)
{
// Create a new SmartPage
SmartPage page = new SmartPage(mPageInterpreters[mSelectedPageInterpreterIndex].getPage().getWordFactory(), pageByteArray); <--------- This point where the execution blocks the android UI
--
--
--`

The function stops at this point with following log error
Error at log cat:
03-24 17:34:30.719: A/libc(16446): Fatal signal 6 (SIGABRT) at 0x0000403e (code=-6), thread 16446 (com.tlstec.dff)

Dear Vikas,

I am currently trying to reproduce. Just to be sure to be in the same conditions than you, how do you define your mWriter variable?

Thank you,

Best regards,

Olivier

Also, how do you load your ATK_DATA JSON string (basically how exactly would you load the atk_data JSON string you added in the email).

These questions may see basic questions but I want to be exactly in your configuration to be sure to reproduce the behavior you are facing.

Best regards,

Olivier

mWriter variable is a Activity on which am rendering MyScripts data.

Let me explain how I generate ATK data from the smart page:
code: MainViewControler->getPageInterpreterBundleAsJSON()

  public JSONObject getPageInterpreterBundleAsJSON(){  
Bundle pageInterpreterBundle = mPageInterpreterPageBundles.get(mPageInterpreters[mSelectedPageInterpreterIndex]);
// Save the current SmartPage
  pageInterpreterBundle = saveCurrentPage();
if (pageInterpreterBundle == null){
pageInterpreterBundle = new Bundle();
mPageInterpreterPageBundles.put(mPageInterpreters[mSelectedPageInterpreterIndex], pageInterpreterBundle);
}
JSONObject jsonAtkPages = new JSONObject();
Set<String> keys = pageInterpreterBundle.keySet();
for (String key : keys) {
try {
// json.put(key, bundle.get(key)); see edit below
 jsonAtkPages.put(key, JSONObject.wrap(pageInterpreterBundle.get(key)));
} catch(JSONException e) {
//Handle exception here
}
}
return jsonAtkPages;
}


jsonAtkPages is the JSON object which I posted in earlier mail, and same way I load this json string as explained setp by step in earlier mail.

Hi Olivier,

This is just a gentle reminder, as am expecting a solution soon or else can you suggest any other method to render MyScripts ATK data back on smart page.
You may provide any other way to contact you for further details.

Dear Vikas,

actually, we are still trying to reproduce with the information you provided us.

We will of course keep you update as soon as possible.

Best regards,

Olivier

Dear Vikas,

after investigating, when creating your smartPage, could you please check the value of the WordFactory (first parameter in the below code):

SmartPage page = new SmartPage(mPageInterpreters[mSelectedPageInterpreterIndex].getPage().getWordFactory(), pageByteArray);

Indeed, when reloading your pages, you should re-create a wordFactory object. You code should then look as below:

StrokeFactory strokeFactory = new StrokeFactory();
WordFactory wordFactory = new WordFactory(strokeFactory);
SmartPage page = new SmartPage(wordFactory, pageByteArray);


Best regards,

Olivier

the value of the WordFactory
com.myscript.atk.itc.WordFactory@42473570

StrokeFactory strokeFactory = new StrokeFactory();
WordFactory wordFactory = new WordFactory(strokeFactory);
SmartPage page = new SmartPage(wordFactory, pageByteArray);


-modifying code and adding this part makes the wordfactory different value, navigating between pages make the application to crash (which was not crashing when running application with previous code)

the value of the WordFactory before this code
com.myscript.atk.itc.WordFactory@41e969d8

the value of the WordFactory before this code
com.myscript.atk.itc.WordFactory@41e96ca0

Dear Vikas,

The information you are providing doesn't help much.
the value of the WordFactory before this code
com.myscript.atk.itc.WordFactory@41e969d8
the value of the WordFactory before this code
com.myscript.atk.itc.WordFactory@41e96ca0

>>Indeed, as you re-create a wordFactory, the reference of the object is different.

My understanding is that you are able to re-build the pages, after unserializing these? All the pages are re-built?

Once the pages have been unserialized (SmartPage page = new SmartPage(wordFactory, pageByteArray);), what do you want to do? You re-build the ink to re-display it? You launch again the recognition?

Do you have more specifications, so that we can help you further?

Best regards,

Olivier

I want to re-build the complete SmartPage and recognition activity from that ATK byte data(provided in post before).
I wish to provide video (process which am performing and at times the application crashes with these modified code), could you give some other means to contact so that I can provide video and other details that am not able to give here in forum.

Login or Signup to post a comment